Commit graph

1025 commits

Author SHA1 Message Date
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
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
Wei Lu
82b1d8fbdc wallet: do not delete pending incoming tx from outputs 2014-06-21 19:21:26 +08:00
Daniel Cousens
53595784e1 ECSignature: fixes for canonical signatures 2014-06-20 15:52:04 +10:00
Wei Lu
79a17d67ec wallet: do not overestimate fees when network has dustSoftThreshold 2014-06-18 21:16:17 +08:00
Wei Lu
7e31668b69 wallet: rename utxo.receive to utxo.from 2014-06-18 14:34:53 +08:00
Wei Lu
7e98123ccd wallet.getUnspentOutputs includes the pending field 2014-06-18 14:29:02 +08:00
Daniel Cousens
77b68a52a6 network: testnet should use testnet 2014-06-18 01:39:08 +10:00
Wei Lu
c4285d9da2 Network specific constants reference the latest tags 2014-06-17 22:48:35 +08:00
Wei Lu
bc3e0770f9 Add fee estimation functions for dogecoin and litecoin 2014-06-17 22:46:18 +08:00
Wei Lu
122b613eaf Move fee estimation into networks.js 2014-06-17 22:43:32 +08:00
Wei Lu
79ec61d085 Fix bitcoin dustThreshold and feePerKb values 2014-06-17 22:41:14 +08:00
Wei Lu
45a72416c9 wallet: Move dust and fee per kb into networks.js 2014-06-17 22:38:03 +08:00
Wei Lu
562a492079 Merge pull request #214 from dcousens/txtests
Transaction tests
2014-06-17 22:22:49 +08:00
Daniel Cousens
92da7975e4 Network: use capitalization 2014-06-17 21:08:28 +10:00
Daniel Cousens
8eaf44881a Transaction: improve hash length checking + tests 2014-06-17 20:18:39 +10:00
Daniel Cousens
d07cfccbc1 Transaction: move constants to Transaction 2014-06-17 12:26:14 +10:00
Daniel Cousens
4850570955 Transaction: remove untestable assert
Also changes the fromBuffer sanity test to use a clearer message that is
taken from the fixtures.
2014-06-17 12:24:35 +10:00
Daniel Cousens
1b1b550bd6 Transaction: add hash as addInput parameter 2014-06-17 12:23:27 +10:00
Daniel Cousens
0b17c2bc3d Transaction: re-adds getHash as a pure hash 2014-06-17 12:22:13 +10:00
Daniel Cousens
6c9f95c253 Transaction: add sequence parameter to addInput 2014-06-17 12:21:09 +10:00
Daniel Cousens
1f0a54fb41 ECSignature: rename parsing functions to parse* 2014-06-17 00:26:16 +10:00
Daniel Cousens
f42993297c ecurve: upgrade to 0.9.0 2014-06-16 15:47:41 +10:00
Daniel Cousens
eb3d9a25f7 ecdsa: moved all signature encoding to ECSignature 2014-06-16 15:47:41 +10:00
Daniel Cousens
c5252fc509 Transaction: amend confusing exception message 2014-06-16 15:44:27 +10:00
Daniel Cousens
c0e5393595 Transaction: remove .outpoint object 2014-06-16 14:21:40 +10:00
Daniel Cousens
2a267b62e6 jshint: remove unused variables 2014-06-16 14:21:40 +10:00
Daniel Cousens
d8fdd50950 Transaction: remove TxIn/TxOut 2014-06-16 14:21:40 +10:00
Daniel Cousens
b5268465db Transaction: remove TxIn/TxOut clone 2014-06-16 14:21:39 +10:00
Daniel Cousens
a17208a549 Transaction: rename key to privKey and standardize type check 2014-06-16 14:21:39 +10:00
Daniel Cousens
d567463588 Transaction: remove estimateFee
This is a wallet abstraction.
2014-06-16 14:21:39 +10:00
Daniel Cousens
009fcb9b82 Transaction: now returns index of added input/output 2014-06-16 14:21:39 +10:00
Daniel Cousens
8e5fdb78a8 Transaction: rename type to hashType 2014-06-16 14:21:39 +10:00
Daniel Cousens
a2d581dec5 Transaction: rename script -> prevOutScript 2014-06-16 14:21:39 +10:00
Daniel Cousens
7f9711ef9b Transaction: restrict Transaction constructor 2014-06-16 14:21:39 +10:00
Daniel Cousens
f85792ba22 Transaction: remove address from txOut 2014-06-16 14:21:39 +10:00
Daniel Cousens
5551c38812 Transaction: use hash Buffer instead of hex string 2014-06-16 14:21:39 +10:00
Daniel Cousens
2f56e63491 Wallet: avoid transaction inspection when signing 2014-06-16 14:21:39 +10:00
Daniel Cousens
bdc7131d0e Transaction: renames getHash to getId
In turn also removes the inherent calculation of tx.hash after deserialization.
2014-06-16 14:21:39 +10:00
Daniel Cousens
867465a03f Transaction: support non-addressable output scripts 2014-06-16 14:21:38 +10:00
Daniel Cousens
5bd636cab7 Transaction: remove TxIn/TxOut from API 2014-06-16 14:21:38 +10:00
Daniel Cousens
a6b9dd9473 Transaction: remove hash:index notation 2014-06-16 14:21:38 +10:00
Daniel Cousens
1f2becbb45 Transaction: move all constants to top 2014-06-16 14:21:38 +10:00
Daniel Cousens
40f0c91162 Transaction: use TxIn/TxOut consistently 2014-06-16 14:21:38 +10:00
Daniel Cousens
8b5647b0b9 Transaction: remove TxIn/TxOut exports 2014-06-16 14:21:38 +10:00
Daniel Cousens
e49e1796d5 Transaction: remove untested TransactionIn constructor params 2014-06-15 00:40:28 +10:00
Daniel Cousens
1a41ea8801 ecdsa: add more extensive tests for recoverPubKey 2014-06-15 00:40:21 +10:00
Daniel Cousens
402fa0d85d ecdsa: amend recoverPubKey SEC comments 2014-06-15 00:40:21 +10:00
Daniel Cousens
4f8040f8d4 ecdsa: add invalid test fixtures for recoverPubKey 2014-06-15 00:40:21 +10:00
Daniel Cousens
8c5c0a13a6 Transaction: remove untested (and broken) functionality 2014-06-15 00:40:21 +10:00
Daniel Cousens
55ff383c7b Wallet: remove superfluous false parameter
This parameter is unnecessary.
The use of `false` causes the default parameter to be used instead; even though the absence of such would also cause said behaviour to occur.
2014-06-15 00:38:21 +10:00
Wei Lu
8e00eb6855 Merge branch 'scriptclean'
Conflicts:
	test/wallet.js
