syntax = "proto3"; package kava.evmutil.v1beta1; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "kava/evmutil/v1beta1/conversion_pair.proto"; option go_package = "github.com/0glabs/0g-chain/x/evmutil/types"; option (gogoproto.equal_all) = true; option (gogoproto.verbose_equal_all) = true; // GenesisState defines the evmutil module's genesis state. message GenesisState { option (gogoproto.goproto_getters) = false; repeated Account accounts = 1 [(gogoproto.nullable) = false]; // params defines all the parameters of the module. Params params = 2 [(gogoproto.nullable) = false]; } // BalanceAccount defines an account in the evmutil module. message Account { option (gogoproto.goproto_getters) = false; bytes address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressBytes", (gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress" ]; // balance indicates the amount of akava owned by the address. string balance = 2 [ (cosmos_proto.scalar) = "cosmos.Int", (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; } // Params defines the evmutil module params message Params { // enabled_conversion_pairs defines the list of conversion pairs allowed to be // converted between Kava ERC20 and sdk.Coin repeated ConversionPair enabled_conversion_pairs = 4 [ (gogoproto.nullable) = false, (gogoproto.castrepeated) = "ConversionPairs" ]; // allowed_cosmos_denoms is a list of denom & erc20 token metadata pairs. // if a denom is in the list, it is allowed to be converted to an erc20 in the evm. repeated AllowedCosmosCoinERC20Token allowed_cosmos_denoms = 1 [ (gogoproto.nullable) = false, (gogoproto.castrepeated) = "AllowedCosmosCoinERC20Tokens" ]; }