v7.7.3
Fixes
Miscellaneous
Changelog
Known Issues
Future Plans
Thank you to our contributors @legobeat, @MicaiahReid, @brendene, and @jeffsmale90 for your 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 if you really want to get involved.
We've changed 18 files across 8 merged pull requests, tallying 184 additions and 140 deletions, since our last release.
- fix: add
"EADDRINUSE"ascodeto serverError(#4045) - fix: store transactions with the correct
effectiveGasPrice(#4112) - fix:
evm_revertfails in some cases (#4136)
fix: add "EADDRINUSE" as code to server Error (#4045)
This PR sets the code property related to the error "listen EADDRINUSE: address already in use { address }" to "EADDRINUSE", making detecting this kind of "address in use" error programmatically much easier and straightforward. This property existed in Ganache v6 and earlier and was removed in v7.0.0 in error.
Previously:
{
"message": "listen EADDRINUSE: address already in use 127.0.0.1:5001"
}Now:
{
"code": "EADDRINUSE",
"message": "listen EADDRINUSE: address already in use 127.0.0.1:5001"
}Fixes #4020
fix: store transactions with the correct effectiveGasPrice (#4112)
Previously we were returning the wrong gasPrice when a transaction was fetched via eth_getTransactionByHash. This was happening because when we saved the transaction to the chain, we didn't update the transaction's effectiveGasPrice field based off of the baseFeePerGas of the block that the transaction was mined onto in some cases.
However, the effectiveGasPrice returned on a receipt was correct because when the receipt was fetched, we would calculate the effectiveGasPrice on the fly just to correct what we return to the user, rather than directly using what the database returned.
This change removes the on-the-fly calculation of the effectiveGasPrice on the receipt, and presets the transaction's effectiveGasPrice based off of the next block's baseFeePerGas when the transaction is added to the pool. As block's are mined, the miner updates all pending transaction's effectiveGasPrice based off of the next block's baseFeePerGas.
Fixes #4094.
fix: evm_revert fails in some cases (#4136)
Resolves an issue where evm_revert would fail with error .for is not iterable. This happened when a user would attempt to revert a change that deletes a key that exists in an upstream network.
fixes: #4093
- ci: update docker release action (#4030)
- docs: expand on troubleshooting node-gyp errors (#4013)
- ci: drop macos-11, add macos-12 (#3407)
- ci: update setup-python action to v4.4.0 (#4072)
- ci: drop ubuntu-18.04, add ubuntu-22.04 (#3405)
ci: update docker release action (#4030)
Some of the GitHub Actions commands used by our Docker Publish Action are deprecated. This PR updates the Actions to versions that have since been updated to stop using these deprecated commands.
docs: expand on troubleshooting node-gyp errors (#4013)
This PR adds a note in our CONTRIBUTING.MD document that instructs contributors to ensure they do not use npm as the root user.
ci: drop macos-11, add macos-12 (#3407)
Just updating CI to run the newer macos-12 runner instead of macos-11.
ci: update setup-python action to v4.4.0 (#4072)
The GitHub Actions runner was warning about deprecated API use by the setup-python package, so this PR updates it to the latest tagged version.
ci: drop ubuntu-18.04, add ubuntu-22.04 (#3405)
Updating CI, including the "Release" action, to use Ubuntu 22.04, while also dropping support for ubuntu-18.04.
- #4030 ci: update docker release action (@davidmurdoch)
- #4013 docs: expand on troubleshooting node-gyp errors (@legobeat)
- #3407 ci: drop macos-11, add macos-12 (@davidmurdoch)
- #4045 fix: add
"EADDRINUSE"ascodeto serverError(@davidmurdoch) - #4072 ci: update setup-python action to v4.4.0 (@davidmurdoch)
- #3405 ci: drop ubuntu-18.04, add ubuntu-22.04 (@davidmurdoch)
- #4112 fix: store transactions with the correct
effectiveGasPrice(@MicaiahReid) - #4136 fix:
evm_revertfails in some cases (@jeffsmale90)
Top Priority:
debug_storageRangeAtfails to find storage when the slot was created earlier in the same block (#3338)- 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:
- 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 we gets implemented and prioritized.
💖 The Truffle Team