Commit graph

1090 commits

Author SHA1 Message Date
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
c5541c8f96 transaction_builder: expandInput - check p2sh early, can avoid redundant assignments 2017-02-07 12:40:49 +11:00
Thomas Kerin
a32cc5b3be remove debugging code 2017-02-07 12:40:49 +11:00
Thomas Kerin
52745d1d0c fromTransaction.build tests pass - look for segwit transaction vectors 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
b24dc44770 P2WSH working, now for tests 2017-02-07 12:40:49 +11:00
Thomas Kerin
3ad31571b6 P2WSH initial commit, tests pass with new logic 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
80762543e7 templates: add encode/decode* stack functions 2017-02-07 12:40:49 +11:00
Daniel Cousens
33c3ed4e03 templates: avoid hex conversions internally 2017-01-03 23:55:03 +11:00
Thomas Kerin
9d9d101b5f Script templates: add witness commitment template 2017-01-03 22:37:11 +11:00
Daniel Cousens
3635a9f078 s/scriptPubKey/outputScript 2016-12-23 13:55:15 +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
8552867695 bscript.compie - minimal encoding of -1 stack element 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
d853806d0d templates: fix bad comment 2016-12-15 11:45:59 +11:00
Daniel Cousens
5824a84fd5 transaction_builder: keep a mapping from prevTxOut to vin 2016-12-15 11:45:59 +11:00
Daniel Cousens
c81f561f3e transaction: no i variable shadow 2016-12-14 09:05:58 +11:00
Thomas Kerin
bec7f690ce Rename __hasWitnesses -> hasWitnesses, and add tests 2016-12-08 09:11:13 +11:00
Daniel Cousens
7227017b40 scripts: multisig naming consistency 2016-11-21 11:04:01 +11:00
Daniel Cousens
433d9f1b18 templates: push only for scriptHash inputs, fixes #705 2016-11-15 10:06:18 +11:00
Daniel Cousens
b1daff1108 script: use isPushOnly internally 2016-11-15 10:06:18 +11:00
Daniel Cousens
8df1b45699 script: use typeforce to enforce push-only chunks 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
72fbd00762 Transaction: Witness serialization support default only for some functions (fixed) 2016-11-14 15:05:30 +11:00
Daniel Cousens
29422b584d Transaction: fix setWitness to accept array of Buffers (fixed) 2016-11-14 15:05:30 +11:00
Thomas Kerin
a9f124423f Test that parsing a transaction with superfluous witness data leads to an error 2016-11-14 11:22:22 +11:00
Daniel Cousens
905f5ba1a5 transaction: hashForWitnessV0 s/amount/value 2016-11-14 11:22:22 +11:00
Daniel Cousens
768f7e314c Transaction: initialize to ZERO earlier 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
Daniel Cousens
5c2fdb6043 Transaction: add Witness serialization and hashForWitnessV0 2016-11-14 11:22:22 +11:00
Daniel Cousens
aeeee4f3ec TransactionBuilder: move ABSURD_FEE to a constructor parameter 2016-11-12 12:53:53 +01:00
Daniel Cousens
61be897429 TransactionBuilder: move ABSURD_FEERATE to static constant 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
Thomas Kerin
b5e46c2931 Replace script type strings with constants 2016-11-04 12:21:26 +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
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
Thomas Kerin
53f08a7569 Script: add function for parsing multisig type scripts 2016-11-02 10:58:45 +11:00
Daniel Cousens
a956b8859f networks: drop dogecoin and dustThreshold 2016-10-20 23:40:46 -05:00
Daniel Cousens
1f66b9e3d8 HDNode: add comment about Q.compressed assumption 2016-10-18 17:45:37 +11:00
Thomas Kerin
6067220cba Remove redundant check for uncompressed public key 2016-10-18 15:59:47 +11:00
Daniel Cousens
b14abac4a1 HDNode: remove HDNode.toString for safety 2016-10-18 15:42:44 +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
9dcf4d4b8b TransactionBuilder: add note why fixMultisigOrder is separate 2016-10-13 00:55:19 +11:00
Daniel Cousens
7059b177eb TransactionBuilder: re-order in order of usage 2016-10-13 00:55:19 +11:00
Daniel Cousens
6056e7913e TransactionBuilder: fixMultisigOrder only works if a redeemScript exists 2016-10-13 00:55:19 +11:00
Daniel Cousens
1ff64d207e TransactionBuilder: flatten prepareInput P2SH detection 2016-10-13 00:55:19 +11:00
Daniel Cousens
a58c959099 TransactionBuilder: localize fixMultisigOrder assumptions 2016-10-13 00:55:19 +11:00
Daniel Cousens
0e2480523a TransactionBuilder: expandInput, consistent variable names 2016-10-13 00:55:19 +11:00
Daniel Cousens
f3cc71a75f TransactionBuilder: simplify buildInput logic 2016-10-13 00:55:19 +11:00
Daniel Cousens
090b8177d1 TransactionBuilder: flatten inconsistency checks 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
9f1ebf72a6 types: remove unused UInt2, BIP32 is capitals 2016-10-12 13:15:54 +11:00
Daniel Cousens
4ee298c414 block: add type checking 2016-10-10 11:20:20 +11:00
Daniel Cousens
dd4596a44a block: use merkle-lib instead of inline calculation 2016-10-10 11:20:20 +11:00
Daniel Cousens
3bff2c63af transaction: simplify toBuffer offset management 2016-10-10 07:56:18 +11:00
Daniel Cousens
f7b2fdfe60 TransactionBuilder: avoid input mutation until after exception possibility 2016-10-09 22:04:32 +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
45b0e35264 transaction/types: use Satoshi over UInt53 2016-10-07 14:25:44 +11:00
Daniel Cousens
ecc6d45a7e types: add Satoshi 2016-10-07 14:25:44 +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
fd40232147 package: remove buffer-compare/buffer-equals 2016-10-06 21:31:10 +11:00
Daniel Cousens
0e08a9b0ce Revert "HDNode: remove unnecessary this context" 2016-10-06 21:16:56 +11:00
Daniel Cousens
7a066b68ed HDNode: remove unnecessary this context 2016-10-06 14:08:27 +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
1aab317dad TransactionBuilder: extract internal signature invalidation functions for individual testing 2016-09-28 16:47:58 +10:00
Daniel Cousens
ccde09fdc3 TransactionBuilder: move fixMultisigOrder back to free function 2016-09-28 15:27:14 +10:00
Daniel Cousens
402e871d40 TransactionBuilder: move sign bulk to prepareInput 2016-09-28 15:23:52 +10:00
Daniel Cousens
a1d3e33c84 address/crypto/script/types: adhere to no-use-before-define 2016-09-28 15:23:52 +10:00
Daniel Cousens
d3ccbb6277 TransactionBuilder: rename index to vout internally 2016-09-28 01:23:37 +10:00
Daniel Cousens
9e5aac8bac TransactionBuilder: fix duplicate txOut detection 2016-09-28 01:23:37 +10:00
Daniel Cousens
b3fd50ffd6 TransactionBuilder: refactor extractInput/extractFromOutput 2016-09-28 00:50:46 +10:00
Daniel Cousens
6826aa312d TransactionBuilder: less exits 2016-09-27 22:39:38 +10:00
Daniel Cousens
83b2bb5d6a TransactionBuilder: avoid extra getPublicKeyBuffer calls 2016-09-27 22:39:38 +10:00
Daniel Cousens
302b4f0796 TransactionBuilder: signatureScript is only defined once 2016-09-27 16:31:09 +10:00
Daniel Cousens
fbcc23fa14 TransactionBuilder: avoid unnecessary cache object 2016-09-27 15:42:14 +10:00
Daniel Cousens
49c6ebe3a0 TransactionBuilder: reword error for correctness 2016-09-27 15:42:11 +10:00
Daniel Cousens
61718cdbaa txb: remove unused variables 2016-09-26 15:34:43 +10:00
Daniel Cousens
17c6ff62a0 bufferutils: fix pushDataInt output 2016-08-31 16:01:36 +10:00
Daniel Cousens
cc1af7d6a3 Transaction: return a slice, not the original Buffer 2016-08-10 11:44:09 +10:00
Daniel Cousens
6eae0241aa Transaction: allow parameterizable buffer 2016-08-10 11:44:09 +10:00
Daniel Cousens
9f1d41fc44 script: enforce PUSH_DATA codes for witness outputs 2016-07-12 12:32:29 +10:00
Daniel Cousens
20a026aefe scripts/tests: add witness* scripts 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
697f2da1bc Transaction: re-work hashForSignature for readability 2016-06-22 14:46:05 +10:00