Commit graph

939 commits

Author SHA1 Message Date
Daniel Cousens
7559ee880d add ECPair module 2015-03-19 13:33:28 +11:00
Daniel Cousens
b55874718a integration: use an rng for the example over mocking 2015-03-19 11:15:51 +11:00
Daniel Cousens
689f444bdf tests: fix standard format adherence 2015-03-19 11:08:57 +11:00
Wei Lu
64e206ca7a crypto: fix test randomBytes stub 2015-03-18 23:30:04 +08:00
Daniel Cousens
bd464d7cb5 networks: remove estimateFee entirely 2015-03-17 08:23:14 +11:00
Daniel Cousens
7d2e1cd3ba networks: remove exhaustive non-top 5 networks 2015-03-17 08:23:13 +11:00
Daniel Cousens
607b3b7983 networks: use byteLength over toBuffer 2015-03-16 11:34:51 +11:00
Daniel Cousens
886d38ebee tests: rename network->networks 2015-03-16 11:34:36 +11:00
Daniel Cousens
281ecdc06e networks: remove failing tests, cannot be supported anyway 2015-03-16 11:33:56 +11:00
Daniel Cousens
57856a0a25 tests: test autodetect in networks, fixed networks in HDNode 2015-03-16 11:28:41 +11:00
Daniel Cousens
a29761cc8c tests: fix standard styling 2015-03-11 12:42:56 +11:00
Daniel Cousens
69eb58c783 tests: ignore txHexIncomplete, instead check scriptSig after each signature 2015-03-11 12:37:11 +11:00
Daniel Cousens
e80f4803d9 tests: refactor multisig test construction 2015-03-11 12:12:50 +11:00
Daniel Cousens
7cd60aaba3 tests: remove unnecessary script tests from TxBuilder 2015-03-11 11:33:25 +11:00
Daniel Cousens
4d08ae5a8a tests: clean up unused variables 2015-03-10 20:17:11 +11:00
Ruben de Vries
745eace950 add tests for various PS2H multisig signing scenarios
redid P2SH multisig tests to use fixtures
2015-03-05 10:21:40 +01:00
Daniel Cousens
29b93b8a5c integration: change 2-of-3 to 2-of-4 and update README 2015-03-05 19:16:22 +11:00
Daniel Cousens
87a3803082 Merge pull request #370 from blocktrail/2of3-failing-test
Change 2-of-2 integration test to 2-of-3
2015-03-05 19:09:49 +11:00
Daniel Cousens
7a469f6620 Merge pull request #372 from bitcoinjs/op0fix
TransactionBuilder multisig OP_0 fix
2015-03-05 18:46:16 +11:00
Daniel Cousens
6a86f22e45 Merge pull request #375 from bitcoinjs/pushdatafix
Scripts, fix invalid push data int parsing
2015-03-05 18:45:23 +11:00
Daniel Cousens
837424ed16 tests: add bitcoin core block fixtures
Data from
https://github.com/bitcoin/bitcoin/blob/master/src/test/bloom_tests.cpp
2015-03-05 01:16:58 +11:00
Daniel Cousens
4333217bdd tests: add example non-standard scripthash 2015-03-04 21:30:31 +11:00
Daniel Cousens
d904e4424c tests: add failing scripts by cross-verifying ASM/Hex 2015-03-04 21:26:42 +11:00
Daniel Cousens
d00ec9af29 scripts: fix isScriptHashInput classification 2015-03-04 21:00:07 +11:00
Daniel Cousens
2f100e0eae tests: add failing pushDataInt fixtures 2015-03-04 20:47:52 +11:00
Ruben de Vries
c52420a003 change 2of2 integration test to 2of3 2015-03-03 11:22:42 +01:00
Daniel Cousens
cdcbb2ccb4 tests: fix inconsistent key compression 2015-03-03 10:43:37 +11:00
Daniel Cousens
c79fecffa3 tests: add failing test for transaction builder multisig 2015-03-03 09:54:55 +11:00
Daniel Cousens
af3491822e scripts: multisigInput only uses scriptPubKey for validation, OP_0 validation not necessary 2015-03-03 09:53:57 +11:00
Wei Lu
b13271477c Merge pull request #317 from bitcoinjs/2.0.0
pre-2.0.0, deprecations
2015-03-03 01:25:51 +08:00
Daniel Cousens
3a15f0c6ba tests: add scriptHash(pubKeyHash) test fixture 2015-03-02 18:32:24 +11:00
Daniel Cousens
7f3b4c93ba TxBuilder: move param coercion from Transaction to TxBuilder 2015-03-02 17:51:14 +11:00
Daniel Cousens
5beee20038 bufferutils: add equal 2015-03-02 17:32:20 +11:00
Daniel Cousens
8d3686d046 remove deprecated functionality 2015-03-02 17:27:16 +11:00
Daniel Cousens
08cc8f8621 crypto: remove Hmac* exposure in API 2015-03-02 15:33:39 +11:00
Daniel Cousens
bdb372da7d rename Message to message 2015-03-02 14:09:19 +11:00
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
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
Daniel Cousens
d07cfccbc1 Transaction: move constants to Transaction 2014-06-17 12:26:14 +10:00
Daniel Cousens
4850570955 Transaction: remove untestable assert
Also changes the fromBuffer sanity test to use a clearer message that is
taken from the fixtures.
2014-06-17 12:24:35 +10:00
Daniel Cousens
1b1b550bd6 Transaction: add hash as addInput parameter 2014-06-17 12:23:27 +10:00
Daniel Cousens
0b17c2bc3d Transaction: re-adds getHash as a pure hash 2014-06-17 12:22:13 +10:00
Daniel Cousens
6c9f95c253 Transaction: add sequence parameter to addInput 2014-06-17 12:21:09 +10:00
Daniel Cousens
6ea89eeaae Transaction: data driven tests 2014-06-17 11:55:43 +10:00
Daniel Cousens
1f0a54fb41 ECSignature: rename parsing functions to parse* 2014-06-17 00:26:16 +10:00
Daniel Cousens
f42993297c ecurve: upgrade to 0.9.0 2014-06-16 15:47:41 +10:00
Daniel Cousens
cfe5436394 ECSignature: use for(it( style for tests 2014-06-16 15:47:41 +10:00
Daniel Cousens
626f8fb220 ECSignature: add tests for scriptSignature 2014-06-16 15:47:41 +10:00
Daniel Cousens
eb3d9a25f7 ecdsa: moved all signature encoding to ECSignature 2014-06-16 15:47:41 +10:00
Daniel Cousens
c0e5393595 Transaction: remove .outpoint object 2014-06-16 14:21:40 +10:00
Daniel Cousens
569e0d4ff1 Wallet: fix processConfirmedTx tests
These tests were still passing despite being incorrect.
2014-06-16 14:21:40 +10:00
Daniel Cousens
203d6c7116 Transaction: add test for clone 2014-06-16 14:21:40 +10:00
Daniel Cousens
d567463588 Transaction: remove estimateFee
This is a wallet abstraction.
2014-06-16 14:21:39 +10:00
Daniel Cousens
009fcb9b82 Transaction: now returns index of added input/output 2014-06-16 14:21:39 +10:00
Daniel Cousens
4f995fcae1 Transaction: tests should show unboxing of parameters 2014-06-16 14:21:39 +10:00
Daniel Cousens
3b3d19974c tests: avoid b2h where toHex exists 2014-06-16 14:21:39 +10:00
Daniel Cousens
66636f56bb Transaction: test hex formatting 2014-06-16 14:21:39 +10:00
Daniel Cousens
6ac3803483 Transaction: move test to proper section 2014-06-16 14:21:39 +10:00
Daniel Cousens
3b6f0bb9b3 Transaction: fix test name 2014-06-16 14:21:39 +10:00
Daniel Cousens
f85792ba22 Transaction: remove address from txOut 2014-06-16 14:21:39 +10:00
Daniel Cousens
5551c38812 Transaction: use hash Buffer instead of hex string 2014-06-16 14:21:39 +10:00
Daniel Cousens
bdc7131d0e Transaction: renames getHash to getId
In turn also removes the inherent calculation of tx.hash after deserialization.
2014-06-16 14:21:39 +10:00
Daniel Cousens
867465a03f Transaction: support non-addressable output scripts 2014-06-16 14:21:38 +10:00
Daniel Cousens
5bd636cab7 Transaction: remove TxIn/TxOut from API 2014-06-16 14:21:38 +10:00
Daniel Cousens
a6b9dd9473 Transaction: remove hash:index notation 2014-06-16 14:21:38 +10:00
Daniel Cousens
8b5647b0b9 Transaction: remove TxIn/TxOut exports 2014-06-16 14:21:38 +10:00
Daniel Cousens
b0317be4d5 tests: formatting 2014-06-16 14:21:38 +10:00
Daniel Cousens
9b89a267ca scripts: remove unused imports 2014-06-15 00:40:28 +10:00
Daniel Cousens
576d5dfa3f Scripts: move test data to fixtures 2014-06-15 00:40:28 +10:00
Daniel Cousens
1a41ea8801 ecdsa: add more extensive tests for recoverPubKey 2014-06-15 00:40:21 +10:00
Daniel Cousens
4f8040f8d4 ecdsa: add invalid test fixtures for recoverPubKey 2014-06-15 00:40:21 +10:00
Daniel Cousens
ee66c41dd4 message: add missing test for Address 2014-06-15 00:40:20 +10:00
Wei Lu
8e00eb6855 Merge branch 'scriptclean'
Conflicts:
	test/wallet.js
2014-06-14 10:31:19 +08:00
Daniel Cousens
07a0beee90 tests: remove unnecessary linebreaks 2014-06-14 10:08:51 +10:00
Daniel Cousens
38a2475bf5 scripts: adds example multisig inputScript 2014-06-14 01:01:11 +10:00
Daniel Cousens
553ade1208 network: always use lowercase 2014-06-14 00:39:25 +10:00
Daniel Cousens
b68b1d5da4 Script: fixes pubKeyInput and adds a test 2014-06-14 00:39:25 +10:00
Daniel Cousens
7e5af52cd1 Transaction: mass rename from SPK/SS to Input/Output
I think it is important we maintain some reasoning that an Input script
is actually a script signature, but in the end, these names are more
coherent and understandable when reasoning with our code.  So I think
its OK we break tradition with bitcoind.
2014-06-13 11:36:31 +10:00
Daniel Cousens
41c3b68293 templates: rename to scripts 2014-06-13 10:52:07 +10:00
Daniel Cousens
be29f50457 Address: fix consistent casing 2014-06-13 10:52:07 +10:00
Daniel Cousens
00cec9ce64 Script: move all templates to templates.js 2014-06-13 10:52:07 +10:00
Daniel Cousens
aded938ab6 Script: check hex not template result 2014-06-13 10:52:07 +10:00
Daniel Cousens
4e04eea436 Script: use fromChunks internally for all Script templates 2014-06-13 10:49:52 +10:00
Daniel Cousens
9a72c7437b Script: adds Script.EMPTY constant 2014-06-13 10:49:08 +10:00
Wei Lu
f53e35ed28 wallet: delete utxo instead of marking it as spend 2014-06-12 16:48:01 +08:00
Wei Lu
d265b53b03 wallet: processTx -> processConfirmedTx, processPendingTx 2014-06-12 16:47:46 +08:00
Wei Lu
e064e9d29d wallet.createTx ignores pending utxo 2014-06-12 13:11:28 +08:00
Wei Lu
660c95483d wallet.processTx accepts isPending flag and passes it on to output 2014-06-12 12:56:50 +08:00
Daniel Cousens
e21939bad5 ecpubkey: removed unnecessary alias 2014-06-10 18:36:00 +10:00
Daniel Cousens
4ce9015f3b use ecurve instead of custom ec 2014-06-10 17:58:13 +10:00
Daniel Cousens
f20ffec8b3 tests: always use for, it testing style 2014-06-07 19:46:06 +10:00
Daniel Cousens
61b4216afb script: fix capitalization in test fixture 2014-06-07 19:34:09 +10:00
Daniel Cousens
eb3a6bcb31 all: rename D to d as per SEC convention 2014-06-07 18:24:16 +10:00
Kyle Drake
6b55ab4d04 Merge pull request #189 from coinpunk/remove-untested-curves
Remove untested EC curves
2014-06-06 14:58:12 -07:00
Kyle Drake
9b5dfbd865 Merge pull request #206 from dcousens/base58rework
Base58 Check rework
2014-06-04 16:54:18 -07:00
Daniel Cousens
4c6385e0d2 integration: use ScriptPubKey for Address 2014-06-05 00:06:28 +10:00
Daniel Cousens
2b563ec55a integration: fix invalid use of network object 2014-06-05 00:06:07 +10:00
Daniel Cousens
943621f466 Address/HDNode: fix test descriptions 2014-06-04 15:46:40 +10:00
Daniel Cousens
27f9e7dc1e convert: remove reverseEndian 2014-06-04 15:46:40 +10:00
Daniel Cousens
8433d73d06 convert: use Buffers and add more tests 2014-06-04 15:46:40 +10:00
Daniel Cousens
28dc390377 EC/Key: use network object consistently 2014-06-04 15:23:40 +10:00
Daniel Cousens
d39662e375 Base58check: no longer encodes version separately 2014-06-04 15:23:37 +10:00
Wei Lu
63e6cf987f Merge pull request #203 from dcousens/hdwallettests
HDWallet tests and strict constructor
2014-06-04 13:05:15 +08:00
Daniel Cousens
6a73bc02f5 HDNode: rename priv/pub to privKey/pubKey 2014-06-03 19:54:58 +10:00
Daniel Cousens
dca193be4e HDNode: adds neutered test examples 2014-06-03 19:54:15 +10:00
Daniel Cousens
64e307b13f HDWallet: rename to HDNode 2014-06-03 17:08:42 +10:00
Daniel Cousens
c340f5cf83 HDWallet: now export all information by default 2014-06-03 17:04:05 +10:00
Daniel Cousens
dca284a131 HDWallet: rename derivePrivate to deriveHardened 2014-06-03 17:04:05 +10:00
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
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
e8e862f632 HDWallet: adds PubKey validation 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
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
Daniel Cousens
749943cb4e HDWallet: clarify test intention 2014-05-31 15:21:18 +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
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
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
7e9b5d8584 bufferutils: return opcode for use 2014-05-30 17:54:33 +10:00
Daniel Cousens
bda1a8321c bufferutils: unrolls tests and adds more 16 bit test fixtures 2014-05-29 16:26:15 +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
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
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
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
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
Kyle Drake
33e5883be1 sec: remove untested alt curves not used by bitcoin 2014-05-25 14:30:34 +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
08951be66f Script: add createPubKeyScriptPubKey 2014-05-25 10:21:06 +10: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
58fd12e66d ecdsa: always use signature object 2014-05-24 16:25:38 +10:00
Daniel Cousens
37d5147cac ecdsa: add invalid tests for verifyRaw 2014-05-24 14:33:25 +10:00
Daniel Cousens
1d6b1fe58b message: better variable names 2014-05-24 14:33:24 +10:00
Daniel Cousens
2114deba95 message: data-driven tests 2014-05-24 13:50:27 +10:00
Daniel Cousens
b2351f9026 tests: use JSON fixtures exclusively 2014-05-24 00:52:24 +10:00
Daniel Cousens
0fcda5835e tests: remove bigi test fixture 2014-05-24 00:52:24 +10:00
Daniel Cousens
bcfd62fdb5 ecdsa: remove implicit ecparams 2014-05-24 00:48:31 +10:00
Daniel Cousens
ab2ca395ac ecdsa: remove ECKey dependency in tests 2014-05-24 00:48:31 +10:00
Daniel Cousens
2dec1375a1 ecdsa: use (r, s) values directly 2014-05-24 00:48:31 +10:00
Daniel Cousens
8d7408202f ecdsa: consistent parameter ordering 2014-05-24 00:48:31 +10:00
Daniel Cousens
a17a5b23d9 ec: fix point decoding for other curves 2014-05-22 12:33:47 +10:00
Daniel Cousens
5ec9504ed6 ecdsa: opt for shiftRight, pow and square
In the given situations, these offer better readability, or in the case
of shiftRight, a substantial performance increase.
2014-05-22 12:33:47 +10:00
Daniel Cousens
24371425f9 ec: decodeFrom now uses Buffers and handles errors 2014-05-18 17:52:49 +10:00
Daniel Cousens
a3f691bf7c ecdsa: parseSigCompact use Buffer API
parseSigCompact also now returns the correct recovert parameter without
the need to subtract the compression bit.
This makes it easier to use.
2014-05-18 17:52:49 +10:00
Daniel Cousens
ccca6989b5 ec: getEncoded now uses Buffer API 2014-05-18 17:52:49 +10:00
Daniel Cousens
1c76bdf9c3 ec: add better test vectors for ECPointFp encode/decode
These test vectors were generated internally.
2014-05-18 17:52:49 +10:00
Daniel Cousens
4c7108d561 ecdsa: add serializeSigCompact and tests
This also adds tests for all other ECDSA serialize/parsing functions.
The k, r, s and D values were sourced from test vectors on
https://bitcointalk.org/index.php?topic=285142.40 .

The compact signatures (aka, i values) were generated from bitcoinjslib, but they
are straight forward anyway.
2014-05-18 17:52:49 +10:00
Daniel Cousens
b208a6ab78 crypto/ecdsa: moves HmacSHA256 to crypto 2014-05-18 17:52:49 +10:00
Daniel Cousens
6eb167b2c8 message: remove unnecessary tests 2014-05-18 17:51:36 +10:00
Daniel Cousens
87567e008a message: use base64 for signature data 2014-05-18 17:51:36 +10:00
Daniel Cousens
6b5990c6e2 message: support alternate networks 2014-05-18 17:51:36 +10:00
Daniel Cousens
dc69162757 message: remove signing verification
The signature verifications here are unnecessary, as this
is not what is under test.
2014-05-18 17:51:36 +10:00
Daniel Cousens
10fe4474d1 ECKey: remove *Buffer/*Hex functions
An ECKey is a composition of a private key (D), a public key (Q) and its
compression flag.

These functions gave the impression of serialization of this
composition, when really they only serialized `D`.
They have therefore been removed in favour of always using a sane
serialization format (WIF) that matches the needed behaviour.

If a user needs the previous functionality, simply use `privKey.D.*`
instead of `privKey.*`, as BigInteger supports `*Buffer/*Hex` functions
as expected.
2014-05-18 17:50:10 +10:00
Daniel Cousens
bf109f32a9 ECPubKey: improve tests and extract test data to fixtures
The use of fixtures allows for more behavioural driven tests and simpler
addition of more test cases in future.

However, as ECPubKey is just a wrapper around other strenuously tested
modules, the test data is currently limited to testing a subset of the
total wrapper.

This should probably be done better by using mocked out modules instead.
2014-05-18 17:50:10 +10:00
Daniel Cousens
0468c4710c Transaction: rename (de)serialize to [to/from]Buffer 2014-05-17 00:09:13 +10:00
Daniel Cousens
55681e7e5d Script: use PubKey objects not prebuilt Buffers 2014-05-17 00:09:13 +10:00
Daniel Cousens
54cc123d31 Address/Script: consistent function ordering 2014-05-17 00:09:13 +10:00
Daniel Cousens
842b075e75 Address: consistent json formatting 2014-05-17 00:09:13 +10:00
Daniel Cousens
39d042d058 syncscript: general cleanup 2014-05-17 00:09:12 +10:00
Wei Lu
8063979d99 fix integration test 2014-05-13 22:03:11 +08:00
Daniel Cousens
6c0eebe94b tests: use filepaths directly
After a long IRC discussion, it was decided that the use of direct
filepaths instead of the module is a more pure form of testing ,
although it may provide less overall coverage than the mixed integration
style imports used previously.

This will need to be remedied by further integration testing in
/test/integration.
2014-05-13 18:05:56 +10:00
Daniel Cousens
e27c97a791 ECPubKey/ECKey: separate to two files 2014-05-13 16:51:06 +10:00
Daniel Cousens
05e0d08098 BufferExt: rename to bufferutils 2014-05-13 16:46:12 +10:00
Daniel Cousens
7a740c2e7b tests: forces consistent import syntax 2014-05-13 16:46:08 +10:00
Daniel Cousens
276a339d60 crypto: HMACSHA512 into crypto and add tests 2014-05-12 10:18:39 +10:00
Daniel Cousens
f70ccc9215 convert: remove hex functions 2014-05-12 10:17:38 +10:00
Daniel Cousens
f18c5e4c1e Script: removes Script.createP2SHMultiSigScriptSig
It is favoured to compose the scriptSig manually using
Script.createP2SHScriptSig and Script.createMultisigScriptSig.

Added a test to verify that createMultisigScriptSig throws when not
enough signatures a provided and the redeemScript is given.
2014-05-09 16:26:35 +10:00
Daniel Cousens
f8e662e495 Script: rename toScriptHash to getHash and add tests 2014-05-09 13:07:06 +10:00
Daniel Cousens
cace8316e4 Script: extract test data to fixture 2014-05-09 12:56:35 +10:00
Daniel Cousens
708aa03390 Transaction/Script: bitcoin network no longer implied
A Transaction (and its subsequent scripts) do not carry any network
specific information in the Bitcoin protocol.
Therefore they can not (without further context) produce the network
specific constants for the generation of the base58 Addresses.

As TransactionOut.address is used heavily throughout Wallet and other
areas of the library, this could not be entirely removed without a large
number of changes.
For now, TransactionOut.address is only defined in the case of
Tx.addOutput being used directly:

      Transaction.addOutput(address, value)
2014-05-08 10:59:58 +10:00
Daniel Cousens
5e0d38ba54 Address: add Address.*ScriptPubKey and tests
The introduction of these two functions allow for the all the network
related code to be eventually removed from Transaction and Script.

Previously the result for non-standard transactions was undefined
behaviour.  This change mandates that an exception is thrown if a
non-standard transaction is input.
2014-05-08 10:59:58 +10:00
Daniel Cousens
0822def7e0 Script: add standard Script.create*ScriptPubKey
Extracts the two Script types out of Script.createOutputScript, and puts
them both under test.

Also renames Script.createMultiSigOutputScript to adhere to the same
convention.
2014-05-08 10:59:58 +10:00
Daniel Cousens
d0f684844c Script: add toHex, fromHex
Script.fromHex previously existed, but was not under any kind of test.
This commit adds tests (despite being a little circular in nature) to
check that the output is as expected.
2014-05-08 10:59:58 +10:00
Daniel Cousens
57b8afbdab Network: rename Network to Networks
This change removes the most common ambiguities.
As the network module is not representative of a class, the lower case
has been used.
2014-05-08 10:59:58 +10:00
Daniel Cousens
76323a07d0 Transaction: restrict TxIn/TxOut constructor params
To keep this change minimal, both TxIn/TxOut still use the parameter
object for initialization.  TxOut accepts only the types it uses
internally, and not hex or byte arrays for scripts.

The clone is unnecessary as a TransactionOut is never mutated after its
creation.

This resulted in TransactionOut.scriptPubKey no longer being needed,
and was removed.  To access the scriptPubKey as a byte buffer, a user
can simply use:

	TransactionOut.script.toBuffer()

Unfortunately, this leaves TransactionOut in a sorry state of test.
Something that needs to be fixed.
2014-05-08 10:59:58 +10:00
Daniel Cousens
63231fb67d Extends test for custom Wallet change addresses 2014-05-06 15:40:40 +10:00
Daniel Cousens
a77846701f Fixes network support for TxOut 2014-05-06 15:40:40 +10:00
Daniel Cousens
4012b82bec Fixes Transaction.addOutput(Address, Number) 2014-05-06 15:40:40 +10:00
Daniel Cousens
eba08fa761 Fixes indentation for assertions 2014-05-06 15:40:40 +10:00
Daniel Cousens
d65a3c36e2 Merge pull request #159 from williamcotton/master
fixed issues with testnet and createTx
2014-05-06 08:04:02 +10:00
Wei Lu
e59f824c3a move fixture sync script into fixtures folder
Also fixes require paths & dev dependency
2014-05-05 13:46:00 +08:00
Wei Lu
5deab5188f Merge pull request #170 from dcousens/bufferx
BufferExt and Transaction serialization to use Buffers
2014-05-05 12:40:51 +08:00
Daniel Cousens
baa568697b Transaction.deserialize no longer mutates input 2014-05-05 09:11:37 +10:00
Daniel Cousens
4716eb29bf Removes redundant convert functions 2014-05-04 17:31:47 +10:00
Daniel Cousens
a8cf2fdd9e Changes internal serialization to use Buffers instead 2014-05-04 17:31:22 +10:00
Daniel Cousens
c8bda6dde6 Adds Buffer extensions 2014-05-04 17:30:59 +10:00
Wei Lu
33b73517fe fixes integration test dependency paths 2014-05-04 14:23:40 +08:00