import { BinaryReader, BinaryWriter } from "../../../binary.js"; import { DeepPartial } from "../../../helpers.js"; import { Params, ParamsAmino, State, StateAmino } from "./evm.js"; //#region src/ethermint/evm/v1/genesis.d.ts /** * GenesisState defines the evm module's genesis state. * @name GenesisState * @package ethermint.evm.v1 * @see proto type: ethermint.evm.v1.GenesisState */ interface GenesisState { /** * accounts is an array containing the ethereum genesis accounts. */ accounts: GenesisAccount[]; /** * params defines all the parameters of the module. */ params: Params; } interface GenesisStateProtoMsg { typeUrl: "/ethermint.evm.v1.GenesisState"; value: Uint8Array; } /** * GenesisState defines the evm module's genesis state. * @name GenesisStateAmino * @package ethermint.evm.v1 * @see proto type: ethermint.evm.v1.GenesisState */ interface GenesisStateAmino { /** * accounts is an array containing the ethereum genesis accounts. */ accounts: GenesisAccountAmino[]; /** * params defines all the parameters of the module. */ params: ParamsAmino; } interface GenesisStateAminoMsg { type: "/ethermint.evm.v1.GenesisState"; value: GenesisStateAmino; } /** * 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. * @name GenesisAccount * @package ethermint.evm.v1 * @see proto type: ethermint.evm.v1.GenesisAccount */ interface GenesisAccount { /** * address defines an ethereum hex formated address of an account */ address: string; /** * code defines the hex bytes of the account code. */ code: string; /** * storage defines the set of state key values for the account. */ storage: State[]; } interface GenesisAccountProtoMsg { typeUrl: "/ethermint.evm.v1.GenesisAccount"; value: Uint8Array; } /** * 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. * @name GenesisAccountAmino * @package ethermint.evm.v1 * @see proto type: ethermint.evm.v1.GenesisAccount */ interface GenesisAccountAmino { /** * address defines an ethereum hex formated address of an account */ address: string; /** * code defines the hex bytes of the account code. */ code: string; /** * storage defines the set of state key values for the account. */ storage: StateAmino[]; } interface GenesisAccountAminoMsg { type: "/ethermint.evm.v1.GenesisAccount"; value: GenesisAccountAmino; } /** * GenesisState defines the evm module's genesis state. * @name GenesisState * @package ethermint.evm.v1 * @see proto type: ethermint.evm.v1.GenesisState */ declare const GenesisState: { typeUrl: string; is(o: any): o is GenesisState; isAmino(o: any): o is GenesisStateAmino; encode(message: GenesisState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): GenesisState; fromPartial(object: DeepPartial): GenesisState; fromAmino(object: GenesisStateAmino): GenesisState; toAmino(message: GenesisState): GenesisStateAmino; fromAminoMsg(object: GenesisStateAminoMsg): GenesisState; fromProtoMsg(message: GenesisStateProtoMsg): GenesisState; toProto(message: GenesisState): Uint8Array; toProtoMsg(message: GenesisState): GenesisStateProtoMsg; registerTypeUrl(): void; }; /** * 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. * @name GenesisAccount * @package ethermint.evm.v1 * @see proto type: ethermint.evm.v1.GenesisAccount */ declare const GenesisAccount: { typeUrl: string; is(o: any): o is GenesisAccount; isAmino(o: any): o is GenesisAccountAmino; encode(message: GenesisAccount, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): GenesisAccount; fromPartial(object: DeepPartial): GenesisAccount; fromAmino(object: GenesisAccountAmino): GenesisAccount; toAmino(message: GenesisAccount): GenesisAccountAmino; fromAminoMsg(object: GenesisAccountAminoMsg): GenesisAccount; fromProtoMsg(message: GenesisAccountProtoMsg): GenesisAccount; toProto(message: GenesisAccount): Uint8Array; toProtoMsg(message: GenesisAccount): GenesisAccountProtoMsg; registerTypeUrl(): void; }; //#endregion export { GenesisAccount, GenesisAccountAmino, GenesisAccountAminoMsg, GenesisAccountProtoMsg, GenesisState, GenesisStateAmino, GenesisStateAminoMsg, GenesisStateProtoMsg };