Commit graph

653 commits

Author SHA1 Message Date
Daniel Cousens 5f8484645d remove base58check
Use bs58check package solely from here on.
2015-03-02 14:02:47 +11:00
Daniel Cousens 0bba21546f various: more standard-format artifact fixes 2015-03-02 13:50:49 +11:00
Daniel Cousens 399803affa use standardjs formatting 2015-02-24 12:45:38 +11:00
Daniel Cousens 9daf937e93 tests: add API consistency and tests for #366 2015-02-24 12:23:31 +11:00
Daniel Cousens f87ac58df0 tests: add reverse order multisig 2-of-2 2015-02-23 11:37:33 +11:00
Daniel Cousens 376c6533f1 tests: bitcoin/core check WIF exports correctly 2015-02-23 10:26:01 +11:00
Daniel Cousens 1da8297f3c Merge pull request #363 from bitcoinjs/coinbase
Coinbase Transaction parsing
2015-02-23 09:10:48 +11:00
Daniel Cousens e0b1aa843e Merge pull request #360 from bitcoinjs/scriptfix
isScriptHashInput logic fix
2015-02-19 19:02:35 +11:00
Daniel Cousens 445eb260c0 tests: add failing Coinbase transaction fixture 2015-02-19 12:51:24 +11:00
Daniel Cousens db17e35013 tests: transaction.add* better tested by raw functions 2015-02-19 12:32:05 +11:00
Daniel Cousens 7a515a14ee tests: use beforeEach for initialization 2015-02-19 08:59:10 +11:00
Daniel Cousens c9826221fb scripts: catch error in Script.fromBuffer 2015-02-16 02:39:57 +11:00
Daniel Cousens 4bcd169f6d tests: actually run invalid tests 2015-02-15 21:21:01 +11:00
Daniel Cousens d68eb496a9 tests: use fffff... unless txHash is actually useful 2015-02-15 21:12:24 +11:00
Daniel Cousens 3a371fccec TxBuilder: remove initialized field from signature inputs 2015-02-13 13:18:28 +11:00
Daniel Cousens d3af28e37e tests: fix TxBuilder fixtures to be consistent w/ compression 2015-02-13 13:18:28 +11:00
Daniel Cousens 5f761113cc tests: if description undefined, use exception 2015-02-13 13:18:28 +11:00
Daniel Cousens 1fde0a401d tests: move inconsistent hashType/redeemScript test 2015-02-13 13:18:28 +11:00
Daniel Cousens ebbe1278a0 tests: add non-standard input fixture 2015-02-13 13:18:28 +11:00
Daniel Cousens f0c4a76325 tests: add scriptHash(pubKey) test fixture 2015-02-13 13:18:28 +11:00
Daniel Cousens 3f53b528a8 tests: reduce setup-code duplication 2015-02-13 13:18:28 +11:00
Daniel Cousens 95911c5dde tests: consistent test data names 2015-02-13 13:18:28 +11:00
Daniel Cousens 23a37fb771 TxBuilder: fix out-of-order multisignature signing 2015-02-13 13:18:28 +11:00
Daniel Cousens 4c9fd6010e TxBuilder: fix failing test for non-standard/multisig inputs
Instead of failing in `fromTransaction`, TxBuilder will now only fail in
`sign` if you attempt to sign a non-standard input.

