v1.3.0 - C̶o̶n̶s̶t̶a̶n̶t̶i̶n̶o̶p̶l̶e̶ 🌿
v1.3.0 - C̶o̶n̶s̶t̶a̶n̶t̶i̶n̶o̶p̶l̶e̶ 🌿
Let's talk about that constantinople
bug that was discovered in the 11th hour, shall we? We are proud to have created software that played a roll in the discovery of the attack and love the way the community of builders (and buidlers!) worked together to postpone the hardfork and come up with a solution!
This release contains the original Constantinople hardfork implementation and is now the default hardfork in Ganache.
It is safe and recommended to test your contracts using the default "constantinople" hardfork available in this release of Ganache. The only expected difference between the hardfork in this release and the proposed Petersburg hardfork is that some transactions under Petersburg will cost more in gas due to the removal of the vulnerable EIP.
Release Highlights
Implements EIP-1013, Hardfork: Constantinople in a new setting, ⚙
⇒CHAIN
⇒HARDFORK
. Valid values are currently "Byzantium" and "Constantinople". The default value is "Constantinople".
This version contains the Constantinople hardfork implementation as it was originally intended by EIP-1013. This hardfork did not go live on Mainnet as planned due to a reentrancy attack discovered by ChainSecurity.
We are expecting a variant of Constantinople, currently named Petersburg, with the reentrancy attack vector removed to go live on Mainnet a few weeks from now (EIP PR: ethereum/EIPs#1716). The proposed change from the original Constantinople hardfork is to remove the offending EIP, EIP-1283.
New Features:
- Constantinople support (trufflesuite/ganache#274)
- Hardfork setting (#1107)
Bug Fixes:
This release also contains some bug fixes!
- Make sure
eth_call
,eth_estimateGas
, anddebug_traceTransaction
can't modify state or the state cache (trufflesuite/ganache@e9a54a4) - Don't allow subscription attempts over HTTP (trufflesuite/ganache#252)
- Ensure block numbers specified after
latest
match other EVM implementations (trufflesuite/ganache#228) - Allow dynamic responses in CORS requests (trufflesuite/ganache#226)
- Allow CORS requests to access cookies (ganache-cli doesn't set cookies, but web3 still requires access to them in some browsers) (trufflesuite/ganache@9633943, trufflesuite/ganache@71cc77f)
- Fix pending transactions responses to conform to the JSON-RPC spec (trufflesuite/ganache#227)
More steady releases to come in the future so keep on filing issues and submitting PRs!
💖 The Truffle Team