Commit Graph

222 Commits

Author SHA1 Message Date
Manuel Araoz 406600720e valid tx tests passing! 2014-04-04 18:06:34 -03:00
Manuel Araoz 34ed503830 fixed 23 Transaction tests!!! :D 2014-04-04 17:33:36 -03:00
Manuel Araoz db38feacce fix old tests for sighash 2014-04-04 14:41:46 -03:00
Manuel Araoz 3886bfe923 some hashForSignature tests passing! :D 2014-04-04 14:39:06 -03:00
Manuel Araoz cc8010f17f adding new data file from bitcoin core 2014-04-04 14:39:06 -03:00
Manuel Araoz 499b171947 tracking Transaction test problems 2014-04-04 14:39:06 -03:00
Matias Alejo Garcia 56bed9b3f2 fix noSorting, add testcase against bitcoind output 2014-04-04 10:37:32 -03:00
Matias Alejo Garcia 8ff1464b2c add test imported from treasure 2014-04-04 09:44:16 -03:00
Matias Alejo Garcia 921bc2ff17 add sorting of pubkeys for multisig addr generation 2014-04-03 22:06:57 -03:00
Ryan X. Charles 710be7b147 add BIP32 example to examples tests 2014-04-02 12:05:11 -04:00
Ryan X. Charles 42522e03b9 Merge branch 'feature/TransactionBuilder-Multisig-support' 2014-04-02 10:40:03 -04:00
Matias Alejo Garcia f6f7a01efc add p2sh support and test 2014-04-02 00:59:26 -03:00
Ryan X. Charles abcaa3d16f Merge pull request #202 from matiu/feature/TransactionBuilder-Multisig-support
Feature/transaction builder multisig support
2014-04-01 12:20:24 -04:00
Matias Alejo Garcia d8f49e87ae different keys p2script example, add new examples in tets 2014-04-01 09:58:17 -03:00
Ryan X. Charles 4f5b41eff0 fix browser tests for Point and Key
The addUncompressed function is for node-only, and is a temporary workaround
until we expose a better crypto interface in both node and the browser. I wrote
tests for this function that were node-only, but were broken in the browser.  I
also wrote tests for the Point class that should have worked in both node and
the browser, and did, but I was using the wrong module such that it worked only
in node.  This update makes the tests work in the browser by using the correct
module.
2014-03-31 16:32:16 -04:00
Matias Alejo Garcia 4fe8dffe4a fix error msgs 2014-03-31 16:25:43 -03:00
Matias Alejo Garcia 8acf093339 multisign test for signing twice with same sig 2014-03-31 15:16:30 -03:00
Matias Alejo Garcia 2af6ab7650 TX_MULTISIG support 2014-03-31 14:41:27 -03:00
Ryan X. Charles 93050e3e92 Merge branch 'feature/TransactionBuilder' 2014-03-30 21:02:22 -04:00
Ryan X. Charles 6a478de259 add transaction builder test to browser 2014-03-30 21:01:40 -04:00
Matias Alejo Garcia 9fc2493a6d remove .init(), move it to constructor 2014-03-29 04:01:32 -03:00
Matias Alejo Garcia cb1a2d9b48 TransactionBuiler working with test 2014-03-28 21:17:34 -03:00
Ryan X. Charles a0daef56d9 Merge pull request #165 from ryanxcharles/feature/bip32
BIP 32 (hierarchical deterministic wallets)
2014-03-28 18:54:58 -04:00
Ryan X. Charles 343a6af7c3 add seed function to generate master privkey
This follows the spec of BIP32. With tests for main test vectors.
2014-03-28 18:46:09 -04:00
Ryan X. Charles f6aa01c445 add basic tests for all functions in Point 2014-03-28 18:07:23 -04:00
Ryan X. Charles 0eedeed449 add remaining public key derivation test vectors
...all pass in node and the browser.
2014-03-28 16:29:12 -04:00
Ryan X. Charles c03d3c5818 get BIP32 working in the browser by exposing more crypto 2014-03-27 23:34:17 -04:00
Ryan X. Charles 63ce079f2b change from under_scores to camelCase
camelCase is the bitcore way
2014-03-27 19:19:29 -04:00
Manuel Araoz 18630bb2b1 fix browser tests 2014-03-26 12:00:03 -03:00
Manuel Araoz b020fe1e80 add sighash tests 2014-03-26 11:51:28 -03:00
Manuel Araoz 72570719d8 random transaction and script generation 2014-03-25 14:37:23 -03:00
Ryan X. Charles 4319a20676 add test of correct parsing of valid script
Even of OP_PUSHDATA1 says to push 117 bytes, if there are only 75 bytes
following, this should still be pushed to the stack.
2014-03-24 20:27:51 -04:00
Ryan X. Charles 7904efe147 remove redundant and slow test 2014-03-23 15:30:31 -07:00
Ryan X. Charles a4393c0657 update BIP32 to be able to derive pubkeys
...using the new addCompressed interface in Key.js
2014-03-23 15:12:52 -07:00
Ryan X. Charles a686e63b0b fix issue by outputing proper pubkey format
The way I was outputting the pubkeys would be incorrect if the first byte of
one of the coordinates was 0, since it would print the first non-zero byte
first. The solution was to use the standard openssl function that outputs a
public key to oct.
2014-03-23 15:11:32 -07:00
Ryan X. Charles d11361be9e expose group operation
BIP32 needs to be able to add two points on the secp256k1 curve. This
functionality was not already being exposed from OpenSSL in bitcore. I have
added an "addUncompressed" function to the Key class which takes in two points
in uncompressed form, adds them, and returns the result. This is necessary for
BIP32.
2014-03-23 10:35:28 -07:00
Ryan X. Charles b7550fc862 add convenience constructor for making new bip32s
Added the ability to create a new master bip32 with new private key and chain code. The way this works is like this:

