Commit graph

700 commits

Author SHA1 Message Date
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
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
Daniel Cousens b05d17f904 Script: adds missing exception regex 2014-05-29 16:06:18 +10:00
Daniel Cousens 8b3634c866 HDWallet: adds missing exception regex 2014-05-29 16:06:18 +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
Wei Lu c9ad359520 Merge pull request #196 from dcousens/intasync
Integration tests running async causing wrong balance
2014-05-29 00:12:00 +08:00
Daniel Cousens 326cda63c0 integration: use Script.getHash 2014-05-29 02:06:49 +10:00
Daniel Cousens c9f9d86cb4 integration: stop async tests causing wrong balance 2014-05-29 02:06:49 +10:00
Daniel Cousens 778aab104e tests: fix #198 indentation 2014-05-28 19:02:57 +10:00
Daniel Cousens cf4d7bb0f3 Merge pull request #198 from thallium205/master
ensure pubkeys length greater than m
2014-05-28 19:01:33 +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 4dd617d5ca wallet: fix address description typo 2014-05-28 13:25:37 +10: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
Daniel Cousens 4332c9e3d4 README: improve feature list 2014-05-27 13:10:58 +10:00
Wei Lu befa0d3446 Merge pull request #195 from coinpunk/addcoveralls
Add support for continuous coverage reporting
2014-05-25 09:06:02 +00:00
Kyle Drake 6f87c437d5 package.json: add support for continuous coverage reporting 2014-05-25 18:06:37 +10:00
Wei Lu c962d0c9b7 Merge pull request #194 from coinpunk/hdcleanups
Remove fromHex, tests for edge case fromBuffer errors
2014-05-25 03:09:55 +00:00
Kyle Drake 600209b1a6 hdwallet: remove fromHex, add better tests for edge cases 2014-05-25 12:26:29 +10:00
Wei Lu c5704cfd44 Merge pull request #193 from dcousens/hdtests
HDWallet: move test vectors to fixtures
2014-05-25 02:09:31 +00:00
Kyle Drake dd3e171212 Merge pull request #188 from dcousens/ecsig
ecdsa: always use signature object
2014-05-25 11:57:09 +10:00
Daniel Cousens d2e921fce6 HDWallet: move test vectors to fixtures 2014-05-25 11:48:34 +10:00
Daniel Cousens 1e70e31e9f README: change fromHex to fromWIF 2014-05-25 10:26:24 +10:00
Daniel Cousens 08951be66f Script: add createPubKeyScriptPubKey 2014-05-25 10:21:06 +10:00
Wei Lu 05d0baae7c Merge pull request #191 from coinpunk/remove-crypto-hash-transistions
Remove crypto hash transistions
2014-05-25 00:16:37 +00:00
Kyle Drake 4e3cb6762b fix for hash160 in integration test 2014-05-25 09:55:56 +10:00
Kyle Drake f545ed1279 remove crypto hash transition code 2014-05-25 09:46:06 +10:00
Daniel Cousens c17c6f9291 Merge pull request #192 from coinpunk/eccleanup
Cleanup some unused ec.js code
2014-05-24 20:09:48 +10:00
Kyle Drake f88b5cbbb9 Merge pull request #190 from coinpunk/readmefixes
fix for a few readme examples
2014-05-24 18:22:41 +10:00
Daniel Cousens 58fd12e66d ecdsa: always use signature object 2014-05-24 16:25:38 +10:00
Wei Lu 52217ea262 Merge pull request #187 from dcousens/messagefixtures
Improved message fixtures and data driven testing
2014-05-24 04:40:02 +00:00
Daniel Cousens bd1a08bfa1 ecdsa: use signum() over compareTo 2014-05-24 14:33:25 +10:00