diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c2e028f..55f3a3bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,12 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## Unreleased +### Bug Fixes + +* (evm) [tharsis#1118](https://github.com/tharsis/ethermint/pull/1118) Fix `Type()` `Account` method `EmptyCodeHash` comparison + +## [v0.16.0] - 2022-06-06 + ### State Machine Breaking * (feemarket) [tharsis#1105](https://github.com/tharsis/ethermint/pull/1105) Update `BaseFee` calculation based on `GasWanted` instead of `GasUsed`. diff --git a/types/account.go b/types/account.go index 4f7f8e0d..08c51279 100644 --- a/types/account.go +++ b/types/account.go @@ -75,7 +75,7 @@ func (acc *EthAccount) SetCodeHash(codeHash common.Hash) error { // Type returns the type of Ethereum Account (EOA or Contract) func (acc EthAccount) Type() int8 { - if bytes.Equal(emptyCodeHash, common.Hex2Bytes(acc.CodeHash)) { + if bytes.Equal(emptyCodeHash, common.HexToHash(acc.CodeHash).Bytes()) { return AccountTypeEOA } return AccountTypeContract diff --git a/types/account_test.go b/types/account_test.go index 10b18a60..7571e9bd 100644 --- a/types/account_test.go +++ b/types/account_test.go @@ -51,8 +51,8 @@ func TestAccountTestSuite(t *testing.T) { } func (suite *AccountTestSuite) TestAccountType() { - suite.account.CodeHash = common.Bytes2Hex(crypto.Keccak256(nil)) + suite.account.CodeHash = common.BytesToHash(crypto.Keccak256(nil)).Hex() suite.Require().Equal(types.AccountTypeEOA, suite.account.Type()) - suite.account.CodeHash = common.Bytes2Hex(crypto.Keccak256([]byte{1, 2, 3})) + suite.account.CodeHash = common.BytesToHash(crypto.Keccak256([]byte{1, 2, 3})).Hex() suite.Require().Equal(types.AccountTypeContract, suite.account.Type()) }