Daniel Cousens
2234e496d1
Transaction: simplify fromBuffer verbosity
2014-10-17 14:16:07 +11:00
Daniel Cousens
062540e3d9
Transaction: optional script for addInput
2014-10-17 14:16:07 +11:00
Daniel Cousens
9510af10e3
EC*Key: add .curve static property for public API
2014-10-16 01:25:39 +11:00
Daniel Cousens
27a3230662
base58check: fix wrapper and tests
2014-10-15 22:36:10 +11:00
Daniel Cousens
7f5b4b791b
index: fix base58check path
2014-10-15 22:10:46 +11:00
Daniel Cousens
395ef6ed85
base58check: add deprecation warnings
2014-10-15 19:42:05 +11:00
Daniel Cousens
307ceb9026
HDNode: use === over ==
2014-10-15 19:08:39 +11:00
Daniel Cousens
ef1eb04905
HDNode: move var declaration out of branches
2014-10-15 19:07:22 +11:00
Daniel Cousens
561f52b207
index: re-expose base58check until 2.0.0
2014-10-15 18:04:57 +11:00
Daniel Cousens
ddb24ee615
scripts: check chunks length properly
2014-10-14 16:59:26 +11:00
Daniel Cousens
b65e70b29c
scripts: remove explict else branch
2014-10-14 16:59:26 +11:00
Daniel Cousens
1a20c0db39
scripts: avoid unnecessary this context
2014-10-14 16:59:26 +11:00
Daniel Cousens
b7febc1bd8
scripts: re-order classify functions
2014-10-14 16:59:26 +11:00
Daniel Cousens
407d15869a
scripts: s/opcodes/ops
2014-10-14 16:59:26 +11:00
Daniel Cousens
bc2048dfca
scripts: remove out-of-date comments
2014-10-14 16:59:26 +11:00
Daniel Cousens
7e897a5105
Merge pull request #289 from weilu/loose-instanceof
...
loose instanceof: check constructor function name instead
2014-10-13 12:07:31 +11:00
Daniel Cousens
10630873eb
tests: add tests for ecdsa.verify
2014-10-11 13:47:32 +11:00
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
Daniel Cousens
7e5af52cd1
Transaction: mass rename from SPK/SS to Input/Output
...
I think it is important we maintain some reasoning that an Input script
is actually a script signature, but in the end, these names are more
coherent and understandable when reasoning with our code. So I think
its OK we break tradition with bitcoind.
2014-06-13 11:36:31 +10:00
Daniel Cousens
5a96df1ec1
Script: stop jshint complaining about missing-assignment
2014-06-13 11:09:21 +10:00
Daniel Cousens
8929c51d98
Script: remove clone
2014-06-13 10:52:07 +10:00
Daniel Cousens
41c3b68293
templates: rename to scripts
2014-06-13 10:52:07 +10:00
Daniel Cousens
de1571647a
Script: early exit in chunk.reduce
2014-06-13 10:52:07 +10:00
Daniel Cousens
be29f50457
Address: fix consistent casing
2014-06-13 10:52:07 +10:00
Daniel Cousens
00cec9ce64
Script: move all templates to templates.js
2014-06-13 10:52:07 +10:00
Daniel Cousens
91bb25c00c
Script: re-order functions to project order
...
Removes Script.parseChunks and merges it into Script.fromBuffer
2014-06-13 10:52:04 +10:00
Daniel Cousens
3521584b3a
Script: parseChunks now uses bufferutils
2014-06-13 10:49:54 +10:00
Daniel Cousens
005ca31fb3
Transaction: remove unnecessary clone
2014-06-13 10:49:54 +10:00
Daniel Cousens
323f0612d0
Transaction: remove unnecessary Buffer copy
2014-06-13 10:49:53 +10:00
Daniel Cousens
4e04eea436
Script: use fromChunks internally for all Script templates
2014-06-13 10:49:52 +10:00
Daniel Cousens
9a72c7437b
Script: adds Script.EMPTY constant
2014-06-13 10:49:08 +10:00
Wei Lu
f53e35ed28
wallet: delete utxo instead of marking it as spend
2014-06-12 16:48:01 +08:00
Wei Lu
d265b53b03
wallet: processTx -> processConfirmedTx, processPendingTx
2014-06-12 16:47:46 +08:00
Wei Lu
e064e9d29d
wallet.createTx ignores pending utxo
2014-06-12 13:11:28 +08:00
Wei Lu
660c95483d
wallet.processTx accepts isPending flag and passes it on to output
2014-06-12 12:56:50 +08:00
Daniel Cousens
4ce9015f3b
use ecurve instead of custom ec
2014-06-10 17:58:13 +10:00
Daniel Cousens
eb3a6bcb31
all: rename D to d as per SEC convention
2014-06-07 18:24:16 +10:00
Kyle Drake
6b55ab4d04
Merge pull request #189 from coinpunk/remove-untested-curves
...
Remove untested EC curves
2014-06-06 14:58:12 -07:00
Kyle Drake
9b5dfbd865
Merge pull request #206 from dcousens/base58rework
...
Base58 Check rework
2014-06-04 16:54:18 -07:00
Wei Lu
4d35d0cf08
Merge pull request #205 from dcousens/jshint
...
JSHint and fixes
2014-06-04 16:10:03 +08:00
Daniel Cousens
42e7197c46
ec: define on use
2014-06-04 16:20:51 +10:00
Daniel Cousens
dc3d9aec65
ec: compare strictly against null
2014-06-04 16:20:51 +10:00
Daniel Cousens
525b053e39
ec: remove semi-colons
2014-06-04 16:17:45 +10:00
Daniel Cousens
79c7b68d35
ec: white space fixes
...
It is advised to use ?w=0 in comparing this commit.
2014-06-04 16:04:34 +10:00
Daniel Cousens
27f9e7dc1e
convert: remove reverseEndian
2014-06-04 15:46:40 +10:00
Daniel Cousens
3b988a0872
convert: use Buffer internally and remove unused functions
2014-06-04 15:46:40 +10:00
Daniel Cousens
8433d73d06
convert: use Buffers and add more tests
2014-06-04 15:46:40 +10:00
Daniel Cousens
f5005299d1
JSHint: remove defined but never used
2014-06-04 15:46:24 +10:00
Daniel Cousens
e735a9182b
ec: use x1/x2, y1/y2 variables
...
No logic change, just using the variables that are defined instead of
repeating code.
2014-06-04 15:46:24 +10:00
Daniel Cousens
28dc390377
EC/Key: use network object consistently
2014-06-04 15:23:40 +10:00
Daniel Cousens
d39662e375
Base58check: no longer encodes version separately
2014-06-04 15:23:37 +10:00
Wei Lu
63e6cf987f
Merge pull request #203 from dcousens/hdwallettests
...
HDWallet tests and strict constructor
2014-06-04 13:05:15 +08:00
Daniel Cousens
ee04826464
HDNode: clearer branch comments
2014-06-04 14:47:39 +10:00
Daniel Cousens
56a88b8a70
HDNode: shorten comment for Q validation
2014-06-04 14:36:19 +10:00
Daniel Cousens
22f1dee65b
HDNode: remove unnecessary slice operation
2014-06-04 14:36:06 +10:00
Daniel Cousens
15cc03a57f
HDNode: removed unused variable
2014-06-04 13:57:44 +10:00
Daniel Cousens
9f798ef2c3
HDWallet: adds missing hd declaration
...
Only a problem if "use strict" is enforced
2014-06-03 21:02:18 +10:00
Daniel Cousens
6a73bc02f5
HDNode: rename priv/pub to privKey/pubKey
2014-06-03 19:54:58 +10:00
Daniel Cousens
64e307b13f
HDWallet: rename to HDNode
2014-06-03 17:08:42 +10:00
Daniel Cousens
c340f5cf83
HDWallet: now export all information by default
2014-06-03 17:04:05 +10:00
Daniel Cousens
48503f252c
HDWallet: move toBase58
2014-06-03 17:04:05 +10:00
Daniel Cousens
dca284a131
HDWallet: rename derivePrivate to deriveHardened
2014-06-03 17:04:05 +10:00
Daniel Cousens
91b8833e52
HDWallet: rename local priv to isPrivate
2014-06-03 16:10:13 +10:00
Wei Lu
c76d3cef37
Merge pull request #202 from dcousens/ecneg
...
ECKey -D test and light cleanup
2014-06-03 13:38:25 +08:00
Daniel Cousens
4cec42a8d8
HDWallet: add to/fromHex tests
2014-06-01 16:42:54 +10:00
Daniel Cousens
3f24e87c54
HDWallet: more explicit branch for parentFingerprint
2014-06-01 16:07:22 +10:00
Daniel Cousens
e8e862f632
HDWallet: adds PubKey validation
2014-05-31 20:40:57 +10:00
Daniel Cousens
708e27aa2d
HDWallet: extract BIP32 params search function
2014-05-31 20:40:57 +10:00
Daniel Cousens
759aeb9abc
HDWallet: remove repeated assertion
2014-05-31 20:40:57 +10:00
Daniel Cousens
c0006c299f
HDWallet: use new constructor
2014-05-31 20:40:57 +10:00
Daniel Cousens
ac9e259fcd
HDWallet: remove getKeyVersion
2014-05-31 18:53:39 +10:00
Daniel Cousens
02f5fceda7
HDWallet: remove unused imports
2014-05-31 18:53:11 +10:00
Daniel Cousens
77d4325d4b
base58: cleanup variable names
...
The encode/decode functions are also now similar syntactically.
2014-05-31 15:05:34 +10:00
Daniel Cousens
61c57adbf8
Address: Expected T, got PARAM for Buffer assertion
2014-05-31 15:05:33 +10:00
Daniel Cousens
2b2081bed9
base58check: buffers only, remove explicit 0
...
Undefined is treated as zero if it ever gets to this point anyway, so no
value is added by having this default param here.
A test fixture to verify this behaviour is added.
2014-05-31 15:05:33 +10:00
Daniel Cousens
baec325e6f
base58: use signum over compareTo
2014-05-31 15:05:33 +10:00
Daniel Cousens
5f88cb8931
ECKey: use signum over compareTo
2014-05-31 15:05:33 +10:00
Daniel Cousens
3bce535e36
Wallet: use assert for consistency
2014-05-31 14:28:16 +10:00
Daniel Cousens
b9bdf21cbe
bufferutils: use verifuint for 64 bit integers
...
Taken from browserify-buffer.
Also adds a few more tests to assert this is working correctly from both
read and write perspectives.
The assertion in for writePushDataInt in the 32 bit case was
unnecessary as that is handled by buffer.writeUInt32LE anyway.
2014-05-31 14:24:43 +10:00
Daniel Cousens
80da2ed2d5
HDWallet: add fromBase58 exception checks
2014-05-30 19:01:03 +10:00
Daniel Cousens
cde285ccfc
Wallet: enforce operator new
2014-05-30 19:01:03 +10:00
Daniel Cousens
4952c5f4e7
HD/Wallet: use network objects, not strings
2014-05-30 19:01:02 +10:00
Daniel Cousens
2df790e2ab
Wallet: remove use of hashLittleEndian
2014-05-30 18:17:32 +10:00
Daniel Cousens
4afdbc9f68
Wallet: use dustThreshold directly
...
The definition of a dust amount is pretty clear, and I feel it is less
readable when represented as isDust(amount) or !isDust(amount), by
comparison to amount <= dustThreshold or amount > dustThreshold.
Also means I don't have to stray my eyes to understand the
implemention by looking up isDust does.
2014-05-30 18:17:32 +10:00
Daniel Cousens
bd3690bdc0
Wallet: remove async interface
2014-05-30 18:17:32 +10:00
Daniel Cousens
50e9a09a8c
Wallet: cleanup createTx control flow
...
Unknowingly this also revealed a subtle bug in the previous
implementation which allowed the creation of transactions even
when no UTXOs existed.
2014-05-30 18:17:18 +10:00
Daniel Cousens
b10e96cbff
ecdsa: serializeSig should return a Buffer
2014-05-30 17:54:33 +10:00
Daniel Cousens
7e9b5d8584
bufferutils: return opcode for use
2014-05-30 17:54:33 +10:00
Daniel Cousens
6f3d829be0
all: Expected T, got PARAM
2014-05-29 16:09:47 +10:00
Daniel Cousens
2f44628604
Transaction: refactor hashForSignature
...
Adds asserts to ensure only valid hashes are created (until the
implementation is complete).
Also uses `Script.without` to remove OP_CODESEPARATOR from the Scripts
as required by the protocol.
2014-05-29 16:06:19 +10:00
Daniel Cousens
7d94d1b068
Script: add fromChunks and without
2014-05-29 16:06:19 +10:00
Daniel Cousens
d18f2dba00
bufferutils: add PUSHDATA implementation
2014-05-29 16:06:19 +10:00
Daniel Cousens
54950c9abb
Transaction: fix SIGHASH_* constant values
2014-05-29 16:06:19 +10:00
Daniel Cousens
db814439a3
Transaction: extract DEFAULT_SEQUENCE constant
...
Also fixes the bug when the sequence number is 0 and
`TransactionIn.defaultSequence` is used; resulting in an undefined
sequence number as it is undefined.
2014-05-29 16:06:19 +10:00
Daniel Cousens
7494a146a6
ECKey: fix exception tests
...
These weren't broken as such, but they weren't distinctly checking that
the right exception was thrown either.
2014-05-29 16:01:04 +10:00
Daniel Cousens
6cfa729dae
ecdsa: fix missing exceptions
2014-05-29 15:42:52 +10:00
Daniel Cousens
2fc69b0834
address/base58check: fix missing exceptions/tests
...
All the `invalid2` tests have been removed as they were not invalid
base58check. They were actually valid in some cases.
They will be re-integrated in more specific bitcoin core tests in
relation to Address/ECKey respectively.
2014-05-29 14:43:44 +10:00
Daniel Cousens
47ae862ae9
base58: fix missing exceptions
2014-05-29 14:43:29 +10:00
John Russell
343289229e
ensures that pubKey length is greater than m
...
ensure that pubKey length is greater than m
use Array.isArray over instanceof
error message
2014-05-28 01:48:17 -07:00
Daniel Cousens
8514bbfabd
Address: remove Address.Error
...
By removing Address.Error, we remove a code smell.
This part of the code base was also not under any form of test.
Test data and tests have therefore been added verifying its behaviour in
both Wallet and Address tests.
2014-05-28 13:17:07 +10:00
Kyle Drake
33e5883be1
sec: remove untested alt curves not used by bitcoin
2014-05-25 14:30:34 +10:00