v7.4.4
Highlights
Fixes
Miscellaneous
Changelog
Known Issues
Future Plans
With the end of September we mark the successful joining of the original execution layer of Ethereum with its new Proof-Of-Stake consensus layer, the Beacon Chain, better known as The Merge. Congratulations to everyone who contributed to Ethereum's transition from Proof-of-Work to Proof-of-Stake.
To our users interested in trying post-merge features check out Ganache v7.4.4-alpha.0.
A special thank you to our external contributor @eltociear and contributor @jeffsmale90 for their contributions to this release.
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, open a PR to fix an existing issue, or apply to join our team (we're hiring!) if you really want to get involved.
We've changed 8 files across 3 merged pull requests, tallying 119 additions and 49 deletions, since our last release.
This release removes zero-config forking support for deprecated testnets: Kovan, Rinkeby, and Ropsten test networks in anticipation of Infura deprecating these testnets from the Infura API on October 5th, 2022. Infura recommends users migrate to Goerli to test deployments.
fix: calling evm_mine with a timestamp argument should reflect the change of time in subsequent blocks (#3531)
Previously, calling evm_mine with a timestamp argument would result in a block with the specified timestamp, but subsequent blocks would have a timestamp that didn't reflect this change in time. This only occurred when miner.timestampIncrement is unspecified or clock.
const provider = ganache.provider();
await provider.request({ method: "evm_mine", params: ["0x1"] });
const { timestamp: firstTimestamp } = await provider.request({
method: "eth_getBlockByNumber",
params: ["latest", false],
});
// wait 1 second before mining the second block
await new Promise((resolve, reject) => setTimeout(resolve, 1000));
await provider.request({ method: "evm_mine", params: [] });
const { timestamp: secondTimestamp } = await provider.request({
method: "eth_getBlockByNumber",
params: ["latest", false],
});
console.log({
firstTimestamp,
secondTimestamp,
});Will output something like:
{ firstTimestamp: '0x1', secondTimestamp: '0x5e0be0ff' }
Where secondTimestamp is the current time in seconds, but should be 0x2.
With this change, blocks mined after providing a timestamp parameter to evm_mine, will have timestamps that reflect the change in time.
Fixes: #3265
- refactor: remove support for deprecated test networks (#3732)
- refactor: fix typo in uint-to-buffer.ts (#3738)
refactor: remove support for deprecated test networks (#3732)
Removes zero-config forking support for deprecated testnets: Kovan, Ropsten, and Rinkeby.
Fixes #3706
refactor: fix typo in uint-to-buffer.ts (#3738)
Corrects missspelling of "signficant" to the more correct "significant".
- #3531 fix: calling
evm_minewith atimestampargument should reflect the change of time in subsequent blocks (@jeffsmale90) - #3732 refactor: remove support for deprecated test networks (@jeffsmale90)
- #3738 refactor: fix typo in uint-to-buffer.ts (@eltociear)
Top Priority:
debug_storageRangeAtfails to find storage when the slot was created earlier in the same block (#3338)- Add
eth_feeHistoryRPC endpoint (#1470) - Add
eth_createAccessListRPC 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_mineandminer_startdon't respect --mode.instamine=eager (#2029)evm_setAccount*is race-conditiony (#1646)@ganache/filecoin@alphadoesn'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_getLogsreturns same logs for all blocks (#533) - personal_unlockAccount works with any password (#165)
- --db Option Requires Same Mnemonic and Network ID (#1030)
Top Priority:
Coming Soon™:
- Switch to esbuild to make build times faster/reasonable (#1555)
- Add eip-155 support (#880)
- 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 (or join our team) to influence what we gets implemented and prioritized.
💖 The Truffle Team