Commit Graph

378 Commits

Author SHA1 Message Date
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
6727342202 Merge pull request #689 from eordano/feature/scriptOpcodeUpdate
Feature/script opcode update
2014-12-09 18:18:19 -03:00
Esteban Ordano
fd531de123 Update opcode and script transactions 2014-12-09 17:53:30 -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
3551742fee Miscelaneus updates to docs and bufferreader/writer 2014-12-09 17:31:20 -03:00
Esteban Ordano
1816ba197f Add check functions to Address 2014-12-09 17:25:36 -03:00
Braydon Fuller
c86f6d68a9 ECDSA: Remove console.log 2014-12-09 13:51:10 -05: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
4e9e89cdbf Move license notes to LICENSE 2014-12-09 13:46:14 -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
58b43345c0 add docs 2014-12-04 18:39:13 -03:00
Manuel Araoz
6c5198b743 fix a browser test 2014-12-04 15:38:46 -03:00
Manuel Araoz
d19ad6f384 remove commented code 2014-12-04 15:10:19 -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
163925c754 implement Script.buildMultisigOut() 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
012466d411 PublicKey: Remove compressed boolean from validation, not nessassary. 2014-12-04 13:06:10 -05:00
Braydon Fuller
64c0d5f942 Payment Protocol: Restore and reorganize files for payment protocol. 2014-12-04 10:43:40 -05:00
Esteban Ordano
d29d8d267d Add message to stack 2014-12-03 11:49:33 -03:00
Esteban Ordano
121b9fc090 Fixes issues with errors 2014-12-03 10:06:44 -03:00
Manuel Araoz
ef8f1eabd2 add script.isStandard() 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
3e2bcaa297 more verbose invalid script error 2014-12-02 14:20:58 -03:00
Manuel Araoz
ed0fc6298c 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
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
ebf97aa4bb fix condition style again 2014-12-02 14:20:02 -03:00
Manuel Araoz
94f1afbad7 fix tests 2014-12-02 14:20:02 -03:00
Manuel Araoz
98be01b207 fix conditional format 2014-12-02 14:20:02 -03:00
Manuel Araoz
66e96e5fa4 make tests pass with Script refactor 2014-12-02 14:20:02 -03:00
Manuel Araoz
87f6651554 initial Script refactor 2014-12-02 14:20:02 -03:00
Braydon Fuller
3fc12e87d7 Merge pull request #648 from braydonf/ref/default-networks
Networks: Consistency of network reference and fix hardcoded value
2014-12-02 11:12:20 -05:00
Braydon Fuller
968f9936d8 Networks: Add mainnet alias 2014-12-02 10:55:25 -05: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
3dbb35a708 Fixes build, add "mainnet" again and fixes uri 2014-12-02 12:40:42 -03: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
b91b0fe4a5 PrivateKey: Use defaultNetwork if not specified 2014-12-01 18:10:18 -05:00
Braydon Fuller
eb72310a62 Address: Use defaultNetwork if network is not specified 2014-12-01 18:07:39 -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
db4561f834 Add documentation 2014-12-01 17:18:10 -03:00
Yemel Jardi
c9951be2dc Base URI class and tests 2014-12-01 17:18:10 -03:00
Yemel Jardi
80937362be Address constructor allows an address instance 2014-12-01 17:17: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
ab517cae9c refactor double quote 2014-12-01 16:02:28 -03:00
Yemel Jardi
3208ca2a44 Allow creating instance without new 2014-12-01 16:02:06 -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
94f3f02210 Add missing javadocs 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
Esteban Ordano
b89bdd19f8 Add HDPrivateKey class 2014-11-30 09:47:44 -03:00
Manuel Araoz
1f3d7d9872 move Signature to crypto/ 2014-11-27 16:42:44 -03:00
Braydon Fuller
95b489c306 JSDoc: Update Address, PublicKey and PrivateKey so that they are documented. 2014-11-26 14:21:45 -05:00
Esteban Ordano
0695cda651 fix jsdoc 2014-11-26 12:56:43 -03:00
Esteban Ordano
4b201a8db1 Replace grunt with gulp 2014-11-25 21:26:52 -03:00
Esteban Ordano
73265d9089 Refactor network.js 2014-11-25 20:39:43 -03:00
Braydon Fuller
a50655c7d3 Merge branch 'feature/keys-interface-rename-tests' into feature/keys-interface-rename 2014-11-25 17:38:24 -05:00
Braydon Fuller
747b14dc2e Merge branch 'v0.8' into feature/keys-interface-rename 2014-11-25 17:37:24 -05:00
Braydon Fuller
7de28610a5 Keys: Fix browser data types 2014-11-25 15:30:25 -05: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
cd4583f954 Encodings: Updated Base58 for the latest version. 2014-11-25 14:40:43 -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
Manuel Aráoz
b97e448af6 Merge pull request #575 from braydonf/ref/package-update-2014-11
Package: Updated to include the latest versions of dependencies
2014-11-25 11:45:40 -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
cfb32f7fc8 Package: Updated to include the latest versions of dependencies 2014-11-24 15:20:14 -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