import { grpc } from "@improbable-eng/grpc-web"; import Long from "long"; import _m0 from "protobufjs/minimal"; import { Log, Params, Preinstall } from "./evm"; export declare const protobufPackage = "cosmos.evm.vm.v1"; /** MsgEthereumTx encapsulates an Ethereum transaction as an SDK message. */ export interface MsgEthereumTx { /** * from is the bytes of ethereum signer address. This address value is checked * against the address derived from the signature (V, R, S) using the * secp256k1 elliptic curve */ from: Uint8Array; /** raw is the raw ethereum transaction */ raw: Uint8Array; } /** ExtensionOptionsEthereumTx is an extension option for ethereum transactions */ export interface ExtensionOptionsEthereumTx { } /** MsgEthereumTxResponse defines the Msg/EthereumTx response type. */ export interface MsgEthereumTxResponse { /** * hash of the ethereum transaction in hex format. This hash differs from the * CometBFT sha256 hash of the transaction bytes. See * https://github.com/tendermint/tendermint/issues/6539 for reference */ hash: string; /** * logs contains the transaction hash and the proto-compatible ethereum * logs. */ logs: Log[]; /** * ret is the returned data from evm function (result or data supplied with * revert opcode) */ ret: Uint8Array; /** vm_error is the error returned by vm execution */ vmError: string; /** gas_used specifies how much gas was consumed by the transaction */ gasUsed: Long; /** max_used_gas specifies the gas consumed by the transaction, not including refunds */ maxUsedGas: Long; /** include the block hash for json-rpc to use */ blockHash: Uint8Array; /** include the block timestamp for json-rpc to use */ blockTimestamp: Long; } /** MsgUpdateParams defines a Msg for updating the x/vm module parameters. */ export interface MsgUpdateParams { /** authority is the address of the governance account. */ authority: string; /** * params defines the x/vm parameters to update. * NOTE: All parameters must be supplied. */ params: Params | undefined; } /** * MsgUpdateParamsResponse defines the response structure for executing a * MsgUpdateParams message. */ export interface MsgUpdateParamsResponse { } /** MsgRegisterPreinstalls defines a Msg for creating preinstalls in evm state. */ export interface MsgRegisterPreinstalls { /** authority is the address of the governance account. */ authority: string; /** preinstalls defines the preinstalls to create. */ preinstalls: Preinstall[]; } /** * MsgRegisterPreinstallsResponse defines the response structure for executing a * MsgRegisterPreinstalls message. */ export interface MsgRegisterPreinstallsResponse { } export declare const MsgEthereumTx: { encode(message: MsgEthereumTx, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgEthereumTx; fromJSON(object: any): MsgEthereumTx; toJSON(message: MsgEthereumTx): unknown; create(base?: DeepPartial): MsgEthereumTx; fromPartial(object: DeepPartial): MsgEthereumTx; }; export declare const ExtensionOptionsEthereumTx: { encode(_: ExtensionOptionsEthereumTx, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ExtensionOptionsEthereumTx; fromJSON(_: any): ExtensionOptionsEthereumTx; toJSON(_: ExtensionOptionsEthereumTx): unknown; create(base?: DeepPartial): ExtensionOptionsEthereumTx; fromPartial(_: DeepPartial): ExtensionOptionsEthereumTx; }; export declare const MsgEthereumTxResponse: { encode(message: MsgEthereumTxResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgEthereumTxResponse; fromJSON(object: any): MsgEthereumTxResponse; toJSON(message: MsgEthereumTxResponse): unknown; create(base?: DeepPartial): MsgEthereumTxResponse; fromPartial(object: DeepPartial): MsgEthereumTxResponse; }; export declare const MsgUpdateParams: { encode(message: MsgUpdateParams, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParams; fromJSON(object: any): MsgUpdateParams; toJSON(message: MsgUpdateParams): unknown; create(base?: DeepPartial): MsgUpdateParams; fromPartial(object: DeepPartial): MsgUpdateParams; }; export declare const MsgUpdateParamsResponse: { encode(_: MsgUpdateParamsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParamsResponse; fromJSON(_: any): MsgUpdateParamsResponse; toJSON(_: MsgUpdateParamsResponse): unknown; create(base?: DeepPartial): MsgUpdateParamsResponse; fromPartial(_: DeepPartial): MsgUpdateParamsResponse; }; export declare const MsgRegisterPreinstalls: { encode(message: MsgRegisterPreinstalls, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterPreinstalls; fromJSON(object: any): MsgRegisterPreinstalls; toJSON(message: MsgRegisterPreinstalls): unknown; create(base?: DeepPartial): MsgRegisterPreinstalls; fromPartial(object: DeepPartial): MsgRegisterPreinstalls; }; export declare const MsgRegisterPreinstallsResponse: { encode(_: MsgRegisterPreinstallsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegisterPreinstallsResponse; fromJSON(_: any): MsgRegisterPreinstallsResponse; toJSON(_: MsgRegisterPreinstallsResponse): unknown; create(base?: DeepPartial): MsgRegisterPreinstallsResponse; fromPartial(_: DeepPartial): MsgRegisterPreinstallsResponse; }; /** Msg defines the evm Msg service. */ export interface Msg { /** EthereumTx defines a method submitting Ethereum transactions. */ EthereumTx(request: DeepPartial, metadata?: grpc.Metadata): Promise; /** * UpdateParams defined a governance operation for updating the x/vm module * parameters. The authority is hard-coded to the Cosmos SDK x/gov module * account */ UpdateParams(request: DeepPartial, metadata?: grpc.Metadata): Promise; /** * RegisterPreinstalls defines a governance operation for directly registering * preinstalled contracts in the EVM. The authority is the same as is used for * Params updates. */ RegisterPreinstalls(request: DeepPartial, metadata?: grpc.Metadata): Promise; } export declare class MsgClientImpl implements Msg { private readonly rpc; constructor(rpc: Rpc); EthereumTx(request: DeepPartial, metadata?: grpc.Metadata): Promise; UpdateParams(request: DeepPartial, metadata?: grpc.Metadata): Promise; RegisterPreinstalls(request: DeepPartial, metadata?: grpc.Metadata): Promise; } export declare const MsgDesc: { serviceName: string; }; export declare const MsgEthereumTxDesc: UnaryMethodDefinitionish; export declare const MsgUpdateParamsDesc: UnaryMethodDefinitionish; export declare const MsgRegisterPreinstallsDesc: UnaryMethodDefinitionish; interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition { requestStream: any; responseStream: any; } type UnaryMethodDefinitionish = UnaryMethodDefinitionishR; interface Rpc { unary(methodDesc: T, request: any, metadata: grpc.Metadata | undefined): Promise; } export declare class GrpcWebImpl { private host; private options; constructor(host: string, options: { transport?: grpc.TransportFactory; debug?: boolean; metadata?: grpc.Metadata; upStreamRetryCodes?: number[]; }); unary(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise; } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; export declare class GrpcWebError extends globalThis.Error { code: grpc.Code; metadata: grpc.Metadata; constructor(message: string, code: grpc.Code, metadata: grpc.Metadata); } export {};