Commit Graph

222 Commits

Author SHA1 Message Date
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
Matias Alejo Garcia 6af1b1dab6 add broken test for sha256ripe160 2014-03-12 00:40:59 -03:00
Matias Alejo Garcia 5be37f2c7b remove PeerManager exception, no necesary anymore 2014-03-12 00:11:12 -03:00
Matias Alejo Garcia e2c775e17f more broken cases in browser 2014-03-11 23:43:57 -03:00
Matias Alejo Garcia eb13e47c8f add demo broken test for WalletKey 2014-03-11 23:10:21 -03:00
Manuel Araoz 409bb093d5 configurable submodules for browser bundle 2014-03-11 18:17:03 -03:00
Manuel Araoz 13b1431c56 change default way of validating Addresses 2014-03-11 11:27:29 -03:00
Manuel Araoz ad34fd191d starting Address idiom changes 2014-03-11 10:21:26 -03:00
Manuel Araoz 4167827937 merge master changes 2014-03-10 15:00:25 -03:00
Manuel Araoz d7529a8281 trying to fix node tests now 2014-03-10 14:55:30 -03:00
Manuel Araoz a2e6e88569 fixing testdata inclusion in browser 2014-03-10 14:55:30 -03:00
Manuel Araoz 0477b75de4 fix util broken tests 2014-03-10 10:00:37 -03:00
Manuel Araoz 88b85c02fd skip broken tests 2014-03-10 09:58:35 -03:00
Ryan X. Charles cb00efb092 Merge remote-tracking branch 'maraoz/feature/add-bitcoin-core-tests'
Conflicts:
	Script.js
	ScriptInterpreter.js

...fixed conflicts in Script.js and ScriptInterpreter.js. Many tests are broken
right now, but that's because we're now including more test data in the tests.
These need to be fixed.
2014-03-09 12:07:11 -04:00
Ryan X. Charles 0adbc55e82 make browser tests work by including testdata
...testdata was not being loaded correctly by the new browserify.js file, and
thus not all the tests were working. I have fixed this by including "testdata"
as one of the modules that is compiled by the browserify.js script.
2014-03-08 21:34:21 -05:00
Ryan X. Charles c19fb7a3ce Merge remote-tracking branch 'matiu/feature/support-soop-browser'
Conflicts:
	Script.js
	ScriptInterpreter.js
	Transaction.js
	test/testdata.js