var bip32 = new BIP32('mainnet');

or:

var bip32 = new BIP32('testnet');
2014-03-22 16:16:58 -07:00
Ryan X. Charles 47fe12ea19 all vector 2 tests work 2014-03-22 16:16:58 -07:00
Ryan X. Charles ba59d97a73 make things work in the browser by fixing sha512
...had to use jsSHA package to do SHA512 in the browser. Unfortunately it is
quite slow compared to node.
2014-03-22 16:16:58 -07:00
Ryan X. Charles 22b57feb7b Get test vector 1 working in node 2014-03-22 16:16:22 -07:00
Ryan X. Charles fa47ee9984 Merge remote-tracking branch 'matiu/feature/Block-test'
Conflicts:
	util/util.js
2014-03-21 14:57:45 -07:00
Matias Alejo Garcia 02296d9517 fix firefox compatibility issue with buffertools#compare 2014-03-21 18:52:49 -03:00
Matias Alejo Garcia 684be77268 small fixes in block, adapt to browser bignum. remove legacy code 2014-03-21 16:39:38 -03:00
Matias Alejo Garcia 5b95b0f0fd Block.js tests WIP 2014-03-21 16:38:01 -03:00
Manuel Araoz 230420fb00 fix test code for Transaction. Test skipped because they still fail 2014-03-21 12:13:23 -07:00
Manuel Araoz ba92a6b1df refactor and fixes for Transaction, ScriptInterpreter, and Key 2014-03-21 12:13:23 -07:00
Manuel Araoz b227341c12 some Transaction tests fixed (canonical signatures) 2014-03-21 12:13:23 -07:00
Manuel Araoz 7869308784 remove console.log 2014-03-21 12:13:23 -07:00
MattFaus 7097ace9dc Remove console.log() statements 2014-03-21 12:13:23 -07:00
MattFaus 5c65149b2e Mark failing tests with skip() 2014-03-21 12:13:23 -07:00
MattFaus 07f49195ea Update invalid transaction test case 2014-03-21 12:13:23 -07:00
MattFaus 8a8ae5b357 Fix merge problem 2014-03-21 12:13:23 -07:00
MattFaus 4ad36b4fb8 Refactor parsing test data into function, add iteration over invalid transaction tests 2014-03-21 12:13:23 -07:00
MattFaus 5af02e937a Work in progress. I have a problem with the verifyInput() callback calling itself whenever the test assertions throw an exception. I looked at the step and async libraries that are already installed via package.json, but I don't think either of these provide the functionality I need. 2014-03-21 12:13:23 -07:00
MattFaus 7257526de3 Reverting modifications of testdata 2014-03-21 12:13:23 -07:00
MattFaus a2a923fa99 Get Transaction test cases running
I removed the skip over the tx_valid.json file and made some tweaks to get most of the test cases passing.  There are still two test cases that fail, as pointed out by the TODO comment I added above them. Oddly, running the test suite reports 3 failing test cases, but if I delete the two marked with the TODO there are 0 reported failures. So, there may be some kind of interaction with these test cases and the others. More investigation is needed.

I updated the two test cases that were testing transaction `23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63` with the input script I found on blockchain.info https://blockchain.info/tx/23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63. A quick search found one other person who was using this same script (23b397edcccc4483eb271ecad09a94dd63.json) and the test passes now, so I'm not sure why the old script was being used.

All of the other changes are simply re-formatting decimal numbers as hex (i.e. `1` => `0x01`).

Furthermore, I added some code in the test fixture itself to verify each of the inputs.

