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
Daniel Cousens
8d7408202f
ecdsa: consistent parameter ordering
2014-05-24 00:48:31 +10:00
Daniel Cousens
abe65b8d4a
ecdsa: use shamirs trick
2014-05-24 00:48:20 +10:00
Daniel Cousens
a17a5b23d9
ec: fix point decoding for other curves
2014-05-22 12:33:47 +10:00
Daniel Cousens
5ec9504ed6
ecdsa: opt for shiftRight, pow and square
...
In the given situations, these offer better readability, or in the case
of shiftRight, a substantial performance increase.
2014-05-22 12:33:47 +10:00
Daniel Cousens
7d89ff427c
ecdsa: comment cleanup
2014-05-22 12:33:47 +10:00
Daniel Cousens
0865f09d20
ec/dsa: extract P_OVER_FOUR as a curve specific constant
...
This actually resolves a possible bug if multiple ecparams were used
(aka different values for P_OVER_FOUR, but only the cached was used).
2014-05-22 12:33:47 +10:00
Daniel Cousens
1e54c521d5
ec: extract BigInteger constants
2014-05-22 12:33:47 +10:00
Daniel Cousens
d9ce4bee6b
ec: use signum() not equals(BigInteger.ZERO)
2014-05-22 12:33:47 +10:00
Daniel Cousens
d14b08efd1
ec/dsa: recovery param now used consistently
...
Also added an assertion rather than massaging the input.
2014-05-22 12:32:28 +10:00
Daniel Cousens
24371425f9
ec: decodeFrom now uses Buffers and handles errors
2014-05-18 17:52:49 +10:00