Manuel Araoz
c64a38a54a
trying to fix ScriptInterpreter
2014-12-16 13:33:56 -03:00
Manuel Aráoz
7064a07f99
Merge pull request #744 from braydonf/feature/transport-peer-pool
...
Transport: Added a peer pool to maintain a set of connected peers. Closes #724
2014-12-16 12:44: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
Manuel Aráoz
e52be70ed0
Merge pull request #752 from eordano/review/doc
...
Update docs and minor changes to codebase
2014-12-16 03:09:26 -03:00
Esteban Ordano
9d0b5e04fe
Update Signature, URI, Unit
2014-12-16 03:02:05 -03:00
Esteban Ordano
63f1d307fa
Reviewing docs
2014-12-16 02:45:23 -03: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
48ce24dfbe
Fix tests to allow network on public keys
2014-12-15 19:28:59 -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
Esteban Ordano
1535805f1c
Add PublicKeyHashInput class
2014-12-15 18:19:39 -03:00
Esteban Ordano
af43228daf
Add `PublicKeyHashInput` and `ScriptHashInput`.
...
Remove `_outpoints`, `_utxos` from Transaction, as that info
can be efficiently retrieved from the inputs
2014-12-15 18:19:39 -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
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
6f6d568661
Transaction: toNumber/fromNumber to set satoshis
2014-12-13 15:10:51 -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
f43c2f9aa3
Fixed bug, toObject should use other object's toObject
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
002eb3dcf5
Transaction: Added toObject method and changed toJSON to return a string
2014-12-12 19:03:14 -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
1c0caac8c3
HDKeys: Added toObject method and changed toJSON to return a string
2014-12-12 18:39:16 -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
Braydon Fuller
0e7f5e89f2
Fixed issue with js util naming
2014-12-12 17:54:48 -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
93502d1523
Fix naming
2014-12-12 12:09:15 -05:00
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