Fixed
- Transaction & block versions are signed integers (#662)
Removed
- Minimum node version: v0.4 (#750)
- Removed buffer-equals/buffer-compare (#650)
- Removed ecdsa.calcPubKeyRecoveryParam(), ecdsa.recoverPubKey() (#456)
- Removed coin network: Dogecoin (#675)
BC Break
- Script templates - refactored and moved (#682)
- Inputs
- pubKey, pubKeyHash, multisig, and scriptHash, all have bscript.
*
.input.{check,encode,decode,encodeStack,decodeStack}
- witnessPubKeyHash and witnessScriptHash have bscript.
{witnessPubKeyHash,witnessScriptHash}
.input.{check,encodeStack,decodeStack}
- no encode/decode since that applies to Script.
- pubKey, pubKeyHash, multisig, and scriptHash, all have bscript.
- Outputs
- pubKey, pubKeyHash, multisig, scriptHash, witnessPubKeyHash, witnessScriptHash, witnessCommitment, all have
{check,encode,decode}
- pubKey, pubKeyHash, multisig, scriptHash, witnessPubKeyHash, witnessScriptHash, witnessCommitment, all have
- Inputs
Added
- Add specific type for Satoshis (#629)
- Add
bscript.toStack()
andbscript.isPushOnly()
(#732) - Add constants for script types (#683)
- Add merkle-lib, coinselect, minimaldata, bitcoin-ops, pushdata-bitcoin (#676)
- TransactionBuilder() now takes
maximumFeeRate
, used for sanity checks of the eventual fee (#696) - Segregated Witness (#746)
- Add
Transaction.hashForWitnessV0()
,Transaction.hasWitnesses()
,Transaction.setWitness()
Transaction.fromBuffer
andtoBuffer
have serialization support for segregated witness transactionsTransactionBuilder.fromTransaction
imports a segregated witness transactionTransactionBuilder.sign()
has two additional parameters for witness outputs:witnessValue
, andwitnessScript
- Add