Commit Graph

734 Commits

Author SHA1 Message Date
Esteban Ordano 73a973359b Fix invocations to binary operations called on numbers 2015-02-05 17:28:45 -03:00
Esteban Ordano 6b05f20397 Add the new operator when BN was used without it 2015-02-05 16:46:18 -03:00
Manuel Aráoz ebcf3ae991 Merge pull request #1005 from eordano/g7/hdkeys
HDKeys: add toBuffer/fromBuffer
2015-02-05 16:27:19 -03:00
Manuel Aráoz aee287feda Merge pull request #1006 from eordano/g7/privkey
Add fromBuffer and toBuffer to PrivateKey
2015-02-05 16:25:43 -03:00
Esteban Ordano 7a73f582b4 HDKeys: add toBuffer/fromBuffer to HDPublicKey 2015-02-05 15:06:01 -03:00
Esteban Ordano 28a1eae0be HDKeys: add toBuffer/fromBuffer to HDPrivateKey 2015-02-05 15:06:00 -03:00
Esteban Ordano 0bae82fdf4 Add fromBuffer and toBuffer to PrivateKey 2015-02-05 15:05:47 -03:00
Esteban Ordano 7975c59ba7 UnspentOutput: Fix issue when 0 being feed as amount 2015-02-05 13:45:17 -03:00
Esteban Ordano 979d284567 Transaction: add `removeInput` member 2015-02-04 17:53:16 -03:00
Manuel Aráoz cd7e5d5a1e Merge pull request #1028 from eordano/transaction/changeupdate
Improvements to Transaction
2015-02-04 16:19:02 -03:00
Esteban Ordano e568a8786c Transaction: Fix wrong logic on input addition 2015-02-04 15:57:34 -03:00
Manuel Araoz a80dddf45e style fix 2015-02-04 13:11:49 -03:00
Manuel Araoz c664f211d2 add BufferReader.readVarLengthBuffer 2015-02-04 13:04:55 -03:00
Esteban Ordano 1f45e88268 Add fee to serialization 2015-02-04 12:50:06 -03:00
Esteban Ordano ed393dcb91 Update change on each output or input change 2015-02-04 12:50:03 -03:00
Braydon Fuller 688ac4912c Merge pull request #1025 from eordano/tohex
Add shorthand method toHex to Script
2015-02-03 23:13:11 -05:00
Esteban Ordano 03f794b4a3 Add shorthand method toHex to Script 2015-02-03 17:35:44 -03:00
Yemel Jardi 3bd361e27a Fix hd string path parsing. 2015-01-28 18:13:38 -03:00
Manuel Aráoz c51b239b6a Merge pull request #1010 from eordano/feature/toSatoshisNumber
Allow satoshis to be a string on output creation
2015-01-28 12:30:21 -03:00
Esteban Ordano 614a228c79 Allow satoshis to be a string on output creation 2015-01-28 12:02:41 -03:00
Esteban Ordano da90ff8617 Use the exposed interface to sighash on tests 2015-01-27 11:18:21 -03:00
Braydon Fuller 6fa7e7603a Networks: Added the ability to define a custom network. 2015-01-22 21:31:20 -05:00
Manuel Araoz d862506fed fix code style 2015-01-19 18:27:35 -03:00
Manuel Araoz 2b3ce4de12 adds a test and small fix for transaction 2015-01-19 18:02:26 -03:00
Braydon Fuller 453ad0f311 Fix jshint complaints. 2015-01-17 01:58:12 -05:00
Braydon Fuller 6aa0d14bb9 Removed magicnumber and size as properties of a block. 2015-01-17 00:07:37 -05:00
Braydon Fuller 38b8c211f3 Fix jshint complaints. 2015-01-17 00:07:09 -05:00
Esteban Ordano b416655222 block serialization: Add option skip magic numbers 2015-01-17 00:07:09 -05:00
Braydon Fuller b6ba5dbc5a Added test data for blocks from bitcoin core. 2015-01-17 00:07:09 -05:00
Yemel Jardi 42e2c6c525 Implement I5 on URI 2015-01-15 18:17:15 -03:00
Esteban Ordano 94969e3e99 Drop tests for explorer 2015-01-14 11:45:18 -03:00
Esteban Ordano 456b4345f0 Drop tests for p2p 2015-01-12 16:59:09 -03:00
Manuel Aráoz dac8cdf0aa Merge pull request #943 from eordano/modularize/paymentprotocol
Drop payment protocol submodule
2015-01-12 16:17:10 -03:00
Manuel Aráoz eeb94ee727 Merge pull request #949 from eordano/fix/multipleTxin
When creating a Transaction, don't allow the user to repeat an utxo
2015-01-12 16:16:47 -03:00
Esteban Ordano f3663e26d6 Don't add the same input twice 2015-01-12 11:59:15 -03:00
Esteban Ordano 41191a285f Add alternative to create an Address
* When by error one has two instances of an address, an address
can't be instantiated from the other
2015-01-10 14:16:51 -03:00
Esteban Ordano ca1d8e9eeb Drop payment protocol submodule 2015-01-09 20:20:58 -03:00
Manuel Aráoz 50a868cb8c Merge pull request #917 from eordano/transaction/updates
Changes to internal transaction and address
2015-01-09 17:44:13 -03:00
Manuel Aráoz 6c3640ebcf Merge pull request #936 from eordano/modularize/rpc
Drop all rpc code/docs
2015-01-09 17:41:55 -03:00
Manuel Aráoz 7c87305943 Merge pull request #935 from eordano/feature/outputinspect
Add inspect method to output
2015-01-09 17:11:03 -03:00
Esteban Ordano 4fba2bc86c Drop all rpc code/docs 2015-01-09 16:58:44 -03:00
Esteban Ordano bdeac4e67d Add inspect method to output 2015-01-09 16:53:50 -03:00
Esteban Ordano 26e688ae06 Add .toScriptHashOut() to scripts
- Also sort gulpfile dependencies
2015-01-09 16:09:36 -03:00
Manuel Aráoz f6cc8c695b Merge pull request #916 from eordano/dusterror
Don't allow serialization if dust amounts are detected
2015-01-09 13:45:07 -03:00
Braydon Fuller 84cc1a0042 Indicate internal use of getID with an underscore. 2015-01-09 10:20:27 -05:00
Braydon Fuller b38f7fa319 Added getID to PublicKey
- Tests in BloomFilter in [bitcoin core](https://github.com/bitcoin/bitcoin/blob/master/src/test/bloom_tests.cpp#L85) use the CPubKey.GetID as input into the BloomFilter
- The hash is calculated when generating an Address however the hash itself is not currently available
2015-01-08 19:17:51 -05:00
Esteban Ordano 0f73c3f7a3 Throw error if dust amount is detected 2015-01-08 18:02:59 -03:00
Esteban Ordano d99d1c9cc2 Add tests for serialization roundtrip of inputs 2015-01-08 17:42:41 -03:00
Manuel Aráoz ce7a9d33c6 Merge pull request #918 from eordano/test/coverage/addchange
Improve test coverage
2015-01-08 17:33:53 -03:00
Braydon Fuller 44cde37c43 Merge pull request #910 from maraoz/add/zuul
Adding zuul for multi-browser continuous integration
2015-01-08 15:32:34 -05:00
Esteban Ordano d053599fd2 Improve test coverage 2015-01-08 17:24:29 -03:00
Yemel Jardi 5f59fd0d05 Merge pull request #903 from eordano/fix/addchange
Add `change` when serializing transaction
2015-01-08 17:00:14 -03:00
Esteban Ordano fe86abc093 Add `change` when serializing transaction 2015-01-08 16:39:53 -03:00
Manuel Araoz 9d40564494 adding zuul 2015-01-07 19:45:50 -03:00
Braydon Fuller 9ba7eff9e0 Merge pull request #889 from yemel/fix/add-derivation-check
Add method for validating a derivation path
2015-01-07 10:24:23 -05:00
Esteban Ordano cfecfa2d8d Merge pull request #904 from braydonf/bug/safari-address
Fixed bugs in Safari and IE. Closes #837 and #784
2015-01-07 09:27:07 -05:00
Esteban Ordano 69c8c108a5 Merge pull request #905 from braydonf/bug/defaultNetwork-tests
Fixed tests to handle a `defaultNetwork` change. Closes #890
2015-01-07 09:26:19 -05:00
Braydon Fuller 8b505f0cfa Fixed tests to handle a `defaultNetwork` change
- Updated tests to work for both 'testnet' and 'livenet' as the default network.
- Fixed a bug in Address where the network property was being set as a string.
- Fixed a bug in HDKeys to handle serialized keys when the defaultNetwork changed.
2015-01-06 18:51:31 -05:00
Braydon Fuller bce28cd227 Fixed bug in IE11 that would cause MAX_MONEY verification test to fail. 2015-01-06 12:00:28 -05:00
Yemel Jardi 0beed6efa4 Refactor HDPublicKey path validation 2015-01-06 12:08:42 -03:00
Yemel Jardi f78ebeb46c Refactor HDPrivateKey path validation 2015-01-06 11:51:58 -03:00
Esteban Ordano e01003f40b Merge pull request #888 from yemel/fix/script-toAddress
Use defaultNetwork in Script.toAddress
2015-01-06 09:22:22 -05:00
Yemel Jardi 884cae7349 Fix another typo 2015-01-06 10:33:31 -03:00
Yemel Jardi d369154162 Script: remember network when creating from address or pubkey 2015-01-06 10:28:48 -03:00
Braydon Fuller ff4a6f549d Fixed bugs in IE11 2015-01-05 23:27:20 -05:00
Yemel Jardi 6fb5c4771f Merge pull request #894 from braydonf/bug/public-key-calculation
Fixed public key calculation in rare situations that would produce an invalid point
2015-01-05 12:47:50 -03:00
Esteban Ordano 4920932db8 Merge pull request #892 from yemel/fix/privatekey-tostring
Change PrivateKey.toString from WIF to hex format
2015-01-05 10:02:11 -05:00
Ryan X. Charles 97b6e8b989 add deterministicK test vectors
These vectors were produced by @bip32JP and tested against a similar
implementation of the "badrs" approach to RFC 6979 in python-ecdsa as described
in this related bitcoinjs-lib PR:

https://github.com/bitcoinjs/bitcoinjs-lib/pull/337
2015-01-04 19:37:45 -08:00
Braydon Fuller d2a2be7a93 Upgraded bn.js to fix public key calculation problem, restored crypto/point.js, and added additional tests. 2015-01-04 09:19:08 -05:00
Braydon Fuller 3de6acc176 Add tests that reveals incorrect public key calculation 2015-01-03 13:20:51 -05:00
Esteban Ordano 5ae97a7146 Merge pull request #893 from braydonf/bug/json-detection
Fixed an issue where a hexa string was mistakenly recognized as JSON
2015-01-03 10:31:45 -05:00
Esteban Ordano dc7abe054b Merge pull request #891 from yemel/fix/hd-random-testnet
Allow creating a new random testnet HDPrivate key
2015-01-03 10:31:02 -05:00
Braydon Fuller a1ee393dce JSUtil: Return result quicker for isValidJSON and add additional tests. 2015-01-02 19:38:22 -05:00
Braydon Fuller c20a0eabed Check type of parsed JSON to determine it's an object and not a number. 2015-01-02 19:32:49 -05:00
Braydon Fuller 5449ad7bff Add test case that incorrectly handles hexa string as json 2015-01-02 19:15:20 -05:00
Yemel Jardi 5e292490e8 update tests 2015-01-02 18:25:23 -03:00
Yemel Jardi bb3064d336 fix typo 2015-01-02 18:03:40 -03:00
Yemel Jardi 98cfd646e7 Allow creating a new random testnet HDPrivate key 2015-01-02 18:01:21 -03:00
Esteban Ordano f56ddb2a0a Rename properly utxo to unspentoutput 2015-01-02 16:50:14 -03:00
Yemel Jardi 2aa5c65945 Add validations to derivation path 2015-01-02 16:46:37 -03:00
Esteban Ordano 7fe17e1699 Move explorers inside transport 2015-01-02 16:31:09 -03:00
Esteban Ordano 11975bc0df Rename UTXO to Transaction.UnspentOutput 2015-01-02 15:59:13 -03:00
Esteban Ordano 1cf108ab47 Add tests for UTXO 2015-01-02 15:59:13 -03:00
Esteban Ordano 9362927b43 Add test coverage for Insight 2015-01-02 15:59:13 -03:00
Yemel Jardi 9deec5e1c2 Use defaultNetwork in Script.toAddress 2015-01-02 15:38:28 -03:00
bip32JP bc6f592daa fix tests
fix tests to match python-ecdsa
2015-01-02 15:33:46 +09:00
Yemel Jardi 9a5193d8e9 Merge pull request #873 from eordano/fix/isFullySigned
transaction: better errors for signature methods
2014-12-31 13:18:41 -03:00
Yemel Jardi 0adcba7145 Merge pull request #874 from eordano/fix/noUndefinedNetwork
Add default network to PublicKey
2014-12-31 13:17:42 -03:00
Esteban Ordano 901d836231 Add default network to PublicKey
Closes #871
2014-12-31 02:20:47 -03:00
Esteban Ordano dbf47ef78f transaction: better errors for signature methods
Closes #868
2014-12-31 02:10:51 -03:00
Yemel Jardi dfc32e6712 Fix typo and remove unnecessary test 2014-12-30 19:52:47 -03:00
Yemel Jardi d5f76e8517 Fix creation of a randomn testnet private key 2014-12-30 18:44:27 -03:00
Esteban Ordano ffca4cfb6f Fixes Script test case for coverage and style 2014-12-30 15:34:30 -03:00
Esteban Ordano d688222769 Add toAddress(network) functionality to scripts 2014-12-30 15:23:09 -03:00
Yemel Jardi 98fe6b2abd Merge pull request #863 from eordano/feature/getData
Add getData functionality to script
2014-12-30 14:47:54 -03:00
Esteban Ordano dc92bdd474 Add getData functionality to script 2014-12-30 14:30:36 -03:00
Yemel Jardi d922a625b9 Rename toFiat() to atRate() 2014-12-28 17:40:11 -03:00
Yemel Jardi e7839d9ba2 Add from/to Fiat methods to Unit class 2014-12-25 19:04:03 -03:00
Manuel Aráoz 6ea9c7b005 Merge pull request #842 from eordano/feature/G7/hdprivkey
Adding G7 methods to HDPrivateKey
2014-12-23 12:59:51 -03:00
Esteban Ordano c3a178061c Adding G7 methods to HDPrivateKEy 2014-12-23 12:34:38 -03:00
Esteban Ordano 2006b3aae2 Add G7 methods to HDPublicKey 2014-12-23 12:23:35 -03:00
Manuel Araoz 4e775264fe lint random.js 2014-12-19 19:32:26 -03:00
Manuel Araoz aa6ecfd79b hash 100% coverage 2014-12-19 19:23:30 -03:00
Manuel Araoz fb57a60666 fix all tests 2014-12-19 18:53:21 -03:00
Manuel Araoz 6c518f1f45 refactoring interpreter 2014-12-19 18:28:52 -03:00
Manuel Araoz 370f69df88 refactor BN and ECDSA 2014-12-19 17:23:53 -03:00
Manuel Aráoz 56591db68d Merge pull request #831 from eordano/review/block
Coverage for block and blockheader
2014-12-19 17:23:49 -03:00
Esteban Ordano 4980f7a646 Test coverage: last branch untested from PublicKey 2014-12-19 16:44:49 -03:00
Esteban Ordano 2a084e641c Coverage for block and blockheader
* JSDocs where already good, written by @braydonf
2014-12-19 16:37:57 -03:00
Manuel Aráoz 58f68ba8d2 Merge pull request #829 from eordano/review/keys
PrivateKey, PublicKey, Network linted
2014-12-19 16:24:47 -03:00
Esteban Ordano c15dafc29e Merge pull request #822 from eordano/review/jsdoc-address
Minor improvements on Address
2014-12-19 16:19:08 -03:00
Esteban Ordano 36e87d8822 PrivateKey, PublicKey, Network linted
* Added 100% test coverage for them also
2014-12-19 16:18:05 -03:00
Esteban Ordano 1ec4c7f512 Minor improvements on Address
* Update JSDocs
* Branch coverage 100%
* Removed duplicated test
* Updated names of tests
2014-12-19 15:41:20 -03:00
Manuel Aráoz b69997711b Merge pull request #823 from eordano/review/jsdoc-unit
Review Unit class
2014-12-19 15:27:55 -03:00
Esteban Ordano b5f8188a1f Lint and cover URI completely 2014-12-19 13:41:54 -03:00
Esteban Ordano be599e5a1b Review Unit class
* Add 100% code coverage
* Add custom error code
* Linted source and test
* More descriptive test messages
2014-12-19 13:18:22 -03:00
Esteban Ordano 99db72ba90 Add `uncheckedAddInput` function
* For internal usage: for example, testing Script.Interpreter
2014-12-19 10:30:20 -03:00
Esteban Ordano 9a73338c91 Add tests for changes to Transaction interface 2014-12-18 20:38:19 -03:00
Esteban Ordano e5631b1a69 Modify transaction interface
* Add checks when serializing
* Add default _estimateSize to generic inputs
* Fix multisig size estimation
* Change _addOutput to addOutput
* Add addInput and using that internally
* Split `getFee` out from `_updateChangeOutput`
2014-12-18 14:09:44 -03:00
Esteban Ordano 3f1ddd68f2 Update transaction test data 2014-12-18 02:21:02 -03:00
Manuel Araoz 3d7b0c7474 standardize test files 2014-12-17 19:11:20 -03:00
Manuel Araoz 3dd86446e0 add Interpreter docs and refactor a bit 2014-12-17 17:25:00 -03:00
Braydon Fuller 7d15b2bf0f Private Key: Fix bug with tests and missing "new" 2014-12-17 12:34:21 -05:00
Manuel Aráoz 43264616a6 Merge pull request #788 from eordano/feature/buffertest
Add tests for bufferutils
2014-12-17 12:57:34 -03:00
Manuel Aráoz a0827d662f Merge pull request #785 from yemel/feature/json-rpc
JSON RPC
2014-12-17 12:30:25 -03:00
Esteban Ordano afb5b6971f Add tests for bufferutils 2014-12-17 12:10:02 -03:00
Manuel Aráoz 9f51b1b4ce Merge pull request #772 from braydonf/docs/block
Block: Updated documentation, and changed to use consistent naming.
2014-12-17 11:58:22 -03:00
Manuel Araoz 0387dffd70 remove outdated test 2014-12-17 11:29:54 -03:00
Esteban Ordano 65ec886008 Merge pull request #783 from braydonf/tests/paymentprotocol
Payment Protocol: Added tests and misc formatting. Closes #697
2014-12-17 07:39:13 -03:00
Yemel Jardi d7b8b370f1 RPC: Refactor, documentation and tests 2014-12-17 03:34:22 -03:00
Braydon Fuller bf5f770a67 Payment Protocol: Added tests and misc formatting 2014-12-16 23:40:40 -05:00
Yemel Jardi 4173f4b49e include old files 2014-12-17 01:35:26 -03:00
Esteban Ordano 9f442e8ec4 Merge pull request #777 from maraoz/add/tx_invalid/tests
add tx_invalid.json tests
2014-12-16 23:13:59 -03:00
Manuel Aráoz bcae1101fa Merge pull request #771 from eordano/feature/change
Add Fee Estimation and Change Address to Transaction
2014-12-16 22:50:53 -03:00
Manuel Aráoz 902d5de6bf Merge pull request #775 from eordano/feature/addressmultisig
Add capability to instantiate an Address from public keys and a threshold
2014-12-16 22:46:58 -03:00
Manuel Araoz 84deec297a add tx_invalid tests 2014-12-16 22:40:59 -03:00
Esteban Ordano c3ff63f041 Add P2SH change address test 2014-12-16 22:39:25 -03:00
Esteban Ordano f7f7d147c6 Add change features 2014-12-16 22:39:25 -03:00
Manuel Aráoz ef9b02c94d Merge pull request #776 from eordano/feature/countMissingSignatures
Add count for missing signatures
2014-12-16 22:37:16 -03:00
Esteban Ordano 5f5cf15241 Add capability to instantiate an Address from public keys and a threshold 2014-12-16 22:36:50 -03:00
Esteban Ordano ce8927690f Add count for missing signatures 2014-12-16 22:30:13 -03:00
Esteban Ordano ce94626908 Move: Script and Interpreter into subfolder 2014-12-16 21:11:36 -03:00
Braydon Fuller d86e718743 Block: Updated documentation, and changed to use consistent naming. 2014-12-16 18:19:27 -05:00
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
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