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_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)
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)
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