Commit graph

79 commits

Author SHA1 Message Date
Daniel Cousens 2f100e0eae tests: add failing pushDataInt fixtures 2015-03-04 20:47:52 +11:00
Daniel Cousens 7f3b4c93ba TxBuilder: move param coercion from Transaction to TxBuilder 2015-03-02 17:51:14 +11:00
Daniel Cousens 8d3686d046 remove deprecated functionality 2015-03-02 17:27:16 +11:00
Daniel Cousens 399803affa use standardjs formatting 2015-02-24 12:45:38 +11:00
Daniel Cousens 445eb260c0 tests: add failing Coinbase transaction fixture 2015-02-19 12:51:24 +11:00
Daniel Cousens db17e35013 tests: transaction.add* better tested by raw functions 2015-02-19 12:32:05 +11:00
Daniel Cousens 7a515a14ee tests: use beforeEach for initialization 2015-02-19 08:59:10 +11:00
Bez Reyhan 1c6d5a28a9 update fixtures and tests for merge 2014-12-15 19:21:34 -08:00
Daniel Cousens fc690d418b tests: rename txid to id in Transaction context 2014-12-13 09:48:31 +11:00
Daniel Cousens ca4e64d071 tests: use ASM for fixtures, avoid JSON comparison 2014-12-13 09:41:52 +11:00
Daniel Cousens 929d926774 tests: make use of the default behaviour 2014-10-17 14:22:51 +11:00
Daniel Cousens 062540e3d9 Transaction: optional script for addInput 2014-10-17 14:16:07 +11:00
Daniel Cousens 884fd542fe Transaction: deprecate Tx signing methods 2014-08-16 17:36:06 +10:00
Daniel Cousens 8eaf44881a Transaction: improve hash length checking + tests 2014-06-17 20:18:39 +10:00
Daniel Cousens d07cfccbc1 Transaction: move constants to Transaction 2014-06-17 12:26:14 +10:00
Daniel Cousens 4850570955 Transaction: remove untestable assert
Also changes the fromBuffer sanity test to use a clearer message that is
taken from the fixtures.
2014-06-17 12:24:35 +10:00
Daniel Cousens 1b1b550bd6 Transaction: add hash as addInput parameter 2014-06-17 12:23:27 +10:00
Daniel Cousens 0b17c2bc3d Transaction: re-adds getHash as a pure hash 2014-06-17 12:22:13 +10:00
Daniel Cousens 6c9f95c253 Transaction: add sequence parameter to addInput 2014-06-17 12:21:09 +10:00
Daniel Cousens 6ea89eeaae Transaction: data driven tests 2014-06-17 11:55:43 +10:00
Daniel Cousens c0e5393595 Transaction: remove .outpoint object 2014-06-16 14:21:40 +10:00
Daniel Cousens 203d6c7116 Transaction: add test for clone 2014-06-16 14:21:40 +10:00
Daniel Cousens d567463588 Transaction: remove estimateFee
This is a wallet abstraction.
2014-06-16 14:21:39 +10:00
Daniel Cousens 009fcb9b82 Transaction: now returns index of added input/output 2014-06-16 14:21:39 +10:00
Daniel Cousens 4f995fcae1 Transaction: tests should show unboxing of parameters 2014-06-16 14:21:39 +10:00
Daniel Cousens 3b3d19974c tests: avoid b2h where toHex exists 2014-06-16 14:21:39 +10:00
Daniel Cousens 66636f56bb Transaction: test hex formatting 2014-06-16 14:21:39 +10:00
Daniel Cousens 6ac3803483 Transaction: move test to proper section 2014-06-16 14:21:39 +10:00
Daniel Cousens 3b6f0bb9b3 Transaction: fix test name 2014-06-16 14:21:39 +10:00
Daniel Cousens f85792ba22 Transaction: remove address from txOut 2014-06-16 14:21:39 +10:00
Daniel Cousens 5551c38812 Transaction: use hash Buffer instead of hex string 2014-06-16 14:21:39 +10:00
Daniel Cousens bdc7131d0e Transaction: renames getHash to getId
In turn also removes the inherent calculation of tx.hash after deserialization.
2014-06-16 14:21:39 +10:00
Daniel Cousens 867465a03f Transaction: support non-addressable output scripts 2014-06-16 14:21:38 +10:00
Daniel Cousens 5bd636cab7 Transaction: remove TxIn/TxOut from API 2014-06-16 14:21:38 +10:00
Daniel Cousens a6b9dd9473 Transaction: remove hash:index notation 2014-06-16 14:21:38 +10:00
Daniel Cousens 8b5647b0b9 Transaction: remove TxIn/TxOut exports 2014-06-16 14:21:38 +10:00
Daniel Cousens b0317be4d5 tests: formatting 2014-06-16 14:21:38 +10:00
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.
2014-06-13 11:36:31 +10:00
Daniel Cousens 41c3b68293 templates: rename to scripts 2014-06-13 10:52:07 +10:00
Daniel Cousens 00cec9ce64 Script: move all templates to templates.js 2014-06-13 10:52:07 +10:00
Daniel Cousens 9a72c7437b Script: adds Script.EMPTY constant 2014-06-13 10:49:08 +10:00
Daniel Cousens 2dec1375a1 ecdsa: use (r, s) values directly 2014-05-24 00:48:31 +10:00
Daniel Cousens 0468c4710c Transaction: rename (de)serialize to [to/from]Buffer 2014-05-17 00:09:13 +10:00
Daniel Cousens 55681e7e5d Script: use PubKey objects not prebuilt Buffers 2014-05-17 00:09:13 +10:00
Daniel Cousens 6c0eebe94b tests: use filepaths directly
After a long IRC discussion, it was decided that the use of direct
filepaths instead of the module is a more pure form of testing ,
although it may provide less overall coverage than the mixed integration
style imports used previously.

This will need to be remedied by further integration testing in
/test/integration.
2014-05-13 18:05:56 +10:00
Daniel Cousens 7a740c2e7b tests: forces consistent import syntax 2014-05-13 16:46:08 +10:00
Daniel Cousens f18c5e4c1e Script: removes Script.createP2SHMultiSigScriptSig
It is favoured to compose the scriptSig manually using
Script.createP2SHScriptSig and Script.createMultisigScriptSig.

Added a test to verify that createMultisigScriptSig throws when not
enough signatures a provided and the redeemScript is given.
2014-05-09 16:26:35 +10:00
Daniel Cousens f8e662e495 Script: rename toScriptHash to getHash and add tests 2014-05-09 13:07:06 +10:00
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)
2014-05-08 10:59:58 +10:00
Daniel Cousens 0822def7e0 Script: add standard Script.create*ScriptPubKey
Extracts the two Script types out of Script.createOutputScript, and puts
them both under test.

Also renames Script.createMultiSigOutputScript to adhere to the same
convention.
2014-05-08 10:59:58 +10:00