Commit Graph

436 Commits

Author SHA1 Message Date
Manuel Aráoz d6caab69ca Merge pull request #720 from braydonf/feature/immutable-opcode
Opcode: Modify `from` methods to be static, and an instance be immutable.
2014-12-12 11:19:30 -03:00
Esteban Ordano 40932f39ce Merge pull request #717 from braydonf/feature/hdkeys-immutable
HDKeys: Modified to have immutable properties
2014-12-12 10:23:26 -03:00
Braydon Fuller 1b2e9728ce Opcode: Modify from methods to be static, and an instance be immutable. 2014-12-11 20:19:54 -05:00
Braydon Fuller c73c56f938 HDKeys: Modified to have immutable properties 2014-12-11 15:37:31 -05:00
Manuel Aráoz d1b4c25c6f Merge pull request #713 from braydonf/ref/private-key-network
PrivateKey: Add docs and refactor to use network object
2014-12-11 17:20:24 -03:00
Manuel Araoz bb8373ead7 remove script_interpreter for partial commit 2014-12-11 16:19:22 -03:00
Manuel Araoz 81f1469f9a add preconditions to opcode 2014-12-11 16:19:21 -03:00
Manuel Araoz 3775d3c08a fix tests for preconditions 2014-12-11 16:19:21 -03:00
Manuel Araoz f5b7f73d09 fixing tests for new script internals 2 2014-12-11 16:19:21 -03:00
Manuel Araoz 016bc6e3ed fixing tests for new script internals 2014-12-11 16:19:21 -03:00
Manuel Araoz 898bdac05f working towards script interpreting 2014-12-11 16:19:21 -03:00
Manuel Araoz 7ee9601d8a starting with script_interpreter 2014-12-11 16:19:21 -03:00
Esteban Ordano 005cf074fd Merge pull request #696 from yemel/feature/transport
P2P Peer Connections
2014-12-11 16:10:18 -03:00
Braydon Fuller d4d3d4ab4a PrivateKey: Add documentation and refactor to use network object as a parameter. 2014-12-11 13:21:09 -05:00
Yemel Jardi 3190991941 add dependencies and update tests 2014-12-11 14:01:06 -03:00
Yemel Jardi 9b6183b083 Improving code thanks to jshint 2014-12-11 13:11:55 -03:00
Yemel Jardi 3e775bd0f9 Move messages data to a separate file 2014-12-11 11:42:56 -03:00
Braydon Fuller 3b061b057f Address: Added documentation and refactored to accept both a string and network object. 2014-12-10 23:44:17 -05:00
Yemel Jardi 228e7e214a Add tests 2014-12-10 18:09:27 -03:00
Yemel Jardi 56907c1a3b Add missing argument 2014-12-10 18:09:27 -03:00
Yemel Jardi 44eca35af9 rename peer tests 2014-12-10 18:09:27 -03:00
Yemel Jardi 9ce450c142 Remove old tests 2014-12-10 18:09:27 -03:00
Yemel Jardi a9e54a7856 Progress on sending and receiving messages 2014-12-10 18:09:26 -03:00
Yemel Jardi a1e8f3c596 Add transport/peermanager class 2014-12-10 18:09:26 -03:00
Yemel Jardi 4faa1a4a46 Add transport/peer class 2014-12-10 18:09:26 -03:00
Yemel Jardi f1d2009418 Add transport/connection class 2014-12-10 18:09:26 -03:00
Yemel Jardi d584febea0 Fix tests 2014-12-10 17:50:46 -03:00
Manuel Araoz c085f166b4 add sorting to Script#buildMutlisigOut() 2014-12-10 16:54:30 -03:00
Manuel Araoz ec464681fe add sorting to Script#buildMutlisigOut() 2014-12-10 16:46:20 -03:00
Manuel Araoz 63bc625c33 add Script#removeCodeSeparators tests 2014-12-10 16:09:08 -03:00
Esteban Ordano 1579eed9af Consistency with "id", "hash", and "_getHash" 2014-12-10 15:20:42 -03:00
Esteban Ordano 0c28bc1786 Split buildPKH arguments, add Copy constructor on publickey 2014-12-10 12:46:21 -03:00
Esteban Ordano 5c974a8ef2 Refactor transaction to match new API
* Refactor transaction into a different subfolder
* Added a lot of tests for sighash and transaction serialization (from
  reddit's and Ryan X. Charles' `fullnode`)
