Commit graph

188 commits

Author SHA1 Message Date
Kirill Fomichev
bc9a95e0ae Use buffer-reverse instead [].reverse.call 2016-03-10 07:57:30 +03:00
Ruben de Vries
7aaae4c001 Refactoring extractInput and __build to enable nested scripts (P2SH[ P2PKH / multsig ]).
This is preperation for the segwit support which will have `P2SH[ P2WSH[ P2PKH / multsig ] ]` scripts
2016-02-15 14:12:04 +01:00
Daniel Cousens
6c0745adce TxBuilder: add setLockTime 2016-01-28 00:55:44 +11:00
Daniel Cousens
540a6643ac txbuilder: clarify SIGHASH invalidation logic in addInput/addOutput 2015-11-26 12:46:55 +11:00
Daniel Cousens
881a23f9d5 txbuilder: rename tx.outs.length to nOutputs 2015-11-26 12:07:32 +11:00
Kirill Fomichev
5de6818fcb Fix TransactionBuilder.addOutput 2015-11-24 08:18:16 +03:00
Daniel Cousens
0b4c67406f use [].reverse over prototype 2015-09-27 23:49:29 +10:00
Daniel Cousens
5c1c4589c0 remove use of buffer-reverse 2015-09-27 23:30:06 +10:00
Daniel Cousens
731a31ecba use buffer-reverse 2015-09-25 17:49:05 +10:00
Daniel Cousens
28372f0cd7 use buffer-equals 2015-09-25 17:49:05 +10:00
Daniel Cousens
05cfdf6a6a docs: remove inline endian-ness notes, no endianness 2015-09-14 15:03:36 +10:00
Daniel Cousens
1ea5252511 TxBuilder: only allow OP_0's when building 2015-09-08 21:22:54 +10:00
Daniel Cousens
8934de591c use baddress/bcrypto/bscript for ambuigities 2015-08-20 13:55:13 +10:00
Daniel Cousens
6ec687deba rename scripts to script 2015-08-20 13:55:13 +10:00
Daniel Cousens
18e9cdcc02 rename Address to address 2015-08-20 13:55:13 +10:00
Daniel Cousens
c06df2df8a TxBuilder: fix equals is undefined in Node 0.10 2015-08-18 14:55:23 +10:00
Daniel Cousens
e2abe2b3af merge Script/scripts 2015-08-18 14:44:30 +10:00
Daniel Cousens
151386c46d scripts: remove coercion, fromASM returns Buffer 2015-08-18 14:44:30 +10:00
Daniel Cousens
e05f8a542d remove Script object 2015-08-18 14:44:29 +10:00
Daniel Cousens
e743c58ed6 remove usage of instanced Scripts 2015-08-18 14:44:29 +10:00
Daniel Cousens
d85df4a6d6 TransactionBuilder: remove use of assert 2015-08-14 10:56:31 +10:00
Daniel Cousens
ae0001ce37 TxBuilder: more explicit comment for address type parameter 2015-08-13 19:07:09 +10:00
Daniel Cousens
56160622ca adhere to standard 5.0.0 2015-08-13 14:25:32 +10:00
Daniel Cousens
a4eb58f103 TxBuilder: pass network through fromTransaction, fixes failing tests 2015-08-07 16:56:27 +10:00
Daniel Cousens
1e90e1620a TxBuilder: throw on keyPair network inconsistency 2015-08-07 16:54:22 +10:00
Daniel Cousens
2971816588 TxBuilder: pass network through to fromTransaction 2015-08-07 16:41:24 +10:00
Daniel Cousens
b67a3dcf9e TxBuilder: specify missing network information for TxBuilder 2015-08-07 16:36:10 +10:00
Daniel Cousens
37d094c179 TxBuilder: avoid use of network dependent functions where possible 2015-08-07 16:36:10 +10:00
Daniel Cousens
13f414c122 remove Address constructor 2015-07-24 12:18:00 +10:00
Daniel Cousens
abd27dd2be TxBuilder: disable Address object as valid input 2015-07-24 12:18:00 +10:00
Daniel Cousens
588b346f5d ECPair: cease using Address for address encoding 2015-07-24 12:18:00 +10:00
Daniel Cousens
5ce093739e TxBuilder: clarify comment about coin base script support 2015-07-20 16:30:55 +10:00
Daniel Cousens
eb5508565a Merge pull request #411 from blocktrail/sign-incorrect-op0s-master
fix txb.sign having issues when an incomplete TX contains OP_0s, but not enough
2015-06-01 12:01:36 +10:00
Daniel Cousens
04f448cc8d tx-builder: remove unnecessary this context 2015-05-30 14:32:14 +10:00
Wei Lu
88cc90481f add missing bufferutils require 2015-05-30 12:12:19 +08:00
Wei Lu
d7019e7492 Revert "bufferutils: remove equal, use Buffer.compare"
This reverts commit 75540b6116.
See discussion in https://github.com/bitcoinjs/bitcoinjs-lib/pull/410
2015-05-30 11:50:38 +08:00
Ruben de Vries
d2bee4d67f fix txb.sign having issues when an incomplete TX contains OP_0s, but not enough 2015-05-28 22:47:01 +02:00
Daniel Cousens
f9b99fc0df txbuilder: remove unused bufferutils import 2015-04-27 12:06:01 +10:00
Daniel Cousens
75540b6116 bufferutils: remove equal, use Buffer.compare 2015-04-22 10:17:16 +10:00
Daniel Cousens
4c8b0f38ea replace ECKey/ECPubKey with ECPair 2015-03-19 13:33:28 +11:00
Daniel Cousens
0e0a12da27 txbuilder: fix #374 null inputs 2015-03-16 13:53:28 +11:00
Daniel Cousens
6c02e1692a txbuilder: re-add verification optimizations 2015-03-13 15:42:13 +11:00
Daniel Cousens
4660b84c2d txbuilder: refactor for clarity 2015-03-13 15:28:26 +11:00
Ruben de Vries
000625c191 prefill signatures with OP_0s and place signatures in correct order in txb.sign when it's not already prefilled with OP_0s 2015-03-05 10:21:40 +01:00
Daniel Cousens
bcf8d0177d TxBuilder: fix OP_0 in buildComplete 2015-03-03 10:04:24 +11:00
Daniel Cousens
4668cb1f95 TxBuilder: simplify addInput 2015-03-02 18:10:05 +11:00
Daniel Cousens
7f3b4c93ba TxBuilder: move param coercion from Transaction to TxBuilder 2015-03-02 17:51:14 +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
49345748bb Transaction: add isCoinbaseHash static method 2015-02-19 12:15:27 +11:00
Daniel Cousens
73bf8a42ea TxBuilder: hashtype only relevant to things we can sign 2015-02-13 13:18:29 +11:00
Daniel Cousens
4ef2c19d71 TxBuilder: defer mutation further, but still catch non-standards 2015-02-13 13:18:29 +11:00
Daniel Cousens
a788214921 TxBuilder: fix undefined scriptSig
Fixed and typeForce used to enforce this wont happen again in future.
2015-02-13 13:18:28 +11:00
Daniel Cousens
3a371fccec TxBuilder: remove initialized field from signature inputs 2015-02-13 13:18:28 +11:00
Daniel Cousens
fd2311bda4 TxBuilder: remove impossible/untestable assertions 2015-02-13 13:18:28 +11:00
Daniel Cousens
986e9d4710 TxBuilder: vout is actually vin for addInput 2015-02-13 13:18:28 +11:00
Daniel Cousens
c7c58307f0 TxBuilder: avoid unnecessary assertion, already done in classification 2015-02-13 13:18:28 +11:00
Daniel Cousens
e33a6409d3 TxBuilder: add explanation for prevOutScript branch 2015-02-13 13:18:28 +11:00
Daniel Cousens
b55e3a0245 TxBuilder: missing redeemScript not an issue if already added
If the input is initialized, we already have the redeemScript, no need
to pass it in again
2015-02-13 13:18:28 +11:00
Daniel Cousens
8a8f40e903 TxBuilder: defer mutation as long as possible 2015-02-13 13:18:28 +11:00
Daniel Cousens
085b813958 TxBuilder: replace switch lookup with object lookup 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
b629a03c98 TxBuilder: rename prevOutMap to prevTxMap 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
c29b233744 TxBuilder: build convenience functions don't need extra line breaks 2015-02-13 13:01:30 +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
ebe34db8df TxBuilder: avoid var redeclaration due to hoisting 2015-02-13 13:01:01 +11:00
Daniel Cousens
46db11e04a TxBuilder: extract isCoinbaseHash function 2015-02-13 13:01:01 +11:00
Daniel Cousens
906accdc0f TxBuilder: extract extractSignatures to free function 2015-02-13 13:00:57 +11:00
Daniel Cousens
c35d4b46c5 scripts: add allowIncomplete for multisig scripts 2015-02-12 19:50:00 +11:00
Daniel Cousens
a529b3fa0b TxBuilder: copy version/locktime in fromTransaction 2015-01-23 16:35:09 +11:00
Daniel Cousens
6ed8e15b63 transaction/builder: s/txin/txIn/g 2014-12-02 14:21:13 +11:00
Daniel Cousens
1d0fd3e9a4 TxBuilder: add more failing cases and error handling 2014-08-31 14:43:35 +10:00
Daniel Cousens
8d5ef2dd06 TxBuilder: limit signatures depending on scriptType 2014-08-30 13:13:12 +10:00
Daniel Cousens
aa80bde815 TxBuilder: avoid unnecessary recalculation of prevOutScript data 2014-08-30 12:47:00 +10:00
Daniel Cousens
e2357c09ce TxBuilder: fix invalid txin.index usage for non-zero vin inputs 2014-08-30 12:10:02 +10:00
Daniel Cousens
22f8c8aa4a TxBuilder: re-order functions to project standard 2014-08-18 08:59:26 +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
7f62069d82 TxBuilder: add sequence number passthrough 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
14211b5f3e TxBuilder: sign after error checking 2014-08-18 08:54:46 +10:00
Daniel Cousens
4e3a6c9557 TxBuilder: use build/buildIncomplete over boolean 2014-08-18 08:54:45 +10:00
Daniel Cousens
377b815417 TxBuilder: transform all signatures once 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