Transactions with non-standard inputs can only be built with
buildIncomplete() (for now).
2015-02-13 13:18:26 +11:00
Daniel Cousens b048627a59 tests: move TxBuilder.sign tests to fixtures 2015-02-13 13:18:00 +11:00
Daniel Cousens 396e4d4235 tests: add [failing] test for nulldata signing 2015-02-13 13:18:00 +11:00
Daniel Cousens 35fa86c1f9 tests: add [failing] raw multisig fixture for TxBuilder 2015-02-13 13:18:00 +11:00
Daniel Cousens dfe74fa0d2 TxBuilder: sign now signs inputs in known publicKey order 2015-02-13 13:17:57 +11:00
Daniel Cousens ba97b5ee34 TxBuilder: re-order to avoid mutation in case of failure 2015-02-13 13:01:01 +11:00
Daniel Cousens f8b9a5f2c3 Merge pull request #356 from bitcoinjs/htenforce
ECSignature: enforce valid hashType in toScriptSignature
2015-02-13 12:00:21 +11:00
Daniel Cousens c35d4b46c5 scripts: add allowIncomplete for multisig scripts 2015-02-12 19:50:00 +11:00
Daniel Cousens c9db90dc4d ECSignature: enforce valid hashType in toScriptSignature 2015-02-05 16:30:00 +11:00
Daniel Cousens 234ae84b86 integration: use 'bitcoinjs-lib' as OP_RETURN constant 2015-01-27 17:36:35 +11:00
Daniel Cousens 5e1cd6e995 integration: avoid looking up all address transactions each time 2015-01-27 17:36:35 +11:00
Daniel Cousens cbf8c6f932 tests: format JSON consistently 2015-01-23 16:37:10 +11:00
Daniel Cousens a529b3fa0b TxBuilder: copy version/locktime in fromTransaction 2015-01-23 16:35:09 +11:00
Daniel Cousens 6938c8f8cc ecdsa: add default checkSig, to be removed in 2.0.0 2015-01-06 15:12:34 +11:00
Daniel Cousens a492969ab2 tests: ecdsa test cleanup 2015-01-05 12:42:09 +11:00
Daniel Cousens 0e5c7b2a5a tests: add bip32JPs RFC6979 test vectors and tests 2015-01-05 12:31:28 +11:00
Daniel Cousens 1e7f537f38 tests: adds ecdsa test enforcing valid signature callback 2015-01-05 11:15:11 +11:00
Daniel Cousens e9778ae358 ecdsa: fixes edge case presented in #336 2015-01-04 12:46:37 +11:00
Daniel Cousens 0524ced984 scripts: enforce pubKeys as type ECPubKey 2014-12-23 15:30:16 +11:00
Daniel Cousens e42c497a3c package: use typeforce 2014-12-23 15:08:20 +11:00
Daniel Cousens c716367f77 tests: add test for null sequence number 2014-12-16 15:15:39 +11:00
Bez Reyhan 85979a062e remove fixture 2014-12-15 20:10:32 -08:00
Bez Reyhan 1c6d5a28a9 update fixtures and tests for merge 2014-12-15 19:21:34 -08:00
Daniel Cousens fc690d418b tests: rename txid to id in Transaction context 2014-12-13 09:48:31 +11:00
Daniel Cousens ca4e64d071 tests: use ASM for fixtures, avoid JSON comparison 2014-12-13 09:41:52 +11:00
Daniel Cousens fc7c7ce2a8 tests: remove extraneous anonymous function 2014-12-12 16:41:36 +11:00
Daniel Cousens 3a17e232ad tests: remove unused variable 2014-12-12 16:38:33 +11:00
Daniel Cousens 50a32328ba tests: remove unused variables 2014-12-12 16:31:47 +11:00
Daniel Cousens 3710105eef tests/integration: add k-value derivation and private key recovery example 2014-12-09 12:23:43 +11:00
Daniel Cousens 837e0a3564 package: use cb-helloblock for integration tests 2014-12-09 12:23:43 +11:00
Daniel Cousens de914ff8fa tests/integration: move crypto-like tests to test/integration/crypto.js 2014-12-08 12:02:58 +11:00
Daniel Cousens a66773b5f5 tests/integration: add HDNode private key recovery example 2014-12-08 12:02:58 +11:00
Daniel Cousens b6017b0fae HDNode: move isPrivate logic 2014-12-01 10:46:49 +11:00
Daniel Cousens 1ac79b8327 tests: add test for non-matching network 2014-12-01 10:46:49 +11:00
Daniel Cousens 8bdfa881c9 tests: remove unused testing data 2014-12-01 10:46:48 +11:00
Daniel Cousens 311df7e406 HDNode: add optional network flag to import functions 2014-12-01 10:46:48 +11:00
Daniel Cousens 4fca3ac196 network: add failing tests for gamerscoin, viacoin and zetacoin 2014-12-01 10:46:48 +11:00
Daniel Cousens 7fbc397141 Address: use script ASM over hex 2014-11-28 14:02:50 +11:00
Daniel Cousens 4fe0b34f27 Address: no need to check other script types 2014-11-28 13:54:42 +11:00
Daniel Cousens 254974d999 scripts: add TODO for tests for isCanonical* functions 2014-11-28 13:51:46 +11:00
Daniel Cousens e4eb743cf9 scripts: expose is* classifiers 2014-11-28 13:51:45 +11:00
Daniel Cousens 62e86e0dc1 scripts: s/dataOutput/nullDataOutput/ 2014-11-28 13:39:00 +11:00
Daniel Cousens 9897fa2876 block: adds getUTCDate function 2014-11-28 10:35:59 +11:00
Daniel Cousens 2214ccfdd8 bufferutils: add varIntBuffer 2014-11-28 10:35:53 +11:00
Daniel Cousens c0c47f076a add block.js and tests 2014-11-28 10:35:53 +11:00
Daniel Cousens 7e7071b185 integration tests: add timeout for 2-of-2 spend 2014-11-25 14:24:37 +11:00
Daniel Cousens 37a1c93d8a integration tests: merge #312 test equivalent 2014-11-25 14:21:48 +11:00
Daniel Cousens 67e97f70d4 integration tests: fix 2-of-2 spend address network 2014-11-25 14:21:10 +11:00
Daniel Cousens ec517376c2 integration tests: test description rephrasing 2014-11-25 14:07:30 +11:00
Daniel Cousens f81a47a8b9 integration tests: rename all files to basic/advanced/multisig 2014-11-24 21:17:31 +11:00
Daniel Cousens a6febb0bed integration tests: add more basic examples 2014-11-24 21:17:25 +11:00
Daniel Cousens 6db700c214 integration tests: add stealth address example 2014-10-19 13:45:56 +11:00
Daniel Cousens ccd0bb5436 integration tests: add example OP_RETURN transaction 2014-10-19 12:31:41 +11:00
Daniel Cousens ddc947323e integration tests: refactor helloblock P2SH spending test 2014-10-19 12:31:41 +11:00
Daniel Cousens 43f724cb0b integration tests: add brainwallet/README examples 2014-10-19 12:31:41 +11:00
Daniel Cousens ea66edeb5c scripts: add dataOutput convenience function 2014-10-19 12:30:21 +11:00
Daniel Cousens 929d926774 tests: make use of the default behaviour 2014-10-17 14:22:51 +11:00
Daniel Cousens 062540e3d9 Transaction: optional script for addInput 2014-10-17 14:16:07 +11:00
Daniel Cousens 5d5dcd3d73 remove unused base58 fixtures 2014-10-17 13:24:47 +11:00
Daniel Cousens 9510af10e3 EC*Key: add .curve static property for public API 2014-10-16 01:25:39 +11:00
Daniel Cousens cba6c7a7b2 tests: remove unused variable 2014-10-15 23:06:24 +11:00
Daniel Cousens 4854e4ad0a tests: bitcoin core tests should act only the public API 2014-10-15 23:06:04 +11:00
Daniel Cousens efcad25751 tests: amend base58check mock 2014-10-15 22:42:21 +11:00
Daniel Cousens 27a3230662 base58check: fix wrapper and tests 2014-10-15 22:36:10 +11:00
Daniel Cousens 395ef6ed85 base58check: add deprecation warnings 2014-10-15 19:42:05 +11:00
Daniel Cousens ab57630f20 tests: add non-canonical signature test 2014-10-14 16:59:27 +11:00
Daniel Cousens f6e340f64c tests: add scriptHash redeemScript non-data fixture 2014-10-14 16:59:27 +11:00
Daniel Cousens f9a5c47d95 tests: add OP_RETURN scripts fixture 2014-10-14 16:59:26 +11:00
Daniel Cousens f3138dcb68 tests: test non-standard pathway for classifyInput 2014-10-14 16:59:26 +11:00
Daniel Cousens 27a99436df tests: cover all multisigOutput branchs 2014-10-14 16:59:26 +11:00
Daniel Cousens 6dc3b4cc1e tests: add unknown network HDNode version fixture 2014-10-13 17:58:25 +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
Wei Lu eb4e8884d9 loose instanceof: check constructor function name instead 2014-10-07 00:23:53 -07:00
Daniel Cousens 0c380a063a tests: add tests for types 2014-10-07 16:49:20 +11:00
Daniel Cousens ed01ed5bb4 remove unused bs58 core dependency 2014-10-03 19:11:42 +10:00
Daniel Cousens c96b862530 crypto: remove cryptojs 2014-09-20 11:00:34 +10:00
Daniel Cousens 0a232cdb9d tests: sign test needs to trigger ecurve.Point side effects 2014-09-15 14:25:28 +10:00
Daniel Cousens c3f8869386 tests: Wallet test was not comprehensive 2014-09-08 23:27:01 +10:00
Daniel Cousens 69dfd3204d Wallet: add missing variable wallet 2014-09-08 23:21:16 +10: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 e5618bb8bd TxBuilder: add test for missing redeemScript if P2SH 2014-08-30 12:52:05 +10:00
Daniel Cousens 1c744cfa5a TxBuilder: add failing test for non-zero vin inputs 2014-08-30 12:09:31 +10:00
Daniel Cousens 6e1517482b tests: avoid use of deprecated APIs 2014-08-27 12:37:13 +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 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
Daniel Cousens 0f9674e65f tests: code formatting 2014-08-26 18:37:43 +10:00
Daniel Cousens 82d8e20793 tests: avoid unnecessary .ok 2014-08-20 09:18:28 +10:00
Daniel Cousens 4b52c42c91 Message: allow base64 strings as input 2014-08-20 09:14:04 +10:00
Wei Lu 106e00e6f1 Merge pull request #244 from dcousens/txbuilder
Transaction Builder
2014-08-18 18:08:34 +08:00
Daniel Cousens 0782e8e837 tests: fixes test description typos 2014-08-18 09:31:24 +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 f3199b6fce tests: integration test to use TxBuilder 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 31ea956e8e TxBuilder: add invalid nulldata case 2014-08-18 08:54:45 +10:00
Daniel Cousens d0ac9b405a tests: add TxBuilder pubKey test fixture 2014-08-18 08:54:45 +10:00
Daniel Cousens 26b028adcf Wallet: use TxBuilder instead 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 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 6b429493f8 hdnode: add deprecation message for isPrivate 2014-07-30 18:04:25 +10:00
Daniel Cousens 2fbd9449f5 tests: use neutered rather than import/export 2014-07-30 17:57:09 +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 52689fc98b tests: adds r = s = -n ecdsa verify test case 2014-07-30 14:47:21 +10:00
Daniel Cousens 5657dcf2aa ecdsa: add improved test coverage for recoverPubKey 2014-07-29 23:45:50 +10:00
Daniel Cousens be3ce88a3a ecdsa: enforce positive integers 2014-07-29 23:45:25 +10:00
Daniel Cousens a8c6f5284d tests: avoid unnecessary sha256 for hash 2014-07-29 01:01:11 +10:00
Wei Lu 6e1bbe8ebe Merge pull request #247 from dcousens/ecurve
Removal of secure-random in favour of crypto-browserify
2014-07-28 22:44:29 +08:00
Daniel Cousens eaf8cf85af test: rephrase fail -> throw 2014-07-28 18:13:00 +10:00
Daniel Cousens 2920bb2ee1 tests: remove outdated FIXME in wallet 2014-07-28 18:11:31 +10:00
Daniel Cousens 8e0c835919 package: use crypto-browserify 3.0.0 2014-07-28 13:51:30 +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 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