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.fromBufferandtoBufferhave serialization support for segregated witness transactionsTransactionBuilder.fromTransactionimports a segregated witness transactionTransactionBuilder.sign()has two additional parameters for witness outputs:witnessValue, andwitnessScript
- Add