- (faucet) #678 Faucet module has been removed in favor of client libraries such as
@cosmjs/faucet
. - (evm) #670 Migrate types to the ones defined by the protobuf messages, which are required for the stargate release.
- (evm) #687 Fix nonce check to explicitly check for the correct nonce, rather than a simple 'greater than' comparison.
- (api) #687 Returns error for a transaction with an incorrect nonce.
- (evm) #674 Reset all cache after account data has been committed in
EndBlock
to make sure every node state consistent. - (evm) #672 Fix panic of
wrong Block.Header.AppHash
when restart a node with snapshot.
- (api) #825 Individually enable the api modules. Will be implemented in the latest version of ethermint with the upcoming stargate upgrade.
- (evm) #661
Balance
field has been removed from the evm module'sGenesisState
.
- (rpc) #571 Add pending queries to JSON-RPC calls. This allows for the querying of pending transactions and other relevant information that pertains to the pending state:
eth_getBalance
eth_getTransactionCount
eth_getBlockTransactionCountByNumber
eth_getBlockByNumber
eth_getTransactionByHash
eth_getTransactionByBlockNumberAndIndex
eth_sendTransaction
- the nonce will automatically update to its pending nonce (when none is explicitly provided)
- (evm) #661 Add invariant check for account balance and account nonce.
- (deps) #654 Bump go-ethereum version to v1.9.25
- (evm) #627 Add extra EIPs parameter to apply custom EVM jump tables.
- (evm) #661 Set nonce to the EVM account on genesis initialization.
- (rpc) #648 Fix block cumulative gas used value.
- (evm) #621 EVM
GenesisAccount
fields now share the same format as the auth moduleAccount
. - (evm) #618 Add missing EVM
Context
GetHash
field that retrieves a the header hash from a given block height. - (app) #617 Fix genesis export functionality.
- (rpc) #574 Fix outdated version from
eth_protocolVersion
.
- (deps) #615 Bump Cosmos SDK version to v0.39.2
- (deps) #610 Update Go dependency to 1.15+.
- (evm) #603 Add state transition params that enable or disable the EVM
Call
andCreate
operations. - (deps) #602 Bump tendermint version to v0.33.9
- (rpc) #613 Fix potential deadlock caused if the keyring
List
returned an error.
- (crypto) #559 Refactored crypto package in preparation for the SDK's Stargate release:
crypto.PubKeySecp256k1
andcrypto.PrivKeySecp256k1
are nowethsecp256k1.PubKey
andethsecp256k1.PrivKey
, respectively- Moved SDK
SigningAlgo
implementation for Ethermint's Secp256k1 key tocrypto/hd
package.
- (rpc) #588 The
rpc
package has been refactored to account for the separation of each corresponding Ethereum API namespace:rpc/namespaces/eth
:eth
namespace. Exposes thePublicEthereumAPI
and thePublicFilterAPI
.rpc/namespaces/personal
:personal
namespace. Exposes thePrivateAccountAPI
.rpc/namespaces/net
:net
namespace. Exposes thePublicNetAPI
.rpc/namespaces/web3
:web3
namespace. Exposes thePublicWeb3API
.
- (evm) #588 The EVM transaction CLI has been removed in favor of the JSON-RPC.
- (ante) #597 Fix incorrect fee check on
AnteHandler
. - (evm) #583 Fixes incorrect resetting of tx count and block bloom during
BeginBlock
, as well as gas consumption. - (crypto) #577 Fix
BIP44HDPath
that did not prependm/
to the path. This now uses theDefaultBaseDerivationPath
variable from go-ethereum to ensure addresses are consistent.
- (rpc) #552 Implement Eth Personal namespace
personal_importRawKey
.
- (keys) #554 Fix private key derivation.
- (app/ante) #550 Update ante handler nonce verification to accept any nonce greater than or equal to the expected nonce to allow to successive transactions.
- (app) #540 Chain identifier's format has been changed to match the Cosmos
chainID
standard, which is required for IBC. The epoch number of the ID is used as the EVMchainID
.
- (types) #503 The
types.DenomDefault
constant for"aphoton"
has been renamed totypes.AttoPhoton
.
- (types) #504 Unmarshal a JSON
EthAccount
using an Ethereum hex address in addition to Bech32. - (types) #503 Add
--coin-denom
flag to testnet command that sets the given coin denomination to SDK and Ethermint parameters. - (types) #502
EthAccount
now also exposes the Ethereum hex address instring
format to clients. - (types) #494 Update
EthAccount
public key JSON type tostring
. - (app) #471 Add
x/upgrade
module for managing software updates. - (
x/evm
) #458 Define parameter for token denomination used for the EVM module. - (
x/evm
) #443 Support custom EthereumChainConfig
params. - (types) #434 Update default denomination to Atto Photon (
aphoton
). - (types) #515 Update minimum gas price to be 1.
- (ante) #525 Add message validation decorator to
AnteHandler
forMsgEthereumTx
. - (types) #507 Fix hardcoded
aphoton
onEthAccount
balance getter and setter. - (types) #501 Fix bech32 encoding error by using the compressed ethereum secp256k1 public key.
- (
x/evm
) #496 Fix bugs onjournal.revert
andCommitStateDB.Copy
. - (types) #480 Update BIP44 coin type to
60
to satisfy EIP84. - (types) #513 Fix simulated transaction bug that was causing a consensus error by unintentionally affecting the state.
- (sdk) #386 Bump Cosmos SDK version to v0.39.1
- (
x/evm
) #181 Updated EVM module to the recommended module structure. - (app) #188 Misc cleanup:
- (
x/evm
) RenameEthereumTxMsg
-->MsgEthereumTx
andEmintMsg
-->MsgEthermint
for consistency with SDK standards - Updated integration and unit tests to use
EthermintApp
as testing suite - Use expected
Keeper
interface forAccountKeeper
- Replaced
count
type in keeper withint
- Add SDK events for transactions
- (
- #236 Changes from upgrade:
- (
app/ante
) MovedAnteHandler
implementation toapp/ante
- (keys) Marked
ExportEthKeyCommand
as UNSAFE - (
x/evm
) MovedBeginBlock
andEndBlock
tox/evm/abci.go
- (
- (
x/evm
) #255 Add missingGenesisState
fields and supportExportGenesis
functionality. - #272 Add
Logger
for evm module. - #317
GenesisAccount
validation. - (
x/evm
) #319 Various evm improvements:- Add transaction
[]*ethtypes.Logs
to evm'sGenesisState
to persist logs after an upgrade. - Remove evm
CodeKey
andBlockKey
in favor of a prefixStore
. - Set
BlockBloom
duringEndBlock
instead ofBeginBlock
. Commit
state object andFinalize
storage afterInitGenesis
setup.
- Add transaction
- (rpc) #325
eth_coinbase
JSON-RPC query now returns the node's validator address.
- (build) #378 Create multi-node, local, automated testnet setup with
make localnet-start
. - (rpc) #330 Implement
PublicFilterAPI
'sEventSystem
which subscribes to Tendermint events uponFilter
creation. - (rpc) #231 Implement
NewBlockFilter
in rpc/filters.go which instantiates a polling block filter- Polls for new blocks via
BlockNumber
rpc call; if block number changes, it requests the new block viaGetBlockByNumber
rpc call and adds it to its internal list of blocks - Update
uninstallFilter
andgetFilterChanges
accordingly uninstallFilter
stops the polling goroutinegetFilterChanges
returns the filter's internal list of block hashes and resets it
- Polls for new blocks via
- (rpc) #54, #55
Implement
eth_getFilterLogs
andeth_getLogs
:- For a given filter, look through each block for transactions. If there are transactions in the block, get the logs from it, and filter using the filterLogs method
eth_getLogs
andeth_getFilterChanges
for log filters use the same underlying method aseth_getFilterLogs
- update
HandleMsgEthereumTx
to store logs using the ethereum hash
- (app) #187 Add support for simulations.
- (rpc) #305 Update
eth_getTransactionCount
to check for account existence before getting sequence and return 0 as the nonce if it doesn't exist. - (
x/evm
) #319 FixSetBlockHash
that was setting the incorrect height duringBeginBlock
. - (
x/evm
) #176 Updated Web3 transaction hash from using RLP hash. Now all transaction hashes exposed are amino hashes:- Removes
Hash()
(RLP) function fromMsgEthereumTx
to avoid confusion or misuse in future.
- Removes