Skip to content
This repository has been archived by the owner on Nov 30, 2021. It is now read-only.

Commit

Permalink
fix handler csdb usage, fixes consensus error again (#516)
Browse files Browse the repository at this point in the history
  • Loading branch information
noot authored Sep 17, 2020
1 parent 244d836 commit 73d6c41
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 17 deletions.
4 changes: 2 additions & 2 deletions tests/rpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ func TestEth_EstimateGas(t *testing.T) {
err := json.Unmarshal(rpcRes.Result, &gas)
require.NoError(t, err, string(rpcRes.Result))

require.Equal(t, "0xf76c", gas)
require.Equal(t, "0xef7e", gas)
}

func TestEth_EstimateGas_ContractDeployment(t *testing.T) {
Expand All @@ -777,7 +777,7 @@ func TestEth_EstimateGas_ContractDeployment(t *testing.T) {
err := json.Unmarshal(rpcRes.Result, &gas)
require.NoError(t, err, string(rpcRes.Result))

require.Equal(t, "0x1cab2", gas.String())
require.Equal(t, "0x1c2c4", gas.String())
}

func TestEth_ExportAccount(t *testing.T) {
Expand Down
38 changes: 23 additions & 15 deletions x/evm/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,10 @@ func handleMsgEthereumTx(ctx sdk.Context, k Keeper, msg types.MsgEthereumTx) (*s

// Prepare db for logs
// TODO: block hash
k.CommitStateDB.Prepare(ethHash, common.Hash{}, k.TxCount)
k.TxCount++
if !st.Simulate {
k.CommitStateDB.Prepare(ethHash, common.Hash{}, k.TxCount)
k.TxCount++
}

config, found := k.GetChainConfig(ctx)
if !found {
Expand All @@ -75,13 +77,15 @@ func handleMsgEthereumTx(ctx sdk.Context, k Keeper, msg types.MsgEthereumTx) (*s
return nil, err
}

// update block bloom filter
k.Bloom.Or(k.Bloom, executionResult.Bloom)
if !st.Simulate {
// update block bloom filter
k.Bloom.Or(k.Bloom, executionResult.Bloom)

// update transaction logs in KVStore
err = k.SetLogs(ctx, common.BytesToHash(txHash), executionResult.Logs)
if err != nil {
panic(err)
// update transaction logs in KVStore
err = k.SetLogs(ctx, common.BytesToHash(txHash), executionResult.Logs)
if err != nil {
panic(err)
}
}

// log successful execution
Expand Down Expand Up @@ -143,8 +147,10 @@ func handleMsgEthermint(ctx sdk.Context, k Keeper, msg types.MsgEthermint) (*sdk
}

// Prepare db for logs
k.CommitStateDB.Prepare(ethHash, common.Hash{}, k.TxCount)
k.TxCount++
if !st.Simulate {
k.CommitStateDB.Prepare(ethHash, common.Hash{}, k.TxCount)
k.TxCount++
}

config, found := k.GetChainConfig(ctx)
if !found {
Expand All @@ -157,12 +163,14 @@ func handleMsgEthermint(ctx sdk.Context, k Keeper, msg types.MsgEthermint) (*sdk
}

// update block bloom filter
k.Bloom.Or(k.Bloom, executionResult.Bloom)
if !st.Simulate {
k.Bloom.Or(k.Bloom, executionResult.Bloom)

// update transaction logs in KVStore
err = k.SetLogs(ctx, common.BytesToHash(txHash), executionResult.Logs)
if err != nil {
panic(err)
// update transaction logs in KVStore
err = k.SetLogs(ctx, common.BytesToHash(txHash), executionResult.Logs)
if err != nil {
panic(err)
}
}

// log successful execution
Expand Down

0 comments on commit 73d6c41

Please sign in to comment.