question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Update ethereumjs-util to v6

See original GitHub issue

The 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:closed
  • Created 4 years ago
  • Reactions:3
  • Comments:6 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
davidmurdochcommented, Jul 15, 2019

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

2reactions
alcuadradocommented, Jul 15, 2019

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_sign wasn’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. Keeping 0/1 will lead to complications when testing projects that make use of either of them.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found