Wei Lu
d4f3398d91
remove keys array and usage
2014-03-14 10:35:01 +08:00
Wei Lu
207163704b
return private key rather than HD wallet node
2014-03-14 10:35:01 +08:00
Wei Lu
9200479159
getPrivateKey derives key on the fly
...
also added getPrivateKeyFromAddress
2014-03-14 10:35:01 +08:00
Wei Lu
ab9e782d14
private a method to generate change addresses
2014-03-14 10:35:00 +08:00
Wei Lu
1212099bfc
Wallet address derivation follows bip32/bitcoinj keychain structure
...
Also wallet accepts bytes in constructor
[#60 ]
2014-03-14 10:34:37 +08:00
Wei Lu
44012b47b5
change hd wallet constructor to take bytes
...
original constructor -> fromSeedString, fromMasterHex -> fromSeedHex
[#60 ]
2014-03-14 10:03:56 +08:00
Wei Lu
142b847968
HD wallet fromMaterHex allows specifying network
...
[#60 ]
2014-03-14 10:03:56 +08:00
Kyle Drake
eb4da5f5c5
remove endian code in index.js nothing is using
2014-03-11 12:26:59 -07:00
Kyle Drake
7219c27413
Merge pull request #62 from bitcoinjs/compressed-sign
...
Fix sign/verify for with compressed keys
2014-03-11 12:12:52 -07:00
Andreas Brekken
08e75a82c9
Add whether pubkey recovered from sig is compressed. close #61
2014-03-11 18:28:04 +01:00
Andreas Brekken
f09890fed1
Determine whether key is compressed from the key itself. ref #61
2014-03-11 18:26:40 +01:00
Wei Lu
3d6b66e811
move convert methods from util to convert
2014-03-11 09:52:48 +08:00
Wei Lu
227fa97500
remove old crypto-js
2014-03-11 09:32:06 +08:00
Wei Lu
9c15fa0cbf
Merge pull request #57 from bitcoinjs/upgrade-crypto-js
...
Use crypto-js as a module from npm
2014-03-11 09:14:49 +08:00
Wei Lu
45e55a07b0
fix transaction serialization/deserialization
...
[closes #58 ]
2014-03-09 13:46:20 +08:00
Wei Lu
d2b790fef9
throw error when input to script constructor is not an array
...
[#58 ]
2014-03-09 13:43:36 +08:00
Wei Lu
a281a5ab53
migrate crypto-js to 3.1.2
2014-03-09 09:49:24 +08:00
Wei Lu
78c257ff9b
Merge pull request #55 from coinpunk/opcodecleanups
...
new Opcode() is not used
2014-03-07 15:26:37 +08:00
Wei Lu
ef1a4017f8
Merge pull request #54 from coinpunk/moreaddresstesting
...
More address testing
2014-03-07 15:17:03 +08:00
Kyle Drake
6f04743081
new Opcode() is not used
2014-03-06 18:14:28 -06:00
Kyle Drake
8471df7317
remove unused hex helpers
2014-03-06 17:54:36 -06:00
Kyle Drake
fdc78dad2e
merge weilu's changes
2014-03-06 17:21:42 -06:00
xnova
786198f130
* Fixes address.js to be able to deal with testnet P2SH addresses
...
* Enhanced address.js testsuite...now also verifies address versions
* Enhances README to show how to run test suite
2014-03-05 16:53:29 -05:00
Wei Lu
bde9b13b15
remove isArray shim
...
[closes #40 ]
2014-03-03 11:27:19 +08:00
xnova
f50c1a91f7
include 'network' in the library exports
2014-03-01 21:10:02 -05:00
Kyle Drake
e7de3540d1
Merge pull request #44 from justcoin/tidy-scripts
...
Tidy up script.js
2014-03-01 15:26:24 -08:00
Kyle Drake
f4b819e1af
Merge pull request #43 from justcoin/remove-event-emitter
...
Remove event emitter
2014-03-01 15:21:51 -08:00
Kyle Drake
9f74a13864
Merge pull request #42 from justcoin/remove-txdb
...
Remove txdb.js
2014-03-01 15:21:41 -08:00
Kyle Drake
b9de999434
Merge pull request #28 from bitcoinjs/hd-testnet-support
...
HD testnet support (#27 ) + unify network names
2014-03-01 15:21:08 -08:00
Wei Lu
3bed73da65
Remove pailier.js #33 , @abrkn
2014-03-02 02:24:28 +08:00
Wei Lu
3dfc3cd0e8
Remove exit node class #32 , @abrkn
2014-03-02 02:24:28 +08:00
Andreas Brekken
4a4e75d007
Simplify Script constructor. close #41
2014-03-01 19:19:27 +01:00
Andreas Brekken
354d31a297
Clean up script.js formatting. ref #41
2014-03-01 19:12:50 +01:00
Andreas Brekken
23ccb97439
Remove EventEmitter.js. close #37
2014-03-01 19:06:30 +01:00
Andreas Brekken
51ad071446
Remove txdb. close #39
2014-03-01 19:04:43 +01:00
Andreas Brekken
80f46d32b4
Remove String.lpad and cleanup
2014-03-01 18:08:47 +01:00
Wei Lu
65a13cbf41
pull out hdwallet network specific values
2014-02-28 18:07:31 +08:00
Wei Lu
2e97828379
throws exception if specified network is unknown
...
also move network type tests to hdwallet
2014-02-28 17:59:01 +08:00
Wei Lu
02b3a2b564
HDWallet prod -> mainnet
2014-02-28 17:28:03 +08:00
Wei Lu
eaf84c4283
move address versions into network
...
Also change address type name:
address_types -> addressVersion
p2sh_types -> p2shVersion
prod -> mainnet
2014-02-28 16:58:14 +08:00
Wei Lu
293c864f4f
HD wallet versions: Bitcoin -> prod, BitcoinTest -> testnet
2014-02-28 14:27:31 +08:00
Wei Lu
c352868080
key version check always always relies on the network property
...
[#27 ]
2014-02-28 14:08:34 +08:00
Wei Lu
cc0a042f2f
squashed commits from #27
2014-02-28 12:05:48 +08:00
Wei Lu
09ee406106
Revert "Merge pull request #27 from xnova/master"
...
due to broken tests, moved the changes to branch hd-testnet-support
This reverts commit a4ba59e9ba
, reversing
changes made to 36d3d6ebaa
.
2014-02-28 11:52:19 +08:00
xnova
0310a890ba
didn't mean to remove getPub()
2014-02-27 03:48:20 -05:00
xnova
d447e69279
more ECKey version specification in HDWallet
2014-02-27 03:46:28 -05:00
xnova
ff70f661f7
HDWallet passes along network type when it creates the master private key
2014-02-27 01:18:56 -05:00
Wei Lu
36d3d6ebaa
use options in wallet contructor & add tests
...
[#26 ]
2014-02-27 11:55:35 +08:00
xnova
933474a973
added ability to specify child key derivation method to the Wallet constructor
2014-02-26 20:13:51 -05:00
xnova
49c2fc06b5
allow Wallet to work with testnet
2014-02-26 19:56:37 -05:00
Wei Lu
102e2b3d48
Wallet.generateAddress uses the new HD wallet method
2014-02-27 02:12:55 +08:00
Michael Gooden
b8215dea60
Add testnet support to Address and ECKey, more tests.
...
Signed-off-by: Michael Gooden <me@michaelgooden.net>
2014-02-24 18:31:18 +02:00
Michael Gooden
b3e3f806cb
Fix parsing of base58 compressed private keys. Add base64 parse support.
...
Signed-off-by: Michael Gooden <me@michaelgooden.net>
2014-02-20 18:01:21 +02:00
Kyle Drake
cb3653105a
Merge vbuterin/master
2014-02-02 11:33:46 -08:00
Vitalik Buterin
c8732e5d38
Fixed ECKey constructor
2014-01-22 08:46:46 -05:00
Andreas Brekken
a68b0910af
Fix wrong bitcoin address from priv key.
2014-01-22 16:29:09 +07:00
Andreas Brekken
4edbaee96a
Fix wallet.js so it does not crash with HDWallet.
2014-01-16 16:06:58 +07:00
Andreas Brekken
e3cf19343d
Replace BIP32key with HDWallet in index.js
2014-01-16 16:05:11 +07:00
Andreas Brekken
966d2ee90d
Remove obsolete bip32.js
2014-01-16 14:03:34 +07:00
Andreas Brekken
5f9e2624f8
Rewrite HD Wallet (BIP0032) with all test vectors
2014-01-16 14:03:09 +07:00
Andreas Brekken
8ccb8ad70a
Add toBase58, toWif to ECPubKey
2014-01-16 14:02:21 +07:00
Andreas Brekken
ecbb6f81ee
Allow specifying whether to compress key in ECKey.toBytes
2014-01-16 14:01:57 +07:00
Andreas Brekken
1cb41fdaba
Add BIP32_PRIME constant, 0x80000000
2014-01-11 16:31:09 +07:00
Andreas Brekken
56bb0a0c6d
Improve naming of ECKey/ECPubKey formatters. close vbuterin/bitcoinjs-lib#13
2014-01-11 15:52:29 +07:00
Andreas Brekken
e08533ff7a
Document serialization of BIP32key
2014-01-11 15:50:25 +07:00
Andreas Brekken
29ebd4edc5
Fix ECKey.verify
2014-01-11 14:26:12 +07:00
Andreas Brekken
61992462e3
Rewrite util.js for readability
2014-01-11 13:57:05 +07:00
Andreas Brekken
3ef468ec8b
Remove call to non-existant method ECPubKey.setCompressed
2014-01-11 13:56:48 +07:00
Andreas Brekken
bc3136802c
Minor formatting
2014-01-11 13:56:23 +07:00
Andreas Brekken
20aa4a0e8a
Fix compressed check to avoid setting it to undefined
2014-01-11 13:55:53 +07:00
Andreas Brekken
bf6254d3e2
Trailing whitespace
2014-01-11 13:55:21 +07:00
Vitalik Buterin
36ce412bcb
Merge branch 'master' of github.com:vbuterin/bitcoinjs-lib
2014-01-10 15:18:09 -05:00
Vitalik Buterin
7919c8cfc5
Added auto-instantiators to classes
2014-01-10 15:17:53 -05:00
Andreas Brekken
4ffabf05af
Fix bitcoinAddress to use getPub().key.export('bytes')
2014-01-10 17:16:08 +07:00
Andreas Brekken
c3fbd63c84
Fix bad Bitcoin.Crypto reference in ecdsa.js
2014-01-10 16:47:35 +07:00
Andreas Brekken
be7406d9a9
Add bitcoinAddress convenience func to BIP32key
2014-01-10 16:47:14 +07:00
Andreas Brekken
3e6796a660
Fix references to Bitcoin.BigInteger
2014-01-10 16:16:24 +07:00
Andreas Brekken
26ac76d42c
Fix bad references to Bitcoin.Crypto
2014-01-10 16:10:39 +07:00
Andreas Brekken
d39567c589
Clean up formatting of BIP32key (jshint)
2014-01-10 16:09:59 +07:00
Andreas Brekken
49513684a2
Remove unused imports from BIP32key
2014-01-10 16:08:27 +07:00
Andreas Brekken
4b59827135
Declare statics on BIP32key, not its prototype
2014-01-10 16:05:53 +07:00
Andreas Brekken
9cfeb1abcd
Trailing whitespace
2014-01-10 16:03:02 +07:00
Vitalik Buterin
ff3679a3fe
Added 'wif' as an export format
2014-01-08 18:51:33 -05:00
Vitalik Buterin
1f33b7a291
fixed getBitcoinAddress
2014-01-08 18:41:36 -05:00
Vitalik Buterin
f58543b81a
Made return work
2014-01-08 18:31:03 -05:00
Vitalik Buterin
7b19ba5811
Added pubkey import and bin export
2014-01-08 17:13:26 -05:00
Vitalik Buterin
6edea532ba
merge
2014-01-04 13:28:27 -05:00
Vitalik Buterin
30e8b572d6
Added deterministic signing and added a public key class. Note that getPub should now be replaced with getPub().export('bytes')
2014-01-04 13:26:03 -05:00
Vitalik Buterin
02a8db111b
Added version to getBitcoinAddress
2014-01-02 20:33:23 -05:00
vbuterin
2a16cd9391
Merge pull request #4 from shesek/fix-compressed-signature
...
Fix signing with compressed keys
2013-12-12 10:43:15 -08:00
Pablo Martin
14803d0538
fix check for public key when making a private derivation.
2013-12-12 17:25:29 +01:00
Pablo Martin
26e5914be2
fix in pubkey deserialization code.
2013-12-12 17:19:31 +01:00
Pablo Martin
9fd46c22fe
missing modulo operation.
2013-12-12 11:13:35 +01:00
vub
4abcdbd7af
Created mkSendToOutputs method
2013-12-02 21:10:14 -05:00
vub
b3e7caada7
Removed useless functions from util
2013-12-01 22:27:13 -05:00
vub
0ef704574d
Merge branch 'master' of github.com:vbuterin/bitcoinjs-lib
2013-12-01 22:24:51 -05:00
vub
1780f4a98f
Updated deterministic wallet; theoretically works now if properly combined with server
2013-12-01 21:52:07 -05:00
Nadav Ivgi
0a075573ed
Fix signing with compressed keys
...
calcPubkeyRecoveryParam always assumed a non-compressed key, and was comparing
the address generated from a non-compressed public key against the original
address generated from the compressed public key.
This commit fixes it by passing the entire pubkey object, and configuring the
generated address to use the same compressed setting as the original one.
2013-11-28 21:04:32 +02:00
Nadav Ivgi
df88e93849
Support Numbers in formatValue
2013-11-24 05:25:08 +02:00
vub
397de49089
Made it process multisig addresses correctly
2013-11-20 16:43:14 -05:00
vub
93e50e9433
Started work on wallet, and added hex serialization
2013-11-20 13:00:49 -05:00
vub
5e2a9f0c26
Added BIP32 support
2013-11-18 23:47:56 -05:00
vub
aa22b9d89e
Added a new way of adding an output to a transaction
2013-11-02 06:51:27 -04:00
vub
a34bc9e2ea
Many small improvements
2013-11-02 06:20:09 -04:00
vub
45ec63d2f1
Whoops...
2013-10-21 15:33:35 -04:00
vub
335d0dcd96
bugfix
2013-10-21 15:27:50 -04:00
vub
274112005f
Beefed up TransactionIn constructor
2013-10-21 14:07:38 -04:00
vub
f53a4e3ffa
Added sign with keys method to transaction and did lots of small cleanups
2013-10-21 14:00:31 -04:00
vub
917822541c
Fixed serialization bug
2013-10-15 01:24:13 -04:00
vub
7bfd72c8c4
Replaced bigints with plain integers for transaction values
2013-10-14 07:41:21 -04:00
vub
c20dee5908
bytesToString bugfix
2013-10-11 13:19:44 -04:00
vub
5377f0746f
Hex private keys now work with Bitcoin.Key
2013-10-10 03:46:09 -04:00
vub
3d3421ce17
Removed browser-native option (gave me a bad result)
2013-10-08 15:28:48 -04:00
vub
65296f31f5
Fixed base64 encoding bug
2013-10-08 15:27:16 -04:00
vub
b8023389fd
Reversed txhash
2013-10-08 13:41:20 -04:00
vub
7684c3f705
Let ECKeys be constructed from ECKeys
2013-10-08 07:52:48 -04:00
vub
117ecd1e29
Fixed bytesToNum bug
2013-10-08 07:44:03 -04:00
vub
8fb725f796
Made TransactionOut take numbers as input
2013-10-08 07:38:22 -04:00
vub
b41a4ecb91
Fixed address object creation bug
2013-10-08 07:13:05 -04:00
vub
2bfa783be2
Added hash flipping to serialization and deserialization
2013-10-08 07:05:21 -04:00
vub
50f6333b0e
Changed i -> index in Transaction.prototype.sign
2013-10-08 06:48:31 -04:00
vub
038f8d5d99
Removed direct references to Bitcoin
2013-10-08 06:45:13 -04:00
vub
a753f069a5
Fixed bug in numToBytes and util -> conv
2013-10-08 06:34:15 -04:00
vub
eb62360a49
Replaced /convert with ./convert (bugfix)
2013-10-08 05:44:30 -04:00
vub
f95b08a576
Replaced Crypto.util and util (was a typo) with conv
2013-10-08 05:42:28 -04:00
vub
38ea108183
Bugfix
2013-10-08 05:38:00 -04:00
vub
44d740f84e
Small bugfix
2013-10-08 05:35:19 -04:00
vub
cb70b4425b
Substituted in numToBytes
2013-10-08 03:47:18 -04:00
vub
ff8152fe41
Added p2sh support for addOutput
2013-10-08 03:26:34 -04:00
vub
65abb85668
Added to convert.js and some more multisig methods
2013-10-08 02:55:52 -04:00
vub
e43d23235b
Added some transaction methods, and removed all internal use of base64
2013-10-07 15:27:19 -04:00
vub
9922864da4
Added deserialization, made some modifications
2013-10-07 08:21:00 -04:00
Roman Shtylman
41f0027883
port message to common.js style and add tests
2013-03-02 12:28:13 -05:00
Roman Shtylman
981203e982
fix transaction processing for wallets
2013-03-02 12:00:14 -05:00
Roman Shtylman
7c264883ab
update cryptojs hashes to v3.1.2
2013-02-17 09:14:44 -05:00
Roman Shtylman
44c8683924
fix sha256 hex conversion
2013-02-17 01:12:59 -05:00
Roman Shtylman
0faac29134
start to split into node commonjs style modules
...
- no longer is the global Bitcoin used for modules
- cleaner and more maintainable code
- add more tests
2013-02-17 00:40:14 -05:00
Stefan Thomas
24881584c7
Fix padding issue with exported private keys.
2012-08-26 11:25:18 +02:00
Stefan Thomas
e90780d3d3
Fix typo in ECDSA.verify.
2012-08-26 11:24:42 +02:00
Stefan Thomas
83742a3f5a
Update JSBN to 1.3.
2012-08-18 05:59:09 +02:00
Stefan Thomas
07f9d55ccb
Fixed DER-encoding - expects signed integers.
...
Thanks to Ben Reeves for the report and Tomas Pomin for the solution.
See http://crypto.stackexchange.com/questions/1795/converting-a-der-ecdsa-signature-to-asn-1
2012-08-17 09:14:07 +02:00
Stefan Thomas
c2ce224d1b
Remove debugging statements. Fixes #8 .
2012-08-17 02:00:02 +02:00
Stefan Thomas
49114d6540
Fix signMessage serialization.
2012-08-17 01:50:56 +02:00
Stefan Thomas
0aaa2c6347
Fix calcPubkeyRecoveryParam - must verify pubkey correctness.
2012-08-17 01:50:29 +02:00
Stefan Thomas
de6cfd37db
Removed modSqrt. All credit to Joric!
...
Derp. Well that sure simplifies things, doesn't it... :)
2012-08-17 01:38:29 +02:00
Stefan Thomas
9b2f94a028
Implement Bitcoin's method for arbitrary message signatures.
2012-08-16 00:25:06 +02:00
Mark van Cuijk
9c473ca722
Added support for the Base58-encoded private key format
2012-08-02 20:03:13 +02:00
justmoon
c952aaeb3e
Explicit check for invalid characters in Base58 decoder.
2012-07-17 14:28:41 +02:00
justmoon
faa10f0f6a
Compressed pubkey output is confirmed working, remove TODO, add comments.
2012-04-07 02:02:21 +02:00
justmoon
d03e489913
Use correct function to determine yP for pubkey compression. Fixes #6 .
2012-04-07 01:58:42 +02:00
justmoon
795abdce1f
Fixed formatting.
2012-02-07 07:37:58 +01:00
justmoon
041477918c
Typos.
2012-02-05 21:20:06 +01:00
Ben Reeves
b972e868c5
Some multisig changes
2012-02-05 16:04:45 +00:00
Stefan Thomas
6e44bdf229
Fixed global scope leaks in Base58.
2012-01-11 10:42:39 +01:00
Stefan Thomas
09e8c6e184
Added comments.
2012-01-11 10:41:52 +01:00
Stefan Thomas
de21042bb7
Fixes for Script.getInType and Script.simpleInPubKey.
2012-01-11 03:21:43 +01:00
Stefan Thomas
1a7fc9d063
Fixed indents.
2012-01-11 02:40:45 +01:00
booo
ef903bae07
src/wallet: getNextAddresss: add new address if necessary
2011-12-28 16:29:16 +01:00
booo
3445ae2a36
src/wallet.js: use jshint
2011-12-28 13:50:58 +01:00
booo
57d26950b9
src/wallet.js: remove console.log statements
2011-12-28 13:47:55 +01:00
booo
7675cf14e4
src/wallet.js: retab file
2011-12-28 13:44:30 +01:00
Stefan Thomas
d985697d8f
Added credit on encoding fix. See #1 .
2011-09-27 13:47:47 +01:00
Stefan Thomas
d7ce1e5db8
Corrected encoded form with correct padding. See #1 .
2011-09-27 13:44:47 +01:00
Stefan Thomas
e5ada7525f
Added simple exit node client.
2011-09-26 21:41:56 +01:00
Stefan Thomas
734bd57a23
Added copies of Crypto.util.* tools in Bitcoin.Util namespace.
2011-09-26 21:28:45 +01:00
Stefan Thomas
7715c41925
Wrapped Bitcoin and Base58 in platform-neutral closures.
2011-09-26 21:28:13 +01:00
Stefan Thomas
50b13d2941
More work on split key protocol.
2011-09-03 19:36:45 +01:00
Stefan Thomas
77debc1d4f
Added Paillier and ECDSA split signing demo.
2011-08-29 12:17:53 +01:00
Stefan Thomas
0f424562f2
Added more ECDSA function and some fixes.
...
decodeFrom is no longer destructive with it's inputs.
Added isOnCurve().
Added validate().
Fixed formatting.
Factored out new functions serializeSig and parseSig.
2011-08-26 20:47:47 +01:00
Stefan Thomas
6fdba19373
New utility function for parsing value strings.
2011-08-18 05:01:00 +01:00
Stefan Thomas
721d0791bf
Added ability to add fees in createSend.
2011-08-18 05:00:48 +01:00
Stefan Thomas
90c30f248e
Moved wallet loading out of bitcoinjs-lib.
2011-08-18 05:00:35 +01:00
Stefan Thomas
9fee035c58
Added utility function for TransactionDatabase reset.
2011-08-18 04:57:58 +01:00
Stefan Thomas
27ceffaee3
Split getDescription() into two functions.
2011-08-18 04:57:29 +01:00
Stefan Thomas
8b32d43335
Moved sources into src/ subdirectory.
2011-08-11 18:35:23 +01:00