Update ethereumjs-util to v6
See original GitHub issueThe latest ethereumjs-util release is 6.1.0 and Ganache is still using 5.2.0.
I’m asking for this mainly because of this change that was introduced in 6.0.0:
[BREAKING] Fixed signature to comply with Geth and Parity in toRpcSig() changing v from 0/1 to 27/28, this changes the resulting signature buffer
To protect devs from signature malleability OpenZeppelin has restricted the accepted signatures to those with v in range 27/28, thus Ganache generated signatures are not validating. See https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1622.
Issue Analytics
- State:
 - Created 4 years ago
 - Reactions:3
 - Comments:6 (5 by maintainers)
 
Top Results From Across the Web
Update of ethereumjs-util to v6.0.0 by holgerd77 · Pull Request #369 ...
Tests are passing, minimal changes and needed for further Constantinople work, will merge. All reactions.
Read more >ethereumjs-util - npm
A collection of utility functions for Ethereum. It can be used in Node.js and in the browser with browserify. INSTALL. npm install ethereumjs- ......
Read more >@neburo/ethereumjs-util - npm package | Snyk
@neburo/ethereumjs-util. v6.2.1. a collection of utility functions for Ethereum For more information about how to use this package see README.
Read more >ethereumjs-wallet: Versions | Openbase
Full version history for ethereumjs-wallet including change logs. ... GH Actions in place of Travis, PR #120; Updated ethereumjs-util dependency from v6 to ......
Read more >@nomicfoundation/ethereumjs-vm - NPM Package Overview - Socket
@ethereumjs/vm v6.0.0. Final release - tada - of a wider breaking release round on the EthereumJS monorepo libraries, see the Beta 1 release...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Closed by https://github.com/trufflesuite/ganache-core/pull/445. Major version bump plan to handle the breaking change can be tracked here: https://github.com/trufflesuite/ganache-core/issues/451
I understand that it’s a breaking change, so it should be introduced in your next major release. This behavior has been present for so long that changing it in a minor version will probably break too many things. I’m not 100% sure about this, as most people dealing with signatures already has code in place to somehow normalize them.
In my experience, this has always been a source of frustration when signing using Ganache or previous versions of ethereumjs-util. Until recently, using
eth_signwasn’t that common though, but I believe that with the increased use of meta-transactions much more developers will encounter this problem. For this reason, I think that the sooner this change can be introduced, the better.As a data point, I just confirmed with @frangio that OpenZeppelin’s signature verification library only accepts
27/28, and it will be used in the Gas Station Network. Keeping0/1will lead to complications when testing projects that make use of either of them.