Braydon Fuller
c0eec199ed
Transaction: Support pay-to-public-key previous outputs with #fromObject
9 years ago
Braydon Fuller
f1d19b438e
Transaction: Added replace-by-fee (RBF) support
- Useful for bidding transactions as described in: https://bitpay.com/chaindb.pdf
- Reference: nSequence-based opt-in: https://github.com/bitcoin/bitcoin/pull/6871
9 years ago
Kirill Fomichev
446760fec7
Fix Transaction.fromObject
9 years ago
Ruben de Vries
502026086c
updated _estimateSize for bare multisig input
9 years ago
Ruben de Vries
6e1e4e69c4
add function to parse list of signatures buffers into proper list of TransactionSignature objects
9 years ago
Ruben de Vries
af70e69588
add test for bare multisig
9 years ago
Ruben de Vries
4f99bf0882
add bare multisig support
9 years ago
Ruben de Vries
4e007e22be
make Sighash accessible
9 years ago
Ruben de Vries
ff0f9f6216
fixed wrong option name in jsdoc
9 years ago
Rob Riddle
5b08d72876
Fix typos in documentation
9 years ago
Kirill Fomichev
24ef291bed
allow Transaction.to take array
9 years ago
Esteban Ordano
19f3fe0de3
Using buffer-compare instead of copy&paste
9 years ago
Esteban Ordano
026f878e51
Add tests for bip69 from bitcoinjs
9 years ago
Esteban Ordano
fb65145ba7
Privacy improvement by sorting inputs and outputs
See BIP69 for more details:
https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki
9 years ago
Braydon Fuller
0e24e4c421
Return zero for coinbase transaction fee.
9 years ago
Zaki Manian
aa8e548800
To be effective within the current Bitcoin network, the inputs to a transaction
with an nLocktime must be not the standard max value.
We set the sequence number of 0 if the value is max.
Currently sequence numbers other than MAX_INT32 have no meaning in the Bitcoin protocol
but this may change in future BIPS
10 years ago
Braydon Fuller
a50fccef4d
Changes behavior of `toJSON` to work as expected with `JSON.stringify`
- see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#toJSON%28%29_behavior
- Updates CONTRIBUTING with changes to Stardard Methods
- Aliases toJSON for toObject
- Removes all `fromJSON` methods, and many cases replaces with `fromObject`
- Constructors expect an object parsed via `JSON.parse` for JSON input
10 years ago
Braydon Fuller
e7c7a9ad89
Check for consistency if object argument includes a hash.
10 years ago
Braydon Fuller
74dee1fda7
Include hash in toObject/toJSON results.
10 years ago
Braydon Fuller
eb077eb3df
Added support for signing publickey inputs.
10 years ago
Braydon Fuller
d9047eebf0
Detect if scriptSig (input) or scriptPubKey (output) is previously known.
10 years ago
Braydon Fuller
3d1dc7aafe
Objects passed as arguments are unmodified.
10 years ago
Esteban Ordano
4280b993e0
Add CLTV (BIP65) support
10 years ago
Braydon Fuller
b5ada707bd
Benchmarks for block serialization & 4x performance improvement.
10 years ago
Ivan Socolsky
0e6aec1c94
allow configuration of fee per kb
10 years ago
Ivan Socolsky
d9d5a26085
fix computation of fee without change output
10 years ago
Kirill Fomichev
b9d52b79c8
fix Transaction.sortOutputs
10 years ago
Braydon Fuller
589d017a14
Refactored transaction.getSerializationError to be more concise.
- _hasMoreOutputThanInput() and _isInvalidSatoshis() merged with getSerializationError()
- _isFeeDifferent(), _isFeeTooLarge() and _isFeeTooSmall merged with _hasFeeError()
10 years ago
David de Kloet
0b6eaf0f1e
Call getUnspentValue() only once in getSerializationError().
10 years ago
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.
10 years ago
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.
10 years ago
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.
10 years ago
David de Kloet
99d8ac1957
Remove an unnecessary space.
10 years ago
David de Kloet
3d9560c0c5
Don't break lines at 80 characters.
10 years ago
David de Kloet
8a8412f04a
Don't break lines at 80 characters.
10 years ago
Manuel Araoz
8a13a22baf
add Transaction#clearOutputs
10 years ago
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
10 years ago
David de Kloet
26bd5a864a
Simplify transaction.getSerializationError(). This takes care of some lint errors about number of statements and cyclomatic complexity.
10 years ago
Patrick Nagurny
de078a40d3
If output.script is InvalidBuffer, return null instead of throwing error
10 years ago
Braydon Fuller
53b6171547
Added coverage to transaction and fixed bug with serialization check.
10 years ago
Kirill Fomichev
346b2af446
delete writable for accessor property
10 years ago
David de Kloet
056f171e22
Remove the ability to disable the check that a specified fee is equal to the unspent value.
10 years ago
David de Kloet
b1e54101d3
Call the parent error of the fee errors FeeError for backwards compatibility.
10 years ago
David de Kloet
8da9c4a44a
Give the 3 fee errors a common parent error.
10 years ago
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.
10 years ago
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.
10 years ago
Braydon Fuller
f8ea7e39cc
Included satoshis check during checked serialization.
10 years ago
Braydon Fuller
cd12164fae
Added test coverage to transaction.verify
10 years ago
Braydon Fuller
3d447ded79
Update bn.js to 2.0.4 to handle 53 bit precision number input.
10 years ago
Manuel Araoz
d556a0c33d
fix regressions
10 years ago