Wei Lu
e55676cf8e
Wallet: remove unncessary comments
11 years ago
Wei Lu
00d58604a4
Wallet: move getPrivateKeyForAddress to prototype
also, move the assert to the end to simplify the logic
11 years ago
Wei Lu
2b4d94cd92
Wallet: move processPendingTx & processConfirmedTx to prototype
also, move processTx out of Wallet scope
11 years ago
Daniel Cousens
c13177bb29
Wallet: rename masterkey to masterKey
11 years ago
Daniel Cousens
6df785bb65
Wallet: move createTx to prototype
11 years ago
Daniel Cousens
7fd41fae4a
Wallet: move most instance methods to prototype
11 years ago
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.
11 years ago
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.
11 years ago
Daniel Cousens
abc3e6c715
Wallet: move estimatePaddedTxFee out of Wallet scope
11 years ago
Daniel Cousens
8b3470e8ca
Wallet: move all free functions out of Wallet scope
11 years ago
Daniel Cousens
d618aa9822
Wallet: deprecates newMasterKey
11 years ago
Daniel Cousens
8e0c835919
package: use crypto-browserify 3.0.0
11 years ago
Wei Lu
f7af487597
wallet: reintroduce output.to to track pending spent utxo
11 years ago
Wei Lu
82b1d8fbdc
wallet: do not delete pending incoming tx from outputs
11 years ago
Wei Lu
79a17d67ec
wallet: do not overestimate fees when network has dustSoftThreshold
11 years ago
Wei Lu
7e31668b69
wallet: rename utxo.receive to utxo.from
11 years ago
Wei Lu
7e98123ccd
wallet.getUnspentOutputs includes the pending field
11 years ago
Wei Lu
bc3e0770f9
Add fee estimation functions for dogecoin and litecoin
11 years ago
Wei Lu
122b613eaf
Move fee estimation into networks.js
11 years ago
Wei Lu
45a72416c9
wallet: Move dust and fee per kb into networks.js
11 years ago
Daniel Cousens
c0e5393595
Transaction: remove .outpoint object
11 years ago
Daniel Cousens
2a267b62e6
jshint: remove unused variables
11 years ago
Daniel Cousens
d567463588
Transaction: remove estimateFee
This is a wallet abstraction.
11 years ago
Daniel Cousens
5551c38812
Transaction: use hash Buffer instead of hex string
11 years ago
Daniel Cousens
2f56e63491
Wallet: avoid transaction inspection when signing
11 years ago
Daniel Cousens
bdc7131d0e
Transaction: renames getHash to getId
In turn also removes the inherent calculation of tx.hash after deserialization.
11 years ago
Daniel Cousens
a6b9dd9473
Transaction: remove hash:index notation
11 years ago
Daniel Cousens
8b5647b0b9
Transaction: remove TxIn/TxOut exports
11 years ago
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.
11 years ago
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.
11 years ago
Wei Lu
f53e35ed28
wallet: delete utxo instead of marking it as spend
11 years ago
Wei Lu
d265b53b03
wallet: processTx -> processConfirmedTx, processPendingTx
11 years ago
Wei Lu
e064e9d29d
wallet.createTx ignores pending utxo
11 years ago
Wei Lu
660c95483d
wallet.processTx accepts isPending flag and passes it on to output
11 years ago
Daniel Cousens
f5005299d1
JSHint: remove defined but never used
11 years ago
Daniel Cousens
6a73bc02f5
HDNode: rename priv/pub to privKey/pubKey
11 years ago
Daniel Cousens
64e307b13f
HDWallet: rename to HDNode
11 years ago
Daniel Cousens
dca284a131
HDWallet: rename derivePrivate to deriveHardened
11 years ago
Daniel Cousens
c0006c299f
HDWallet: use new constructor
11 years ago
Daniel Cousens
3bce535e36
Wallet: use assert for consistency
11 years ago
Daniel Cousens
cde285ccfc
Wallet: enforce operator new
11 years ago
Daniel Cousens
4952c5f4e7
HD/Wallet: use network objects, not strings
11 years ago
Daniel Cousens
2df790e2ab
Wallet: remove use of hashLittleEndian
11 years ago
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.
11 years ago
Daniel Cousens
bd3690bdc0
Wallet: remove async interface
11 years ago
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.
11 years ago
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.
11 years ago
Daniel Cousens
25514d6ac1
HDWallet: remove HmacBytesToBytes
11 years ago
Daniel Cousens
708aa03390
Transaction/Script: bitcoin network no longer implied
A Transaction (and its subsequent scripts) do not carry any network
specific information in the Bitcoin protocol.
Therefore they can not (without further context) produce the network
specific constants for the generation of the base58 Addresses.
As TransactionOut.address is used heavily throughout Wallet and other
areas of the library, this could not be entirely removed without a large
number of changes.
For now, TransactionOut.address is only defined in the case of
Tx.addOutput being used directly:
Transaction.addOutput(address, value)
11 years ago
Daniel Cousens
57b8afbdab
Network: rename Network to Networks
This change removes the most common ambiguities.
As the network module is not representative of a class, the lower case
has been used.
11 years ago