diff --git a/ethereum/rpc/backend/backend.go b/ethereum/rpc/backend/backend.go index b6c48d42..a18530ec 100644 --- a/ethereum/rpc/backend/backend.go +++ b/ethereum/rpc/backend/backend.go @@ -370,7 +370,7 @@ func (e *EVMBackend) HeaderByHash(blockHash common.Hash) (*ethtypes.Header, erro // It returns an error if there's an encoding error. // If no logs are found for the tx hash, the error is nil. func (e *EVMBackend) GetTransactionLogs(txHash common.Hash) ([]*ethtypes.Log, error) { - tx, err := e.clientCtx.Client.Tx(e.ctx, txHash.Bytes(), false) + tx, err := e.GetTxByEthHash(txHash) if err != nil { return nil, err } diff --git a/x/evm/keeper/state_transition.go b/x/evm/keeper/state_transition.go index 422f7f13..3945d6d8 100644 --- a/x/evm/keeper/state_transition.go +++ b/x/evm/keeper/state_transition.go @@ -168,7 +168,6 @@ func (k *Keeper) ApplyTransaction(tx *ethtypes.Transaction) (*types.MsgEthereumT // set the transaction hash and index to the impermanent (transient) block state so that it's also // available on the StateDB functions (eg: AddLog) k.SetTxHashTransient(txHash) - k.IncreaseTxIndexTransient() if !k.ctxStack.IsEmpty() { panic("context stack shouldn't be dirty before apply message") @@ -186,6 +185,8 @@ func (k *Keeper) ApplyTransaction(tx *ethtypes.Transaction) (*types.MsgEthereumT return nil, stacktrace.Propagate(err, "failed to apply ethereum core message") } + k.IncreaseTxIndexTransient() + res.Hash = txHash.Hex() logs := k.GetTxLogsTransient(txHash)