x/evm: open eip2028 when the version of Istanbul was enabled (#731)
* open eip2028 when Istanbul version enabled * Update x/evm/types/chain_config.go Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * Update x/evm/types/chain_config.go Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com> * add change log * update development * fix rpc test error Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
This commit is contained in:
parent
16f1dabdbc
commit
c95ad0432b
@ -43,6 +43,8 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
|||||||
* (evm) [\#670](https://github.com/cosmos/ethermint/pull/670) Migrate types to the ones defined by the protobuf messages, which are required for the stargate release.
|
* (evm) [\#670](https://github.com/cosmos/ethermint/pull/670) Migrate types to the ones defined by the protobuf messages, which are required for the stargate release.
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
|
* (evm) [\#730](https://github.com/cosmos/ethermint/issues/730) Fix 'EIP2028' not open when Istanbul version has been enabled.
|
||||||
* (evm) [\#749](https://github.com/cosmos/ethermint/issues/749) Fix panic in `AnteHandler` when gas price larger than 100000
|
* (evm) [\#749](https://github.com/cosmos/ethermint/issues/749) Fix panic in `AnteHandler` when gas price larger than 100000
|
||||||
* (evm) [\#747](https://github.com/cosmos/ethermint/issues/747) Fix format errors in String() of QueryETHLogs
|
* (evm) [\#747](https://github.com/cosmos/ethermint/issues/747) Fix format errors in String() of QueryETHLogs
|
||||||
* (evm) [\#742](https://github.com/cosmos/ethermint/issues/742) Add parameter check for evm query func.
|
* (evm) [\#742](https://github.com/cosmos/ethermint/issues/742) Add parameter check for evm query func.
|
||||||
|
@ -558,7 +558,7 @@ func TestEth_EstimateGas_ContractDeployment(t *testing.T) {
|
|||||||
err := json.Unmarshal(rpcRes.Result, &gas)
|
err := json.Unmarshal(rpcRes.Result, &gas)
|
||||||
require.NoError(t, err, string(rpcRes.Result))
|
require.NoError(t, err, string(rpcRes.Result))
|
||||||
|
|
||||||
require.Equal(t, "0x1c2c4", gas.String())
|
require.Equal(t, "0x1a724", gas.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEth_GetBlockByNumber(t *testing.T) {
|
func TestEth_GetBlockByNumber(t *testing.T) {
|
||||||
|
@ -66,6 +66,16 @@ func (cc ChainConfig) EthereumConfig(chainID *big.Int) *params.ChainConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsIstanbul returns whether the Istanbul version is enabled.
|
||||||
|
func (cc ChainConfig) IsIstanbul() bool {
|
||||||
|
return getBlockValue(cc.IstanbulBlock) != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsHomestead returns whether the Homestead version is enabled.
|
||||||
|
func (cc ChainConfig) IsHomestead() bool {
|
||||||
|
return getBlockValue(cc.HomesteadBlock) != nil
|
||||||
|
}
|
||||||
|
|
||||||
// String implements the fmt.Stringer interface
|
// String implements the fmt.Stringer interface
|
||||||
func (cc ChainConfig) String() string {
|
func (cc ChainConfig) String() string {
|
||||||
out, _ := yaml.Marshal(cc)
|
out, _ := yaml.Marshal(cc)
|
||||||
|
@ -115,7 +115,7 @@ func (st StateTransition) newEVM(
|
|||||||
func (st StateTransition) TransitionDb(ctx sdk.Context, config ChainConfig) (*ExecutionResult, error) {
|
func (st StateTransition) TransitionDb(ctx sdk.Context, config ChainConfig) (*ExecutionResult, error) {
|
||||||
contractCreation := st.Recipient == nil
|
contractCreation := st.Recipient == nil
|
||||||
|
|
||||||
cost, err := core.IntrinsicGas(st.Payload, contractCreation, true, false)
|
cost, err := core.IntrinsicGas(st.Payload, contractCreation, config.IsHomestead(), config.IsIstanbul())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, sdkerrors.Wrap(err, "invalid intrinsic gas for transaction")
|
return nil, sdkerrors.Wrap(err, "invalid intrinsic gas for transaction")
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user