v1.13.0
Summary
v1.13.0 has a hardfork, which will be activated at block height 28,516,681 (ETA is around 02/19/2024 00:58am UTC) on IoTeX mainnet.
All nodes must upgrade to this release, otherwise the node runs the risk of not being able to sync with the IoTeX blockchain after other nodes have upgraded.
Note:
There's no change to the mainnet config.yaml and genesis.yaml. You only need to restart your node with the new v1.13.0 image.
v1.13.0 marks a substantial advancement by upgrading IoTeX network's EVM to the latest Shanghai version. This upgrade brings in the new opcodes and improvements in Shanghai EVM, reducing gas cost with enhanced efficiency and reliability of smart contract execution, ultimately leading to a smoother and more cost-effective experience on the IoTeX network.
We are also excited to announce that v1.13.0 has enabled deterministic deployment functionality on the IoTeX network! This feature would deploy a proxy contract at a fixed address (same for all blockchains), and then it can be used to deploy any contract to a deterministic address using CREATE2. This ensures that any contract could be deployed consistently across different blockchain platforms to the same address, eliminates possible variations, and greatly enhance the predictability and reliability of smart contract deployment processes, providing developers with greater confidence in their deployments and facilitating seamless integration with other systems and protocols.
Other Improvements
v1.13.0 release also comes with a couple of improvements:
- Supported javascript tracing for web3 api
debug_traceCall
ioctl
commandline tool added more w3bstream project commands, and set
default endpoint to IoTeX mainnet- Add operator address into node's metrics reporting
- Updated gas station logic to give a dynamic gas price suggestion
- Increase max code deployment size to 48kB, same as Ethereum's limit
Upgrade Priority
v1.13.0 comes with a hardfork, so all nodes must upgrade in order to keep syncing with the IoTeX blockchain
Node type | Action |
---|---|
Delegate | Must upgrade |
Fullnode | Must upgrade |
Important Commits (not a complete list)
- [actpool] skip adding accounts if pending acts is empty #4027
- [action] Define CandidateSelfStake Action #4007
- feat(ioctl): upgrade ws apis #4021
- [actpool] fix typo for worker queue #4028
- feat(ioctl): project register contract addr config #4039
- feat(ioctl): ipfs endpoint and ipfs gateway config #4038
- feat(ioctl): optimize w3bstream project subcommand #4013
- [staking] Define Endorsement State #4017
- [action] Define CandidateEndorsement Action #4016
- [evm] remove NotCheckPutStateErrorOption() #4040
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 #4022
- feat(ioctl): bc version #4005
- update github #4048
- [api] web3 api debug_traceCall support javascript tracing #3931
- [api] Get Pending Action by eth_getTransactionByHash #4025
- [ioctl] set default endpoint to iotex mainnet #4050
- [ioctl] ioctl ws code cmd support project config version #4042
- [server] add operator address into node's metrics #4056
- Improve action pool #4030
- feat(ioctl): ioctl ws message with did vc token #4052
- feat(ioctl): use ipfs cid as project config url #4053
- chore: change default ws register contract address #4054
- [log] mute some user request related logs #4033
- Replace with sort.Slice #4034
- [state] convert clean address to zero-nonce type #3991
- [genesis] whitelist replay deployer #4009
- [gasstation] Update gas station logic #4035
- replace golint with go vet #4058
- enable 48kB execution data limit, EIP-2930 tx, and deterministic deployment at Sumatra height #4070
- [action] check calldata size instead of total size for 48kB init code limit #4075
- [action] defer access list tx enabling #4129
- [genesis] set Sumatra to activate at 02-19-2024 00:58AM UTC #4128