Daniel Cousens
6c4977983d
ECPair/script_signature: switch to 64-byte RS buffers only
2018-05-22 16:59:05 +10:00
Daniel Cousens
884f3fd57d
rm HDNode, use bip32 module
2018-05-22 13:46:45 +10:00
Daniel Cousens
087b49ea23
Merge pull request #459 from bitcoinjs/nocompact
...
Remove explicit DER/Compact decoding
2018-05-15 09:58:14 +10:00
Daniel Cousens
402d4f6d6a
Merge pull request #1041 from bitcoinjs/nulldata
...
Change nulldata to return Array
2018-05-15 02:24:58 +10:00
Daniel Cousens
90a73e195e
use safe-buffer
2018-05-15 02:18:50 +10:00
Daniel Cousens
c16847434c
add toRSBuffer for less breaking changes
2018-05-15 02:18:50 +10:00
Daniel Cousens
c58ada362e
rm ECSignature, add script.signature instead
2018-05-15 02:18:50 +10:00
Wesley Smith
c3c98709e2
fixes adding version field to transaction instance
2018-05-06 22:40:27 -07:00
Daniel Cousens
024c541d7e
Merge branch 'master' into __tx
2018-04-30 10:43:44 +10:00
Daniel Cousens
6b3c41a06c
Merge pull request #1035 from bitcoinjs/buremove
...
Remove bufferutils
2018-04-30 10:41:27 +10:00
Daniel Cousens
41885bfab2
nulldata: change data to array
2018-04-14 01:59:56 +10:00
Daniel Cousens
5af87c0c49
privatise internals for TxBuilder
2018-04-14 01:31:02 +10:00
Daniel Cousens
3bfdacafa2
change TransactionBuilder to default to version 2
2018-04-14 01:18:31 +10:00
Daniel Cousens
549b36bf1a
rm deprecated bufferutils
2018-04-14 01:15:22 +10:00
Dabura667
413495b101
Merge pull request #987 from bitcoinjs/tests
...
Reject any uncompressed keys in P2WSH and P2WPKH (as per BIP143)
2018-01-17 23:00:55 +09:00
Daniel Cousens
00bbab1a93
txb: fix redeemScript/witnessScript is undefined when throwing
...
unsupported
2018-01-17 14:57:24 +11:00
Daniel Cousens
7be698b5a1
txb: add fixes for P2SH(P2WSH(...)) and P2WSH(...) in BIP143 compliance
2018-01-17 14:49:19 +11:00
Daniel Cousens
39a681d2d3
tests: add failing test for #981
2018-01-17 14:48:56 +11:00
Daniel Cousens
098188dd3a
tests: add independent error message for missing witnessScript
2018-01-17 14:25:06 +11:00
Dabura667
64d9f72f77
Update comment
...
fixes #979
2018-01-10 23:54:38 +09:00
Daniel Cousens
8d688c39a6
enforce decodeStack receives a stack array
2017-11-30 15:34:30 +11:00
Melvillian
f4caa54d9e
increase max feerate sanity check from 1000 to 2500
2017-11-22 10:48:20 -08:00
Daniel Cousens
a868d27407
TxBuilder: add support for RSBuffer type keyPairs and .publicKey
2017-10-19 13:41:57 +11:00
Daniel Cousens
b94da10e6c
ECSignature: add toRSBuffer/fromRSBuffer
2017-10-19 13:41:35 +11:00
Daniel Cousens
e0b227e4ef
s/checkP2shInput/checkP2SHInput
2017-10-19 10:52:21 +11:00
Daniel Cousens
1157856ab0
Merge pull request #911 from bitcoinjs/segwittests
...
Add tests for scripts.witness*.input and fixes
2017-09-28 00:03:11 +10:00
Daniel Cousens
41378f9648
txbuilder: apply input.value before prepareInput
2017-09-27 10:00:36 +10:00
Daniel Cousens
8c217a7ba7
witnessScriptHash: fixed implementation
2017-09-27 08:30:31 +10:00
Daniel Cousens
f4a83f8aed
address/txbuilder: require templates to prevent undefined exports
2017-09-27 07:08:19 +10:00
Daniel Cousens
b6a6b0a50a
Merge pull request #908 from bitcoinjs/txbfix
...
TxBuilder: fix canSign returning true for missing witness value
2017-09-26 20:02:55 +10:00
Daniel Cousens
eb6eac67b0
txbuilder: fix canSign returning true for missing witness value
2017-09-26 18:49:14 +10:00
Daniel Cousens
bae91395ef
rm bscript circular dependencies
2017-09-26 14:25:30 +10:00
Daniel Cousens
8f01e4273c
match scriptHash types 1 for 1, ignore classify order
2017-09-22 12:15:10 +10:00
Thomas Kerin
da49e389c4
multisig.input.encodestack - replace OP_0 (permitted by partialSignature) with EMPTY_BUFFER
2017-09-15 19:08:55 +10:00
Thomas Kerin
105a82762c
buildstack - don't return op_0
2017-09-15 19:08:55 +10:00
junderw
6e5742d86d
Fix txb.__overMaximumFees for segwit
2017-09-15 12:31:35 +10:00
Daniel Cousens
9503e64bde
TransactionBuilder: collect witnessValue as input.value, and match it
2017-09-06 20:59:10 +10:00
junderw
1495384862
Add witness is true to signing
2017-09-06 20:46:20 +10:00
Daniel Cousens
e7c59c4b8b
script: use asMinimalOP for ASM/decompile
2017-08-24 12:28:50 +10:00
Daniel Cousens
152eed57a0
templates/pubkey: only canonical pubkeys to encode
2017-08-23 17:26:06 +10:00
Daniel Cousens
3ba17a1479
TxBuilder: restrict uncompressed keyPairs for P2WPK and P2WSH
2017-08-23 17:26:06 +10:00
Daniel Cousens
3ffac6cd39
add witnessPubKeyHash compressed policy
2017-08-23 17:26:06 +10:00
Daniel Cousens
5057d8d1ba
tests/txb: add P2WSH(multisig), incomplete fixture
2017-08-23 16:07:28 +10:00
Daniel Cousens
0157f18510
txbuilder: refactor branches for readability
2017-08-23 16:07:28 +10:00
Daniel Cousens
b1272a1200
add Bech32 support to toOutputScript/fromOutputScript
2017-08-21 11:17:30 +10:00
Daniel Cousens
d1052e4996
add from/toBech32
2017-08-21 11:17:30 +10:00
Thomas Kerin
798ec3512c
set p2sh=true only if redeemScriptType is set
2017-08-09 15:11:05 +10:00
Thomas Kerin
0b1c3bfbd9
Should be able to deal with incomplete P2SH/P2WSH inputs when allowIncomplete is set
2017-08-09 15:11:05 +10:00
Alex Melville
eae2c57e73
remove errant argument to buildInput in __build
2017-07-21 12:12:29 +10:00
Daniel Cousens
1d6b978aff
txb: do not classify blank input scripts as nonstandard
2017-07-14 14:16:52 +10:00
Karel Bilek
c96bb93841
Add weight / vsize
...
Weight / virtual size according to BIP141
2017-06-21 01:38:05 +10:00
Daniel Cousens
fe0ad81472
package: use safe-buffer
2017-05-23 18:39:53 +10:00
Daniel Cousens
f1ab151c31
tests: use safe-buffers throughout
2017-05-23 18:39:53 +10:00
Daniel Cousens
aeb0312d63
use safe-buffers throughout impl
2017-05-23 18:39:53 +10:00
Daniel Cousens
78b2d34af6
networks: changed P2SH to 0x32
2017-05-10 10:25:29 +10:00
Loshan T
2228d285a4
Update Litecoin P2SH
2017-05-10 10:25:29 +10:00
Daniel Cousens
ab1fc4c9a4
reduce bufferutils usage
2017-04-19 17:42:05 +10:00
Daniel Cousens
cdb518686f
txbuilder: remove unused y var
2017-04-18 14:34:54 +10:00
Daniel Cousens
6c220c4b58
templates: add missing allowComplete pass through
2017-04-18 14:34:54 +10:00
Daniel Cousens
91ff39d95a
ecpair/hdnode: fix network variable shadowing
2017-04-18 14:34:54 +10:00
Daniel Cousens
f3d0dddc5a
block: add byteLength
2017-04-18 13:46:30 +10:00
Daniel Cousens
b552c63fb0
nulldata: no blank lines at EOF
2017-03-29 21:02:59 +11:00
Daniel Cousens
846da39346
script: adhere to latest standard precedence rules
2017-03-29 21:02:59 +11:00
Daniel Cousens
1ce81a92cc
block: rm i temporary var
2017-03-29 09:36:07 +11:00
Daniel Cousens
35bbe11055
block: change exponent offset to avoid subtraction
2017-03-29 09:36:07 +11:00
Daniel Cousens
29316a2fbc
block: use writeUInt32BE for target calculation
2017-03-29 09:36:07 +11:00
Thomas Kerin
4b4f32ffac
buildStack: allow empty stack if allowIncomplete is set
2017-02-07 12:40:49 +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
c2dfc03869
Add test vectors, and transaction_builder input stores signScript
2017-02-07 12:40:49 +11:00
Thomas Kerin
e4db4a07b0
Make sure case with only one value in scriptSig as P2SH ONLY applies if the script is P2WPKH or P2WSH
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
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
JP Richardson
ac8ae8f0ed
opcodes: add json extension to fix Webpack JSON loader
2016-06-08 17:00:37 -05:00
Daniel Cousens
79ac51dbbd
Merge branch 'master' into fix/isCoinbaseHash
2016-05-06 14:18:06 +10:00
Daniel Cousens
d58e09a3a7
Block: add checkMerkleRoot
2016-05-05 16:51:33 +10:00
Kirill Fomichev
8ddcf737f9
Update Transaction.isCoinbaseHash
...
- add argument type-checking
- replace Array.every on for-loop
2016-05-03 15:47:15 +03:00
Karel Bilek
f958dd1e86
Adding Transaction.prototype.isCoinbase
2016-05-03 21:46:35 +10:00
Daniel Cousens
ea4ce4e2a6
ECPair: no elseif needed, move default for clarity
2016-04-27 18:04:35 +10:00
Daniel Cousens
00cee340dd
ECPair: don't depend on WIF error message, avoid unnecessary import
2016-04-27 17:05:33 +10:00
Daniel Cousens
e52c0d5b67
ECPair: use toBase58Check
2016-04-27 16:42:25 +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
Kirill Fomichev
bc9a95e0ae
Use buffer-reverse instead [].reverse.call
2016-03-10 07:57:30 +03:00
Daniel Cousens
7d2b2dee45
Merge pull request #550 from bitcoinjs/testnet
...
Add network list tests for ECPair/HDNode
2016-02-25 18:20:53 +11:00
Daniel Cousens
285bbd6478
Merge pull request #540 from blocktrail/segwit-prep
...
Refactoring `extractInput` and `__build` to enable nested scripts
2016-02-25 13:59:47 +11: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
Kirill Fomichev
48866992d4
Update wif to 2.0.1
2016-02-24 13:08:40 +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
Karel Bilek
3c56e80fc6
Simplifying path regex
2016-02-14 16:25:55 +01: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
182698f53d
Using parseInt instead of + in path parsing
...
+ can cause issues - +"" is 0. parseInt("", 10) is NaN, which is better (since it causes typeforce to throw).
2016-02-13 15:51:42 +01:00
Karel Bilek
7defe6fe4c
Adding path derivation
...
The argument is path of either numbers or strings.
String with "'" at the end signifies hardened 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 Bílek
fbcb478560
Adding function to decide if HDNode is public
...
Public === neutered. Private === not neutered
2016-02-05 20:26:23 +01: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
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
Daniel Cousens
6c0745adce
TxBuilder: add setLockTime
2016-01-28 00:55:44 +11:00
Daniel Cousens
d7da292063
script_number: initialize result to 0
2016-01-05 13:11:49 +11:00
Daniel Cousens
302bbe81ba
script_number: refactor to mimic bitcoin/bitcoin
2016-01-05 02:38:04 +11:00
Daniel Cousens
945bdfa747
script_number: refactor
2016-01-05 02:30:21 +11:00
Daniel Cousens
29a1a839ec
script: exposes scriptNumber through script.number
2016-01-05 02:11:48 +11:00
Daniel Cousens
059f48b0c4
script_number: add impl/tests
2016-01-05 01:59:58 +11:00
Daniel Cousens
e4ba88e54f
block: rename verifyPow to checkProofOfWork
2016-01-04 12:49:33 +11:00
Daniel Cousens
92b446f6a5
block: variable extraction
2016-01-04 12:49:33 +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
26ccb43047
block: add Block.prototype.verifyPow
2016-01-04 12:49:33 +11:00
Daniel Cousens
cab3022719
add OP_CHECKLOCKTIMEVERIFY and integration tests
2015-12-22 14:13:45 +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
Daniel Cousens
693e39c061
script: use Buffer.isBuffer consistently
2015-11-26 12:07:04 +11:00
Daniel Cousens
d48a7ab682
address: avoid unnecessary unchunking
2015-11-25 19:19:21 +11:00
Daniel Cousens
f60cb2e491
scripts: ensure isPubKeyHashOutput/isScriptHashOutput adhere to BIP62
2015-11-25 19:19:21 +11:00
Kirill Fomichev
5de6818fcb
Fix TransactionBuilder.addOutput
2015-11-24 08:18:16 +03:00
Alex Seville
a1da3065c4
Remove const
and replace with var
...
To keep the project consistenly ES5.
Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
2015-11-18 22:04:21 -08:00
Daniel Cousens
173994c6e0
script: avoid slice if n !== pubKeys.length
2015-10-02 13:03:33 +10:00
Daniel Cousens
0ca1e40a6d
script: refactor isMultisigOutput for clarity
2015-10-02 13:03:33 +10:00
Daniel Cousens
5be9b04741
script: isolate initialization of REVERSE_OPS
2015-10-02 12:59:30 +10:00
Daniel Cousens
74c2f1d957
script: n/m must be numbers, not data
2015-10-02 12:51:34 +10:00
Kirill Fomichev
eae8bcf676
fix isMultisigOutput
2015-10-01 23:12:38 +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
daafb9794e
ECPair/HDNode: adds getNetwork
2015-09-21 17:37:21 +10:00
Daniel Cousens
57d0ea84a2
HDNode: adds getPublicKeyBuffer
2015-09-21 17:37:09 +10:00
Daniel Cousens
923266672b
HDNode: add sign/verify
2015-09-21 16:42:22 +10:00
Daniel Cousens
888393fa8f
tests: add HDNode fromSeed throwing tests
2015-09-14 17:50:38 +10:00
Daniel Cousens
05cfdf6a6a
docs: remove inline endian-ness notes, no endianness
2015-09-14 15:03:36 +10:00
Daniel Cousens
322ade58e4
revert 4b825bf
2015-09-09 12:32:12 +10:00
Daniel Cousens
a5196dedcb
ECPair: enforce <= 0, not just ===
2015-09-09 00:48:06 +10:00
Daniel Cousens
a72e608898
ECPair: loop until within interval
2015-09-09 00:48:06 +10:00
Daniel Cousens
1ea5252511
TxBuilder: only allow OP_0's when building
2015-09-08 21:22:54 +10:00
Daniel Cousens
b252924517
types: remove ECCurve
2015-09-05 15:42:25 +10:00
Daniel Cousens
e8cb7c16da
Transaction: coinBaseHash no longer relevant
2015-09-05 14:28:28 +10:00
Daniel Cousens
4b825bf2a8
HDNode: stop exposing constants
2015-09-05 14:27:53 +10:00
Daniel Cousens
ccfaaf0b6f
ecdsa: remove curve parameter
2015-09-05 14:27:53 +10:00
Daniel Cousens
146bc8e11a
address: re-use fromBase58Check internally
2015-09-05 14:27:53 +10:00
Daniel Cousens
48dc0a9054
script: no need to use readUInt8
2015-09-05 14:27:53 +10:00
Daniel Cousens
2d75b7e7ff
standard: remove padded Blocks
2015-09-05 14:10:32 +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
e94ec00919
types: restore quacking behaviour
2015-08-25 13:47:11 +10:00
Wei Lu
79db118417
Merge pull request #446 from bitcoinjs/wifex
...
ECPair: extract WIF to 3rd party module
2015-08-23 23:24:07 +08:00
Daniel Cousens
96c04d0787
ECPair: makeRandom, fix comparison
2015-08-24 01:04:36 +10:00
Daniel Cousens
d46035a35f
ECPair: rm duplicate throw
2015-08-24 01:00:51 +10:00
Daniel Cousens
b12f559b85
HDNode: consistent capitalization in comments
2015-08-22 12:53:47 +10:00
Daniel Cousens
92937a8ded
script: rm unused ecurve
2015-08-22 12:37:17 +10:00
Daniel Cousens
3106fc13ca
script: refactor isCanonicalPubKey to bitcoin-core equivalent
2015-08-22 12:32:03 +10:00
Daniel Cousens
0ff5bd5698
script: add isDefinedHashType to check hashType
2015-08-22 12:32:03 +10:00
Daniel Cousens
abac254d0d
script: use bip66 for signature checking
2015-08-22 11:54:00 +10:00
Daniel Cousens
1e23085ad7
use bip66 module
2015-08-21 20:35:22 +10:00
Daniel Cousens
252336ab8c
ECPair: fix modulo bias in makeRandom
2015-08-21 16:46:18 +10:00
Daniel Cousens
efacd387be
ECPair: extract WIF to 3rd party module
2015-08-20 20:16:57 +10:00
Daniel Cousens
e3f21ebeb2
HDNode: avoid creating multiple buffers
2015-08-20 14:23:27 +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
8f9d59fb18
ECPair: stop exposing ECDSA curve
2015-08-20 13:55:13 +10:00
Daniel Cousens
ca4debd92e
types: Expected Buffer, length to follow
2015-08-19 15:27:06 +10:00
Daniel Cousens
c06df2df8a
TxBuilder: fix equals is undefined in Node 0.10
2015-08-18 14:55:23 +10:00
Daniel Cousens
97a0008445
types: rm Script type
2015-08-18 14:45:00 +10:00
Daniel Cousens
706f5d7a9c
scripts: adds tests for *HashOutput
2015-08-18 14:44:30 +10:00
Daniel Cousens
ab1215adc1
scripts: refactor to/from ASM
2015-08-18 14:44:30 +10:00
Daniel Cousens
b933c6da44
scripts: re-add constrained hash types to *HashOutput
2015-08-18 14:44:30 +10:00
Daniel Cousens
20fd3cee8c
rename EMPTY to EMPTY_SCRIPT, extract VALUE_UINT64_MAX constant
2015-08-18 14:44:30 +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
812d74aa0a
coerce wherever necessary for now
2015-08-18 14:44:29 +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
5d2abb523e
HDNode: use typeforce.tuple for arguments
2015-08-18 14:21:38 +10:00
Daniel Cousens
fd7f0b0ef8
address: use input first errors, easier detection
2015-08-18 09:27:55 +10:00
Daniel Cousens
6002d9abd4
ecdsa: fix up tuple indentation
2015-08-14 10:56:31 +10:00
Daniel Cousens
94e16fbe37
rename __disableExcess to __noStrict
2015-08-14 10:56:31 +10:00
Daniel Cousens
92d16142d1
ECSignature: use types.tuple for arguments
2015-08-14 10:56:31 +10:00
Daniel Cousens
33a9dc4cce
dustThreshold is a UInt53
2015-08-14 10:56:31 +10:00
Daniel Cousens
70c874e3cc
bufferutils: remove use of assert
2015-08-14 10:56:31 +10:00
Daniel Cousens
d85df4a6d6
TransactionBuilder: remove use of assert
2015-08-14 10:56:31 +10:00
Daniel Cousens
c1a965d096
ECSignature: remove use of assert
2015-08-14 10:56:31 +10:00
Daniel Cousens
f2f0747187
Transaction: remove use of assert
2015-08-14 10:56:31 +10:00
Daniel Cousens
e4b697a261
scripts: remove use of assert
2015-08-14 10:56:31 +10:00
Daniel Cousens
1d4a71852f
Script: remove use of assert
2015-08-14 10:56:31 +10:00
Daniel Cousens
395c43ad74
block: remove use of assert
2015-08-14 10:56:31 +10:00
Daniel Cousens
8f821f4768
ECPair: 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
5ae66d46e4
mv opcodes.js -> opcodes.json
2015-08-14 10:53:44 +10:00
Daniel Cousens
a8db7b2cbf
block: use Tx.byteLength to avoid double serialization
2015-08-14 08:23:50 +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
47364293a9
message: remove old TODO
2015-08-11 16:45:32 +10:00
Daniel Cousens
64657eb81f
ECSignature: further avoidance of assert
2015-08-11 16:42:45 +10:00
Daniel Cousens
9d1c610c08
Transaction: capitalize Buffer constants
2015-08-11 16:42:45 +10:00
Daniel Cousens
6fbdecc39d
networks: remove pchMessageStart chain parameter
2015-08-11 16:41:34 +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
f47decaa2f
HDNode: adopt new strict network list parameters
2015-08-07 16:36:10 +10:00