Commit graph

805 commits

Author SHA1 Message Date
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
Daniel Cousens
01a96e887c types: use the idiomatic equivalents 2014-10-07 16:50:37 +11:00
Daniel Cousens
deaf06b350 Wallet: use enforceType where applicable 2014-10-05 15:43:14 +11:00
Daniel Cousens
35542e115d types: enforce consistent type checking 2014-10-05 15:36:25 +11:00
wmcbain
de1755307a Added Zetacoin support
Added support for zetacoin
2014-09-25 07:45:54 -04:00
Wei Lu
6cd8fc3fe0 Merge pull request #282 from dcousens/nobuff
Deprecate Buffer interop in preparation for 2.0.0
2014-09-22 20:50:49 +08:00
Daniel Cousens
a58088795f HDNode: indicate 2.x.y removal of Buffer interop 2014-09-20 11:38:18 +10:00
Daniel Cousens
c96b862530 crypto: remove cryptojs 2014-09-20 11:00:34 +10:00
Daniel Cousens
f028dfffa9 Wallet: fix missing variable utxo 2014-09-08 23:15:53 +10:00
Daniel Cousens
4e04a7e883 Transaction: use isFinite over Number.isFinite 2014-09-08 23:15:53 +10:00
Daniel Cousens
6c5a68207a Transaction: use isFinite instead over typeof number 2014-09-08 18:42:47 +10:00
BtcDrak
c41c3bb62d Add viacoin support 2014-09-06 17:59:13 +01:00
Wei Lu
cc98600154 Merge pull request #262 from dcousens/wallref
processTx considered harmful followup
2014-09-06 22:25:43 +08:00
Daniel Cousens
1d0fd3e9a4 TxBuilder: add more failing cases and error handling 2014-08-31 14:43:35 +10:00
Daniel Cousens
e1479b6fa5 scripts: add error for >n signatures with multisig 2014-08-30 13:13:12 +10:00
Daniel Cousens
8d5ef2dd06 TxBuilder: limit signatures depending on scriptType 2014-08-30 13:13:12 +10:00
Daniel Cousens
b3438c5ef2 Transaction: throw if sequence is not a number 2014-08-30 12:51:29 +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
b727a65ea0 Wallet: refactor to use Array unspents solely, deprecating unspentsMap 2014-08-27 12:37:13 +10:00
Daniel Cousens
06f13db8d7 Wallet: rename outputs to unspentsMap 2014-08-27 12:37:13 +10:00
Daniel Cousens
d24fdef585 Wallet: consistent variable naming 2014-08-27 12:37:13 +10:00
Daniel Cousens
02e71e430c Wallet: revert 2f00c9a 2014-08-27 12:37:13 +10:00
Daniel Cousens
71d4c78b88 bufferutils: add Buffer reverse 2014-08-27 12:37:11 +10:00
Daniel Cousens
33955a7fb5 Wallet: store txHash, vout separately instead of "from: txid:vout" 2014-08-26 18:37:44 +10:00
Daniel Cousens
735feab7ba Wallet: remove txId:index storage for spent outputs 2014-08-26 18:37:43 +10:00
Wei Lu
43d135c4b3 Merge pull request #266 from dcousens/mesb64
Message: allow base64 strings as input
2014-08-21 19:35:09 +08:00
Daniel Cousens
b66e53d1e7 Transaction: add comment to explain -1 on add* 2014-08-20 10:41:23 +10:00
Daniel Cousens
4b52c42c91 Message: allow base64 strings as input 2014-08-20 09:14:04 +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
418a56cbdc index: add TransactionBuilder 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
26b028adcf Wallet: use TxBuilder instead 2014-08-18 08:54:45 +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
Daniel Cousens
884fd542fe Transaction: deprecate Tx signing methods 2014-08-16 17:36:06 +10:00
Daniel Cousens
897bbf4eb4 Wallet: assign indexOf in the same step 2014-08-16 17:26:27 +10:00
Daniel Cousens
9620b68fe2 Wallet: use __processTx over a free function
The use of bind in this case wasn't idiomatic.
2014-08-16 17:26:27 +10:00
Daniel Cousens
300facf7aa Wallet: use === when comparing with undefined 2014-08-16 17:26:27 +10:00
Daniel Cousens
4bb7f5b56d Wallet: use indexOf explicitly over include* 2014-08-16 17:26:27 +10:00
Wei Lu
e55676cf8e Wallet: remove unncessary comments 2014-08-16 14:27:12 +08:00
Wei Lu
00d58604a4 Wallet: move getPrivateKeyForAddress to prototype
also, move the assert to the end to simplify the logic
2014-08-16 14:24:24 +08:00
Wei Lu
2b4d94cd92 Wallet: move processPendingTx & processConfirmedTx to prototype
also, move processTx out of Wallet scope
2014-08-16 14:19:19 +08:00
Daniel Cousens
c13177bb29 Wallet: rename masterkey to masterKey 2014-08-14 17:29:14 +10:00
Daniel Cousens
6df785bb65 Wallet: move createTx to prototype 2014-08-14 11:17:12 +10:00
Daniel Cousens
7fd41fae4a Wallet: move most instance methods to prototype 2014-08-14 11:17:12 +10:00
Daniel Cousens
2f00c9ab35 Wallet: rework unspents to primarily work on initialization
The RegExp for the UTXO validation was removed as the errors are now
more verbose and specific to each case.
2014-08-14 11:17:10 +10:00
Daniel Cousens
7c22067f69 Wallet: clarify getPrivateKeyForAddress method structure
This does repeat the O(n) lookup several times, but that can be fixed by
using an O(1) lookup instead (and will be later).

