2022-04-21 20:16:28 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package kava.evmutil.v1beta1;
|
|
|
|
|
|
|
|
import "cosmos_proto/cosmos.proto";
|
2022-11-22 23:22:07 +00:00
|
|
|
import "gogoproto/gogo.proto";
|
2022-08-23 17:04:40 +00:00
|
|
|
import "kava/evmutil/v1beta1/conversion_pair.proto";
|
2022-04-21 20:16:28 +00:00
|
|
|
|
2022-11-22 23:22:07 +00:00
|
|
|
option go_package = "github.com/kava-labs/kava/x/evmutil/types";
|
|
|
|
option (gogoproto.equal_all) = true;
|
2022-08-23 17:04:40 +00:00
|
|
|
option (gogoproto.verbose_equal_all) = true;
|
2022-04-21 20:16:28 +00:00
|
|
|
|
|
|
|
// GenesisState defines the evmutil module's genesis state.
|
|
|
|
message GenesisState {
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
repeated Account accounts = 1 [(gogoproto.nullable) = false];
|
2022-08-23 17:04:40 +00:00
|
|
|
|
|
|
|
// params defines all the parameters of the module.
|
|
|
|
Params params = 2 [(gogoproto.nullable) = false];
|
2022-04-21 20:16:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// BalanceAccount defines an account in the evmutil module.
|
|
|
|
message Account {
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
bytes address = 1 [
|
|
|
|
(cosmos_proto.scalar) = "cosmos.AddressBytes",
|
2022-11-22 23:22:07 +00:00
|
|
|
(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"
|
2022-04-21 20:16:28 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
// balance indicates the amount of akava owned by the address.
|
|
|
|
string balance = 2 [
|
2022-11-22 23:22:07 +00:00
|
|
|
(cosmos_proto.scalar) = "cosmos.Int",
|
2022-04-21 20:16:28 +00:00
|
|
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
2022-11-22 23:22:07 +00:00
|
|
|
(gogoproto.nullable) = false
|
2022-04-21 20:16:28 +00:00
|
|
|
];
|
|
|
|
}
|
2022-08-23 17:04:40 +00:00
|
|
|
|
|
|
|
// 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
|
2022-11-22 23:22:07 +00:00
|
|
|
repeated ConversionPair enabled_conversion_pairs = 4 [
|
|
|
|
(gogoproto.nullable) = false,
|
|
|
|
(gogoproto.castrepeated) = "ConversionPairs"
|
|
|
|
];
|
2023-05-19 23:01:46 +00:00
|
|
|
|
2023-05-23 19:32:27 +00:00
|
|
|
// allowed_cosmos_denoms is a list of denom & erc20 token metadata pairs.
|
2023-05-19 23:01:46 +00:00
|
|
|
// if a denom is in the list, it is allowed to be converted to an erc20 in the evm.
|
2023-05-23 19:32:27 +00:00
|
|
|
repeated AllowedCosmosCoinERC20Token allowed_cosmos_denoms = 1 [
|
2023-05-19 23:01:46 +00:00
|
|
|
(gogoproto.nullable) = false,
|
2023-05-23 19:32:27 +00:00
|
|
|
(gogoproto.castrepeated) = "AllowedCosmosCoinERC20Tokens"
|
2023-05-19 23:01:46 +00:00
|
|
|
];
|
2022-08-23 17:04:40 +00:00
|
|
|
}
|