Test Plan:
`mocha -R spec test/test.Transaction.js`
2014-03-21 12:13:23 -07:00
Manuel Araoz 150a943447 fix private key validation and base58 invalid tests 2014-03-19 19:00:45 -03:00
Manuel Araoz 3cd4e31c31 fix Address validation issue 2014-03-19 18:44:24 -03:00
Manuel Araoz 2323e2a67a fix skipped Opcode test 2014-03-19 18:10:04 -03:00
Manuel Araoz f2be0f386c add hex generation of addresses test 2014-03-19 17:57:28 -03:00
Manuel Araoz 53eb98babc should generate from hex added 2014-03-19 17:52:34 -03:00
Manuel Araoz d84dc652d9 refactor valid b58 tests 2014-03-19 17:35:14 -03:00
Manuel Araoz f0b9cd0cab complete base58_keys_valid tests 2014-03-19 17:12:24 -03:00
Manuel Araoz 4b430be5c8 add base58key tests for Address case 2014-03-19 16:25:23 -03:00
Manuel Araoz 1324974c4d add isScript to Address 2014-03-19 16:20:41 -03:00
Manuel Araoz 6ac48b2809 uncomment some test cases! 2014-03-19 13:03:12 -03:00
Manuel Araoz 856225d377 fix for firefox 2014-03-19 12:26:36 -03:00
Manuel Araoz ddb3e6de70 invalid script test passing! 2014-03-19 12:26:36 -03:00
Manuel Araoz 03d200bad7 some invalid script tests working 2014-03-19 12:26:36 -03:00
Manuel Araoz 9ef8b78182 refactor int conversion, encoding, and utils 2014-03-19 12:26:36 -03:00
Manuel Araoz 5505491e8d fix negative number arithmetic! 2014-03-19 12:26:36 -03:00
Manuel Araoz 19e15f91ca size tests working!!! :D 2014-03-19 12:26:36 -03:00
Matias Alejo Garcia c30cc3658f fix conflics on testdata 2014-03-18 12:57:23 -03:00
Matias Alejo Garcia aab52ad229 updated interfase to create: create and createAndSign 2014-03-18 11:32:31 -03:00
Matias Alejo Garcia 5a1b513b24 add isCanonicalSignature check to script interpreter and tests 2014-03-17 16:57:23 -03:00
Matias Alejo Garcia 041f06aae1 dynamic fee 2014-03-16 23:47:01 -03:00
Matias Alejo Garcia 0c83ecf5fb new interfase for create TX (select + prepare + sign) 2014-03-16 20:50:49 -03:00
Matias Alejo Garcia 42d30f44a8 better utxo selection, combining inputs different confimations steps 2014-03-16 19:18:46 -03:00
Matias Alejo Garcia a2041d5790 add TX signing. Support to p2pubkeyhash 2014-03-15 21:12:23 -03:00
Matias Alejo Garcia 807a72666c add network detection in private key and tests 2014-03-15 18:49:48 -03:00
Matias Alejo Garcia 7d1df2602c add test for #network in Address 2014-03-15 18:39:51 -03:00
Matias Alejo Garcia b6e6ad28eb fix variable names 2014-03-15 18:21:59 -03:00
Matias Alejo Garcia d473b400de remove outdated example 2014-03-15 17:58:38 -03:00
Matias Alejo Garcia ced6c91b69 add comment to generate hardcoded dara 2014-03-15 17:44:29 -03:00
Matias Alejo Garcia 128662ceee #create for Transaction and tests 2014-03-15 12:22:36 -03:00
Matias Alejo Garcia 35f5c9c570 #create for Transaction and tests 2014-03-15 12:22:15 -03:00
Matias Alejo Garcia 706162e2ba #create for Transaction and tests 2014-03-15 12:21:59 -03:00
Matias Alejo Garcia 671d372c19 tx creation working. more tests needed 2014-03-15 03:27:06 -03:00
Matias Alejo Garcia ada92746b7 selectUnspent function and tests 2014-03-14 17:38:42 -03:00
Ryan X. Charles fde7588125 Merge pull request #149 from matiu/feature/tx-signing-example
add a tx creation and signing example
2014-03-13 14:33:23 -04:00
Matias Alejo Garcia f4eb198bdb add createTx example to mocha 2014-03-13 14:53:35 -03:00
Ryan X. Charles 05f6e28642 update interface, bitcore.KeyModule.Key -> bitcore.Key
It's annoying and easy to forget to type in bitcore.KeyModule.Key. I have
updated this so that now you can just do bitcore.Key. Tests pass in node and
the browser. This is a backwards-incompatible change so all software that
depends on the old style key generation will need to be updated.
2014-03-13 13:31:02 -04:00
Ryan X. Charles 018239757b Merge pull request #147 from matiu/bug/signatures-in-browser
Bug/signatures in browser
2014-03-13 11:47:31 -04:00
Matias Alejo Garcia 2a6f7155b3 fix sigatures and verifications on browser 2014-03-13 00:27:50 -03:00
Matias Alejo Garcia caa16713f1 add broken test for verifing a signature (fails in browser) 2014-03-12 23:21:16 -03:00
Ryan X. Charles c565d6207c Merge pull request #140 from matiu/bug/fix-ripe160-and-address
Bug/fix ripe160 and address
2014-03-12 18:03:40 -04:00
Manuel Araoz 1732ec2ced add new example 2014-03-12 15:22:56 -03:00
Manuel Araoz 56c12a03b9 add example tests 2014-03-12 15:22:56 -03:00
Matias Alejo Garcia dc8d23dba5 fix conflicts 2014-03-12 11:56:10 -03:00
Matias Alejo Garcia ab183c0e66 fixes ripe160 add some tests 2014-03-12 11:40:10 -03:00