6.5 KiB
2.3.0
added
- Added
HDNode.prototype.isNeutered(#536) - Added
HDNode.prototype.derivePath(#538) - Added typeforce checking for
HDNode.prototype.derive*(#539) - Added
Transaction.prototype.isCoinbase(#578) - Added
Block.prototype.checkMerkleRoot(#580) - Added
Block.calculateMerkleRoot(#580) - Added
TransactionBuilder.prototype.setVersion(#599) - Added
script.isWitnessPubKeyHashOutput(#602) - Added
script.isWitnessScriptHashOutput(#602) - Added
script.witnessPubKeyHashOutput(#602) - Added
script.witnessScriptHashOutput(#602) - Added
script.witnessScriptHashInput(#602)
fixed
- Fixed "BIP32 is undefined" when network list given to
HDNodebut no compatible version found (#550) - Fixed
writePushDataIntoutput to adhere to minimal data push policy (#617)
2.2.0
added
- Added
Block.calculateTargetfor difficulty calculations (#509) - Added
Block.prototype.checkProofOfWork(#509) - Added
opcodes.OP_CHECKLOCKTIMEVERIFYalias forOP_NOP2(#511) - Added
script.number.[encode/decode]for CScriptNum-encodedBuffers (#516) - Added
TransactionBuilder.prototype.setLockTime(#507)
fixed
- Bumped
typeforceversion to fix erroneous error message fromtypes.Hash*bittypes (#534)
2.1.4
fixed
- script.isPubKeyHashOutput and script.isScriptHashOutput no longer allow for non-minimal data pushes (per bitcoin/bitcoin
IsStandardpolicy) (#499) - TransactionBuilder.addOutput now allows for SIGHASH_SINGLE, throwing if the contract is violated (#504)
- remove use of
const, use ES5 only (#502)
2.1.3
fixed
- Bumped typeforce to 1.5.5 (see #493)
2.1.2
fixed
- Add missing CHANGELOG entry for 2.1.1
2.1.1
changed
- removed use of
buffer-reverse, dependency only kept forbufferutils.reverse, to be deprecated (#478)
fixed
isMultisigOutputno longer allows data chunks form/n(#482)isMultisigOutput'snvalue must now match the number of public keys (as per bitcoin/bitcoin) (#484)
2.1.0
From this release users should use the HDNode directly (compared to accessing .keyPair) when performing ECDSA operations such as sign or verify.
Ideally you shoud not have to directly access HDNode internals for general usage, as it can often be confusing and error prone.
added
ECPair.prototype.getNetworkHDNode.prototype.getNetwork, wraps the underyling keyPair'sgetNetworkmethodHDNode.prototype.getPublicKeyBuffer, wraps the underyling keyPair'sgetPublicKeyBuffermethodHDNode.prototype.sign, wraps the underlying keyPair'ssignmethodHDNode.prototype.verify, wraps the underlying keyPair'sverifymethod
2.0.0
In this release we have strived to simplify the API, using native types wherevever possible to encourage cross-compatibility with other open source community modules.
The ecdsa module has been removed in lieu of using a new ECDSA module (for performance and safety reasons) during the 2.x.y major release.
Several other cumbersome modules have been removed, with their new independent modules recommended for usage instead for greater modularity in your projects.
Backward incompatible changes:
added
- export
address, foraddressbased utility functions, most compatible, just withoutAddressinstantiation, see #401, #444 - export
script, forscriptbased utility functions, mostly compatible, just withoutScriptinstantiation, see #438, #444 - export
ECPair, a merged replacement forECKey/ECPubKey, invalid types will throw viatypeforce
changed
-
address.toOutputScript,ECPair.prototype.fromWIFandHDNode.prototype.fromBase58no longer automatically detect the network,networks.bitcoinis always assumed unless given. -
assertwas used for type checking, now replaced bytypeforce -
BIP66compliant strict DER signature validation was added toECSignature.fromDER, changing the exact exception messages slightly, see #448. -
new HDNode(d/Q, chainCode, network)->new HDNode(keyPair, chainCode), now usesECPair -
HDNode.prototype.toBase58(false)->HDNode.prototype.neutered().toBase58()for exporting an extended public key -
HDNode.prototype.toBase58(true)->HDNode.prototype.toBase58()for exporting an extended private key -
Transaction.prototype.hashForSignature(prevOutScript, inIndex, hashType)->Transaction.prototype.hashForSignature(inIndex, prevOutScript, hashType) -
Transaction.prototype.addInput(hash, ...):hashcould be a string, Transaction or Buffer ->hashcan now only be aBuffer. -
Transaction.prototype.addOutput(scriptPubKey, ...):scriptPubKeycould be a string,Addressor aBuffer->scriptPubKeycan now only be aBuffer. -
TransactionBuilderAPI unchanged.
removed
-
export
Address,stringsare now used, benchwith no performance loss for most use cases -
export
base58check, usebs58checkinstead -
export
ecdsa, useecurveinstead -
export
ECKey, use new exportECPairinstead -
export
ECPubKey, use new exportECPairinstead -
export
Wallet, see README.md#complementing-libraries instead -
export
Script, use new utility exportscriptinstead (#438 for more information) -
crypto.HmacSHA256, use node crypto instead -
crypto.HmacSHA512, use node crypto instead -
Transaction.prototype.sign, useTransactionBuilder.prototype.sign -
Transaction.prototype.signInput, useTransactionBuilder.prototype.sign -
Transaction.prototype.validateInput, useTransaction.prototype.hashForSignatureandECPair.verify -
HDNode.fromBuffer, useHDNode.fromBase58instead -
HDNode.fromHex, useHDNode.fromBase58instead -
HDNode.toBuffer, useHDNode.prototype.toBase58instead -
HDNode.toHex, useHDNode.prototype.toBase58instead -
networks.*.magic, see the comment here -
networks.[viacoin|viacointestnet|gamerscoin|jumbucks|zetacoin], import these yourself (see #383/a0e6ee7) -
networks.*.estimateFee, out-dated
renamed
Message->messagescripts->scriptscripts.dataOutput->script.nullDataOutput(per convention)