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.
back to top
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
back to top
- 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
back to miscellaneous
refactor: fix typo in uint-to-buffer.ts (#3738)
Corrects missspelling of "signficant" to the more correct "significant".
back to miscellaneous
back to top
- #3531 fix: calling
evm_mine
with atimestamp
argument 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)
back to top
Top Priority:
debug_storageRangeAt
fails to find storage when the slot was created earlier in the same block (#3338)- Add
eth_feeHistory
RPC endpoint (#1470) - 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)
back to top
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)
back to top
Open new issues (or join our team) to influence what we gets implemented and prioritized.
💖 The Truffle Team