Commit graph

620 commits

Author SHA1 Message Date
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
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 9d2784a441 crypto: add RIPEMD160 tests 2014-06-26 19:26:21 +10:00
Daniel Cousens 002c428019 tests: remove h2b 2014-06-26 18:47:17 +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 bdb0fe8020 ecdsa: adds test for detGenK loop 2014-06-26 02:45:02 +10:00
Daniel Cousens 27f58b539e ECKey: remove extraneous toString 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 5c53178c3c tests: avoid pointless toASM in description 2014-06-25 15:47:46 +10:00
Daniel Cousens 13d41f67e9 Script: adds toASM/fromASM 2014-06-25 15:44:15 +10:00
Daniel Cousens 924ecfb998 scripts: add missing test data 2014-06-25 15:20:28 +10:00
Daniel Cousens c637cb4be7 tests: remove unused import 2014-06-24 17:41:08 +10:00
Daniel Cousens 576fbbfff5 scripts: switch to failing to classification tests 2014-06-24 17:31:55 +10:00
Daniel Cousens 62b6a407a6 scripts: break tests down from type structure 2014-06-24 17:30:37 +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 f4940ccd48 Merge pull request #219 from weilu/utxo
Wallet fee & utxo fixups
2014-06-21 23:50:27 +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
Daniel Cousens ebe670475e network: moves tests to fixtures 2014-06-18 17:28:28 +10: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
Wei Lu 5dcefc5329 Network estimateFee tests no longer relies on fixtures 2014-06-17 23:35:40 +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 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