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.

Upgrade of Ethereum JS to v6 has introduced technical debt

See original GitHub issue

Various changes to types and member accessibility in Ethereum JS has required changes to Ganache. In #3656, an amount of technical debt was introduced in order to support the merge.

Including, but not limited to:

  • any type assertions
  • private / protected members accessed from outside of the instance
  • weird and convoluted shimming / facade wrapping of level database stuff
  • @ts-ignore

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
davidmurdochcommented, Sep 23, 2022

We should probably rip out api-extractor and rethink our types approach.

0reactions
MicaiahReidcommented, Nov 15, 2022

A little something to track the remaining work:

Problem Description PR Status
Implement suggestions in the review of #3656 #3912 Reivew
Fix types building/remove associated hacks (fd9fe25, 45d9e39) #3913, https://github.com/microsoft/rushstack/issues/3702 Review
Remove webpack hacks 13b6eba #3916 Review
Replace homemade “lightweight” block class with ejs’ block Another large refactor. It would simplify a lot of conversions to Quantity because we can deal directly with Buffers and Bigints
Replace homemade “lightweight” account class with ejs’ account Moderate effort for little to no reward
Fix ordering of new tags in tags.ts Merged (well, accidentally pushed directly)
Fix race condition with “does not persist changes to vm or state trie” test #3825 Merged
Swap out default ejs hashing library #3820 Merged
Replace homemade “lightweight” transaction class with ejs’ transactions This is a really large refactor. It would remove a lot of code and simplify things, but should probably be a different PR
Simplify/document/improve wrappping of level db #3880 Merged
Replace homemade “lightweight” address class with ejs’ address #3777 Merged
Remove added any type assertions #3778 Merged
Remove added instances of accessing private/protected members from outside of instance #3778 Merged
Remove added @ts-ignores #3778, #3821 Merged
Open PR with ethereumjs to make DB type more generic No longer needed. See https://github.com/ethereumjs/ethereumjs-monorepo/issues/2393
Read more comments on GitHub >

github_iconTop Results From Across the Web

What to Expect From Ethereum's Next Big Upgrade - CoinDesk
The Ethereum network's next big upgrade "Shanghai" will make it possible to withdraw staked ETH, tying up loose ends from the historic "Merge" ......
Read more >
truffleframework - Bountysource
Upgrade of Ethereum JS to v6 has introduced technical debt $ 0 ... Created 3 months ago in trufflesuite/ganache-core with 6 comments. Various...
Read more >
InsideTheBlockchain (@inside_theblock) / Twitter
Web3. A new buzzword, or an entire new decentralized internet of persistent ... Report: Technical debt makes 51% of engineers think about quitting ......
Read more >
The status of JavaScript outside of the browser: 2018 & beyond.
From the V8 runtime engine update(v6.6), Node.js will also get ... The new tool called 'npx' has been introduced since the 5.2.0 release....
Read more >
Web3 middleware: The bet on infrastructures to accelerate ...
js. It includes data for Ethereum (execution layer only), eth 2.0 staking (consensus data only), IPFS, Filecoin, Polygon PoS network, Arbitrum, ...
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