Commit Graph

666 Commits

Author SHA1 Message Date
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 81fa162a7f Fix .jshintrc and add missing semis 2015-01-09 10:08:01 -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 ff82ccec71 Return undefined instead of a null signature 2015-01-08 17:42:08 -03:00
Esteban Ordano dc6ff32290 Make serialization roundtrip recover info about inputs 2015-01-08 17:42:08 -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
Esteban Ordano d053599fd2 Improve test coverage 2015-01-08 17:24:29 -03:00
Esteban Ordano 1a30be3aa5 Merge pull request #913 from braydonf/feature/messages-for-modules
Export messages so that they can be extended from another module.
2015-01-08 15:17:42 -05: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
Yemel Jardi e57d02c03c Use define immutable helper 2015-01-08 10:57:46 -03:00
Braydon Fuller b6da2e87be Export messages so that they can be extended from another module. 2015-01-08 01:51:17 -05: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
Yemel Jardi e222ae08c4 fix typo 2015-01-07 12:19:41 -03: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 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
Braydon Fuller a801663c6d Fixed bug in Safari for PublicKey and Script instance checking in Address 2015-01-05 17:31:51 -05: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
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
Yemel Jardi 9f8e2c721f fix typo 2015-01-02 18:25:08 -03:00
Yemel Jardi ff844e9935 Change PrivateKey.toString from WIF to hex format 2015-01-02 18:15:17 -03:00
Yemel Jardi 98cfd646e7 Allow creating a new random testnet HDPrivate key 2015-01-02 18:01:21 -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 7cf826249b Add jsdocs and documentation to UnspenOutput and Insight 2015-01-02 15:59:14 -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 476f009b4d Add Insight and UTXO class 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 95bfb18849 Fix the error loop.
I added a similar badrs function to python-ecdsa and compared the results.

The 1 badrs (aka forcing it to loop once) gave me a different value. It turns out you missed one of the `v = hmac_k(v)` steps during the loop.

Adding one extra `v = hmac_k(v)` in each loop makes it match up with python-ecdsa perfectly (I even tried up to badrs = 30 and it was fine.
2015-01-02 15:32:33 +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
Yemel Jardi 379405396e Merge pull request #875 from eordano/fix/honorPublicKeyNetwork
Honor publicKey.network on create multisig address
2014-12-31 13:14:05 -03:00
Esteban Ordano 901d836231 Add default network to PublicKey
Closes #871
2014-12-31 02:20:47 -03:00
Esteban Ordano 5ef9975ac5 Honor publicKey.network on create multisig address
Closes #870
2014-12-31 02:19:11 -03:00
Esteban Ordano dbf47ef78f transaction: better errors for signature methods
Closes #868
2014-12-31 02:10:51 -03:00
Yemel Jardi d5f76e8517 Fix creation of a randomn testnet private key 2014-12-30 18:44:27 -03:00
Esteban Ordano f74c7f3929 Simplify script to address method 2014-12-30 16:23:17 -03:00
Esteban Ordano ffca4cfb6f Fixes Script test case for coverage and style 2014-12-30 15:34:30 -03:00
Esteban Ordano c1a1571535 Fix JSDoc for script 2014-12-30 15:27:05 -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 Araoz 0914624860 fix releaser script 2014-12-24 11:44:13 -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 225ade6c7a return comment to deterministicK 2014-12-22 17:33:00 -03:00
Manuel Araoz aa6ecfd79b hash 100% coverage 2014-12-19 19:23:30 -03:00
Manuel Araoz 686bc091ba remove dead code 2014-12-19 18:54:10 -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
Manuel Aráoz bd2e326708 Merge pull request #824 from eordano/review/jsdoc-uri
Lint and cover URI completely
2014-12-19 15:26:56 -03:00
Manuel Aráoz ccf9527bd7 Merge pull request #827 from eordano/lint/interpreter
Lint script/interpreter
2014-12-19 15:26:35 -03:00
Esteban Ordano a379876e0b Delete lint errors from autogenerated file 2014-12-19 14:21:48 -03:00
Esteban Ordano 490279acb0 Lint script/interpreter 2014-12-19 14:17:58 -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
Manuel Aráoz 85169a3874 Merge pull request #812 from eordano/feature/safeSerialize
Modify Transaction Interface
2014-12-19 10:37:24 -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
Braydon Fuller 6d42e01718 Fix formatting issue with examples 2014-12-18 17:07:01 -05: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 24dc84d614 Dont lose sighash when signing with multiple keys 2014-12-18 02:19:39 -03:00
Esteban Ordano de4413745d Fix missing disambiguation 2014-12-18 01:43:04 -03:00
Esteban Ordano a352937566 Fix transaction order 2014-12-18 01:42:45 -03:00
Esteban Ordano 6be0c047b7 Update index for the documentation 2014-12-17 17:40:15 -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
Esteban Ordano 12cac0e33d Fix tests on browsers: need to add Buffer exception 2014-12-17 12:38:56 -03:00
Esteban Ordano c793559fa9 Fix bug on HD*Keys 2014-12-17 12:31:04 -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
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 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
Esteban Ordano 20fc304f44 Merge pull request #765 from maraoz/test/sig_noncanonical
add sig_noncanonical.json tests
2014-12-16 18:02:40 -03:00
Esteban Ordano d4b8c4adc6 Remove globals 2014-12-16 17:30:43 -03:00
Esteban Ordano 4433bd422b Refactor gulpfile 2014-12-16 17:21:41 -03:00
Esteban Ordano ed9a9f6da9 Fix wrong jsdocs 2014-12-16 17:21:41 -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 3eba0bc546 address review comments 2014-12-16 13:33:57 -03:00
Manuel Araoz 7683d2c2ed fix post-rebase confilcts 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 50dd4e8e66 fix all script validation tests, yay! 2014-12-16 13:33:56 -03:00
Manuel Araoz 4b68c3725d generalize script tests 2014-12-16 13:33:56 -03:00
Manuel Araoz ddd11e908c all script_valid tests passing! 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 73874ae873 import Sighash 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 6a0512e1bf pass some more tests 2014-12-16 13:33:56 -03:00
Manuel Araoz 401b5b1b4a Pubkey -> PublicKey 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
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