Daniel Cousens
abd27dd2be
TxBuilder: disable Address object as valid input
2015-07-24 12:18:00 +10:00
Daniel Cousens
e9193df290
message: cease accepting an Address object
2015-07-24 12:18:00 +10:00
Daniel Cousens
588b346f5d
ECPair: cease using Address for address encoding
2015-07-24 12:18:00 +10:00
Daniel Cousens
5ce093739e
TxBuilder: clarify comment about coin base script support
2015-07-20 16:30:55 +10:00
Daniel Cousens
5021714a85
ECSignature: verbose comments are overly verbose, see BIP if necessary
2015-07-07 18:04:52 +10:00
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
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
Daniel Cousens
3b988a0872
convert: use Buffer internally and remove unused functions
2014-06-04 15:46:40 +10:00
Daniel Cousens
8433d73d06
convert: use Buffers and add more tests
2014-06-04 15:46:40 +10:00
Daniel Cousens
f5005299d1
JSHint: remove defined but never used
2014-06-04 15:46:24 +10:00
Daniel Cousens
e735a9182b
ec: use x1/x2, y1/y2 variables
...
No logic change, just using the variables that are defined instead of
repeating code.
2014-06-04 15:46:24 +10:00
Daniel Cousens
28dc390377
EC/Key: use network object consistently
2014-06-04 15:23:40 +10:00
Daniel Cousens
d39662e375
Base58check: no longer encodes version separately
2014-06-04 15:23:37 +10:00
Wei Lu
63e6cf987f
Merge pull request #203 from dcousens/hdwallettests
...
HDWallet tests and strict constructor
2014-06-04 13:05:15 +08:00
Daniel Cousens
ee04826464
HDNode: clearer branch comments
2014-06-04 14:47:39 +10:00
Daniel Cousens
56a88b8a70
HDNode: shorten comment for Q validation
2014-06-04 14:36:19 +10:00
Daniel Cousens
22f1dee65b
HDNode: remove unnecessary slice operation
2014-06-04 14:36:06 +10:00
Daniel Cousens
15cc03a57f
HDNode: removed unused variable
2014-06-04 13:57:44 +10:00
Daniel Cousens
9f798ef2c3
HDWallet: adds missing hd declaration
...
Only a problem if "use strict" is enforced
2014-06-03 21:02:18 +10:00
Daniel Cousens
6a73bc02f5
HDNode: rename priv/pub to privKey/pubKey
2014-06-03 19:54:58 +10:00
Daniel Cousens
64e307b13f
HDWallet: rename to HDNode
2014-06-03 17:08:42 +10:00
Daniel Cousens
c340f5cf83
HDWallet: now export all information by default
2014-06-03 17:04:05 +10:00
Daniel Cousens
48503f252c
HDWallet: move toBase58
2014-06-03 17:04:05 +10:00
Daniel Cousens
dca284a131
HDWallet: rename derivePrivate to deriveHardened
2014-06-03 17:04:05 +10:00
Daniel Cousens
91b8833e52
HDWallet: rename local priv to isPrivate
2014-06-03 16:10:13 +10:00
Wei Lu
c76d3cef37
Merge pull request #202 from dcousens/ecneg
...
ECKey -D test and light cleanup
2014-06-03 13:38:25 +08:00
Daniel Cousens
4cec42a8d8
HDWallet: add to/fromHex tests
2014-06-01 16:42:54 +10:00
Daniel Cousens
3f24e87c54
HDWallet: more explicit branch for parentFingerprint
2014-06-01 16:07:22 +10:00
Daniel Cousens
e8e862f632
HDWallet: adds PubKey validation
2014-05-31 20:40:57 +10:00
Daniel Cousens
708e27aa2d
HDWallet: extract BIP32 params search function
2014-05-31 20:40:57 +10:00
Daniel Cousens
759aeb9abc
HDWallet: remove repeated assertion
2014-05-31 20:40:57 +10:00
Daniel Cousens
c0006c299f
HDWallet: use new constructor
2014-05-31 20:40:57 +10:00
Daniel Cousens
ac9e259fcd
HDWallet: remove getKeyVersion
2014-05-31 18:53:39 +10:00
Daniel Cousens
02f5fceda7
HDWallet: remove unused imports
2014-05-31 18:53:11 +10:00
Daniel Cousens
77d4325d4b
base58: cleanup variable names
...
The encode/decode functions are also now similar syntactically.
2014-05-31 15:05:34 +10:00
Daniel Cousens
61c57adbf8
Address: Expected T, got PARAM for Buffer assertion
2014-05-31 15:05:33 +10:00
Daniel Cousens
2b2081bed9
base58check: buffers only, remove explicit 0
...
Undefined is treated as zero if it ever gets to this point anyway, so no
value is added by having this default param here.
A test fixture to verify this behaviour is added.
2014-05-31 15:05:33 +10:00
Daniel Cousens
baec325e6f
base58: use signum over compareTo
2014-05-31 15:05:33 +10:00
Daniel Cousens
5f88cb8931
ECKey: use signum over compareTo
2014-05-31 15:05:33 +10:00
Daniel Cousens
3bce535e36
Wallet: use assert for consistency
2014-05-31 14:28:16 +10:00
Daniel Cousens
b9bdf21cbe
bufferutils: use verifuint for 64 bit integers
...
Taken from browserify-buffer.
Also adds a few more tests to assert this is working correctly from both
read and write perspectives.
The assertion in for writePushDataInt in the 32 bit case was
unnecessary as that is handled by buffer.writeUInt32LE anyway.
2014-05-31 14:24:43 +10:00
Daniel Cousens
80da2ed2d5
HDWallet: add fromBase58 exception checks
2014-05-30 19:01:03 +10:00
Daniel Cousens
cde285ccfc
Wallet: enforce operator new
2014-05-30 19:01:03 +10:00
Daniel Cousens
4952c5f4e7
HD/Wallet: use network objects, not strings
2014-05-30 19:01:02 +10:00
Daniel Cousens
2df790e2ab
Wallet: remove use of hashLittleEndian
2014-05-30 18:17:32 +10:00
Daniel Cousens
4afdbc9f68
Wallet: use dustThreshold directly
...
The definition of a dust amount is pretty clear, and I feel it is less
readable when represented as isDust(amount) or !isDust(amount), by
comparison to amount <= dustThreshold or amount > dustThreshold.
Also means I don't have to stray my eyes to understand the
implemention by looking up isDust does.
2014-05-30 18:17:32 +10:00
Daniel Cousens
bd3690bdc0
Wallet: remove async interface
2014-05-30 18:17:32 +10:00
Daniel Cousens
50e9a09a8c
Wallet: cleanup createTx control flow
...
Unknowingly this also revealed a subtle bug in the previous
implementation which allowed the creation of transactions even
when no UTXOs existed.
2014-05-30 18:17:18 +10:00
Daniel Cousens
b10e96cbff
ecdsa: serializeSig should return a Buffer
2014-05-30 17:54:33 +10:00
Daniel Cousens
7e9b5d8584
bufferutils: return opcode for use
2014-05-30 17:54:33 +10:00
Daniel Cousens
6f3d829be0
all: Expected T, got PARAM
2014-05-29 16:09:47 +10:00
Daniel Cousens
2f44628604
Transaction: refactor hashForSignature
...
Adds asserts to ensure only valid hashes are created (until the
implementation is complete).
Also uses `Script.without` to remove OP_CODESEPARATOR from the Scripts
as required by the protocol.
2014-05-29 16:06:19 +10:00
Daniel Cousens
7d94d1b068
Script: add fromChunks and without
2014-05-29 16:06:19 +10:00
Daniel Cousens
d18f2dba00
bufferutils: add PUSHDATA implementation
2014-05-29 16:06:19 +10:00
Daniel Cousens
54950c9abb
Transaction: fix SIGHASH_* constant values
2014-05-29 16:06:19 +10:00
Daniel Cousens
db814439a3
Transaction: extract DEFAULT_SEQUENCE constant
...
Also fixes the bug when the sequence number is 0 and
`TransactionIn.defaultSequence` is used; resulting in an undefined
sequence number as it is undefined.
2014-05-29 16:06:19 +10:00
Daniel Cousens
7494a146a6
ECKey: fix exception tests
...
These weren't broken as such, but they weren't distinctly checking that
the right exception was thrown either.
2014-05-29 16:01:04 +10:00
Daniel Cousens
6cfa729dae
ecdsa: fix missing exceptions
2014-05-29 15:42:52 +10:00
Daniel Cousens
2fc69b0834
address/base58check: fix missing exceptions/tests
...
All the `invalid2` tests have been removed as they were not invalid
base58check. They were actually valid in some cases.
They will be re-integrated in more specific bitcoin core tests in
relation to Address/ECKey respectively.
2014-05-29 14:43:44 +10:00
Daniel Cousens
47ae862ae9
base58: fix missing exceptions
2014-05-29 14:43:29 +10:00
John Russell
343289229e
ensures that pubKey length is greater than m
...
ensure that pubKey length is greater than m
use Array.isArray over instanceof
error message
2014-05-28 01:48:17 -07:00
Daniel Cousens
8514bbfabd
Address: remove Address.Error
...
By removing Address.Error, we remove a code smell.
This part of the code base was also not under any form of test.
Test data and tests have therefore been added verifying its behaviour in
both Wallet and Address tests.
2014-05-28 13:17:07 +10:00
Kyle Drake
33e5883be1
sec: remove untested alt curves not used by bitcoin
2014-05-25 14:30:34 +10:00
Kyle Drake
600209b1a6
hdwallet: remove fromHex, add better tests for edge cases
2014-05-25 12:26:29 +10:00
Kyle Drake
dd3e171212
Merge pull request #188 from dcousens/ecsig
...
ecdsa: always use signature object
2014-05-25 11:57:09 +10:00
Daniel Cousens
08951be66f
Script: add createPubKeyScriptPubKey
2014-05-25 10:21:06 +10:00
Kyle Drake
f545ed1279
remove crypto hash transition code
2014-05-25 09:46:06 +10:00
Daniel Cousens
c17c6f9291
Merge pull request #192 from coinpunk/eccleanup
...
Cleanup some unused ec.js code
2014-05-24 20:09:48 +10:00
Daniel Cousens
58fd12e66d
ecdsa: always use signature object
2014-05-24 16:25:38 +10:00
Daniel Cousens
bd1a08bfa1
ecdsa: use signum() over compareTo
2014-05-24 14:33:25 +10:00
Kyle Drake
bc062fbdce
cleanup some unused ec.js code
2014-05-24 13:33:23 +10:00
Daniel Cousens
aca565239a
ECKey: remove unnecessary slice
2014-05-24 00:51:56 +10:00
Daniel Cousens
cd326921bc
bigi: upgrade to 1.1.0
2014-05-24 00:51:56 +10:00
Daniel Cousens
1087ac07de
sec: fix formatting
2014-05-24 00:51:56 +10:00
Daniel Cousens
b8858c0bc9
sec: use BigInteger.fromHex directly
2014-05-24 00:51:56 +10:00
Daniel Cousens
da48c988f6
sec: use a hashtable for lookup
2014-05-24 00:51:56 +10:00
Daniel Cousens
087ca551f5
ecdsa: fix indentation
2014-05-24 00:48:31 +10:00
Daniel Cousens
d05d661aea
ecdsa: use standard declarative notation for functions
2014-05-24 00:48:31 +10:00
Daniel Cousens
bcfd62fdb5
ecdsa: remove implicit ecparams
2014-05-24 00:48:31 +10:00
Daniel Cousens
2dec1375a1
ecdsa: use (r, s) values directly
2014-05-24 00:48:31 +10:00