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
Daniel Cousens
a8cf2fdd9e
Changes internal serialization to use Buffers instead
11 years ago
William Cotton
590bb8e1c3
custom changeAddress for wallet.createTx()
11 years ago
William Cotton
a9bc42019a
fixed issues with testnet and createTx
11 years ago
Daniel Cousens
f047afef2d
Updates network.js constant names
11 years ago
lms
b79ccb2c0c
100% coverage of wallet.js
11 years ago
Wei Lu
93fe1b4c78
cosmetic standardization
[closes #56 ]
11 years ago
Wei Lu
a1c80b8f51
minor cleanup of wallet.sign
11 years ago
Wei Lu
39c181dce6
allow fee to be set to zero
11 years ago
Wei Lu
4d4388f6bf
make wallet async functions truly async
11 years ago
Wei Lu
68b08b638a
add async version of createTx
11 years ago
Wei Lu
f7d4895b74
add async version of setUnspentOutputs
11 years ago
Wei Lu
83db6483fa
remove unnecessary imports from wallet
11 years ago
Wei Lu
7bfa6ab9d2
remove scriptPubKey from wallet.outputs, set/get unspent outputs as it is unused
11 years ago
Wei Lu
58ab0b631e
getBalance returns total unspent
11 years ago
Wei Lu
9fc5505730
getUnspentOutputs excludes spent outputs
11 years ago
Wei Lu
77b5d1ee21
getCandidateOuputs ignores spent outputs
11 years ago
Wei Lu
2501868f52
remove old methods
11 years ago
Wei Lu
471bc7ed97
skip change if it is not above dust threshold
11 years ago
Wei Lu
90921798cf
throws error on insufficient fund
11 years ago
Wei Lu
7c81bfef72
check for dust before creating transaction
11 years ago
Wei Lu
913b48e87f
sign tx
11 years ago
Wei Lu
8f0413da98
always assume change output exists when estimating fee
11 years ago
Wei Lu
2dc0f69d00
createTX returns tx with expected inputs and outputs
11 years ago
Wei Lu
3d12d3b038
implement and use txOut.scriptPubKey
11 years ago
Wei Lu
5d79b094d4
remove processOutput and processExistingOutput
instead of processOutput, use processTx instead
processExistingOutput is time based which is not reliable
11 years ago
Wei Lu
e574693594
wallet.outputs[0].output -> wallet.outputs[0].receive
output is overloaded. Considering we have output.spend, output.receive makes sense to me
11 years ago
Wei Lu
dbb5681366
add tests and refactor wallet.processTx
11 years ago
Wei Lu
c39aa6cb07
minor refactoring
11 years ago
Wei Lu
01dc34d720
throw error when unspent output does not have required keys
11 years ago
Wei Lu
26afbccc98
wallet allows setting unspent outputs
11 years ago
Wei Lu
16dc68cbaa
wallet exposes unspent outputs via a getter
also add reverseEndian method to convert
11 years ago
Daniel Cousens
b40374e332
Changes to new version-less ECKey API
11 years ago
Wei Lu
b7861e4336
replace jsbn's rng with module secure-random
This uses window.crypto.getRandomValues on browser
and crypto.randomBytes on node
11 years ago
Wei Lu
31cfb11178
new master key resets accounts and addresses
11 years ago
Wei Lu
a7a7999e3f
fix Wallet default constructor
11 years ago
Wei Lu
b2f010428f
store accounts in closure instead of on object
11 years ago
Wei Lu
d4f3398d91
remove keys array and usage
11 years ago
Wei Lu
207163704b
return private key rather than HD wallet node
11 years ago
Wei Lu
9200479159
getPrivateKey derives key on the fly
also added getPrivateKeyFromAddress
11 years ago
Wei Lu
ab9e782d14
private a method to generate change addresses
11 years ago
Wei Lu
1212099bfc
Wallet address derivation follows bip32/bitcoinj keychain structure
Also wallet accepts bytes in constructor
[#60 ]
11 years ago
Wei Lu
3d6b66e811
move convert methods from util to convert
11 years ago
Wei Lu
02b3a2b564
HDWallet prod -> mainnet
11 years ago
Wei Lu
293c864f4f
HD wallet versions: Bitcoin -> prod, BitcoinTest -> testnet
11 years ago
Wei Lu
36d3d6ebaa
use options in wallet contructor & add tests
[#26 ]
11 years ago
xnova
933474a973
added ability to specify child key derivation method to the Wallet constructor
11 years ago
xnova
49c2fc06b5
allow Wallet to work with testnet
11 years ago
Wei Lu
102e2b3d48
Wallet.generateAddress uses the new HD wallet method
11 years ago