Commit graph

55 commits

Author SHA1 Message Date
Wei Lu
471bc7ed97 skip change if it is not above dust threshold 2014-03-26 08:43:32 +08:00
Wei Lu
90921798cf throws error on insufficient fund 2014-03-26 08:43:32 +08:00
Wei Lu
7c81bfef72 check for dust before creating transaction 2014-03-26 08:43:32 +08:00
Wei Lu
913b48e87f sign tx 2014-03-26 08:43:32 +08:00
Wei Lu
8f0413da98 always assume change output exists when estimating fee 2014-03-26 08:43:32 +08:00
Wei Lu
2dc0f69d00 createTX returns tx with expected inputs and outputs 2014-03-26 08:43:32 +08:00
Wei Lu
3d12d3b038 implement and use txOut.scriptPubKey 2014-03-26 08:43:32 +08:00
Wei Lu
5d79b094d4 remove processOutput and processExistingOutput
instead of processOutput, use processTx instead
processExistingOutput is time based which is not reliable
2014-03-26 08:43:32 +08:00
Wei Lu
e574693594 wallet.outputs[0].output -> wallet.outputs[0].receive
output is overloaded. Considering we have output.spend, output.receive makes sense to me
2014-03-26 08:43:31 +08:00
Wei Lu
dbb5681366 add tests and refactor wallet.processTx 2014-03-26 08:43:31 +08:00
Wei Lu
c39aa6cb07 minor refactoring 2014-03-26 08:42:35 +08:00
Wei Lu
01dc34d720 throw error when unspent output does not have required keys 2014-03-26 08:42:35 +08:00
Wei Lu
26afbccc98 wallet allows setting unspent outputs 2014-03-26 08:42:35 +08:00
Wei Lu
16dc68cbaa wallet exposes unspent outputs via a getter
also add reverseEndian method to convert
2014-03-26 08:42:35 +08:00
Daniel Cousens
b40374e332 Changes to new version-less ECKey API 2014-03-22 19:12:26 +11:00
Wei Lu
b7861e4336 replace jsbn's rng with module secure-random
This uses window.crypto.getRandomValues on browser
and crypto.randomBytes on node
2014-03-20 17:19:06 +08:00
Wei Lu
31cfb11178 new master key resets accounts and addresses 2014-03-16 13:36:57 +08:00
Wei Lu
a7a7999e3f fix Wallet default constructor 2014-03-15 10:18:59 +08:00
Wei Lu
b2f010428f store accounts in closure instead of on object 2014-03-14 10:35:01 +08:00
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
3d6b66e811 move convert methods from util to convert 2014-03-11 09:52:48 +08:00
Wei Lu
02b3a2b564 HDWallet prod -> mainnet 2014-02-28 17:28:03 +08:00
Wei Lu
293c864f4f HD wallet versions: Bitcoin -> prod, BitcoinTest -> testnet 2014-02-28 14:27:31 +08: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
Kyle Drake
cb3653105a Merge vbuterin/master 2014-02-02 11:33:46 -08:00
Andreas Brekken
4edbaee96a Fix wallet.js so it does not crash with HDWallet. 2014-01-16 16:06:58 +07:00
Vitalik Buterin
7919c8cfc5 Added auto-instantiators to classes 2014-01-10 15:17:53 -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
vub
4abcdbd7af Created mkSendToOutputs method 2013-12-02 21:10:14 -05:00
vub
1780f4a98f Updated deterministic wallet; theoretically works now if properly combined with server 2013-12-01 21:52:07 -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
7bfd72c8c4 Replaced bigints with plain integers for transaction values 2013-10-14 07:41:21 -04:00
vub
038f8d5d99 Removed direct references to Bitcoin 2013-10-08 06:45:13 -04:00
vub
f95b08a576 Replaced Crypto.util and util (was a typo) with conv 2013-10-08 05:42:28 -04:00
vub
e43d23235b Added some transaction methods, and removed all internal use of base64 2013-10-07 15:27:19 -04:00
Roman Shtylman
981203e982 fix transaction processing for wallets 2013-03-02 12:00:14 -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
9b2f94a028 Implement Bitcoin's method for arbitrary message signatures. 2012-08-16 00:25:06 +02:00
Stefan Thomas
09e8c6e184 Added comments. 2012-01-11 10:41:52 +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