v7.8.0
New Features
Changelog
Known Issues
Future Plans
Introducing the newest addition to our lineup - Ganache v7.8.0! This release comes with support for the highly anticipated Shanghai hardfork.
If you have some time, we encourage you to browse our issues to find anything you'd like implemented/fixed sooner. Give them a +1 and we'll use this community feedback to help prioritize what we work on! Or better yet, open a new issue, or open a PR to fix an existing issue.
We've changed 84 files across 1 merged pull requests, tallying 6,243 additions and 4,642 deletions, since our last release.
feat: add support for the shanghai
hardfork (#4272)
- EIP-3651: Warm COINBASE
- EIP-3855: PUSH0 instruction
- EIP-4895: Beacon chain push withdrawals as operations
- EIP-6049: Deprecate SELFDESTRUCT
- EIP-3860: Limit and meter initcode
We've added a new option allowUnlimitedInitCodeSize
to disable EIP-3860 (Limit and meter initcode) to continue to allow for uploading very large contracts. In most cases it will need to be combined with the allowUnlimitedContractSize
option.
This also fixes two bugs:
- block
size
was not computed correctly (persisted databases will be updated and migrated automatically)- the database migration may add a one-time delay to startup when using a persistent database (
--database.dbPath
). This should be insignificant for the majority of cases. The migration was benchmarked with 180,000 blocks, and completed in 6.4 seconds.
- the database migration may add a one-time delay to startup when using a persistent database (
- internal "intrinsic gas" checks now correctly include
accessList
fees, if there are any.
- #4272 feat: support
shanghai
hardfork (@davidmurdoch)
Top Priority:
- interactive documentation's
debug_storageRangeAt
doesn't work (#3203) - Add
eth_createAccessList
RPC method (#1056)
Coming Soon™:
- Implications failed: fork.headers -> url (#2627)
- In Geth chain-mode, logic to accept/reject transactions based on gas price/limit should match Geth (#2176)
evm_mine
andminer_start
don't respect --mode.instamine=eager (#2029)evm_setAccount*
is race-conditiony (#1646)@ganache/filecoin@alpha
doesn't work withganache@alpha
(#1150)- Launching ganache with fork is throwing revert errors when communicating with 3rd party contracts (#956)
- Build a real pending block! (#772)
- VM Exception when interfacing with Kyber contract (#606)
- After calling
evm_mine
,eth_getLogs
returns same logs for all blocks (#533) - personal_unlockAccount works with any password (#165)
- --db Option Requires Same Mnemonic and Network ID (#1030)
Top Priority:
- Accept a genesis.json file (#1042)
Coming Soon™:
- Switch to esbuild to make build times faster/reasonable (#1555)
- fork specific block & specific index (#952)
- Allow to sync forked chain to the latest block (#643)
- Implement a streaming trace capability (#381)
- Improve log performance when forking (#145)
- Log contract events (#45)
Open new issues to influence what gets implemented and prioritized.
💖 The Truffle Team