Commit graph

933 commits

Author SHA1 Message Date
Daniel Cousens
29fbbaa58d HDWallet: adds Public -> public tests 2014-06-03 16:21:20 +10:00
Daniel Cousens
99bb69bf20 HDWallet: moves hardened info to test data more explicitly 2014-06-03 16:12:36 +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
938c43649d HDWallet: remove unnecessary Base58 context on fromBuffer tests 2014-06-01 16:48:41 +10:00
Daniel Cousens
4cec42a8d8 HDWallet: add to/fromHex tests 2014-06-01 16:42:54 +10:00
Daniel Cousens
260705a24a HDWallet: consistent test data ordering
Also adds network parameter for later moving the network specific tests
to be data driven.
2014-06-01 16:42:01 +10:00
Daniel Cousens
0e61f41a52 HDWallet: fix test data descriptions 2014-06-01 16:41:44 +10:00
Daniel Cousens
533d61380a HDWallet: improve testing coverage 2014-06-01 16:41:42 +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
58dd86bda1 HDWallet: moves fromBuffer tests to data driven style 2014-05-31 15:44:06 +10:00
Daniel Cousens
799b69eb1e HDWallet: use assert.throws 2014-05-31 15:44:06 +10:00
Wei Lu
1bce66246c Merge pull request #200 from dcousens/walletclean
HD/Wallet clean
2014-05-31 13:25:13 +08:00
Daniel Cousens
749943cb4e HDWallet: clarify test intention 2014-05-31 15:21:18 +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
77ed66b24d ECKey: ensure throw is from ECKey 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
978f0c5406 ECKey: adds test to ensure throws on negative D 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
5b7873d05b bufferutils: test fixture filename copies parent 2014-05-31 14:24:43 +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
Wei Lu
13f95d4ecf Merge pull request #199 from dcousens/btccoretests
Bitcoin core tests and fixed exception testing
2014-05-30 12:36:47 +08:00
Daniel Cousens
bda1a8321c bufferutils: unrolls tests and adds more 16 bit test fixtures 2014-05-29 16:26:15 +10:00
Daniel Cousens
6f3d829be0 all: Expected T, got PARAM 2014-05-29 16:09:47 +10:00
Daniel Cousens
14069155b0 tests: adds bitcoin core tests
Not all tests are added yet, but this represents a significant portion.
2014-05-29 16:06:19 +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
36a1d579f8 coretests: reverse inputs for simplicity of testing
To save on us building a hash map with which to check the inputs,
instead I just ensure that the order of the inputs is the same as it is
in the serialized transaction.
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
12a2dc3cc2 tests: adds Bitcoin core test data 2014-05-29 16:06:19 +10:00