Commit graph

897 commits

Author SHA1 Message Date
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
5ba0c3d578 Merge pull request #420 from bitcoinjs/ecdsabreak
index: stop exposing ecdsa
2015-07-07 10:35:07 +10:00
Wei Lu
db3523d2c9 Merge pull request #418 from bitcoinjs/ecdsatypes
Stricter typing in ECDSA
2015-07-05 16:42:44 +08:00
Daniel Cousens
97c4de9da6 *: throw new Error over assert(false, ... 2015-06-23 16:44:05 +10:00
Daniel Cousens
7bd63fd9b9 index: stop exposing ecdsa 2015-06-23 16:17:45 +10:00
Daniel Cousens
73d8128f0f ecdsa: always enforce types in ecdsa 2015-06-23 16:11:34 +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
f64df79555 *: adhere to standard 3 2015-05-21 00:46:36 +10:00
Daniel Cousens
7b0060d4a5 Merge pull request #400 from bitcoinjs/hashfor
Add non SIGHASH_ALL flag support
2015-05-03 19:24:46 +10:00
Daniel Cousens
4c030be343 ecdsa: remove unused verifyRaw 2015-04-28 16:51:20 +10:00
Daniel Cousens
a221bd142c ecdsa: split steps up further as per sec1-v2.pdf 2015-04-28 16:51:20 +10:00
Daniel Cousens
4f8c7f4348 ecdsa: 1.6.1 moved to relevant section 2015-04-28 16:51:20 +10:00
Daniel Cousens
e073ee3d46 ecdsa: avoid 2-line if statements 2015-04-28 16:51:20 +10:00
Daniel Cousens
5d36135c91 transaction: s/txout/txOut/ 2015-04-28 11:08:23 +10:00
Daniel Cousens
833bf9fa86 transaction: add SIGHASH_* implementations 2015-04-28 11:04:06 +10: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
5fee511ff5 rm ECKey/ECPubKey 2015-04-09 15:29:05 +10:00
Daniel Cousens
e106d02731 standard formatting fixes 2015-03-19 14:06:36 +11:00
Daniel Cousens
4c8b0f38ea replace ECKey/ECPubKey with ECPair 2015-03-19 13:33:28 +11:00
Daniel Cousens
31832293dd ECPair: lazily calculate Q 2015-03-19 13:33:28 +11:00
Daniel Cousens
7559ee880d add ECPair module 2015-03-19 13:33:28 +11:00
Daniel Cousens
b5c42303ff crypto: use packages directly 2015-03-17 12:31:53 +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
01036ee294 Merge pull request #380 from bitcoinjs/magic
Magic constants
2015-03-17 08:01:49 +11:00
Daniel Cousens
0e0a12da27 txbuilder: fix #374 null inputs 2015-03-16 13:53:28 +11:00
Daniel Cousens
063b036988 networks: remove magicPrefix double up 2015-03-16 11:34:51 +11:00
Daniel Cousens
fc8dd65c0e networks: name e variable in loop 2015-03-16 11:34:51 +11:00
Daniel Cousens
1079bf95c1 message: use messagePrefix naming over magicPrefix 2015-03-16 11:34:51 +11:00
Daniel Cousens
607b3b7983 networks: use byteLength over toBuffer 2015-03-16 11:34:51 +11:00
Daniel Cousens
9cda36fc76 Transaction: extract byteLength calculation to prototype method 2015-03-16 11:34:51 +11:00
Daniel Cousens
c3a39444e3 networks: extract estimateFee as a bind 2015-03-16 11:34:51 +11:00
Daniel Cousens
6a551d9e1e networks: s/magicPrefix/messagePrefix, adds magic constant 2015-03-16 11:34:51 +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
7a469f6620 Merge pull request #372 from bitcoinjs/op0fix
TransactionBuilder multisig OP_0 fix
2015-03-05 18:46:16 +11:00
Daniel Cousens
b6622b4cff script: return malformed script if returned pushDataOut out of range 2015-03-04 21:28:48 +11:00
Daniel Cousens
d00ec9af29 scripts: fix isScriptHashInput classification 2015-03-04 21:00:07 +11:00
Daniel Cousens
ec66ca9b1a bufferutils/script: allow for invalid pushDatInts, fixes #367 2015-03-04 20:48:28 +11:00
Daniel Cousens
bcf8d0177d TxBuilder: fix OP_0 in buildComplete 2015-03-03 10:04:24 +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
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
5beee20038 bufferutils: add equal 2015-03-02 17:32:20 +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
bdb372da7d rename Message to message 2015-03-02 14:09:19 +11:00
Daniel Cousens
5f8484645d remove base58check
Use bs58check package solely from here on.
2015-03-02 14:02:47 +11:00
Daniel Cousens
0bba21546f various: more standard-format artifact fixes 2015-03-02 13:50:49 +11:00
Daniel Cousens
8aa4f9ecc9 ecdsa/ecpubkey: rectify #364 artifacts 2015-03-02 13:25:09 +11:00
Daniel Cousens
399803affa use standardjs formatting 2015-02-24 12:45:38 +11:00
Daniel Cousens
9daf937e93 tests: add API consistency and tests for #366 2015-02-24 12:23:31 +11:00
Daniel Cousens
49050f9d26 Merge pull request #366 from Sjors/hdnode
Allow constructing HDNode from an ECPubKey.
2015-02-24 12:15:47 +11:00
Daniel Cousens
1da8297f3c Merge pull request #363 from bitcoinjs/coinbase
Coinbase Transaction parsing
2015-02-23 09:10:48 +11:00
Sjors Provoost
8a38a24b9f Allow constructing HDNode from an ECPubKey. 2015-02-20 17:25:44 -05:00
Daniel Cousens
50dab3b6bf block: use Transaction.fromBuffer 2015-02-19 18:59:56 +11:00
Daniel Cousens
23bae5748e Transaction: fix coinbase script handling 2015-02-19 12:51:25 +11:00
Daniel Cousens
dc253bb77c Transaction: extract Script size calculations 2015-02-19 12:32:05 +11:00
Daniel Cousens
49345748bb Transaction: add isCoinbaseHash static method 2015-02-19 12:15:27 +11:00
Daniel Cousens
f13650544b Transaction: add internal flag to disable size assertion 2015-02-19 12:03:43 +11:00
Daniel Cousens
c9826221fb scripts: catch error in Script.fromBuffer 2015-02-16 02:39:57 +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
5f761113cc tests: if description undefined, use exception 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
f8b9a5f2c3 Merge pull request #356 from bitcoinjs/htenforce
ECSignature: enforce valid hashType in toScriptSignature
2015-02-13 12:00:21 +11:00
Daniel Cousens
18fb33d433 Merge pull request #354 from bitcoinjs/wipscript
scripts: add allowIncomplete for multisig scripts
2015-02-13 11:48:56 +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
c13f1df9bf doc: no section headers 2015-02-05 16:29:37 +11:00
Daniel Cousens
a529b3fa0b TxBuilder: copy version/locktime in fromTransaction 2015-01-23 16:35:09 +11:00
Daniel Cousens
59143a9c85 ecdsa: clarify why typeForce call is disabled until 2.0.0 2015-01-09 09:10:18 +11:00
Daniel Cousens
6938c8f8cc ecdsa: add default checkSig, to be removed in 2.0.0 2015-01-06 15:12:34 +11:00
Daniel Cousens
e9778ae358 ecdsa: fixes edge case presented in #336 2015-01-04 12:46:37 +11:00
Daniel Cousens
4c61380fa5 ecdsa: add comment for Step A 2015-01-04 12:29:01 +11:00
Daniel Cousens
0524ced984 scripts: enforce pubKeys as type ECPubKey 2014-12-23 15:30:16 +11:00
Daniel Cousens
e42c497a3c package: use typeforce 2014-12-23 15:08:20 +11:00
Bez Reyhan
044c53bcad transaction.addInput checks if sequence is NULL 2014-12-15 18:58:08 -08:00
Daniel Cousens
a66773b5f5 tests/integration: add HDNode private key recovery example 2014-12-08 12:02:58 +11:00
Daniel Cousens
7ef134436e ecdsa/HDNode: use node crypto for Hmacs 2014-12-08 11:24:16 +11:00
Daniel Cousens
f3ddc508f1 crypto: add deprecation warnings 2014-12-08 11:13:42 +11:00
Daniel Cousens
083e8fa630 index: expose Block 2014-12-02 15:15:58 +11:00
Daniel Cousens
6ed8e15b63 transaction/builder: s/txin/txIn/g 2014-12-02 14:21:13 +11:00
Daniel Cousens
b6017b0fae HDNode: move isPrivate logic 2014-12-01 10:46:49 +11:00
Daniel Cousens
311df7e406 HDNode: add optional network flag to import functions 2014-12-01 10:46:48 +11:00
Wei Lu
b1cb56ce00 Merge pull request #322 from bitcoinjs/scriptexp
Script Is* functions
2014-11-30 13:38:15 +08:00
Daniel Cousens
a8459818e3 HDNode: avoid walking bip32 object 2014-11-29 11:31:34 +11:00
Daniel Cousens
4fe0b34f27 Address: no need to check other script types 2014-11-28 13:54:42 +11:00
Daniel Cousens
f8f459dda8 scripts: add dataOutput deprecation 2014-11-28 13:51:46 +11:00
Daniel Cousens
e4eb743cf9 scripts: expose is* classifiers 2014-11-28 13:51:45 +11:00
Daniel Cousens
62e86e0dc1 scripts: s/dataOutput/nullDataOutput/ 2014-11-28 13:39:00 +11:00
Daniel Cousens
b6b5b568c3 block: re-order functions to project standard 2014-11-28 10:36:04 +11:00
Daniel Cousens
9897fa2876 block: adds getUTCDate function 2014-11-28 10:35:59 +11:00
Daniel Cousens
2214ccfdd8 bufferutils: add varIntBuffer 2014-11-28 10:35:53 +11:00
Daniel Cousens
c0c47f076a add block.js and tests 2014-11-28 10:35:53 +11:00
Daniel Cousens
c00be27192 networks: prioritize bitcoin/testnet 2014-11-27 16:30:51 +11:00
Daniel Cousens
78d26c2e26 Wallet: add 2.0.0 deprecation message 2014-11-25 14:57:51 +11:00
Julian Yap
5ee3203473 Add Jumbucks support 2014-11-16 02:29:55 -10:00
Daniel Cousens
5b6249e6f9 Merge pull request #310 from johngame/master
Added Gamerscoin Support
2014-11-10 18:54:30 +11:00
Wei Lu
787215e5da Merge pull request #309 from bitcoinjs/txstring
Transaction function re-order
2014-11-09 10:03:06 +08:00
Jonygame
4283fc26f8 Added Gamerscoin Support 2014-10-24 19:30:38 +02:00
Daniel Cousens
a3a4d2a0d9 Transaction: re-order functions for consistency 2014-10-24 13:58:32 +11:00
Daniel Cousens
ea66edeb5c scripts: add dataOutput convenience function 2014-10-19 12:30:21 +11:00
Daniel Cousens
2234e496d1 Transaction: simplify fromBuffer verbosity 2014-10-17 14:16:07 +11:00
Daniel Cousens
062540e3d9 Transaction: optional script for addInput 2014-10-17 14:16:07 +11:00
Daniel Cousens
9510af10e3 EC*Key: add .curve static property for public API 2014-10-16 01:25:39 +11:00
Daniel Cousens
27a3230662 base58check: fix wrapper and tests 2014-10-15 22:36:10 +11:00
Daniel Cousens
7f5b4b791b index: fix base58check path 2014-10-15 22:10:46 +11:00
Daniel Cousens
395ef6ed85 base58check: add deprecation warnings 2014-10-15 19:42:05 +11:00
Daniel Cousens
307ceb9026 HDNode: use === over == 2014-10-15 19:08:39 +11:00
Daniel Cousens
ef1eb04905 HDNode: move var declaration out of branches 2014-10-15 19:07:22 +11:00
Daniel Cousens
561f52b207 index: re-expose base58check until 2.0.0 2014-10-15 18:04:57 +11:00
Daniel Cousens
ddb24ee615 scripts: check chunks length properly 2014-10-14 16:59:26 +11:00
Daniel Cousens
b65e70b29c scripts: remove explict else branch 2014-10-14 16:59:26 +11:00
Daniel Cousens
1a20c0db39 scripts: avoid unnecessary this context 2014-10-14 16:59:26 +11:00
Daniel Cousens
b7febc1bd8 scripts: re-order classify functions 2014-10-14 16:59:26 +11:00
Daniel Cousens
407d15869a scripts: s/opcodes/ops 2014-10-14 16:59:26 +11:00
Daniel Cousens
bc2048dfca scripts: remove out-of-date comments 2014-10-14 16:59:26 +11:00
Daniel Cousens
7e897a5105 Merge pull request #289 from weilu/loose-instanceof
loose instanceof: check constructor function name instead
2014-10-13 12:07:31 +11:00
Daniel Cousens
10630873eb tests: add tests for ecdsa.verify 2014-10-11 13:47:32 +11:00
Daniel Cousens
98bc1685b3 message: remove unnecessary verbosity 2014-10-10 19:24:16 +11:00
Daniel Cousens
1b57f0871d message: remove duplicate require 2014-10-10 19:23:42 +11:00
Wei Lu
b55b10c6b6 types: replace Function.name with an IE compatible alternative 2014-10-08 09:26:45 -07:00
Wei Lu
eb4e8884d9 loose instanceof: check constructor function name instead 2014-10-07 00:23:53 -07:00
Daniel Cousens
967e724b47 types: remove JSPerf references 2014-10-07 16:57:49 +11:00