Commit graph

362 commits

Author SHA1 Message Date
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
a213435135 Commit work to date 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
a86e905611 script: add fromASM failing test case and fix 2016-12-17 14:30:37 +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
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
0c198ffa6a tests: merge witness fixtures with valid transactions, reverse reversed hashs (failing) 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
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
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
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
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
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
Thomas Kerin
ddedb574a3 hdnode: add test cases exercising fromBuffer 2016-10-18 15:59:47 +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
17377381c4 TransactionBuilder: if prevOutScript is defined, but not signable, try 1 last time 2016-10-09 22:04:32 +11:00
Daniel Cousens
29a865788d use varuint-bitcoin 2016-10-07 10:55:34 +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
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
ae63ae1131 tests: change error thrown for consistency with multisig 2016-09-28 00:20:49 +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
20a026aefe scripts/tests: add witness* scripts 2016-07-12 12:32:29 +10:00
Daniel Cousens
4898cc7b67 tests: add tests for Transaction.hashForSignature 2016-06-22 14:45:49 +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
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
7a61526705 Testing path derivation
I am taking description field for the path.
2016-02-12 12:37:29 +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
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
Daniel Cousens
6c0745adce TxBuilder: add setLockTime 2016-01-28 00:55:44 +11:00
Ruben de Vries
ccec864785 locktime and version were set too late in test scenario and not included when signing (the test scenario). 2016-01-26 17:13:07 +01:00
Daniel Cousens
382409c575 tests: rm unused fixtures 2016-01-06 10:00:10 +11:00
Daniel Cousens
059f48b0c4 script_number: add impl/tests 2016-01-05 01:59:58 +11:00
Daniel Cousens
bac700f52c block: use buffer, faster, verified 2016-01-04 12:49:33 +11:00
Daniel Cousens
86b51b2d62 add Block.calculateTarget, use Buffer comparison rather than bigi 2016-01-04 12:49:33 +11:00
Daniel Cousens
15227d39bf tests: add more test fixtures for blocks 2016-01-04 12:49:33 +11:00
Daniel Cousens
50f381fb5c tests: add non-BIP62 compliant is*Output fixtures 2015-11-25 19:19:21 +11:00
Daniel Cousens
a686817f3c tests: add m/n is data failing tests 2015-10-02 12:36:51 +10:00
Kirill Fomichev
eae8bcf676 fix isMultisigOutput 2015-10-01 23:12:38 +03:00
Daniel Cousens
945276fbef ECPair: move throwing constructor tests to fixtures 2015-09-12 15:17:45 +10:00
Daniel Cousens
74e7d1edbc tests: add further tests for #404 2015-09-08 22:48:54 +10:00
Daniel Cousens
0f9af83aa0 tests: add 2-of-3 multisig fixture 2015-09-08 21:45:43 +10:00
Daniel Cousens
262be17976 tests: simplify crypto fixtures 2015-09-08 16:03:49 +10:00
Daniel Cousens
ec1195bcee Merge pull request #448 from bitcoinjs/bip66
Extract BIP66 module
2015-08-25 14:17:44 +10:00
Daniel Cousens
86b2cf75ce tests: add failing test for undefined hashType 2015-08-22 12:32:03 +10:00
Daniel Cousens
4be502a1bd tests: add non-canonical pubkey fixtures 2015-08-22 12:32:01 +10:00
Daniel Cousens
e1cb5e6152 amend ECSignature tests to reflect BIP66 module 2015-08-21 21:22:33 +10:00
Daniel Cousens
efacd387be ECPair: extract WIF to 3rd party module 2015-08-20 20:16:57 +10:00
Daniel Cousens
6ec687deba rename scripts to script 2015-08-20 13:55:13 +10:00
Daniel Cousens
706f5d7a9c scripts: adds tests for *HashOutput 2015-08-18 14:44:30 +10:00
Daniel Cousens
e2abe2b3af merge Script/scripts 2015-08-18 14:44:30 +10:00
Daniel Cousens
fd7f0b0ef8 address: use input first errors, easier detection 2015-08-18 09:27:55 +10:00
Daniel Cousens
d85df4a6d6 TransactionBuilder: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
254b670427 add types 2015-08-14 10:56:30 +10:00
Daniel Cousens
7a6936674e tests: add explicit test for inconsistent network exception 2015-08-07 17:01:31 +10:00
Daniel Cousens
f47decaa2f HDNode: adopt new strict network list parameters 2015-08-07 16:36:10 +10:00
Daniel Cousens
6443e4c2b6 ECPair: support strict network syntax 2015-08-07 16:36:10 +10:00
Daniel Cousens
bdf92f73b4 HDNode: use throw over assert 2015-07-28 17:42:10 +10:00
Daniel Cousens
1a4000cc98 address: throw Invalid address instead of hash/version for fromBase58Check 2015-07-24 12:18:00 +10:00
Daniel Cousens
13f414c122 remove Address constructor 2015-07-24 12:18:00 +10:00
Daniel Cousens
e42bd133fe tests: clearer length bytes 2015-07-07 17:59:46 +10:00
Daniel Cousens
e8fd3887da ECSignature: account for SIGHASH being ignored 2015-07-07 17:47:29 +10:00
Daniel Cousens
92f9342c69 adhere more closely to BIP66 2015-07-07 17:42:01 +10:00
Daniel Cousens
2ffa041afa fixtures: ECDSA, fix r=s=-n to be accurate 2015-06-23 16:11:34 +10:00
Daniel Cousens
b5ff9db8fd fixtures: ECDSA signatures should be DER encoded if possible 2015-06-23 16:11:34 +10:00
Daniel Cousens
5b95fd6ae3 fixtures: ECDSA, fixtures were mixed decimal/hex 2015-06-23 16:11:34 +10:00
Daniel Cousens
4c030be343 ecdsa: remove unused verifyRaw 2015-04-28 16:51:20 +10:00
Daniel Cousens
4c8b0f38ea replace ECKey/ECPubKey with ECPair 2015-03-19 13:33:28 +11:00
Daniel Cousens
7559ee880d add ECPair module 2015-03-19 13:33:28 +11: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
281ecdc06e networks: remove failing tests, cannot be supported anyway 2015-03-16 11:33: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
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
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
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
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
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
f87ac58df0 tests: add reverse order multisig 2-of-2 2015-02-23 11:37:33 +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
445eb260c0 tests: add failing Coinbase transaction fixture 2015-02-19 12:51:24 +11:00
Daniel Cousens
c9826221fb scripts: catch error in Script.fromBuffer 2015-02-16 02:39:57 +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
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
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
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
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
0e5c7b2a5a tests: add bip32JPs RFC6979 test vectors and tests 2015-01-05 12:31:28 +11:00
Daniel Cousens
c716367f77 tests: add test for null sequence number 2014-12-16 15:15:39 +11: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
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