0g-chain/proto/zgc/evmutil/v1beta1/genesis.proto
2024-08-02 19:26:50 +08:00

55 lines
1.8 KiB
Protocol Buffer

syntax = "proto3";
package zgc.evmutil.v1beta1;
import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";
import "zgc/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 neuron 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 0gChain 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"
];
}