github trufflesuite/ganache v7.7.3

latest releases: v7.9.2, ganache@7.9.2, v7.9.1...
22 months ago

 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.


Fixes

  • fix: add "EADDRINUSE" as code to server Error (#4045)
  • fix: store transactions with the correct effectiveGasPrice (#4112)
  • fix: evm_revert fails 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

back to fixes

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.

back to fixes

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

back to fixes

back to top


Miscellaneous

  • 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.

back to miscellaneous

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.

back to miscellaneous

ci: drop macos-11, add macos-12 (#3407)

Just updating CI to run the newer macos-12 runner instead of macos-11.

back to miscellaneous

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.

back to miscellaneous

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.

back to miscellaneous

back to top


Changelog

back to top


Known Issues

Top Priority:

  • debug_storageRangeAt fails to find storage when the slot was created earlier in the same block (#3338)
  • 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 and miner_start don't respect --mode.instamine=eager (#2029)
  • evm_setAccount* is race-conditiony (#1646)
  • @ganache/filecoin@alpha doesn't work with ganache@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


Future Plans

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)

back to top

Open new issues to influence what we gets implemented and prioritized.


💖 The Truffle Team

Don't miss a new ganache release

NewReleases is sending notifications on new releases.