* Drop "only" from sighash tests and consolidate logs
2014-12-10 12:44:30 -03:00
Manuel Araoz b61bd6f76a add Script#isPushOnly() 2014-12-10 12:39:09 -03:00
Manuel Aráoz 01b74b8df5 Merge pull request #695 from eordano/feature/errors
Add a preconditions module, and refactor errors
2014-12-10 12:35:31 -03:00
Esteban Ordano ea17a6ace1 Add a preconditions module, and refactor errors
100% code coverage for the preconditions module.

Usage:
```
$.checkState(something === anotherthing, 'Expected something to be
anotherthing');
$.checkArgument(something < 100, 'something', 'must be less than 100');
$.checkArgumentType(something, PrivateKey, 'something'); // The third
argument is a helper to mention the name of the argument
$.checkArgumentType(something, PrivateKey); // but it's optional (will
show up as "(unknown argument)")
```
2014-12-10 11:56:38 -03:00
Manuel Aráoz 22b1193e32 Merge pull request #688 from eordano/feature/addressMethods
Add check functions to Address
2014-12-09 17:51:25 -03:00
Esteban Ordano 1816ba197f Add check functions to Address 2014-12-09 17:25:36 -03:00
Manuel Araoz ec00ccba4c add script public key hash in tests 2014-12-09 16:11:57 -03:00
Manuel Aráoz fb1978c5f5 Merge pull request #679 from eordano/feature/ecdsabackport
Backport changes to ECDSA from fullnode
2014-12-09 15:09:33 -03:00
Esteban Ordano 4879007bc7 Merge pull request #676 from braydonf/feature/block-handling-validation
Block: Added validation of proof of work, merkle tree and other interface changes. Closes #601
2014-12-09 13:54:31 -03:00
Esteban Ordano 736bcd6bd4 Backport changes to ecdsa from fullnode 2014-12-09 12:01:52 -03:00
Esteban Ordano f8397a617e Add option to create private key from hex 2014-12-09 11:40:30 -03:00
Esteban Ordano baf6a24d23 Add ".publicKey" property to PrivateKey 2014-12-09 11:21:47 -03:00
Braydon Fuller 5d1da9802c Block: Added validation of proof of work, merkle tree and other interface changes. Closes #601 2014-12-08 14:51:43 -05:00
Manuel Aráoz 33715a994e Merge pull request #666 from braydonf/bug/public-key-validation
PublicKey: Add test to verify that both uncompressed an compressed keys validate.
2014-12-05 10:31:10 -03:00
Manuel Araoz f231f8a054 fix a browser test 2 2014-12-04 15:40:27 -03:00
Manuel Araoz 6c5198b743 fix a browser test 2014-12-04 15:38:46 -03:00
Manuel Araoz eaaab5c7d0 implement Script.buildScriptHashOut() 2014-12-04 15:06:56 -03:00
Manuel Araoz 4bca5316ea implement Script.buildDDataOut() 2014-12-04 15:06:56 -03:00
Manuel Araoz b87e687fd9 implement Script.buildPublicKeyHashOut() 2014-12-04 15:06:56 -03:00
Manuel Araoz 7b54a53414 add Opcode.smallInt() 2014-12-04 15:06:56 -03:00
Manuel Araoz 4fae69807d change isOpReturn to isDataOut 2014-12-04 15:06:56 -03:00
Manuel Araoz d05aa27bed finish all tests 2014-12-04 15:06:56 -03:00
Braydon Fuller ae80ca8678 PublicKey: Add test to verify that both uncompressed an compressed keys validatate. Fixes #665 2014-12-04 12:47:59 -05:00
Braydon Fuller 64c0d5f942 Payment Protocol: Restore and reorganize files for payment protocol. 2014-12-04 10:43:40 -05:00
Manuel Araoz ef8f1eabd2 add script.isStandard() 2014-12-02 14:20:58 -03:00
Manuel Araoz 883a7cae54 add unkown script test 2014-12-02 14:20:58 -03:00
Manuel Araoz c4cc6ba56d fix tests with new script api 2014-12-02 14:20:58 -03:00
Manuel Araoz 87c40193b9 add pubkey in pubkey out script types 2014-12-02 14:20:58 -03:00
Manuel Araoz 901d55d129 fix classify tests 2014-12-02 14:20:58 -03:00
Manuel Araoz 7d9151abc6 fix classify tests 2014-12-02 14:20:58 -03:00
Manuel Araoz 9d6ff4dc44 add classify tests 2014-12-02 14:20:58 -03:00
Manuel Araoz 293a3299d4 add classify tests 2014-12-02 14:20:58 -03:00
Manuel Araoz 72b5dcc6af add Script.isMultisigIn 2014-12-02 14:20:58 -03:00
Manuel Araoz 96e1451d28 add script.isMultisigOut 2014-12-02 14:20:58 -03:00
Manuel Araoz 350816ad40 opcode refactor: isSmallIntOp 2014-12-02 14:20:58 -03:00
Manuel Araoz 4a6755d0d1 add Script#prepend() 2014-12-02 14:20:57 -03:00
Manuel Araoz 66e96e5fa4 make tests pass with Script refactor 2014-12-02 14:20:02 -03:00
Braydon Fuller d5d88287cd Networks: Consistency of network reference for 'livenet', and removed hardcoded value. 2014-12-02 10:48:21 -05:00
Esteban Ordano 2b866a8460 Merge pull request #630 from braydonf/feature/immutable
Immutable Address, PublicKey and PrivateKey
2014-12-02 12:17:03 -03:00
Esteban Ordano 3d56ed3b4d Merge pull request #637 from braydonf/feature/public-key-to-address
PublicKey: Added toAddress prototype. Closes #599
2014-12-02 12:16:29 -03:00
Esteban Ordano 7682cfa359 Merge pull request #644 from braydonf/ref/default-network
Default the network, if not specified, to `networks.defaultNetwork`. Closes #559
2014-12-02 12:16:11 -03:00
Braydon Fuller 4ba53fcb92 Tests: Check that PrivateKey is using the defaultNetwork 2014-12-01 18:22:51 -05:00
Braydon Fuller 2cbcf7da1c Tests: Check that an Address is using the defaultNetwork 2014-12-01 18:19:17 -05:00
Braydon Fuller 6e36baebc6 Tests: Enable tests for network, include defaultNetwork, check each constant, build browser tests before running to make sure it's up-to-date 2014-12-01 17:55:57 -05:00
Braydon Fuller 4adf1fcb14 Network: Replaced all instances of mainnet with livenet for consistency 2014-12-01 17:31:39 -05:00
Yemel Jardi 9cd9eeba1f convert amout to satoshis 2014-12-01 17:36:52 -03:00
Yemel Jardi c9951be2dc Base URI class and tests 2014-12-01 17:18:10 -03:00
Manuel Aráoz 1175c475a2 Merge pull request #627 from yemel/feature/unit-util
Utility for unit conversion
2014-12-01 16:17:17 -03:00
Braydon Fuller b06866f86f PublicKey: Added toAddress prototype. Closes #599 2014-12-01 14:15:59 -05:00
Yemel Jardi 1ae88eed7a Add new test for string values 2014-12-01 16:05:01 -03:00
Yemel Jardi ab517cae9c refactor double quote 2014-12-01 16:02:28 -03:00
Braydon Fuller 3298a01498 Immutable Address, PublicKey and PrivateKey 2014-12-01 12:44:32 -05:00
Yemel Jardi d978160ddb Utility for unit conversion 2014-12-01 12:33:45 -03:00
Braydon Fuller 9a76bf30ff Crypto/Point: Added test coverage and documentation, and refactored validation 2014-12-01 10:14:36 -05:00
Esteban Ordano 865a69f6f2 add testing for key cache 2014-12-01 10:00:46 -03:00
Esteban Ordano 13fd2592fc Add autogenerated errors 2014-11-30 09:47:44 -03:00
Esteban Ordano 803027353a Change errors 2014-11-30 09:47:44 -03:00
Esteban Ordano a2a51ecc0c Fix style: move each static function to an appropiate namespace 2014-11-30 09:47:44 -03:00
Esteban Ordano 53900f3196 Add cache to derivation 2014-11-30 09:47:44 -03:00
Esteban Ordano 4c0769fa09 100% test coverage on hdpublickey 2014-11-30 09:47:44 -03:00
Esteban Ordano edc5b24d69 100% test coverage for HDPrivateKey 2014-11-30 09:47:44 -03:00
Esteban Ordano 950ea6ed1a Add public key 2014-11-30 09:47:44 -03:00
Esteban Ordano ad74b549a1 Fixes interfaces 2014-11-30 09:47:44 -03:00
Esteban Ordano 5728c30371 Add tests 2014-11-30 09:47:44 -03:00
Manuel Araoz 1f3d7d9872 move Signature to crypto/ 2014-11-27 16:42:44 -03:00
Esteban Ordano 4b201a8db1 Replace grunt with gulp 2014-11-25 21:26:52 -03:00
Braydon Fuller 2a2dc8196d Crypto: Update ECDSA with to use PrivateKey and PublicKey 2014-11-25 15:10:22 -05:00
Braydon Fuller f6e610dd28 Merge branch 'bug/recursive-tests' into feature/keys-interface-rename-tests 2014-11-25 14:55:35 -05:00
Braydon Fuller 8c4301cb0a Tests: Updated tests to run from sub-directories and fixed crypto and encoding related missing updates. 2014-11-25 14:20:43 -05:00
Braydon Fuller 85ce140aeb Keys: Renamed Privkey to PrivateKey and Pubkey to PublicKey 2014-11-25 13:21:53 -05:00
Braydon Fuller 35d0cbc5a6 Keys: Modified interface of Pubkey and Privkey so that an instance can be relied upon as valid. 2014-11-25 12:30:52 -05:00
Manuel Aráoz f4bf23be82 Merge pull request #573 from braydonf/ref/remove-keypair
Keys: Refactored to use Pubkey and Privkey and removed Keypair
2014-11-25 12:22:38 -03:00
Braydon Fuller deb54c5a20 Address: Return new instance if `this` isn't already instantiated. 2014-11-24 15:47:30 -05:00
Braydon Fuller 23c1ed3599 Keys: Refactored to use Pubkey and Privkey and removed Keypair 2014-11-24 12:53:16 -05:00
Braydon Fuller 9863b123c0 Address: Increase test coverage 2014-11-23 15:34:19 -05:00
Braydon Fuller 3c9cc23501 Address: Improved error messages and type, and added inspect prototype for console output. 2014-11-21 22:20:44 -05:00
Braydon Fuller 0df97a42fe Address: Fix indentation, typos and simplify isValid 2014-11-21 19:02:58 -05:00
Braydon Fuller 90341f2ab6 Address: Modified interface so that any instance of Address can be assumed to be valid. 2014-11-21 14:18:31 -05:00
Manuel Araoz a45dee3a4b 'hide' encoding and crypto 2014-11-21 13:26:30 -03:00
Manuel Araoz c8239c8655 remove unused dep 2014-11-21 12:59:06 -03:00
Manuel Araoz 4508fb6765 fix references to encoding 2014-11-21 12:54:56 -03:00
Manuel Araoz deee8c6887 refactor protocol->encoding 2014-11-21 11:43:37 -03:00
Manuel Araoz e0340213fe remove KDF 2014-11-21 10:43:12 -03:00
Manuel Araoz 1477572a04 fix bitcore reference 2014-11-21 10:29:41 -03:00
Manuel Araoz eb7be6ac44 fix tests for varint 2014-11-20 18:55:23 -03:00
Manuel Araoz d2fe2909db fix tests for bufferwriter 2014-11-20 18:53:01 -03:00
Manuel Araoz ea05ec625e fix tests for bufferreader 2014-11-20 18:49:55 -03:00
Manuel Araoz 3bd2654eb4 fix tests for base58check 2014-11-20 18:48:44 -03:00
Manuel Araoz 890bed0af6 fix tests for base58 2014-11-20 18:47:47 -03:00
Manuel Araoz 5440baad83 fix tests for random 2014-11-20 18:46:43 -03:00
Manuel Araoz 4c925dc249 fix tests for point 2014-11-20 18:44:19 -03:00
Manuel Araoz fa2b54332c fix tests for kdf 2014-11-20 18:43:32 -03:00
Manuel Araoz e71e41542c fix tests for hash 2014-11-20 18:42:54 -03:00
Manuel Araoz f0740e0589 fix tests for ecdsa 2014-11-20 18:42:03 -03:00
Manuel Araoz f178445b07 fix tests for bn 2014-11-20 18:40:23 -03:00
Manuel Araoz 9e30a0236c fix tests for txout 2014-11-20 18:39:02 -03:00
Manuel Araoz 4dd9f60f8c fix tests for txin 2014-11-20 18:37:33 -03:00
Manuel Araoz a18d703b86 fix tests for tx 2014-11-20 18:35:23 -03:00
Manuel Araoz 1df88d0694 fix tests for signature 2014-11-20 18:34:15 -03:00
Manuel Araoz 778977449a fix tests for script 2014-11-20 18:33:26 -03:00
Manuel Araoz b2ef61328f fix tests for pubkey 2014-11-20 18:31:08 -03:00
Manuel Araoz 3ac26759e4 fix tests for privkey 2014-11-20 18:29:56 -03:00
Manuel Araoz 685e0c5a95 fix tests for opcode 2014-11-20 18:29:02 -03:00
Manuel Araoz 40d308748f fix tests for keypair 2014-11-20 18:28:00 -03:00
Manuel Araoz 24b16fc126 fixing tests for examples 2014-11-20 18:26:24 -03:00
Manuel Araoz 7d09addcaa fixing tests for blockheader 2014-11-20 18:21:13 -03:00
Manuel Araoz c06c81e27b fixing tests 2014-11-20 18:19:48 -03:00
Manuel Araoz f0a4aebdfb reorder tests 2014-11-20 18:08:31 -03:00
Manuel Araoz a9d029341d remove extras 2014-11-20 13:31:51 -03:00
Manuel Araoz 6f2913eed4 fix references 2014-11-20 11:50:23 -03:00
Manuel Araoz 54fa31c85d remove crypto 2014-11-18 18:59:31 -03:00
Eric Martindale 6102374875 Full suite of working tests for Identities. 2014-10-06 18:03:20 -04:00
Eric Martindale 14748ae2b5 Make more tests pass with Identity(). 2014-10-06 17:54:20 -04:00
Eric Martindale 4b6e9aaf03 Improve tests. 2014-10-06 15:40:30 -04:00
Eric Martindale 75cf4c4f9a tidy up identity class, add tests. 2014-10-02 22:27:18 -04:00
Eric Martindale f01ebd97d2 Buffers, identities, and randomNumbers. 2014-10-01 21:08:06 -04:00
Ryan X. Charles f54edfb618 Varint(BN()) convenience
...and add some tests for the various constructor conveniences
2014-09-23 22:19:01 -07:00
Ryan X. Charles 8e85eba08b pushin, pushout
Add convenience methods for adding new inputs and outputs.
2014-09-23 22:09:41 -07:00