Commit Graph

734 Commits

Author SHA1 Message Date
David de Kloet 8da9c4a44a Give the 3 fee errors a common parent error. 2015-05-10 00:32:27 +02:00
David de Kloet d1eb190626 Introduce different kinds of FeeError to distinguish the different cases. Fix the issue uncovered by this, which is that getFee might not be the actual fee, but only an estimate, if a change address is specified but there isn't enough to pay a fee and have change. 2015-05-09 21:06:40 +02:00
David de Kloet 16dc489b08 Make sure a specified transaction fee and outputs add up to the sum of the inputs. Don't ignore the fee when it's explicitly specified. 2015-05-09 18:44:26 +02:00
Braydon Fuller d8e90685f4 Fixed script.isPublicKeyHashIn bug with variable length signatures.
- DER encoded signatures have a max length of 72 bytes, however a minimum size isn't defined.
- R and S values can have arbitrary lengths
- For more information: https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#der-encoding
2015-05-08 22:09:42 -04:00
Braydon Fuller b688334bf3 Added test case for zero in isNaturalNumber tests. 2015-05-06 13:37:17 -04:00
Braydon Fuller f8ea7e39cc Included satoshis check during checked serialization. 2015-04-30 13:23:44 -04:00
Braydon Fuller cd12164fae Added test coverage to transaction.verify 2015-04-30 12:09:59 -04:00
Braydon Fuller 3d447ded79 Update bn.js to 2.0.4 to handle 53 bit precision number input. 2015-04-30 11:20:09 -04:00
Manuel Araoz a018a23b6b fix bug in recognizing p2sh input scripts 2015-04-30 03:24:15 -03:00
Manuel Araoz bbd48f868d remove comment 2015-04-29 19:47:35 -03:00
Manuel Araoz db6234b500 remove duplicate code, increase coverage 2015-04-29 19:45:41 -03:00
Manuel Araoz d556a0c33d fix regressions 2015-04-29 18:55:42 -03:00
Manuel Araoz dfc075e5d1 fix block parsing problem 2015-04-29 17:29:33 -03:00
Manuel Araoz 270413a655 add simpler test that fails 2015-04-29 15:54:41 -03:00
Manuel Araoz 722eddb894 add test that exposes bug 2015-04-29 15:31:46 -03:00
Braydon Fuller a03daab866 Merge pull request #1196 from maraoz/script/coverage
increase script test coverage
2015-04-29 10:20:45 -04:00
Manuel Araoz 100e370295 fix regressions after changes 2015-04-28 17:10:06 -03:00
Manuel Araoz 9a50958943 fix Block#toObject API 2015-04-28 16:42:56 -03:00
Manuel Araoz dff0891871 add failing test for Block#toObject 2015-04-28 15:17:41 -03:00
Manuel Araoz ee6f8d35ef increase script test coverage 2015-04-22 14:32:10 -03:00
Kirill Fomichev ca96359f40 Immutable network Object 2015-04-11 17:05:46 +03:00
Braydon Fuller bcd4efb724 Added `checkState` for positive integer in Output satoshis 2015-04-10 18:39:08 -04:00
Braydon Fuller 3005e19cbf Added precondition to transaction.to for a positive integer as an amount 2015-04-10 18:07:20 -04:00
Manuel Araoz aaa8c8aa67 fix index.html 2015-04-08 17:38:18 -03:00
Manuel Araoz e331c4ea49 allow addresses to have surrounding whitespace in validation 2015-03-31 17:54:06 -03:00
Kirill Fomichev c010cb8c50 drop cached value for inputAmount and outputAmount 2015-03-31 16:22:27 +03:00
Manuel Aráoz 53d23e501c Merge pull request #1162 from fanatid/fix/isPublicKeyHashOut
[BUG] Script.isPublicKeyHashOut
2015-03-30 02:31:09 -03:00
eordano 4f4b2b93fb Allow arrays as second arg to Networks.get 2015-03-29 22:56:29 -03:00
Kirill Fomichev 116024a7cb fix Script.isPublicKeyHashOut 2015-03-29 20:55:13 +03:00
Braydon Fuller f034a71929 Network Fixes
- Fixed Address classification for a custom network
- Added ability to remove a custom network
- Increased test coverage for Address
2015-03-28 19:09:58 -04:00
Eric Martindale c759401373 Fix tests, address commentary from @braydonf. 2015-03-24 17:57:39 -04:00
Eric Martindale a7d75cb25b Add test for patch. 2015-03-24 16:38:02 -04:00
Manuel Araoz 56c1e8c000 fix test for hdkey cache 2015-03-20 16:01:05 -03:00
Manuel Araoz 7da4c7925a lazy calc for xpubkey in HDPrivateKey 2015-03-20 15:49:26 -03:00
Manuel Araoz ef7eafbb0c increase test coverage and fix some bugs 2015-03-18 18:58:41 -03:00
Manuel Araoz e0b1ca0e10 move some script logic from Address to Script 2015-03-18 17:59:09 -03:00
Manuel Araoz 3619c7c9e2 fix problematic cases 2015-03-18 17:40:26 -03:00
Manuel Araoz a9328d76ff add extra test 2015-03-18 17:22:32 -03:00
Manuel Araoz 62ea45a524 refactor Address<->Script relation 2015-03-18 16:54:16 -03:00
eordano 294ff097a1 Add error if shuffle function doesnt return an expected result 2015-03-11 15:49:42 -03:00
eordano a37e7b140c Add functionality to randomize outputs 2015-03-11 15:38:53 -03:00
Manuel Araoz b685b5d28a add inputAmount and outputAmount to docs 2015-03-02 10:44:39 -03:00
Manuel Araoz b92fd915eb increase coverage for Input and Output, fix some bugs 2015-02-27 18:46:27 -03:00
Manuel Araoz d5fd3919c9 add Transaction#inputAmount and outputAmount 2015-02-27 16:38:48 -03:00
Manuel Aráoz 220a5bb566 Merge pull request #1115 from eordano/fix/privCheck
Fix validation error
2015-02-24 17:58:42 -03:00
eordano 9409698e06 Fix validation error 2015-02-24 17:49:26 -03:00
eordano 405f4f43df Update dust amount 2015-02-24 17:24:22 -03:00
eordano c5d7eacfac Add check for output amount > input amount 2015-02-24 16:34:52 -03:00
Esteban Ordano bd172e7c09 Merge pull request #1110 from maraoz/fix/#1096
fix #1096: PrivateKey#toAddress(network)
2015-02-24 15:54:16 -03:00
Manuel Araoz c4666044e9 fix #1096: PrivateKey#toAddress(network) 2015-02-24 15:34:44 -03:00
eordano 427c9b3234 Less repetition on tests for skipping serialization checks 2015-02-24 15:31:26 -03:00
Manuel Aráoz 684dfd5283 Merge pull request #1102 from throughnothing/merkleblock
Add MerkleBlock
2015-02-24 14:59:19 -03:00
Braydon Fuller fb01bc09e4 Added test to check that merkle nodes do not match, and misc jshint fixes. 2015-02-24 11:38:06 -05:00
eordano a6df7a175e Better granularity on serialize() checks 2015-02-24 13:02:34 -03:00
William Wolf 3eb95b6576 _traverseMerkleTree state cleanup + improve hasTransactions() 2015-02-24 00:51:38 -08:00
William Wolf bb0efd2108 Remove _validMerkleTree caching 2015-02-23 19:40:52 -08:00
William Wolf a478e39524 Review Fixes 2015-02-23 10:05:45 -08:00
eordano a07d90dfbf Fix error on public key for hdpublickey 2015-02-23 12:10:51 -03:00
eordano 89d78019d8 Fix bug on hdprivate key generation 2015-02-23 11:40:31 -03:00
William Wolf a67084d176 cleanup 2015-02-23 01:06:22 -08:00
William Wolf c558c4e34a hasTransaction(tx) + tests 2015-02-22 21:10:50 -08:00
William Wolf 611dae5b55 validMerkleTree() method plus more test blocks 2015-02-22 21:10:50 -08:00
William Wolf 3f11d8e927 One variable per var statement 2015-02-22 21:10:50 -08:00
William Wolf 32583fbbe3 Cleanup test 2015-02-22 21:10:49 -08:00
William Wolf 29c18e22f0 Add lib/block/merkleblock.js 2015-02-22 21:10:49 -08:00
eordano eb8f59aa27 Drop duplicated code 2015-02-18 13:39:48 -03:00
eordano 9c3170cb3a HDPublicKey: Add precondition checks for static methods 2015-02-18 13:14:12 -03:00
eordano 0938eadab5 Add precondition checks to HDPrivateKey.from* 2015-02-18 13:14:12 -03:00
Esteban Ordano 20315b5fa4 Merge pull request #1068 from maraoz/check/docs
check that there is no inconsistency between docs and bitcore version
2015-02-18 12:12:04 -03:00
Manuel Aráoz e2ff93b714 Merge pull request #1083 from eordano/feature/multisigchecks
Transaction: Check that threshold is less than amount of signatures
2015-02-18 12:01:58 -03:00
eordano 1a5780e35e Script/Address: Add check for valid number of threshold needed 2015-02-18 11:53:22 -03:00
eordano c19d5c6501 Transaction: Check that threshold is less than amount of signatures 2015-02-18 11:52:50 -03:00
Manuel Aráoz 4c822e06c5 Merge pull request #1078 from eordano/fix/smallFee
Add check for small fees
2015-02-18 11:30:21 -03:00
Braydon Fuller cb5648cbe4 Merge pull request #1084 from eordano/update/opreturn80
Script: Update max length for standard opreturn to 80
2015-02-18 09:09:28 -05:00
eordano 0bbde0c9de Script: Update max length for standard opreturn to 80 2015-02-18 10:46:47 -03:00
eordano 7e88167891 Add check for small fees 2015-02-16 12:47:53 -03:00
Trevin Hofmann 374e43bed2 Properly capitalize Base58Check and Base58 2015-02-13 21:40:20 -06:00
Trevin Hofmann 59a9e40f13 Properly capitalize BufferUtil everywhere
Right out of CONTRIBUTING.md

