2021-01-07 21:45:32 +00:00
|
|
|
syntax = "proto3";
|
2021-08-17 15:30:35 +00:00
|
|
|
package ethermint.evm.v1;
|
2021-01-07 21:45:32 +00:00
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
2021-08-17 15:30:35 +00:00
|
|
|
import "ethermint/evm/v1/evm.proto";
|
2021-01-07 21:45:32 +00:00
|
|
|
|
2022-10-10 10:38:33 +00:00
|
|
|
option go_package = "github.com/evmos/ethermint/x/evm/types";
|
2021-01-07 21:45:32 +00:00
|
|
|
|
|
|
|
// GenesisState defines the evm module's genesis state.
|
|
|
|
message GenesisState {
|
|
|
|
// accounts is an array containing the ethereum genesis accounts.
|
2022-10-10 10:38:33 +00:00
|
|
|
repeated GenesisAccount accounts = 1 [(gogoproto.nullable) = false];
|
2021-10-25 15:01:04 +00:00
|
|
|
// params defines all the parameters of the module.
|
2022-10-10 10:38:33 +00:00
|
|
|
Params params = 2 [(gogoproto.nullable) = false];
|
2021-01-07 21:45:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
// code defines the hex bytes of the account code.
|
2021-04-17 10:00:07 +00:00
|
|
|
string code = 2;
|
2021-01-07 21:45:32 +00:00
|
|
|
// storage defines the set of state key values for the account.
|
2022-10-10 10:38:33 +00:00
|
|
|
repeated State storage = 3 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "Storage"];
|
2021-04-18 15:54:18 +00:00
|
|
|
}
|