2014-06-14 10:31:19 +08:00
Daniel Cousens
553ade1208 network: always use lowercase 2014-06-14 00:39:25 +10:00
Daniel Cousens
b68b1d5da4 Script: fixes pubKeyInput and adds a test 2014-06-14 00:39:25 +10:00
Daniel Cousens
9d5d18b2d8 Scripts: adds assertion for enforcing a Script input 2014-06-13 16:40:03 +10:00
Daniel Cousens
7e5af52cd1 Transaction: mass rename from SPK/SS to Input/Output
I think it is important we maintain some reasoning that an Input script
is actually a script signature, but in the end, these names are more
coherent and understandable when reasoning with our code.  So I think
its OK we break tradition with bitcoind.
2014-06-13 11:36:31 +10:00
Daniel Cousens
5a96df1ec1 Script: stop jshint complaining about missing-assignment 2014-06-13 11:09:21 +10:00
Daniel Cousens
8929c51d98 Script: remove clone 2014-06-13 10:52:07 +10:00
Daniel Cousens
41c3b68293 templates: rename to scripts 2014-06-13 10:52:07 +10:00
Daniel Cousens
de1571647a Script: early exit in chunk.reduce 2014-06-13 10:52:07 +10:00
Daniel Cousens
be29f50457 Address: fix consistent casing 2014-06-13 10:52:07 +10:00
Daniel Cousens
00cec9ce64 Script: move all templates to templates.js 2014-06-13 10:52:07 +10:00
Daniel Cousens
91bb25c00c Script: re-order functions to project order
Removes Script.parseChunks and merges it into Script.fromBuffer
2014-06-13 10:52:04 +10:00
Daniel Cousens
3521584b3a Script: parseChunks now uses bufferutils 2014-06-13 10:49:54 +10:00
Daniel Cousens
005ca31fb3 Transaction: remove unnecessary clone 2014-06-13 10:49:54 +10:00
Daniel Cousens
323f0612d0 Transaction: remove unnecessary Buffer copy 2014-06-13 10:49:53 +10:00
Daniel Cousens
4e04eea436 Script: use fromChunks internally for all Script templates 2014-06-13 10:49:52 +10:00
Daniel Cousens
9a72c7437b Script: adds Script.EMPTY constant 2014-06-13 10:49:08 +10:00
Wei Lu
f53e35ed28 wallet: delete utxo instead of marking it as spend 2014-06-12 16:48:01 +08:00
Wei Lu
d265b53b03 wallet: processTx -> processConfirmedTx, processPendingTx 2014-06-12 16:47:46 +08:00
Wei Lu
e064e9d29d wallet.createTx ignores pending utxo 2014-06-12 13:11:28 +08:00
Wei Lu
660c95483d wallet.processTx accepts isPending flag and passes it on to output 2014-06-12 12:56:50 +08:00
Daniel Cousens
4ce9015f3b use ecurve instead of custom ec 2014-06-10 17:58:13 +10:00
Daniel Cousens
eb3a6bcb31 all: rename D to d as per SEC convention 2014-06-07 18:24:16 +10:00
Kyle Drake
6b55ab4d04 Merge pull request #189 from coinpunk/remove-untested-curves
Remove untested EC curves
2014-06-06 14:58:12 -07:00
Kyle Drake
9b5dfbd865 Merge pull request #206 from dcousens/base58rework
Base58 Check rework
2014-06-04 16:54:18 -07:00
Wei Lu
4d35d0cf08 Merge pull request #205 from dcousens/jshint
JSHint and fixes
2014-06-04 16:10:03 +08:00
Daniel Cousens
42e7197c46 ec: define on use 2014-06-04 16:20:51 +10:00
Daniel Cousens
dc3d9aec65 ec: compare strictly against null 2014-06-04 16:20:51 +10:00
Daniel Cousens
525b053e39 ec: remove semi-colons 2014-06-04 16:17:45 +10:00
Daniel Cousens
79c7b68d35 ec: white space fixes
It is advised to use ?w=0 in comparing this commit.
2014-06-04 16:04:34 +10:00
Daniel Cousens
27f9e7dc1e convert: remove reverseEndian 2014-06-04 15:46:40 +10:00