https://github.com/bitpay/bitcore/blob/master/CONTRIBUTING.md#g6---naming-utility-namespaces
2015-02-13 21:21:06 -06:00
Trevin Hofmann 2b137cc17c Add test for Opcode.inspect 2015-02-12 09:44:28 -06:00
Manuel Araoz 3ebd615d4c check that there is no inconsistency between docs and bitcore version 2015-02-12 11:17:14 -03:00
Manuel Araoz b23d0bc7c9 add doc version test 2015-02-12 11:00:45 -03:00
Esteban Ordano cca1e2148c Improve test coverage on multisig 2015-02-11 19:10:57 -03:00
Manuel Aráoz fe731371cf Merge pull request #1016 from yemel/fix/path-validation
Fix hd string path parsing
2015-02-11 12:54:00 -03:00
Manuel Aráoz 994ea957d4 Merge pull request #1061 from eordano/refactor/signature
Add Signature subclass for Transaction Signatures
2015-02-11 12:53:49 -03:00
Esteban Ordano 605be801af Add Signature subclass for Transaction Signatures 2015-02-11 12:35:47 -03:00
Manuel Araoz 8ca396c34f refactor transaction input deserializtion 2015-02-11 11:40:24 -03:00
Manuel Araoz a7fdcc13a0 weird -> anyone can spend 2015-02-11 10:59:07 -03:00
Manuel Araoz eae1638b32 add coverage 2015-02-10 18:48:07 -03:00
Manuel Araoz 0f17927fde fix 0 fee error 2015-02-10 18:29:14 -03:00
Manuel Araoz aa1158097d fix bug in change calculation 2015-02-10 18:12:45 -03:00
Manuel Araoz 986264e181 add locktime docs and Transaction#getLockTime 2015-02-10 13:03:07 -03:00
Esteban Ordano f8974b383a transaction: Change variable name from time to height 2015-02-10 10:29:29 -03:00
Esteban Ordano 7cf3b6eb91 Split setLockTime in two methods 2015-02-10 10:29:29 -03:00
Manuel Araoz edda8ea723 fix broken tests 2015-02-09 16:06:18 -03:00
Manuel Araoz 85e938ba72 improve code style 2015-02-09 15:40:06 -03:00
Manuel Aráoz ebf43b3f4a Merge pull request #1056 from eordano/docs/transaction
Rewrite of Transaction doc
2015-02-09 14:20:13 -03:00
Esteban Ordano 78189f61d9 Rewrite of Transaction doc 2015-02-09 14:11:51 -03:00
Esteban Ordano 8d642f3c7a Merge pull request #1044 from trustatom-oss/master
Add check to _hasDustOutputs if output has OP_RETURN
2015-02-09 12:45:06 -03:00
Manuel Aráoz 6e27dc3a9a Merge pull request #1043 from eordano/performance/bn
Drop inherited and modified BN class for big improvement on performance
2015-02-06 11:28:02 -03:00
Esteban Ordano d136715322 Dust: Add test: OP_RETURN is not dust 2015-02-06 09:25:17 -03:00
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