All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog (modification: no type change headlines) and this project adheres to Semantic Versioning.
6.1.0 - 2019-02-12
First TypeScript based release of the library, now also including a type declaration file distributed along with the package published, see PR #170.
Bug Fixes
- Fixed a bug in
isValidSignature()
not correctly returningfalse
if passed ans
-value greater thansecp256k1n/2
onhomestead
or later. If you use the method signature with more than three arguments (so not just passing inv
,r
,s
and use it likeisValidSignature(v, r, s)
and omit the optional args) please read the thread from PR #171 carefully and check your code.
Development
- Updated
@types/node
to Node11
types, PR #175 - Changed browser from Chrome to ChromeHeadless, PR #156
6.0.0 - 2018-10-08
- Support for
EIP-155
replay protection by adding an optionalchainId
parameter toecsign()
,ecrecover()
,toRpcSig()
andisValidSignature()
, if present the
new signature format relying on thechainId
is used, see PR #143 - New
generateAddress2()
forCREATE2
opcode (EIP-1014
) address creation (Constantinople HF), see PR #146 - [BREAKING] Fixed signature to comply with Geth and Parity in
toRpcSig()
changingv
from 0/1 to 27/28, this changes the resulting signature buffer, see PR #139 - [BREAKING] Remove deprecated
sha3
-named constants and methods (seev5.2.0
release), see PR #154
5.2.0 - 2018-04-27
- Rename all
sha3
hash related constants and functions tokeccak
, see this EIP discussion for context (tl;dr: Ethereum uses a slightly different hash algorithm then in the officialSHA-3
standard) - Renamed constants:
SHA3_NULL_S
->KECCAK256_NULL_S
SHA3_NULL
->KECCAK256_NULL
SHA3_RLP_ARRAY_S
->KECCAK256_RLP_ARRAY_S
SHA3_RLP_ARRAY
->KECCAK256_RLP_ARRAY
SHA3_RLP_S
->KECCAK256_RLP_S
SHA3_RLP
->KECCAK256_RLP
- Renamed functions:
sha3()
->keccak()
(number of bits determined in arguments)
- New
keccak256()
alias function forkeccak(a, 256)
- The usage of the
sha
-named versions is nowDEPRECATED
and the related constants and functions will be removed on the next major releasev6.0.0
5.1.5 - 2018-02-28
- Fix
browserify
issue leading to 3rd-party build problems, PR #119
5.1.4 - 2018-02-03
- Moved to
ES5
Node distribution version for easier toolchain integration, PR #114 - Updated
isPrecompile()
with Byzantium precompile address range, PR #115
5.1.3 - 2018-01-03
ES6
syntax updates- Dropped Node
5
support - Moved babel to dev dependencies, switched to
env
preset - Usage of
safe-buffer
instead of NodeBuffer
- Do not allow capital
0X
as valid address inisValidAddress()
- New methods
zeroAddress()
andisZeroAddress()
- Updated dependencies
5.1.2 - 2017-05-31
- Add browserify for
ES2015
compatibility - Fix hex validation
5.1.1 - 2017-02-10
- Use hex utils from
ethjs-util
- Move secp vars into functions
- Dependency updates
5.1.0 - 2017-02-04
- Fix
toRpcSig()
function - Updated Buffer creation (
Buffer.from
) - Dependency updates
- Fix npm error
- Use
keccak
package instead ofkeccakjs
- Helpers for
eth_sign
RPC call
5.0.1 - 2016-11-08
- Fix
bufferToHex()
5.0.0 - 2016-11-08
- Added
isValidSignature()
(ECDSA signature validation) - Change
v
param inecrecover()
fromBuffer
toint
(breaking change!) - Fix property alias for setting with initial parameters
- Reject invalid signature lengths for
fromRpcSig()
- Fix
sha3()
width
param (byte -> bit) - Fix overflow bug in
bufferToInt()
4.5.0 - 2016-17-12
- Introduced
toMessageSig()
andfromMessageSig()