Commit Graph

826 Commits

Author SHA1 Message Date
Gregg Zigler
a4b8c06a2d get-signature-count needed to measure txs with many inputs or outputs 2015-06-24 13:30:25 -04:00
Braydon Fuller
8e13b68405 Merge pull request #1268 from brandonrobertz/master
modularize network version check issues/1265 (2nd)
2015-06-23 18:02:14 -04:00
Brandon Roberts
783c59d99e removed Networks.all and associated test 2015-06-22 20:36:35 -07:00
Brandon Roberts
e07186df07 remove unnecessary filtering code 2015-06-20 14:26:01 -07:00
Braydon Fuller
37b5d3d588 Merge pull request #1264 from fanatid/fix/sortOutputs
fix Transaction.sortOutputs
2015-06-18 11:06:20 -04:00
Ivan Socolsky
0e6aec1c94 allow configuration of fee per kb 2015-06-10 22:17:12 -03:00
Ivan Socolsky
d9d5a26085 fix computation of fee without change output 2015-06-10 17:37:48 -03:00
Brandon Robertz
a38c0c2d93 modularize network version check/tests issues/1265 2015-06-09 14:06:22 -07:00
Kirill Fomichev
b9d52b79c8 fix Transaction.sortOutputs 2015-06-05 21:11:40 +03:00
Utente
d60d8cf2bc fixed PrivateKey initialization from JSON 2015-06-03 12:23:01 -07:00
Matias Alejo Garcia
37d0e1f956 Merge pull request #1258 from braydonf/bug/double-error
Removed double errors in publickey. Fixes #1256
2015-06-01 23:08:34 -03:00
Braydon Fuller
5e58adca5f Removed double errors in publickey. Fixes #1256 2015-06-01 13:40:52 -04:00
Braydon Fuller
a03e6b9385 Add base option for BN.fromString 2015-05-27 14:11:43 -04:00
Patrick Nagurny
4c1ba674c5 Merge pull request #1248 from braydonf/bug/misleading-error
Fixes bug with misleading error with getSerializationError. Closes #1236
2015-05-26 11:32:51 -06:00
Braydon Fuller
a5cd5a1407 Added support for uncompressed public keys to Signature.fromCompact 2015-05-25 23:57:46 -04:00
Braydon Fuller
589d017a14 Refactored transaction.getSerializationError to be more concise.
- _hasMoreOutputThanInput() and _isInvalidSatoshis() merged with getSerializationError()
- _isFeeDifferent(), _isFeeTooLarge() and _isFeeTooSmall merged with _hasFeeError()
2015-05-23 20:13:53 -04:00
David de Kloet
0b6eaf0f1e Call getUnspentValue() only once in getSerializationError(). 2015-05-23 20:13:53 -04:00
David de Kloet
3ace170ac5 Ignore fee error when unspent output is actually negative, rather than already when the check for negative unspent output is disabled. 2015-05-23 20:13:53 -04:00
David de Kloet
ac2fbe2777 When disableMoreOutputThanInput is set for getSerializationError, also disable the fee checks as the concept of a fee is meaningless when unspent output value is negative. This also allows for removing the opts from buildSkipTest again and simplifying the skip test for disableMoreOutputThanInput. 2015-05-23 20:13:53 -04:00
David de Kloet
8c5b2c851b When checking for transaction serialization errors, check the output amount before checking fee errors. Added a test for it and also improved buildSkipTest by specifying which error to expect and using it for some tests where it wasn't used yet. 2015-05-23 20:13:53 -04:00
Braydon Fuller
b53f249d02 Merge pull request #1235 from maraoz/transaction/clearOutputs
add Transaction#clearOutputs
2015-05-18 16:24:02 -04:00
Braydon Fuller
c251c2bfd1 Merge pull request #1226 from dskloet/refactor/get-serialization-error
Simplify transaction.getSerializationError()
2015-05-18 15:08:50 -04:00
Braydon Fuller
7723dd302a Added test case for an empty OP_RETURN for script.getData() Fixes #1237 2015-05-18 10:39:15 -04:00
David de Kloet
99d8ac1957 Remove an unnecessary space. 2015-05-16 22:54:30 +02:00
David de Kloet
3d9560c0c5 Don't break lines at 80 characters. 2015-05-16 22:50:44 +02:00
David de Kloet
8a8412f04a Don't break lines at 80 characters. 2015-05-16 17:06:35 +02:00
Manuel Araoz
8a13a22baf add Transaction#clearOutputs 2015-05-15 15:29:05 -03:00
Braydon Fuller
458abe069e Fixed issue with handling invalid output scripts
- Changed toObject serialization to always use a hexa string for a script
- Updated inspect method to handle a null script
- Roundtrip toObject/fromObject with an invalid script
- Additional test coverage for Output
2015-05-14 01:50:14 -04:00
Braydon Fuller
0dbd9db0ea Merge pull request #1233 from carnesen/typo
Typo "formated"
2015-05-13 18:59:31 -04:00
Chris Arnesen
ec2d726e49 typo "formated" 2015-05-13 15:48:23 -07:00
Braydon Fuller
beeb294e45 Merge pull request #1217 from fanatid/fix/writeable
fix typo: defineProperty.writeable
2015-05-13 09:22:56 -04:00
David de Kloet
26bd5a864a Simplify transaction.getSerializationError(). This takes care of some lint errors about number of statements and cyclomatic complexity. 2015-05-13 00:26:33 +02:00
Patrick Nagurny
de078a40d3 If output.script is InvalidBuffer, return null instead of throwing error 2015-05-12 17:23:56 -04:00
Braydon Fuller
a02258dfba Merge pull request #1218 from maraoz/docs/pubkeys
improve PublicKey docs and fix #1215
2015-05-12 13:31:34 -04:00
Eric Martindale
8e7528d13f Merge pull request #1219 from braydonf/coverage/transaction
Added coverage to transaction and fixed bug with serialization check.
2015-05-11 17:48:50 -04:00
Eric Martindale
993125428e Merge pull request #1213 from braydonf/bug/is-fully-signed
Fixed script.isPublicKeyHashIn bug with variable length signatures.
2015-05-11 15:12:44 -04:00
Braydon Fuller
53b6171547 Added coverage to transaction and fixed bug with serialization check. 2015-05-11 13:39:53 -04:00
Manuel Araoz
951a07c011 fix PublicKey.toObject 2015-05-11 12:24:45 -03:00
Kirill Fomichev
346b2af446 delete writable for accessor property 2015-05-10 23:55:55 +03:00
David de Kloet
056f171e22 Remove the ability to disable the check that a specified fee is equal to the unspent value. 2015-05-10 01:32:28 +02:00
David de Kloet
b1e54101d3 Call the parent error of the fee errors FeeError for backwards compatibility. 2015-05-10 00:38:56 +02:00
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
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
db6234b500 remove duplicate code, increase coverage 2015-04-29 19:45:41 -03:00
Manuel Araoz
fe17f20a97 remove console.log 2015-04-29 18:57:17 -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
e1921429cf remove stray console.log 2015-04-28 19:17:45 -03: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
Daniel Cousens
05a8cf9630 sighash: remove dead branch 2015-04-27 18:49:45 +10:00
Manuel Araoz
2cccf20c9d improve docs to show signatures type 2015-04-22 14:33:09 -03:00
Manuel Araoz
ee6f8d35ef increase script test coverage 2015-04-22 14:32:10 -03:00
Manuel Araoz
e25ffde6db refactor networks 2015-04-20 12:21:14 -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
Braydon Fuller
6367cbe368 Fixed typos in transaction.verify error messages 2015-04-08 12:46:18 -04: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
662099a36e Use Networks.get with 2 args when possible 2015-03-29 22:57:31 -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
Chris Arnesen
8af63ec8d0 update transaction.getFee() JSDoc 2015-03-26 15:41:41 -07:00
Eric Martindale
c759401373 Fix tests, address commentary from @braydonf. 2015-03-24 17:57:39 -04:00
Eric Martindale
9ece2f78ed Fix bug if no value is supplied. 2015-03-24 16:28:13 -04:00
Manuel Araoz
21266570d4 refactor code 2015-03-20 15:49:26 -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
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
2f86f323c0 Add link when throwing a serialization error 2015-02-24 16:41:15 -03:00
eordano
97671abfdc Add more docs on serialization checks 2015-02-24 16:36:08 -03:00
eordano
b81624480a transaction: Fix verbosity of jsdocs 2015-02-24 16:34:52 -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
575993967c Standardize optional parameters to Closure syntax 2015-02-24 15:31:13 -03:00
eordano
fcc9081ddd Fix JSDocs from String to string 2015-02-24 15:31:12 -03:00