Commit graph

633 commits

Author SHA1 Message Date
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
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