Daniel Cousens
98bc1685b3
message: remove unnecessary verbosity
2014-10-10 19:24:16 +11:00
Daniel Cousens
1b57f0871d
message: remove duplicate require
2014-10-10 19:23:42 +11:00
Wei Lu
b55b10c6b6
types: replace Function.name with an IE compatible alternative
2014-10-08 09:26:45 -07:00
Wei Lu
eb4e8884d9
loose instanceof: check constructor function name instead
2014-10-07 00:23:53 -07:00
Daniel Cousens
967e724b47
types: remove JSPerf references
2014-10-07 16:57:49 +11:00
Daniel Cousens
01a96e887c
types: use the idiomatic equivalents
2014-10-07 16:50:37 +11:00
Daniel Cousens
deaf06b350
Wallet: use enforceType where applicable
2014-10-05 15:43:14 +11:00
Daniel Cousens
35542e115d
types: enforce consistent type checking
2014-10-05 15:36:25 +11:00
wmcbain
de1755307a
Added Zetacoin support
...
Added support for zetacoin
2014-09-25 07:45:54 -04:00
Wei Lu
6cd8fc3fe0
Merge pull request #282 from dcousens/nobuff
...
Deprecate Buffer interop in preparation for 2.0.0
2014-09-22 20:50:49 +08:00
Daniel Cousens
a58088795f
HDNode: indicate 2.x.y removal of Buffer interop
2014-09-20 11:38:18 +10:00
Daniel Cousens
c96b862530
crypto: remove cryptojs
2014-09-20 11:00:34 +10:00
Daniel Cousens
f028dfffa9
Wallet: fix missing variable utxo
2014-09-08 23:15:53 +10:00
Daniel Cousens
4e04a7e883
Transaction: use isFinite over Number.isFinite
2014-09-08 23:15:53 +10:00
Daniel Cousens
6c5a68207a
Transaction: use isFinite instead over typeof number
2014-09-08 18:42:47 +10:00
BtcDrak
c41c3bb62d
Add viacoin support
2014-09-06 17:59:13 +01:00
Wei Lu
cc98600154
Merge pull request #262 from dcousens/wallref
...
processTx considered harmful followup
2014-09-06 22:25:43 +08:00
Daniel Cousens
1d0fd3e9a4
TxBuilder: add more failing cases and error handling
2014-08-31 14:43:35 +10:00
Daniel Cousens
e1479b6fa5
scripts: add error for >n signatures with multisig
2014-08-30 13:13:12 +10:00
Daniel Cousens
8d5ef2dd06
TxBuilder: limit signatures depending on scriptType
2014-08-30 13:13:12 +10:00
Daniel Cousens
b3438c5ef2
Transaction: throw if sequence is not a number
2014-08-30 12:51:29 +10:00
Daniel Cousens
aa80bde815
TxBuilder: avoid unnecessary recalculation of prevOutScript data
2014-08-30 12:47:00 +10:00
Daniel Cousens
e2357c09ce
TxBuilder: fix invalid txin.index usage for non-zero vin inputs
2014-08-30 12:10:02 +10:00
Daniel Cousens
b727a65ea0
Wallet: refactor to use Array unspents solely, deprecating unspentsMap
2014-08-27 12:37:13 +10:00
Daniel Cousens
06f13db8d7
Wallet: rename outputs to unspentsMap
2014-08-27 12:37:13 +10:00
Daniel Cousens
d24fdef585
Wallet: consistent variable naming
2014-08-27 12:37:13 +10:00
Daniel Cousens
02e71e430c
Wallet: revert 2f00c9a
2014-08-27 12:37:13 +10:00
Daniel Cousens
71d4c78b88
bufferutils: add Buffer reverse
2014-08-27 12:37:11 +10:00
Daniel Cousens
33955a7fb5
Wallet: store txHash, vout separately instead of "from: txid:vout"
2014-08-26 18:37:44 +10:00
Daniel Cousens
735feab7ba
Wallet: remove txId:index storage for spent outputs
2014-08-26 18:37:43 +10:00
Wei Lu
43d135c4b3
Merge pull request #266 from dcousens/mesb64
...
Message: allow base64 strings as input
2014-08-21 19:35:09 +08:00
Daniel Cousens
b66e53d1e7
Transaction: add comment to explain -1 on add*
2014-08-20 10:41:23 +10:00
Daniel Cousens
4b52c42c91
Message: allow base64 strings as input
2014-08-20 09:14:04 +10:00
Daniel Cousens
22f8c8aa4a
TxBuilder: re-order functions to project standard
2014-08-18 08:59:26 +10:00
Daniel Cousens
4f88980dfb
tests: add P2SH multisig example case
2014-08-18 08:54:46 +10:00
Daniel Cousens
f9fed3c815
TxBuilder: adds fromTransaction impl. and basic tests
2014-08-18 08:54:46 +10:00
Daniel Cousens
7f62069d82
TxBuilder: add sequence number passthrough
2014-08-18 08:54:46 +10:00
Daniel Cousens
418a56cbdc
index: add TransactionBuilder
2014-08-18 08:54:46 +10:00
Daniel Cousens
1e3e003120
TxBuilder: remove unnecessary assert
2014-08-18 08:54:46 +10:00
Daniel Cousens
14211b5f3e
TxBuilder: sign after error checking
2014-08-18 08:54:46 +10:00
Daniel Cousens
26b028adcf
Wallet: use TxBuilder instead
2014-08-18 08:54:45 +10:00
Daniel Cousens
4e3a6c9557
TxBuilder: use build/buildIncomplete over boolean
2014-08-18 08:54:45 +10:00
Daniel Cousens
377b815417
TxBuilder: transform all signatures once
2014-08-18 08:54:45 +10:00
Daniel Cousens
36b225a3df
TxBuilder: use data fixtures for invalid tests
2014-08-18 08:54:45 +10:00
Daniel Cousens
bcbcd58964
TxBuilder: Initial commit and tests
2014-08-18 08:54:45 +10:00
Daniel Cousens
884fd542fe
Transaction: deprecate Tx signing methods
2014-08-16 17:36:06 +10:00
Daniel Cousens
897bbf4eb4
Wallet: assign indexOf in the same step
2014-08-16 17:26:27 +10:00
Daniel Cousens
9620b68fe2
Wallet: use __processTx over a free function
...
The use of bind in this case wasn't idiomatic.
2014-08-16 17:26:27 +10:00
Daniel Cousens
300facf7aa
Wallet: use === when comparing with undefined
2014-08-16 17:26:27 +10:00
Daniel Cousens
4bb7f5b56d
Wallet: use indexOf explicitly over include*
2014-08-16 17:26:27 +10:00
Wei Lu
e55676cf8e
Wallet: remove unncessary comments
2014-08-16 14:27:12 +08:00
Wei Lu
00d58604a4
Wallet: move getPrivateKeyForAddress to prototype
...
also, move the assert to the end to simplify the logic
2014-08-16 14:24:24 +08:00
Wei Lu
2b4d94cd92
Wallet: move processPendingTx & processConfirmedTx to prototype
...
also, move processTx out of Wallet scope
2014-08-16 14:19:19 +08:00
Daniel Cousens
c13177bb29
Wallet: rename masterkey to masterKey
2014-08-14 17:29:14 +10:00
Daniel Cousens
6df785bb65
Wallet: move createTx to prototype
2014-08-14 11:17:12 +10:00
Daniel Cousens
7fd41fae4a
Wallet: move most instance methods to prototype
2014-08-14 11:17:12 +10:00
Daniel Cousens
2f00c9ab35
Wallet: rework unspents to primarily work on initialization
...
The RegExp for the UTXO validation was removed as the errors are now
more verbose and specific to each case.
2014-08-14 11:17:10 +10:00
Daniel Cousens
7c22067f69
Wallet: clarify getPrivateKeyForAddress method structure
...
This does repeat the O(n) lookup several times, but that can be fixed by
using an O(1) lookup instead (and will be later).
Clarity first.
2014-08-14 11:00:29 +10:00
Daniel Cousens
abc3e6c715
Wallet: move estimatePaddedTxFee out of Wallet scope
2014-08-14 11:00:29 +10:00
Daniel Cousens
8b3470e8ca
Wallet: move all free functions out of Wallet scope
2014-08-14 11:00:29 +10:00
Daniel Cousens
d618aa9822
Wallet: deprecates newMasterKey
2014-08-14 11:00:18 +10:00
Daniel Cousens
6b429493f8
hdnode: add deprecation message for isPrivate
2014-07-30 18:04:25 +10:00
Daniel Cousens
9d92b6a1a8
HDNode: add neuter functionality
2014-07-30 17:57:09 +10:00
Daniel Cousens
e69ba7ce76
HDNode: assert chain code length
2014-07-30 17:57:09 +10:00
Daniel Cousens
8297e1b0fc
ecdsa: add further (missing) annotations from 1.4.x
2014-07-30 15:10:38 +10:00
Daniel Cousens
804c542c40
ecdsa: add SEC annotations for verify
2014-07-30 15:04:45 +10:00
Daniel Cousens
be3ce88a3a
ecdsa: enforce positive integers
2014-07-29 23:45:25 +10:00
Daniel Cousens
04bcbadc77
transaction/ecdsa: remove unused imports
2014-07-29 02:06:17 +10:00
Daniel Cousens
8e0c835919
package: use crypto-browserify 3.0.0
2014-07-28 13:51:30 +10:00
Daniel Cousens
c2e7840c4f
Transaction: adds assert for invalid value type
2014-07-16 17:53:38 +10:00
Daniel Cousens
d168bbda43
HDNode: missing space in assertion message
2014-07-15 17:42:04 +10:00
Daniel Cousens
a90a8e061e
Transaction: add assertion that scriptPubKey exists
2014-07-11 19:18:27 +10:00
Daniel Cousens
56d9ea6618
HDNode: fix error spelling
2014-07-11 19:15:56 +10:00
Daniel Cousens
ddcde038d0
HDNode: enforces sane seed lengths
2014-07-11 16:34:03 +10:00
Daniel Cousens
656de37fc0
ECSignature: avoid multiple push/unshift operations
2014-07-10 14:22:33 +10:00
Daniel Cousens
13c2d377e7
package: use bs58check
2014-07-02 14:37:32 +10:00
Daniel Cousens
ab20febbdc
Merge pull request #233 from weilu/pending-spending-utxo
...
wallet: reintroduce output.to to track pending spent utxo
2014-07-02 03:27:33 +10:00
Wei Lu
d9e240bbb1
Merge pull request #224 from dcousens/classify
...
Script classification fixes
2014-06-29 12:05:39 -07:00
Daniel Cousens
886bdee947
scripts: remove unused 2nd argument in function call
2014-06-30 01:06:43 +10:00
Wei Lu
f7af487597
wallet: reintroduce output.to to track pending spent utxo
2014-06-28 18:29:47 -07:00
Kyle Drake
df743e55d0
Merge pull request #223 from dcousens/rand
...
ECKey: adds tests for makeRandom
2014-06-26 19:48:15 -04:00
Kyle Drake
6596ca1ec8
Merge pull request #228 from dcousens/b58
...
BS58 module
2014-06-26 18:26:54 -04:00
Daniel Cousens
f0370ef46f
crypto: use latest crypto-browserify
2014-06-26 19:26:54 +10:00
Daniel Cousens
9d2784a441
crypto: add RIPEMD160 tests
2014-06-26 19:26:21 +10:00
Daniel Cousens
ea9c8251a0
use cryptocoinjs/bs58
2014-06-26 18:47:13 +10:00
Daniel Cousens
759bba5c21
scripts: add falsy classifications and fix multisig
2014-06-26 16:22:29 +10:00
Daniel Cousens
89f0324cd7
ECKey: adds tests for makeRandom
2014-06-26 13:35:52 +10:00
Daniel Cousens
ab55417d6d
ecdsa: fix interval comment
...
Actual range as per the RFC is [1, q - 1], the code adheres to this.
2014-06-26 01:50:52 +10:00
Daniel Cousens
08876fc065
ecdsa: ecurve 0.10.0
2014-06-26 00:52:33 +10:00
Daniel Cousens
776656df8b
ecdsa: adhere strictly to RFC6979
...
The previous impl. was in breach of the following section:
> Please note that when k is generated from T, the result of bits2int is
> compared to q, not reduced modulo q. If the value is not between 1 and
> q-1, the process loops.
> Performing a simple modular reduction would induce biases that would be
> detrimental to signature security.
2014-06-26 00:35:45 +10:00
Daniel Cousens
13d41f67e9
Script: adds toASM/fromASM
2014-06-25 15:44:15 +10:00
Daniel Cousens
7e85515e37
opcodes: prefer OP_0
2014-06-25 15:42:16 +10:00
Daniel Cousens
8b1e2c5e1e
scripts: recursive scriptHash no longer problematic
2014-06-24 17:47:56 +10:00
Daniel Cousens
daa2cb7daa
scripts: fix classification logic
2014-06-24 17:32:23 +10:00
Kyle Drake
d93623e2b1
Merge pull request #220 from dcousens/canonical
...
ECSignature: fixes for canonical signatures
2014-06-21 22:49:44 -04:00
Daniel Cousens
63ce1fdfb2
ECSignature: add missing tests for R,S length
2014-06-22 01:19:19 +10:00
Daniel Cousens
a5a9a96ba2
ECSignature: compress assertion statement
2014-06-22 01:11:49 +10:00
Wei Lu
82b1d8fbdc
wallet: do not delete pending incoming tx from outputs
2014-06-21 19:21:26 +08:00
Daniel Cousens
53595784e1
ECSignature: fixes for canonical signatures
2014-06-20 15:52:04 +10:00
Wei Lu
79a17d67ec
wallet: do not overestimate fees when network has dustSoftThreshold
2014-06-18 21:16:17 +08:00
Wei Lu
7e31668b69
wallet: rename utxo.receive to utxo.from
2014-06-18 14:34:53 +08:00
Wei Lu
7e98123ccd
wallet.getUnspentOutputs includes the pending field
2014-06-18 14:29:02 +08:00
Daniel Cousens
77b68a52a6
network: testnet should use testnet
2014-06-18 01:39:08 +10:00
Wei Lu
c4285d9da2
Network specific constants reference the latest tags
2014-06-17 22:48:35 +08:00
Wei Lu
bc3e0770f9
Add fee estimation functions for dogecoin and litecoin
2014-06-17 22:46:18 +08:00
Wei Lu
122b613eaf
Move fee estimation into networks.js
2014-06-17 22:43:32 +08:00
Wei Lu
79ec61d085
Fix bitcoin dustThreshold and feePerKb values
2014-06-17 22:41:14 +08:00
Wei Lu
45a72416c9
wallet: Move dust and fee per kb into networks.js
2014-06-17 22:38:03 +08:00
Wei Lu
562a492079
Merge pull request #214 from dcousens/txtests
...
Transaction tests
2014-06-17 22:22:49 +08:00
Daniel Cousens
92da7975e4
Network: use capitalization
2014-06-17 21:08:28 +10:00
Daniel Cousens
8eaf44881a
Transaction: improve hash length checking + tests
2014-06-17 20:18:39 +10:00
Daniel Cousens
d07cfccbc1
Transaction: move constants to Transaction
2014-06-17 12:26:14 +10:00
Daniel Cousens
4850570955
Transaction: remove untestable assert
...
Also changes the fromBuffer sanity test to use a clearer message that is
taken from the fixtures.
2014-06-17 12:24:35 +10:00
Daniel Cousens
1b1b550bd6
Transaction: add hash as addInput parameter
2014-06-17 12:23:27 +10:00
Daniel Cousens
0b17c2bc3d
Transaction: re-adds getHash as a pure hash
2014-06-17 12:22:13 +10:00
Daniel Cousens
6c9f95c253
Transaction: add sequence parameter to addInput
2014-06-17 12:21:09 +10:00
Daniel Cousens
1f0a54fb41
ECSignature: rename parsing functions to parse*
2014-06-17 00:26:16 +10:00
Daniel Cousens
f42993297c
ecurve: upgrade to 0.9.0
2014-06-16 15:47:41 +10:00
Daniel Cousens
eb3d9a25f7
ecdsa: moved all signature encoding to ECSignature
2014-06-16 15:47:41 +10:00
Daniel Cousens
c5252fc509
Transaction: amend confusing exception message
2014-06-16 15:44:27 +10:00
Daniel Cousens
c0e5393595
Transaction: remove .outpoint object
2014-06-16 14:21:40 +10:00
Daniel Cousens
2a267b62e6
jshint: remove unused variables
2014-06-16 14:21:40 +10:00
Daniel Cousens
d8fdd50950
Transaction: remove TxIn/TxOut
2014-06-16 14:21:40 +10:00
Daniel Cousens
b5268465db
Transaction: remove TxIn/TxOut clone
2014-06-16 14:21:39 +10:00
Daniel Cousens
a17208a549
Transaction: rename key to privKey and standardize type check
2014-06-16 14:21:39 +10:00
Daniel Cousens
d567463588
Transaction: remove estimateFee
...
This is a wallet abstraction.
2014-06-16 14:21:39 +10:00
Daniel Cousens
009fcb9b82
Transaction: now returns index of added input/output
2014-06-16 14:21:39 +10:00
Daniel Cousens
8e5fdb78a8
Transaction: rename type to hashType
2014-06-16 14:21:39 +10:00
Daniel Cousens
a2d581dec5
Transaction: rename script -> prevOutScript
2014-06-16 14:21:39 +10:00
Daniel Cousens
7f9711ef9b
Transaction: restrict Transaction constructor
2014-06-16 14:21:39 +10:00
Daniel Cousens
f85792ba22
Transaction: remove address from txOut
2014-06-16 14:21:39 +10:00
Daniel Cousens
5551c38812
Transaction: use hash Buffer instead of hex string
2014-06-16 14:21:39 +10:00
Daniel Cousens
2f56e63491
Wallet: avoid transaction inspection when signing
2014-06-16 14:21:39 +10:00
Daniel Cousens
bdc7131d0e
Transaction: renames getHash to getId
...
In turn also removes the inherent calculation of tx.hash after deserialization.
2014-06-16 14:21:39 +10:00
Daniel Cousens
867465a03f
Transaction: support non-addressable output scripts
2014-06-16 14:21:38 +10:00
Daniel Cousens
5bd636cab7
Transaction: remove TxIn/TxOut from API
2014-06-16 14:21:38 +10:00
Daniel Cousens
a6b9dd9473
Transaction: remove hash:index notation
2014-06-16 14:21:38 +10:00
Daniel Cousens
1f2becbb45
Transaction: move all constants to top
2014-06-16 14:21:38 +10:00
Daniel Cousens
40f0c91162
Transaction: use TxIn/TxOut consistently
2014-06-16 14:21:38 +10:00
Daniel Cousens
8b5647b0b9
Transaction: remove TxIn/TxOut exports
2014-06-16 14:21:38 +10:00
Daniel Cousens
e49e1796d5
Transaction: remove untested TransactionIn constructor params
2014-06-15 00:40:28 +10:00
Daniel Cousens
1a41ea8801
ecdsa: add more extensive tests for recoverPubKey
2014-06-15 00:40:21 +10:00
Daniel Cousens
402fa0d85d
ecdsa: amend recoverPubKey SEC comments
2014-06-15 00:40:21 +10:00
Daniel Cousens
4f8040f8d4
ecdsa: add invalid test fixtures for recoverPubKey
2014-06-15 00:40:21 +10:00
Daniel Cousens
8c5c0a13a6
Transaction: remove untested (and broken) functionality
2014-06-15 00:40:21 +10:00
Daniel Cousens
55ff383c7b
Wallet: remove superfluous false parameter
...
This parameter is unnecessary.
The use of `false` causes the default parameter to be used instead; even though the absence of such would also cause said behaviour to occur.
2014-06-15 00:38:21 +10:00
Wei Lu
8e00eb6855
Merge branch 'scriptclean'
...
Conflicts:
test/wallet.js
2014-06-14 10:31:19 +08:00
Daniel Cousens
553ade1208
network: always use lowercase
2014-06-14 00:39:25 +10:00
Daniel Cousens
b68b1d5da4
Script: fixes pubKeyInput and adds a test
2014-06-14 00:39:25 +10:00
Daniel Cousens
9d5d18b2d8
Scripts: adds assertion for enforcing a Script input
2014-06-13 16:40:03 +10:00