Manuel Araoz
cd00b3ebe5
tx_valid tests passing!
2014-12-16 18:47:58 -03:00
Manuel Araoz
b3be9461cf
tx_valid tests passing!
2014-12-16 18:47:58 -03:00
Manuel Araoz
d56fb04575
add ScriptInterpreter#verify docs
2014-12-16 18:46:43 -03:00
Manuel Araoz
c272412df2
add sig_noncanonical.json tests
2014-12-16 16:34:22 -03:00
Manuel Aráoz
e39543b730
Merge pull request #758 from eordano/fix/precondArgument
...
Fix #756 : Preconditions Invalid Argument
2014-12-16 15:41:07 -03:00
Braydon Fuller
e3fa89ce62
PublicKey: Fix formatting issue for inspect
2014-12-16 12:25:01 -05:00
Esteban Ordano
1b19255fd1
Fix #756 : Preconditions Invalid Argument
2014-12-16 13:52:25 -03:00
Manuel Araoz
35d664b588
added sig_canonical tests
2014-12-16 13:40:03 -03:00
Esteban Ordano
0df165f1c7
Unskip tests
2014-12-16 13:33:57 -03:00
Manuel Araoz
17459dd7c2
added sig_canonical tests
2014-12-16 13:33:57 -03:00
Manuel Araoz
9e3d13a8ff
add sig_*canonical.json bitcoind fixtures
2014-12-16 13:33:57 -03:00
Manuel Araoz
3eba0bc546
address review comments
2014-12-16 13:33:57 -03:00
Manuel Araoz
4fcc048311
script interpreting working
2014-12-16 13:33:57 -03:00
Manuel Araoz
49192a1ed7
style change to BufferUtil
2014-12-16 13:33:57 -03:00
Manuel Araoz
9b81f7179a
remove console.logs
2014-12-16 13:33:56 -03:00
Manuel Araoz
50dd4e8e66
fix all script validation tests, yay!
2014-12-16 13:33:56 -03:00
Manuel Araoz
7f0a2dc050
add Script#checkMinimalPush tests
2014-12-16 13:33:56 -03:00
Manuel Araoz
4b68c3725d
generalize script tests
2014-12-16 13:33:56 -03:00
Manuel Araoz
0ddec23c02
fix some more tests
2014-12-16 13:33:56 -03:00
Manuel Araoz
a761ac91c2
some more passing tests
2014-12-16 13:33:56 -03:00
Manuel Araoz
9aa6152f25
trying to fix OP_CHECKSIG script evaluation
2014-12-16 13:33:56 -03:00
Manuel Araoz
cf48899a3a
make creation methods class methods
2014-12-16 13:33:56 -03:00
Manuel Araoz
c888c3baa7
adding some signature methods for script interpreting
2014-12-16 13:33:56 -03:00
Manuel Araoz
3de71f8558
refactors and fixes for script interpreter
2014-12-16 13:33:56 -03:00
Manuel Araoz
c64a38a54a
trying to fix ScriptInterpreter
2014-12-16 13:33:56 -03:00
Braydon Fuller
709cda2618
Transport/Pool: Mark internal functions
2014-12-16 03:30:57 -05:00
Braydon Fuller
b403cc3770
Transport/Pool: Added tests to check that new addrs are added
2014-12-16 02:02:06 -05:00
Braydon Fuller
e04cb76854
Transport/Pool: Use sinon for tests.
2014-12-15 21:43:10 -05:00
Braydon Fuller
1a1d63321a
Transport: Added a peer pool to maintain a set of connected peers
2014-12-15 21:43:10 -05:00
Braydon Fuller
6f37520a58
Merge pull request #750 from eordano/test/publicWIF
...
Add `network` property to PublicKey
2014-12-15 18:02:03 -05:00
Braydon Fuller
c7edfdd2b1
Merge pull request #751 from eordano/fix/bufferReadNoLength
...
Remove calls to read() with no arguments
2014-12-15 17:56:56 -05:00
Esteban Ordano
5bed12ebe3
Remove calls to read() with no arguments
2014-12-15 19:37:19 -03:00
Esteban Ordano
fcc3a1c961
Add tests for importing from WIF
2014-12-15 19:25:09 -03:00
Esteban Ordano
d1a590dc89
Merge pull request #719 from yemel/refactor/remove-compressed
...
Remove compressed argument from PrivateKey and PublicKey constructors
2014-12-15 18:49:39 -03:00
Esteban Ordano
de4d2884c7
Modify Transaction to use Multisig
...
* Allow `Script#add` to add a Script causing concatenation of opcodes
* Add `Script#equals` to compare scripts
* Add `Script#fromAddress`
* Drop `_payTo` methods
* Add `Script.buildP2SHMultisigIn`
Greatly simplifying the internal transaction object
2014-12-15 18:19:54 -03:00
Manuel Aráoz
264a239e5a
Merge pull request #737 from braydonf/bug/to-object
...
Transaction: `toJSON` / `fromJSON` tests
2014-12-15 17:06:08 -03:00
Braydon Fuller
b0555108a8
Add tx_valid and tx_invalid bitcoind tests
2014-12-15 13:30:59 -05:00
Yemel Jardi
428bcaf4c9
Remove compressed argument from private key and public key constructors
2014-12-15 14:48:17 -03:00
Manuel Aráoz
a2b1554a44
Merge pull request #738 from braydonf/tests/base58-keys
...
Tests: Added bitcoind base58 key json data and tests
2014-12-15 12:42:10 -03:00
Braydon Fuller
96c7812ed1
PrivateKey: Lodash to check if undefined, and made tests not random (T2)
2014-12-15 10:20:38 -05:00
Braydon Fuller
b13c4fb0c9
Added inspect prototype G5
2014-12-14 15:13:01 -05:00
Braydon Fuller
920f25b58e
Tests: Added bitcoind base58 key data and tests
2014-12-13 16:10:41 -05:00
Braydon Fuller
ad4bc9324f
Transaction: Use Script toString for transaction JSON output
2014-12-13 14:54:07 -05:00
Braydon Fuller
b544b0594d
Added test to check that Transaction fromJSON could initialize from toJSON, and fixed a bug.
2014-12-13 14:54:07 -05:00
Braydon Fuller
dee30c749a
Unit: Fixed bug, stringified toJSON output
2014-12-12 20:08:46 -05:00
Braydon Fuller
e4cf84519d
BN: Remove toJSON and fromJSON methods from BN, as they are equivalent to toString and fromString
2014-12-12 19:06:06 -05:00
Braydon Fuller
cddd55afc4
URI/Unit: Added toObject method and changed toJSON to return a string
2014-12-12 18:53:27 -05:00
Braydon Fuller
c0bbf96dc1
Keys: Added toObject method and changed toJSON to return a string
2014-12-12 18:47:15 -05:00
Braydon Fuller
19a17017a9
Block: Added toObject method and changed toJSON to return a string
2014-12-12 18:34:43 -05:00
Braydon Fuller
354c03987a
Address: Added toObject method and changed toJSON to return a string
2014-12-12 18:22:31 -05:00
Manuel Aráoz
04fba31293
Merge pull request #721 from braydonf/standardize-json
...
Standardize toJSON and related
2014-12-12 19:19:08 -03:00
Braydon Fuller
46a9a6d83c
Opcode: Added toBuffer and fromBuffer methods
2014-12-12 15:33:40 -05:00
Braydon Fuller
4ddf3d117c
Keys: Modified and added standardized toJSON/fromJSON prototypes
2014-12-12 13:39:49 -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
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
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