Commit graph

103 commits

Author SHA1 Message Date
Kyle Drake 2f5b302288 Merge pull request #97 from dcousens/reverseVarInt
Adds varIntToNum conversion function
2014-03-26 16:20:58 -07:00
Wei Lu 65fb593be2 remove unnecessary deepEqual 2014-03-26 20:44:07 +08:00
Wei Lu 39c181dce6 allow fee to be set to zero 2014-03-26 20:20:58 +08:00
Wei Lu 4d4388f6bf make wallet async functions truly async 2014-03-26 20:05:13 +08:00
Daniel Cousens f12f8eac48 Adds failing test for larger transaction 2014-03-26 19:11:10 +11:00
Daniel Cousens 20599f66c9 Adds varIntToNum conversion function 2014-03-26 18:30:17 +11:00
Wei Lu 8d2525dba1 allow feePerKb to be set to zero 2014-03-26 08:43:34 +08:00
Wei Lu 68b08b638a add async version of createTx 2014-03-26 08:43:33 +08:00
Wei Lu f7d4895b74 add async version of setUnspentOutputs 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 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 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 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 eb9e98aa7b minor refactoring: Transaction tests use fixtures 2014-03-26 08:43:31 +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 423124966f add toAddress and getOutType tests to script 2014-03-26 08:43:31 +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
Kyle Drake 68e8834c66 Merge pull request #94 from dcousens/patch-2
VarInt now uses correct prefix for 64-bit
2014-03-25 17:31:19 -07:00
Daniel Cousens baa50d6aa2 Adds simple test vectors for numToVarInt 2014-03-26 05:05:52 +11:00
Kyle Drake 4c82a09aae Merge pull request #95 from juliustayl/multisig-tests
validate multi-sig address
2014-03-25 09:29:00 -07:00
Julius Taylor a4317d67be validate multi-sig address
This is a test I have been using to validate a 2-of-3 multi sig address
using known public keys as well as validating the multi sig address
from the redeem script. I am working on more redeem script validation
tests but I want to make sure I am on the right track and see if this
test is something you all would deem useful.
2014-03-25 01:32:43 -04:00
Kyle Drake a74c878b59
merge eckeyoutput 2014-03-24 15:11:34 -07:00
Daniel Cousens a1944fdc77 Adds some ECKey tests 2014-03-25 04:51:14 +11:00
Daniel Cousens a96dfea1f4 Adds compression flag to toHex/toBin and tests 2014-03-25 03:41:44 +11:00
Wei Lu 9358a40500 tabs -> spaces 2014-03-24 03:19:39 +08:00
Daniel Cousens 48883dd069 Changes expected key output to hex 2014-03-24 05:09:03 +11:00
Daniel Cousens 2e2932c410 Renames variables to better reflect their values 2014-03-23 18:42:52 +11:00
Daniel Cousens e9fdfecfea Changes default EC*Key.toString behaviour to Hex 2014-03-23 18:42:52 +11:00
Daniel Cousens 9bab1e96ad Fixes network tests for proper address types 2014-03-22 19:12:26 +11:00
Daniel Cousens fcf67a87cc Restructures test/eckey.js 2014-03-22 19:12:26 +11:00
Daniel Cousens b40374e332 Changes to new version-less ECKey API 2014-03-22 19:12:26 +11:00
Daniel Cousens 74ee2f90d0 Adds failing test for #78 2014-03-22 16:26:44 +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
Wei Lu ea723c7caf remove mocha config file
[fixes #75]
2014-03-21 10:13:48 +08: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
Wei Lu a26c01b8da Test validateSig. Use validateSig to test transaction signing 2014-03-18 09:31:17 +08:00