0g-chain/x/evmutil/spec
Robert Pirtle d500cd1236
feat(evmutil): Add DeployedCosmosCoinContracts query (#1605)
* add QueryDeployedCosmosCoinContracts proto

* also implement protobuf marshaler for InternalEVMAddress

* setup iteration & collection for deployed addrs

* rewrite grpc query tests

* support querying for all deployed contracts

* support querying by cosmos denom

* fix & test pagination

* remove unused iteration methods

* add CLI query command

* update changelog

* update spec

* add InternalEVMAddress.MarshalJSON test
2023-06-02 11:23:52 -07:00
..
01_concepts.md feat(evmutil): Add DeployedCosmosCoinContracts query (#1605) 2023-06-02 11:23:52 -07:00
02_state.md feat(evmutil): track deployed contracts in state (#1598) 2023-05-24 16:23:33 -07:00
03_messages.md feat(evmutil)!: implement MsgConvertCosmosCoinToERC20 (#1603) 2023-05-30 12:00:01 -07:00
04_events.md feat(evmutil)!: emit events on MsgConvertCosmosCoinToERC20 (#1604) 2023-05-30 13:06:46 -07:00
05_params.md feat(evmutil)!: implement MsgConvertCosmosCoinToERC20 (#1603) 2023-05-30 12:00:01 -07:00
README.md update evmutil specs (#1356) 2022-11-03 08:16:16 -07:00

evmutil

Table of Contents

  1. Concepts
  2. State
  3. Messages
  4. Events
  5. Params

Overview

The evmutil module provides additional functionalities on top of the evm module.

EVM akava Usage

evmutil stores additional state data for evm accounts and exposes an EvmBankKeeper that should be used by the x/evm keeper for bank operations. The purpose of the EvmBankKeeper is to allow the usage of the akava balance on the EVM via an account's existing ukava balance. This is needed because the EVM gas token use 18 decimals, and since ukava has 6 decimals, it cannot be used as the EVM gas denom directly.

For additional details on how balance conversions work, see Concepts.

ERC20 Token <> sdk.Coin Conversion

evmutil exposes messages to allow for the conversion of Kava ERC20 tokens and sdk.Coins via a whitelist.

For additional details on how these messages work, see Messages.