Daniel Cousens
ea66edeb5c
scripts: add dataOutput convenience function
2014-10-19 12:30:21 +11:00
Daniel Cousens
929d926774
tests: make use of the default behaviour
2014-10-17 14:22:51 +11:00
Daniel Cousens
062540e3d9
Transaction: optional script for addInput
2014-10-17 14:16:07 +11:00
Daniel Cousens
5d5dcd3d73
remove unused base58 fixtures
2014-10-17 13:24:47 +11:00
Daniel Cousens
9510af10e3
EC*Key: add .curve static property for public API
2014-10-16 01:25:39 +11:00
Daniel Cousens
cba6c7a7b2
tests: remove unused variable
2014-10-15 23:06:24 +11:00
Daniel Cousens
4854e4ad0a
tests: bitcoin core tests should act only the public API
2014-10-15 23:06:04 +11:00
Daniel Cousens
efcad25751
tests: amend base58check mock
2014-10-15 22:42:21 +11:00
Daniel Cousens
27a3230662
base58check: fix wrapper and tests
2014-10-15 22:36:10 +11:00
Daniel Cousens
395ef6ed85
base58check: add deprecation warnings
2014-10-15 19:42:05 +11:00
Daniel Cousens
ab57630f20
tests: add non-canonical signature test
2014-10-14 16:59:27 +11:00
Daniel Cousens
f6e340f64c
tests: add scriptHash redeemScript non-data fixture
2014-10-14 16:59:27 +11:00
Daniel Cousens
f9a5c47d95
tests: add OP_RETURN scripts fixture
2014-10-14 16:59:26 +11:00
Daniel Cousens
f3138dcb68
tests: test non-standard pathway for classifyInput
2014-10-14 16:59:26 +11:00
Daniel Cousens
27a99436df
tests: cover all multisigOutput branchs
2014-10-14 16:59:26 +11:00
Daniel Cousens
6dc3b4cc1e
tests: add unknown network HDNode version fixture
2014-10-13 17:58:25 +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
Wei Lu
eb4e8884d9
loose instanceof: check constructor function name instead
2014-10-07 00:23:53 -07:00
Daniel Cousens
0c380a063a
tests: add tests for types
2014-10-07 16:49:20 +11:00
Daniel Cousens
ed01ed5bb4
remove unused bs58 core dependency
2014-10-03 19:11:42 +10:00
Daniel Cousens
c96b862530
crypto: remove cryptojs
2014-09-20 11:00:34 +10:00
Daniel Cousens
0a232cdb9d
tests: sign test needs to trigger ecurve.Point side effects
2014-09-15 14:25:28 +10:00
Daniel Cousens
c3f8869386
tests: Wallet test was not comprehensive
2014-09-08 23:27:01 +10:00
Daniel Cousens
69dfd3204d
Wallet: add missing variable wallet
2014-09-08 23:21:16 +10: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
e5618bb8bd
TxBuilder: add test for missing redeemScript if P2SH
2014-08-30 12:52:05 +10:00
Daniel Cousens
1c744cfa5a
TxBuilder: add failing test for non-zero vin inputs
2014-08-30 12:09:31 +10:00
Daniel Cousens
6e1517482b
tests: avoid use of deprecated APIs
2014-08-27 12:37:13 +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
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
Daniel Cousens
0f9674e65f
tests: code formatting
2014-08-26 18:37:43 +10:00
Daniel Cousens
82d8e20793
tests: avoid unnecessary .ok
2014-08-20 09:18:28 +10:00
Daniel Cousens
4b52c42c91
Message: allow base64 strings as input
2014-08-20 09:14:04 +10:00
Wei Lu
106e00e6f1
Merge pull request #244 from dcousens/txbuilder
...
Transaction Builder
2014-08-18 18:08:34 +08:00
Daniel Cousens
0782e8e837
tests: fixes test description typos
2014-08-18 09:31:24 +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
f3199b6fce
tests: integration test to use TxBuilder
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
31ea956e8e
TxBuilder: add invalid nulldata case
2014-08-18 08:54:45 +10:00
Daniel Cousens
d0ac9b405a
tests: add TxBuilder pubKey test fixture
2014-08-18 08:54:45 +10:00
Daniel Cousens
26b028adcf
Wallet: use TxBuilder instead
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
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
6b429493f8
hdnode: add deprecation message for isPrivate
2014-07-30 18:04:25 +10:00
Daniel Cousens
2fbd9449f5
tests: use neutered rather than import/export
2014-07-30 17:57:09 +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
52689fc98b
tests: adds r = s = -n ecdsa verify test case
2014-07-30 14:47:21 +10:00
Daniel Cousens
5657dcf2aa
ecdsa: add improved test coverage for recoverPubKey
2014-07-29 23:45:50 +10:00
Daniel Cousens
be3ce88a3a
ecdsa: enforce positive integers
2014-07-29 23:45:25 +10:00
Daniel Cousens
a8c6f5284d
tests: avoid unnecessary sha256 for hash
2014-07-29 01:01:11 +10:00
Wei Lu
6e1bbe8ebe
Merge pull request #247 from dcousens/ecurve
...
Removal of secure-random in favour of crypto-browserify
2014-07-28 22:44:29 +08:00
Daniel Cousens
eaf8cf85af
test: rephrase fail -> throw
2014-07-28 18:13:00 +10:00
Daniel Cousens
2920bb2ee1
tests: remove outdated FIXME in wallet
2014-07-28 18:11:31 +10:00
Daniel Cousens
8e0c835919
package: use crypto-browserify 3.0.0
2014-07-28 13:51:30 +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
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
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
9d2784a441
crypto: add RIPEMD160 tests
2014-06-26 19:26:21 +10:00
Daniel Cousens
002c428019
tests: remove h2b
2014-06-26 18:47:17 +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
bdb0fe8020
ecdsa: adds test for detGenK loop
2014-06-26 02:45:02 +10:00
Daniel Cousens
27f58b539e
ECKey: remove extraneous toString
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
5c53178c3c
tests: avoid pointless toASM in description
2014-06-25 15:47:46 +10:00
Daniel Cousens
13d41f67e9
Script: adds toASM/fromASM
2014-06-25 15:44:15 +10:00
Daniel Cousens
924ecfb998
scripts: add missing test data
2014-06-25 15:20:28 +10:00
Daniel Cousens
c637cb4be7
tests: remove unused import
2014-06-24 17:41:08 +10:00
Daniel Cousens
576fbbfff5
scripts: switch to failing to classification tests
2014-06-24 17:31:55 +10:00
Daniel Cousens
62b6a407a6
scripts: break tests down from type structure
2014-06-24 17:30:37 +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
f4940ccd48
Merge pull request #219 from weilu/utxo
...
Wallet fee & utxo fixups
2014-06-21 23:50:27 +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
Daniel Cousens
ebe670475e
network: moves tests to fixtures
2014-06-18 17:28:28 +10: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
Wei Lu
5dcefc5329
Network estimateFee tests no longer relies on fixtures
2014-06-17 23:35:40 +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
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
6ea89eeaae
Transaction: data driven tests
2014-06-17 11:55:43 +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
cfe5436394
ECSignature: use for(it( style for tests
2014-06-16 15:47:41 +10:00
Daniel Cousens
626f8fb220
ECSignature: add tests for scriptSignature
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
c0e5393595
Transaction: remove .outpoint object
2014-06-16 14:21:40 +10:00
Daniel Cousens
569e0d4ff1
Wallet: fix processConfirmedTx tests
...
These tests were still passing despite being incorrect.
2014-06-16 14:21:40 +10:00
Daniel Cousens
203d6c7116
Transaction: add test for clone
2014-06-16 14:21:40 +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
4f995fcae1
Transaction: tests should show unboxing of parameters
2014-06-16 14:21:39 +10:00
Daniel Cousens
3b3d19974c
tests: avoid b2h where toHex exists
2014-06-16 14:21:39 +10:00
Daniel Cousens
66636f56bb
Transaction: test hex formatting
2014-06-16 14:21:39 +10:00
Daniel Cousens
6ac3803483
Transaction: move test to proper section
2014-06-16 14:21:39 +10:00
Daniel Cousens
3b6f0bb9b3
Transaction: fix test name
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
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
8b5647b0b9
Transaction: remove TxIn/TxOut exports
2014-06-16 14:21:38 +10:00
Daniel Cousens
b0317be4d5
tests: formatting
2014-06-16 14:21:38 +10:00
Daniel Cousens
9b89a267ca
scripts: remove unused imports
2014-06-15 00:40:28 +10:00
Daniel Cousens
576d5dfa3f
Scripts: move test data to fixtures
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
4f8040f8d4
ecdsa: add invalid test fixtures for recoverPubKey
2014-06-15 00:40:21 +10:00
Daniel Cousens
ee66c41dd4
message: add missing test for Address
2014-06-15 00:40:20 +10:00
Wei Lu
8e00eb6855
Merge branch 'scriptclean'
...
Conflicts:
test/wallet.js
2014-06-14 10:31:19 +08:00
Daniel Cousens
07a0beee90
tests: remove unnecessary linebreaks
2014-06-14 10:08:51 +10:00
Daniel Cousens
38a2475bf5
scripts: adds example multisig inputScript
2014-06-14 01:01:11 +10: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
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
41c3b68293
templates: rename to scripts
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
aded938ab6
Script: check hex not template result
2014-06-13 10:52:07 +10:00
Daniel Cousens
4e04eea436
Script: use fromChunks internally for all Script templates
2014-06-13 10:49:52 +10:00