Clarity first.
2014-08-14 11:00:29 +10:00
Daniel Cousens
abc3e6c715 Wallet: move estimatePaddedTxFee out of Wallet scope 2014-08-14 11:00:29 +10:00
Daniel Cousens
8b3470e8ca Wallet: move all free functions out of Wallet scope 2014-08-14 11:00:29 +10:00
Daniel Cousens
d618aa9822 Wallet: deprecates newMasterKey 2014-08-14 11:00:18 +10:00
Daniel Cousens
6b429493f8 hdnode: add deprecation message for isPrivate 2014-07-30 18:04:25 +10:00
Daniel Cousens
9d92b6a1a8 HDNode: add neuter functionality 2014-07-30 17:57:09 +10:00
Daniel Cousens
e69ba7ce76 HDNode: assert chain code length 2014-07-30 17:57:09 +10:00
Daniel Cousens
8297e1b0fc ecdsa: add further (missing) annotations from 1.4.x 2014-07-30 15:10:38 +10:00
Daniel Cousens
804c542c40 ecdsa: add SEC annotations for verify 2014-07-30 15:04:45 +10:00
Daniel Cousens
be3ce88a3a ecdsa: enforce positive integers 2014-07-29 23:45:25 +10:00
Daniel Cousens
04bcbadc77 transaction/ecdsa: remove unused imports 2014-07-29 02:06:17 +10:00
Daniel Cousens
8e0c835919 package: use crypto-browserify 3.0.0 2014-07-28 13:51:30 +10:00
Daniel Cousens
c2e7840c4f Transaction: adds assert for invalid value type 2014-07-16 17:53:38 +10:00
Daniel Cousens
d168bbda43 HDNode: missing space in assertion message 2014-07-15 17:42:04 +10:00
Daniel Cousens
a90a8e061e Transaction: add assertion that scriptPubKey exists 2014-07-11 19:18:27 +10:00
Daniel Cousens
56d9ea6618 HDNode: fix error spelling 2014-07-11 19:15:56 +10:00
Daniel Cousens
ddcde038d0 HDNode: enforces sane seed lengths 2014-07-11 16:34:03 +10:00
Daniel Cousens
656de37fc0 ECSignature: avoid multiple push/unshift operations 2014-07-10 14:22:33 +10:00
Daniel Cousens
13c2d377e7 package: use bs58check 2014-07-02 14:37:32 +10:00
Daniel Cousens
ab20febbdc Merge pull request #233 from weilu/pending-spending-utxo
wallet: reintroduce output.to to track pending spent utxo
2014-07-02 03:27:33 +10:00
Wei Lu
d9e240bbb1 Merge pull request #224 from dcousens/classify
Script classification fixes
2014-06-29 12:05:39 -07:00
Daniel Cousens
886bdee947 scripts: remove unused 2nd argument in function call 2014-06-30 01:06:43 +10:00
Wei Lu
f7af487597 wallet: reintroduce output.to to track pending spent utxo 2014-06-28 18:29:47 -07:00
Kyle Drake
df743e55d0 Merge pull request #223 from dcousens/rand
ECKey: adds tests for makeRandom
2014-06-26 19:48:15 -04:00
Kyle Drake
6596ca1ec8 Merge pull request #228 from dcousens/b58
BS58 module
2014-06-26 18:26:54 -04:00
Daniel Cousens
f0370ef46f crypto: use latest crypto-browserify 2014-06-26 19:26:54 +10:00
Daniel Cousens
9d2784a441 crypto: add RIPEMD160 tests 2014-06-26 19:26:21 +10:00
Daniel Cousens
ea9c8251a0 use cryptocoinjs/bs58 2014-06-26 18:47:13 +10:00
Daniel Cousens
759bba5c21 scripts: add falsy classifications and fix multisig 2014-06-26 16:22:29 +10:00
Daniel Cousens
89f0324cd7 ECKey: adds tests for makeRandom 2014-06-26 13:35:52 +10:00
Daniel Cousens
ab55417d6d ecdsa: fix interval comment
Actual range as per the RFC is [1, q - 1], the code adheres to this.
2014-06-26 01:50:52 +10:00
Daniel Cousens
08876fc065 ecdsa: ecurve 0.10.0 2014-06-26 00:52:33 +10:00
Daniel Cousens
776656df8b ecdsa: adhere strictly to RFC6979
The previous impl. was in breach of the following section:

> Please note that when k is generated from T, the result of bits2int is
> compared to q, not reduced modulo q. If the value is not between 1 and
> q-1, the process loops.
> Performing a simple modular reduction would induce biases that would be
> detrimental to signature security.
2014-06-26 00:35:45 +10:00
Daniel Cousens
13d41f67e9 Script: adds toASM/fromASM 2014-06-25 15:44:15 +10:00
Daniel Cousens
7e85515e37 opcodes: prefer OP_0 2014-06-25 15:42:16 +10:00
Daniel Cousens
8b1e2c5e1e scripts: recursive scriptHash no longer problematic 2014-06-24 17:47:56 +10:00
Daniel Cousens
daa2cb7daa scripts: fix classification logic 2014-06-24 17:32:23 +10:00
Kyle Drake
d93623e2b1 Merge pull request #220 from dcousens/canonical
ECSignature: fixes for canonical signatures
2014-06-21 22:49:44 -04:00
Daniel Cousens
63ce1fdfb2 ECSignature: add missing tests for R,S length 2014-06-22 01:19:19 +10:00
Daniel Cousens
a5a9a96ba2 ECSignature: compress assertion statement 2014-06-22 01:11:49 +10:00