Wei Lu
75218e784f
Transaction fee calculation does not need BigInteger
2014-03-26 08:43:33 +08:00
Wei Lu
7bfa6ab9d2
remove scriptPubKey from wallet.outputs, set/get unspent outputs as it is unused
2014-03-26 08:43:33 +08:00
Wei Lu
7bd312de71
get rid of magic numbers in fee estimation
2014-03-26 08:43:33 +08:00
Wei Lu
58ab0b631e
getBalance returns total unspent
2014-03-26 08:43:33 +08:00
Wei Lu
9fc5505730
getUnspentOutputs excludes spent outputs
2014-03-26 08:43:33 +08:00
Wei Lu
77b5d1ee21
getCandidateOuputs ignores spent outputs
2014-03-26 08:43:33 +08:00
Wei Lu
2501868f52
remove old methods
2014-03-26 08:43:32 +08:00
Wei Lu
471bc7ed97
skip change if it is not above dust threshold
2014-03-26 08:43:32 +08:00
Wei Lu
90921798cf
throws error on insufficient fund
2014-03-26 08:43:32 +08:00
Wei Lu
7c81bfef72
check for dust before creating transaction
2014-03-26 08:43:32 +08:00
Wei Lu
913b48e87f
sign tx
2014-03-26 08:43:32 +08:00
Wei Lu
8f0413da98
always assume change output exists when estimating fee
2014-03-26 08:43:32 +08:00
Wei Lu
2dc0f69d00
createTX returns tx with expected inputs and outputs
2014-03-26 08:43:32 +08:00
Wei Lu
3d12d3b038
implement and use txOut.scriptPubKey
2014-03-26 08:43:32 +08:00
Wei Lu
5d79b094d4
remove processOutput and processExistingOutput
...
instead of processOutput, use processTx instead
processExistingOutput is time based which is not reliable
2014-03-26 08:43:32 +08:00
Wei Lu
b7d65fb757
Transaction is able to estimate fees
2014-03-26 08:43:31 +08:00
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
2014-03-26 08:43:31 +08:00
Wei Lu
dbb5681366
add tests and refactor wallet.processTx
2014-03-26 08:43:31 +08:00
Wei Lu
83381186d1
add (some) fromAddress and getInType tests to script
2014-03-26 08:43:31 +08:00
Wei Lu
c3880c0cdf
script.toAddress -> script.getToAddress
2014-03-26 08:43:31 +08:00
Wei Lu
c39aa6cb07
minor refactoring
2014-03-26 08:42:35 +08:00
Wei Lu
01dc34d720
throw error when unspent output does not have required keys
2014-03-26 08:42:35 +08:00
Wei Lu
26afbccc98
wallet allows setting unspent outputs
2014-03-26 08:42:35 +08:00
Wei Lu
16dc68cbaa
wallet exposes unspent outputs via a getter
...
also add reverseEndian method to convert
2014-03-26 08:42:35 +08:00
Daniel Cousens
164d31ee3d
VarInt now uses correct prefix for 64-bit
2014-03-25 17:23:01 +11:00
Kyle Drake
a74c878b59
merge eckeyoutput
2014-03-24 15:11:34 -07:00
Kyle Drake
d16ea7f2a6
Merge pull request #89 from Dcousens/eckeyfnc
...
Adds ECPubKey.verify and tests for ECKey signing
2014-03-24 15:03:51 -07:00
Daniel Cousens
f1414b0d2f
Adds verify to ECPubKey
2014-03-25 03:42:10 +11:00
Daniel Cousens
a96dfea1f4
Adds compression flag to toHex/toBin and tests
2014-03-25 03:41:44 +11:00
Daniel Cousens
f8de9a66da
Changes indentation to 2 spaces
2014-03-24 16:18:02 +11:00
Daniel Cousens
fc2c495337
Standardizes function signatures
2014-03-24 16:18:00 +11:00
Daniel Cousens
36af0223de
Strict comparison operators with 0
2014-03-24 06:22:26 +11:00
Daniel Cousens
a062297be2
Uses Array.prototype.foreach for stricter scoping
2014-03-24 06:22:26 +11:00
Daniel Cousens
87453f1828
Fixes variable redeclarations
2014-03-24 06:22:26 +11:00
Daniel Cousens
ed137a3b9d
Various stylistic changes
2014-03-24 06:22:26 +11:00
Daniel Cousens
f580516c06
Removes unused variables
2014-03-24 06:22:26 +11:00
Wei Lu
9358a40500
tabs -> spaces
2014-03-24 03:19:39 +08:00
Daniel Cousens
e9fdfecfea
Changes default EC*Key.toString behaviour to Hex
2014-03-23 18:42:52 +11:00
Daniel Cousens
b40374e332
Changes to new version-less ECKey API
2014-03-22 19:12:26 +11:00
Daniel Cousens
a1be488d1b
Fixes #78
2014-03-22 16:27:10 +11:00
Wei Lu
35747fb1fb
Merge pull request #76 from coinpunk/transactioncleanups
...
Many cleanups to Transaction, see detailed.
2014-03-21 15:54:59 +08:00
Kyle Drake
40881a7dd8
add back SIGHASH code to transaction
2014-03-20 19:15:15 -07:00
Kyle Drake
28e146431c
Many cleanups to Transaction, see detailed.
...
Default-ize the sequence rather than use a number, and default to bytes
for input. I doubt anybody ever uses this anyways.
Remove weird convenience code, and remove wallet logic. Checking a TX's
affects on a wallet should be managed by the wallet object.
Remove parsing for the weirder SIGHASH types. People use this library
for creating SIGHASH_ALL transactions, and I don't see the need to
support these other types at the moment since this library's more used
for wallets than for hardcore bitcoin tx analysis/creation. They weren't
tested anyways.
Add note about potentially improving performance by providing
pubkey/address. Deriving from the private key is slower, that
information should probably be cached by the end user.
2014-03-20 15:40:07 -07:00
Wei Lu
b7861e4336
replace jsbn's rng with module secure-random
...
This uses window.crypto.getRandomValues on browser
and crypto.randomBytes on node
2014-03-20 17:19:06 +08:00
Kyle Drake
28517bed13
Merge pull request #71 from bitcoinjs/transaction-tests
...
Transaction tests & fix addInput hash allowed formats
2014-03-17 18:40:49 -07:00
Kyle Drake
ace3fd122c
Merge pull request #60 from bitcoinjs/hd-keychain-structure
...
HD wallet keychain structure
2014-03-17 17:00:18 -07:00
Wei Lu
2e6ef6cb85
fix and add tests for addInput
2014-03-17 18:01:09 +08:00
Wei Lu
a5ee07f7f6
Add tests to transaction deserialization
...
lock_time -> locktime
2014-03-17 16:31:35 +08:00
Wei Lu
9f2da415ea
fix script constructor array check
2014-03-17 16:13:49 +08:00
Wei Lu
31cfb11178
new master key resets accounts and addresses
2014-03-16 13:36:57 +08:00