Commit graph

976 commits

Author SHA1 Message Date
Daniel Cousens
771491bc5a tests: add coinbase with witness transaction fixture 2017-03-09 12:51:40 +11:00
Daniel Cousens
46c87afa3f tests: move export as witness to independent test 2017-03-09 12:51:40 +11:00
Thomas Kerin
793939dc8c scriptHash return true for chunks.length=1 so long as its witness 2017-02-07 12:40:49 +11:00
Thomas Kerin
1edfd30425 P2WPKH correct tx 2017-02-07 12:40:49 +11:00
Thomas Kerin
c2dfc03869 Add test vectors, and transaction_builder input stores signScript 2017-02-07 12:40:49 +11:00
Thomas Kerin
1d168592a3 Add P2SH|P2WSH|P2PK vector 2017-02-07 12:40:49 +11:00
Thomas Kerin
fff9319fa4 scriptHash.input.check - should tolerate 1 field in scriptSig if it's P2WSH or P2WPKH 2017-02-07 12:40:49 +11:00
Thomas Kerin
f8a94f3496 messy commits, clean later, just one test left 2017-02-07 12:40:49 +11:00
Thomas Kerin
a213435135 Commit work to date 2017-02-07 12:40:49 +11:00
Thomas Kerin
b6ae10b2f1 buildStack, and make tests pass 2017-02-07 12:40:49 +11:00
Daniel Cousens
a793166eb8 wip 2017-02-07 12:40:49 +11:00
Daniel Cousens
b862a62867 tests/templates: remove unused pushOnly data 2017-02-07 12:40:49 +11:00
Thomas Kerin
9d9d101b5f Script templates: add witness commitment template 2017-01-03 22:37:11 +11:00
Daniel Cousens
228a2c1879 tests/README: add BIP32/BIP44 derivation examples 2017-01-03 20:50:39 +11:00
Daniel Cousens
14f9218389 package: bump bs58check, drop node 0.12 2016-12-22 08:21:18 +11:00
Daniel Cousens
33c72e49c4 package/*: use bitcoin-ops, pushdata-bitcoin packages 2016-12-18 10:38:43 +00:00
Daniel Cousens
a86e905611 script: add fromASM failing test case and fix 2016-12-17 14:30:37 +11:00
Thomas Kerin
d0b4f0adf7 Add tests ensuring stacks can be converted back to ASM 2016-12-17 14:17:27 +11:00
Thomas Kerin
8552867695 bscript.compie - minimal encoding of -1 stack element 2016-12-17 14:17:27 +11:00
Daniel Cousens
ff68116ee9 tests: separate templates and script tests 2016-12-17 14:17:27 +11:00
Daniel Cousens
b2a2a2a136 tests: add toScript tests 2016-12-17 14:17:27 +11:00
Daniel Cousens
2bb021ab64 rm *PushOnly, add isPushOnly and toStack 2016-12-17 14:17:27 +11:00
Daniel Cousens
a023d23907 tests: rename hashForWitnessV0 tests for actuality 2016-12-17 14:17:00 +11:00
Daniel Cousens
637aa0f60c tests/transaction: remove unused data 2016-12-17 14:17:00 +11:00
Daniel Cousens
946430fd93 tests: reword, more explicit 2016-12-17 14:05:40 +11:00
Daniel Cousens
913f21c34d tests: s/sign/dontSign, less mistakes 2016-12-15 11:45:59 +11:00
Daniel Cousens
bd616f469e tests: re-order fixtures so invalid is last 2016-12-15 11:45:59 +11:00
Daniel Cousens
d1dc0840b5 tests: add pay-to-witness-* output fixtures 2016-12-15 11:45:59 +11:00
Daniel Cousens
0ae7977574 tests: add loop test at 1, and n-1 2016-12-14 09:58:12 +11:00
Daniel Cousens
abf922e808 tests: less ambiguous naming, fix exception check 2016-12-14 09:05:58 +11:00
Daniel Cousens
ac4b9d5c43 stealth: use \+ to represent point addition 2016-12-11 12:23:35 +11:00
Daniel Cousens
d3da936adc stealth: add randomly 2016-12-11 12:23:35 +11:00
Daniel Cousens
6f47bc4d70 stealth: d is not involved in the receiver private key 2016-12-11 12:23:35 +11:00
Daniel Cousens
b4062d56d1 stealth: add dual key example 2016-12-11 12:23:35 +11:00
Daniel Cousens
1304527c1d stealth: clarify super simply 2016-12-11 12:23:35 +11:00
Thomas Kerin
dec21317e7 Add test checking only old serialization is used in Transaction.hashForSignature 2016-12-10 11:17:53 +11:00
Thomas Kerin
bec7f690ce Rename __hasWitnesses -> hasWitnesses, and add tests 2016-12-08 09:11:13 +11:00
Daniel Cousens
e92ac1d01b pass standard 2016-12-01 01:07:21 +11:00
Daniel Cousens
1c68e41562 move BIP32 example to own file 2016-12-01 01:07:21 +11:00
Daniel Cousens
11850cc1a5 stealth: add stealth child key recover example 2016-12-01 01:07:21 +11:00
Daniel Cousens
03dc569236 tests: add test for setWitness 2016-11-15 10:06:18 +11:00
Thomas Kerin
0696ca95b6 Script: add {compile,decompile}PushOnly 2016-11-14 15:13:12 +11:00
Daniel Cousens
66ad980122 tests: when importing, allow no witness importing for plain hex comparison 2016-11-14 15:05:30 +11:00
Daniel Cousens
de5cf261e6 tests: add getId/getHash tests due to default segwit serialization (failing) 2016-11-14 15:05:30 +11:00
Daniel Cousens
0c198ffa6a tests: merge witness fixtures with valid transactions, reverse reversed hashs (failing) 2016-11-14 15:05:30 +11:00
Daniel Cousens
a1755a43c0 tests: add witness support to fromRaw 2016-11-14 15:05:30 +11:00
Daniel Cousens
5150e3c027 tests: enforce witness transactions use legacy txId 2016-11-14 15:05:30 +11:00
Daniel Cousens
87269fe73e tests: move transactionVersion into toBuffer 2016-11-14 15:05:30 +11:00
Daniel Cousens
dfcb04c9b4 tests: add coinbase flag to each transaction fixture 2016-11-14 15:05:30 +11:00
Thomas Kerin
95059df96a Update vectors with value of UTXO 2016-11-14 11:22:22 +11:00
Thomas Kerin
6d4c4d4cf2 test/fixtures/transaction.json
New fixtures for Witness
2016-11-14 11:22:22 +11:00
Daniel Cousens
bc4297ce3c tests: add assertion for witness default to EMPTY_WITNESS 2016-11-14 11:22:22 +11:00
Thomas Kerin
3f731d090a Test that parsing a transaction with superfluous witness data leads to an error 2016-11-14 11:22:22 +11:00
Thomas Kerin
035ec47868 Better test vectors for witness serialization (available on testnet) 2016-11-14 11:22:22 +11:00
Daniel Cousens
c1d6a5c0d7 add witness core transaction tests, re-ordered to be testable 2016-11-14 11:22:22 +11:00
Daniel Cousens
fb6f157e8c tests/core: remove unverifiable tests 2016-11-14 11:22:22 +11:00
Daniel Cousens
b60882a85e tests: fromBuffer/toBuffer, import export each set of fixtures 2016-11-14 11:22:22 +11:00
Daniel Cousens
5c2fdb6043 Transaction: add Witness serialization and hashForWitnessV0 2016-11-14 11:22:22 +11:00
Daniel Cousens
e8b00d63d6 tests: add minimall encoded 0-length buffer fixture 2016-11-14 11:22:07 +11:00
Daniel Cousens
f0db59fa8e tests: amend TransactionBuilder fixture to have non-absurd fee rate 2016-11-12 12:53:53 +01:00
Daniel Cousens
62389ed247 TransactionBuilder: change to ABSURD_FEERATE, not ABSURD_FEE 2016-11-12 12:53:53 +01:00
Daniel Cousens
e835f1fe95 TransactionBuilder: add fee safety 2016-11-12 12:53:53 +01:00
Daniel Cousens
11079bfafb tests: use hardcoded fixture instead of relying on fixture[0] 2016-11-09 12:09:01 +11:00
Daniel Cousens
9db9763221 tests: add script.*.*.decode tests 2016-11-04 07:23:02 +11:00
Daniel Cousens
0c67f5e585 templates: add toJSON for clearer error message 2016-11-04 07:23:02 +11:00
Daniel Cousens
ce5babde83 templates: fix nullData return value 2016-11-04 07:23:02 +11:00
Daniel Cousens
69d8e9ed9e move templates to templates/index.js 2016-11-04 07:23:02 +11:00
Daniel Cousens
39897cacd5 integration: update to new script encode/decode 2016-11-04 07:23:02 +11:00
Daniel Cousens
a5e65ab977 tests: remove tests for missing witnessScriptHash.input.encode 2016-11-04 07:23:02 +11:00
Daniel Cousens
d9fa39a2cc scripts: extract all scripts to encode/decode/check style 2016-11-04 07:23:02 +11:00
Thomas Kerin
27b48e8aa2 Add methods to decode information from output scripts 2016-11-02 10:58:45 +11:00
Daniel Cousens
405c005802 tests: rename description to path 2016-10-25 11:36:08 +11:00
Daniel Cousens
0b3a042ca2 HDNode: simplify path derivation 2016-10-25 11:36:08 +11:00
Daniel Cousens
1247061d05 tests: v.depth was added to fixtures 2016-10-25 11:36:08 +11:00
Daniel Cousens
5e2e72dd7a tests: add leading zero test fixture 2016-10-25 11:36:08 +11:00
Daniel Cousens
b03ce64698 tests: add leading zero HDNode fixture per #673 2016-10-25 11:36:08 +11:00
Daniel Cousens
04a227fab1 tests: rework HDNode tests, consistent *Base58 usage, check index/depth too 2016-10-25 11:36:08 +11:00
Daniel Cousens
7f77357c12 tests: rm unused data, re-add missing tests 2016-10-25 11:36:08 +11:00
Braydon Fuller
078318094d test: include derivation test when private key has leading zeros 2016-10-21 13:33:04 +11:00
Daniel Cousens
4faa0ce679 _blockchain: a social experiment 2016-10-18 17:45:37 +11:00
Thomas Kerin
ddedb574a3 hdnode: add test cases exercising fromBuffer 2016-10-18 15:59:47 +11:00
Daniel Cousens
b65e47bbae integration: break up into more re-usable unspents 2016-10-13 18:05:02 +11:00
Daniel Cousens
52bcfe72be integration: return funds to our faucet 2016-10-13 18:05:02 +11:00
Daniel Cousens
e10a23fb3e integration: avoid multiple faucet calls 2016-10-13 18:05:02 +11:00
Daniel Cousens
ebaf1496e1 tests/integration: use our own faucet keyPair 2016-10-13 18:05:02 +11:00
Thomas Kerin
7b1167708a Transaction and block versions are signed integers 2016-10-13 09:29:03 +11:00
Daniel Cousens
3de754a9a2 TransactionBuilder: remove hashTypes inconsistency issues, resolves #642 2016-10-13 00:55:19 +11:00
Daniel Cousens
30ba4d620b tests: add failing TransactionBuilder multiple hash types test 2016-10-13 00:55:19 +11:00
Daniel Cousens
f07ccabe6e tests: flatten construct function 2016-10-13 00:55:19 +11:00
Daniel Cousens
5dcf38c0c5 HDNode: clearer error for bad path type 2016-10-12 13:15:54 +11:00
Daniel Cousens
3504ccfa3c tests: test what was removed in #460 2016-10-10 13:01:51 +11:00
Daniel Cousens
17377381c4 TransactionBuilder: if prevOutScript is defined, but not signable, try 1 last time 2016-10-09 22:04:32 +11:00
Daniel Cousens
ecc6d45a7e types: add Satoshi 2016-10-07 14:25:44 +11:00
Daniel Cousens
9b473ca57b tests/integration: bump timeouts to 30s each 2016-10-07 11:37:44 +11:00
Daniel Cousens
29a865788d use varuint-bitcoin 2016-10-07 10:55:34 +11:00
Daniel Cousens
de6671ecaa rm integration tests 2016-10-06 21:41:10 +11:00
Daniel Cousens
7cdabef954 ecdsa: remove unused functions 2016-10-06 21:40:42 +11:00
Daniel Cousens
87cb018466 rm message module 2016-10-06 21:40:42 +11:00
Daniel Cousens
fd40232147 package: remove buffer-compare/buffer-equals 2016-10-06 21:31:10 +11:00
Daniel Cousens
ed093aec69 stealth: more explicit inner variable names 2016-10-06 14:07:08 +11:00
Daniel Cousens
b91cfcf196 package: update to typeforce 1.8.7 2016-10-06 12:34:11 +11:00
Daniel Cousens
4ae06003c4 Merge pull request #638 from bitcoinjs/minpush
script: always compile in a minimaldata compliant way
2016-10-05 19:31:52 +11:00
Daniel Cousens
c1570f8056 script: always compile in a minimaldata compliant way 2016-09-29 13:51:17 +10:00
Daniel Cousens
76c7c77311 tests: add failing test for #633 2016-09-28 01:23:37 +10:00
Daniel Cousens
418c315c78 tests: clarify multisig edge case for easier debugging 2016-09-28 00:46:14 +10:00
Daniel Cousens
ae63ae1131 tests: change error thrown for consistency with multisig 2016-09-28 00:20:49 +10:00
Daniel Cousens
d5eec5df70 tests: fix invalid test description 2016-09-28 00:20:49 +10:00
Daniel Cousens
fdb0ceeeb5 testing: rename cltvCheckSigInput to cltvCheckSigOutput 2016-09-27 23:45:25 +10:00
Daniel Cousens
fd0be5e5b8 tests: add missing parenthesis 2016-09-26 16:32:16 +10:00
Daniel Cousens
87f0d33a01 tests: script-number, not script 2016-09-15 00:19:14 +10:00
Daniel Cousens
4cfe950403 tests: adhere to camelCase 2016-09-14 22:37:21 +10:00
Daniel Cousens
17c6ff62a0 bufferutils: fix pushDataInt output 2016-08-31 16:01:36 +10:00
Daniel Cousens
1f62235c38 tests: add failing script decode 2016-08-31 16:01:36 +10:00
Daniel Cousens
d96b7036fb tests: add BIP62 compliance tests 2016-08-31 16:01:36 +10:00
Daniel Cousens
e74b882e54 tests: improved readability for stealth address code 2016-08-17 13:11:01 +10:00
Daniel Cousens
da6aea4039 Merge pull request #615 from bitcoinjs/hltc
Add another CLTV test,  isolate tests and cleanup
2016-08-17 11:07:40 +10:00
Daniel Cousens
f2ecbeb90f tests/integration: separate crypto tests 2016-08-13 11:42:53 +10:00
Daniel Cousens
ddea2d2296 tests/integration: separate CLTV tests, add failing expiry (in future) 2016-08-13 11:42:16 +10:00
Daniel Cousens
fa54ba4f82 tests/transaction: add test for target Buffer 2016-08-10 11:44:09 +10:00
Daniel Cousens
fcb6ac9de6 tests: avoid superfluous ECPair creation 2016-07-22 13:34:23 +10:00
Daniel Cousens
817e10513c tests: cleanup 2016-07-22 13:31:34 +10:00
Daniel Cousens
20a026aefe scripts/tests: add witness* scripts 2016-07-12 12:32:29 +10:00
Daniel Cousens
39fd34a947 tests/types: avoid unnecessary join 2016-07-12 12:32:29 +10:00
Daniel Cousens
148e9fc7a8 Merge branch 'master' into codesep 2016-06-30 16:13:08 +10:00
Daniel Cousens
6faeae397f TxBuilder: add setVersion 2016-06-22 14:57:33 +10:00
Daniel Cousens
4898cc7b67 tests: add tests for Transaction.hashForSignature 2016-06-22 14:45:49 +10:00
Daniel Cousens
07628ff034 tests: avoid deepEqual, hex is easier to debug 2016-06-22 13:58:53 +10:00
Daniel Cousens
d58e09a3a7 Block: add checkMerkleRoot 2016-05-05 16:51:33 +10:00
Daniel Cousens
ea2a7449ad tests: add isCoinbase tests and flags to fixtures 2016-05-03 21:51:30 +10:00
Daniel Cousens
31923197ea tests: add more complex integration transaction 2016-04-22 17:08:45 +10:00
Daniel Cousens
9db67bb3b1 Cleanup for #540 (#551)
* Txbuilder: early exit as soon as possible

* Txbuilder: prefer function declaration over variable

* TxBuilder: extract extractFromOutputScript

* TxBuilder: extract buildFromInputData
2016-04-08 12:23:32 +10:00
Daniel Cousens
aae5db6a59 ECPair/HDNode: missing version from list is Unknown, not Invalid 2016-02-25 13:48:29 +11:00
Daniel Cousens
bdb0dd4a17 HDNode/tests: add testing for invalid network version from networks list 2016-02-25 13:41:35 +11:00
Daniel Cousens
9e32c892ef ECPair/tests: always use WIF for error throwing 2016-02-25 13:26:05 +11:00
Karel Bilek
6a74eb6993 Renaming Path to Bip32Path, invalid to fixtures
Only thing I haven't been able to do is to add "undefined" to fixtures. So I could not properly test
that node.derivePath() properly fails as it should. However, I added "null" there, and "null" and "undefined"
behave in similar way in JavaScript, so that should catch that.
2016-02-14 16:12:16 +01:00
Karel Bilek
d2b43f1dfe Validating path
Again through typeforce
2016-02-13 23:25:30 +01:00
Karel Bilek
755eac5bbd Doubling down on the path testing
Maybe overdoing it a bit :)
2016-02-12 12:37:30 +01:00
Karel Bilek
7a61526705 Testing path derivation
I am taking description field for the path.
2016-02-12 12:37:29 +01:00
Karel Bilek
4a72001335 Typechecking indexes
As a consequence, it will not allow accidentally double-hardened indexes.

It also won't allow strings or forgotten parameters.
2016-02-06 17:57:11 +01:00
Karel Bilek
bfd294c31e Adding tests for isNeutered 2016-02-05 20:29:52 +01:00
Karel Bilek
3df2976e2c Using private key for testing neuterization
To test removing private information, it's probably better to start with them :)
2016-02-05 20:26:23 +01:00
Daniel Cousens
1771067dfc tests: fix standard error, reword descriptions 2016-02-05 14:16:56 +11:00
Ruben de Vries
7c7537fc57 use typeforce >= 1.6.2 which allows us to use typeforce.TfTypeError with a custom error message. 2016-02-02 14:04:37 +01:00
Ruben de Vries
ce21c99b43 add failing test case for hash160/256 typeforce check 2016-02-02 13:31:54 +01:00
Ruben de Vries
0e1424c2cb fixed issues with integration tests that use the faucet 2016-01-28 11:27:34 +01:00
Ruben de Vries
b601f50c70 fixed another test where TX was signed before locktime was set 2016-01-28 16:11:49 +11:00
JP Richardson
682ba7e549 Merge pull request #530 from bitcoinjs/lesscomp
address: fix compiled assumption for fromOutputScript
2016-01-27 22:50:05 -06:00
Daniel Cousens
67da1b30e3 address: fix compiled assumption for fromOutputScript 2016-01-28 15:35:57 +11:00
JP Richardson
4ee194e840 Merge pull request #507 from bitcoinjs/locktime
txbuilder: add setLockTime
2016-01-27 08:29:00 -06:00
Daniel Cousens
f3913516ca Merge pull request #509 from bitcoinjs/pow
Add Block proof-of-work validation function
2016-01-28 01:00:17 +11:00