Commit Graph

431 Commits

Author SHA1 Message Date
Braydon Fuller
683ac93c0b Fix utility naming issue 2014-12-12 12:06:39 -05:00
Braydon Fuller
162438d111 Block: Change utility naming 2014-12-12 12:06:39 -05:00
Braydon Fuller
3276236cce Consistent names for utilities 2014-12-12 12:06:39 -05:00
Braydon Fuller
94cc10b1a3 Changed *Json to *JSON and returned an object so that methods can be called from other toJSON methods without the double-stringification issue. 2014-12-12 12:06:39 -05:00
Braydon Fuller
7aaee6466f Fix spacing formatting issues 2014-12-12 11:24:14 -05:00
Braydon Fuller
32ac9bb63e Change utility naming 2014-12-12 11:05:22 -05:00
Braydon Fuller
1858766627 Standardized toJSON, fromJSON, toString and fromString interfaces 2014-12-12 09:51:59 -05:00
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
77be24a52f Bump 2014-12-11 22:27:37 -05:00
Braydon Fuller
6bb9990a2b Opcode: JS-Beautify 2014-12-11 20:37:54 -05: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
d3b761fc7c Opcode('*').toNumber() -> Opcode.* 2014-12-11 16:19:22 -03:00
Manuel Araoz
bb8373ead7 remove script_interpreter for partial commit 2014-12-11 16:19:22 -03:00
Manuel Araoz
53f6a31e73 refactor script 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
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
e1f1f4b6f6 Hotfix: Remove console.log 2014-12-11 16:11:47 -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
5b0bedee6c PrivateKey: Fixed documentation 2014-12-11 13:29:21 -05:00
Braydon Fuller
d4d3d4ab4a PrivateKey: Add documentation and refactor to use network object as a parameter. 2014-12-11 13:21:09 -05:00
Manuel Aráoz
b89f15bcf1 Merge pull request #705 from braydonf/ref/address-network
Address: Documentation and Network Refactor
2014-12-11 13:22:04 -03:00
Yemel Jardi
9b6183b083 Improving code thanks to jshint 2014-12-11 13:11:55 -03:00
Yemel Jardi
ee169a80af Replace buffertools 2014-12-11 12:45:24 -03:00
Braydon Fuller
56161676c3 Address: Change discoverMeta to classifyVersion and add a general address validation example 2014-12-11 10:42:10 -05:00
Yemel Jardi
c30f656540 Remove custom hex function at networks.js 2014-12-11 11:57:14 -03:00
Yemel Jardi
63022783dd Add developer guide section 2014-12-11 11:31:52 -03:00
Esteban Ordano
ef49dda0fd Move input to subfolder before refactor
Gonna inherit from it on two subclasses: "P2SH Input" and "P2PKH Input"

They'll have a `addSignature` method, to deal with new signatures,
a `clearSignatures`, in case the outputs change and the signatures get
invalidated, `countMissingSignatures`, and a reference to the UTXO
they'll be spending, so all logic regarding "p2sh mapping" gets to
be in here and the Transaction class is not polluted.
2014-12-11 09:18:20 -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
57968674ef Add a better check on networkMaps 2014-12-10 18:09:27 -03:00
Yemel Jardi
228e7e214a Add tests 2014-12-10 18:09:27 -03:00
Yemel Jardi
2d4b26a6a1 Add missing serializations 2014-12-10 18:09:27 -03:00
Yemel Jardi
56907c1a3b Add missing argument 2014-12-10 18:09:27 -03:00
Yemel Jardi
9ce450c142 Remove old tests 2014-12-10 18:09:27 -03:00
Yemel Jardi
30740be5df Remove old files 2014-12-10 18:09:27 -03:00
Yemel Jardi
8eca7285e0 Refactor and documentation 2014-12-10 18:09:26 -03:00
Yemel Jardi
5dc124a438 Add inheritance to messages and expose them as a module 2014-12-10 18:09:26 -03:00
Yemel Jardi
68f50b2f61 Add messages serialization 2014-12-10 18:09:26 -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
Manuel Araoz
ec464681fe add sorting to Script#buildMutlisigOut() 2014-12-10 16:46:20 -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
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