...conflicts resolved by taking Manuel's changes, and then manually including
Matias's changes on those same files. The conflicts resulted from differences
in indentation, which is because Matias' changes unindendented all the code
that had been but is not now inside a function.
2014-03-08 19:30:21 -05:00
Matias Alejo Garcia 089fbab719 support soop with browser all test passing 2014-03-08 18:42:08 -03:00
Manuel Araoz 1d72154c54 separate getStringContent and getHumanReadable 2014-03-07 18:04:23 -03:00
Manuel Araoz dc56cb8d45 fixed Script parse tests for all scripts (valid and invalid) 2014-03-07 15:41:27 -03:00
Manuel Araoz e83590f528 fix Script parsing for some cases, setup ScriptInterpreter tests 2014-03-07 14:43:29 -03:00
Mike Belshe cda6d035b4 * Fix size bug in bitcore's getVarIntSize.
* Implement quadword for varIntBuf
* Add unit tests for util.varIntBuf and util.getVarIntSize
* Fix the browser/util numToVarInt equivalent as well
2014-03-06 22:01:22 -08:00
Manuel Araoz 05c5538162 script parser code added and tested 2014-03-06 17:23:00 -03:00
Matias Alejo Garcia c0c325dabd all classes working with soop and test passing 2014-03-05 16:11:16 -03:00
Manuel Araoz 40ee699453 working on Transaction verification and Script tests 2014-03-05 09:56:42 -03:00
Manuel Araoz ade6f36c34 basic Transaction test working 2014-03-05 09:56:42 -03:00
Manuel Araoz 6755b84fbf Transaction new tests not working 2014-03-05 09:56:42 -03:00
Manuel Araoz d77cc28f7a added references to bitcoin/bitcoin tests 2014-03-05 09:56:42 -03:00
Manuel Araoz d2b74c2f7c added decode test 2014-03-05 09:56:42 -03:00
Manuel Araoz 63973b29e3 added encode tests 2014-03-05 09:56:42 -03:00
Manuel Araoz a2bd68f456 add bitcoin/bitcoin test data 2014-03-05 09:56:42 -03:00
Matias Alejo Garcia cfc3ca35d4 remove constructor params in browser version of KeyModule 2014-03-04 17:45:27 -03:00
Matias Alejo Garcia 8f61401099 add support for Sign and Verify in Key for Browser. Tests added 2014-03-04 03:23:42 -03:00
Manuel Araoz 066936d69b fix ripemd160 for browser and add tests 2014-02-27 20:02:11 -03:00
Manuel Araoz d3f1d1989c fix testdata importing 2014-02-26 12:23:06 -03:00
Manuel Araoz 6a24e7fbe0 load test data from files 2014-02-24 11:59:43 -03:00
Manuel Araoz b4642e8924 all tests working in browser :D 2014-02-24 09:39:42 -03:00
Manuel Araoz 3e5e0057b1 Key tests working in the browser~!!! 2014-02-24 09:39:42 -03:00
Manuel Araoz 915c048c3b browser ECDSA compressed key generated 2014-02-24 09:39:42 -03:00
Manuel Araoz 0f393cb989 ECDSA key browser work 2014-02-24 09:39:42 -03:00
Manuel Araoz 47fb987600 Added more classes to browser 2014-02-19 16:07:50 -03:00
Manuel Araoz c693d01a44 Deserialize test 2014-02-19 14:30:48 -03:00
Manuel Araoz 339ef3073b add const test 2014-02-19 14:27:03 -03:00
Manuel Araoz bf641ef954 refactor tests 2014-02-19 14:25:14 -03:00
Manuel Araoz ed90a2ebe6 Browserify Bloom 2014-02-19 12:49:21 -03:00
Manuel Araoz 8ab1c3feae Transaction, Connection, Peer, Block, ScriptInterpreter working in the browser! 2014-02-19 12:36:19 -03:00
Manuel Araoz 1dcd941331 fixed various test problems 2014-02-18 16:03:44 -03:00
Manuel Araoz 0096238004 migrating buffertools compare method and test 2014-02-18 16:03:43 -03:00
Manuel Araoz 3d901a12f2 added tests to Block and Peer, and migrated buffertools usage 2014-02-18 16:03:43 -03:00
Manuel Araoz 4496ed369a fix Transaction for node 2014-02-18 11:39:47 -03:00
Manuel Araoz 05bb2ff3df change name for sin-test 2014-02-17 17:55:56 -03:00
Manuel Araoz ab81de3c79 skipped problematic testcase 2014-02-17 17:18:07 -03:00
Manuel Araoz a26665ec80 trying to fix Opcode test 2014-02-06 16:58:59 -03:00
Manuel Araoz f6549bc570 script test fix 2014-02-06 16:25:46 -03:00
Manuel Araoz 262a5d7189 Added some tests for Script 2014-02-06 16:21:15 -03:00
Manuel Araoz 0d5573dc16 Script class working in browser! 2014-02-06 15:49:22 -03:00
Manuel Araoz e295e33800 starting with Transaction class 2014-02-06 12:57:47 -03:00
Manuel Araoz fc93218c56 Address working in the browser 2014-02-05 18:15:10 -03:00
Manuel Araoz 0a6ddaffa3 EncodedData working in the browser 2014-02-05 18:15:10 -03:00
Manuel Araoz 304fdc013d starting address migration 2014-02-05 18:15:10 -03:00
Manuel Araoz a47720eec1 remove mocha files 2014-02-04 16:37:34 -03:00
Manuel Araoz 5a90473d12 tests work in browser and node 2014-02-04 16:37:34 -03:00
Manuel Araoz 12d7274588 added testing framework for the browser 2014-02-04 16:37:34 -03:00
Matias Alejo Garcia f35c03544b replace tabs with 2 spaces using "expand" 2014-01-16 06:21:35 -03:00
Ryan X. Charles a636cb4ec0 add tests for functions imported from cosign 2014-01-15 22:17:11 -05:00
Ryan X. Charles 5fc4ad4e87 Support compressed public keys in PrivateKey.js 2013-12-30 22:15:01 -05:00
Ryan X. Charles 71cd92d225 fix truncation error in parseValue 2013-12-18 20:08:52 -05:00
Ryan X. Charles 08651a77c0 move util tests to own file 2013-12-18 19:35:53 -05:00
Ryan X. Charles 416b7795f1 add description to tests 2013-12-18 19:02:54 -05:00
Jeff Garzik da5719249f util/util: helper parseValue() converts bitcoin decimals into bigint 2013-09-14 22:59:29 -04:00
Jeff Garzik 01ab4b4c35 test/basic: verify our addr/privkey checks properly fail on invalid-data tests 2013-07-10 20:42:15 -04:00
Jeff Garzik bf1e16b0da Add PrivateKey, Key classes. Update test to enc/dec private key test vectors. 2013-07-10 20:07:14 -04:00
Jeff Garzik 6ac055ec52 test/basic: fix test for VersionedData updates, s/hash/payload/ 2013-07-10 13:45:32 -04:00
Jeff Garzik 3ce230aa4e Bitcoin address tests, from bitcoin/bitcoin.git 2013-07-09 16:02:59 -04:00