laconicd/proto/ethermint/evm/v1alpha1/genesis.proto

45 lines
1.6 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package ethermint.evm.v1alpha1;
import "gogoproto/gogo.proto";
import "ethermint/evm/v1alpha1/evm.proto";
option go_package = "github.com/cosmos/ethermint/x/evm/types";
// GenesisState defines the evm module's genesis state.
message GenesisState {
// accounts is an array containing the ethereum genesis accounts.
repeated GenesisAccount accounts = 1 [ (gogoproto.nullable) = false ];
// chain_config defines the Ethereum chain configuration.
ChainConfig chain_config = 2 [
(gogoproto.moretags) = "yaml:\"chain_config\"",
(gogoproto.nullable) = false
];
// params defines all the paramaters of the module.
Params params = 3 [ (gogoproto.nullable) = false ];
repeated TransactionLogs txs_logs = 4 [
(gogoproto.moretags) = "yaml:\"txs_logs\"",
(gogoproto.nullable) = false
];
}
// GenesisAccount defines an account to be initialized in the genesis state.
// Its main difference between with Geth's GenesisAccount is that it uses a
// custom storage type and that it doesn't contain the private key field.
message GenesisAccount {
// address defines an ethereum hex formated address of an account
string address = 1;
// balance defines the available evm tokens for the account
string balance = 2 [
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
(gogoproto.nullable) = false
];
// code defines the hex bytes of the account code.
string code = 3;
// storage defines the set of state key values for the account.
repeated State storage = 4 [
(gogoproto.nullable) = false,
(gogoproto.castrepeated) = "Storage"
];
}