import { grpc } from "@improbable-eng/grpc-web"; import Long from "long"; import _m0 from "protobufjs/minimal"; import { PacketId } from "../../../core/channel/v1/channel"; import { Fee, PacketFee } from "./fee"; export declare const protobufPackage = "ibc.applications.fee.v1"; /** MsgRegisterPayee defines the request type for the RegisterPayee rpc */ export interface MsgRegisterPayee { /** unique port identifier */ portId: string; /** unique channel identifier */ channelId: string; /** the relayer address */ relayer: string; /** the payee address */ payee: string; } /** MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc */ export interface MsgRegisterPayeeResponse { } /** MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc */ export interface MsgRegisterCounterpartyPayee { /** unique port identifier */ portId: string; /** unique channel identifier */ channelId: string; /** the relayer address */ relayer: string; /** the counterparty payee address */ counterpartyPayee: string; } /** MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc */ export interface MsgRegisterCounterpartyPayeeResponse { } /** * MsgPayPacketFee defines the request type for the PayPacketFee rpc * This Msg can be used to pay for a packet at the next sequence send & should be combined with the Msg that will be * paid for */ export interface MsgPayPacketFee { /** fee encapsulates the recv, ack and timeout fees associated with an IBC packet */ fee?: Fee; /** the source port unique identifier */ sourcePortId: string; /** the source channel unique identifer */ sourceChannelId: string; /** account address to refund fee if necessary */ signer: string; /** optional list of relayers permitted to the receive packet fees */ relayers: string[]; } /** MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc */ export interface MsgPayPacketFeeResponse { } /** * MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc * This Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send) */ export interface MsgPayPacketFeeAsync { /** unique packet identifier comprised of the channel ID, port ID and sequence */ packetId?: PacketId; /** the packet fee associated with a particular IBC packet */ packetFee?: PacketFee; } /** MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc */ export interface MsgPayPacketFeeAsyncResponse { } export declare const MsgRegisterPayee: { encode(message: MsgRegisterPayee, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgRegisterPayee; fromJSON(object: any): MsgRegisterPayee; toJSON(message: MsgRegisterPayee): unknown; create]: never; }>(base?: I | undefined): MsgRegisterPayee; fromPartial]: never; }>(object: I_1): MsgRegisterPayee; }; export declare const MsgRegisterPayeeResponse: { encode(_: MsgRegisterPayeeResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgRegisterPayeeResponse; fromJSON(_: any): MsgRegisterPayeeResponse; toJSON(_: MsgRegisterPayeeResponse): unknown; create]: never; }>(base?: I | undefined): MsgRegisterPayeeResponse; fromPartial]: never; }>(_: I_1): MsgRegisterPayeeResponse; }; export declare const MsgRegisterCounterpartyPayee: { encode(message: MsgRegisterCounterpartyPayee, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgRegisterCounterpartyPayee; fromJSON(object: any): MsgRegisterCounterpartyPayee; toJSON(message: MsgRegisterCounterpartyPayee): unknown; create]: never; }>(base?: I | undefined): MsgRegisterCounterpartyPayee; fromPartial]: never; }>(object: I_1): MsgRegisterCounterpartyPayee; }; export declare const MsgRegisterCounterpartyPayeeResponse: { encode(_: MsgRegisterCounterpartyPayeeResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgRegisterCounterpartyPayeeResponse; fromJSON(_: any): MsgRegisterCounterpartyPayeeResponse; toJSON(_: MsgRegisterCounterpartyPayeeResponse): unknown; create]: never; }>(base?: I | undefined): MsgRegisterCounterpartyPayeeResponse; fromPartial]: never; }>(_: I_1): MsgRegisterCounterpartyPayeeResponse; }; export declare const MsgPayPacketFee: { encode(message: MsgPayPacketFee, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgPayPacketFee; fromJSON(object: any): MsgPayPacketFee; toJSON(message: MsgPayPacketFee): unknown; create]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; ackFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_2 in Exclude]: never; })[] & { [K_3 in Exclude]: never; }) | undefined; timeoutFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_4 in Exclude]: never; })[] & { [K_5 in Exclude]: never; }) | undefined; } & { [K_6 in Exclude]: never; }) | undefined; sourcePortId?: string | undefined; sourceChannelId?: string | undefined; signer?: string | undefined; relayers?: (string[] & string[] & { [K_7 in Exclude]: never; }) | undefined; } & { [K_8 in Exclude]: never; }>(base?: I | undefined): MsgPayPacketFee; fromPartial]: never; })[] & { [K_10 in Exclude]: never; }) | undefined; ackFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_11 in Exclude]: never; })[] & { [K_12 in Exclude]: never; }) | undefined; timeoutFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_13 in Exclude]: never; })[] & { [K_14 in Exclude]: never; }) | undefined; } & { [K_15 in Exclude]: never; }) | undefined; sourcePortId?: string | undefined; sourceChannelId?: string | undefined; signer?: string | undefined; relayers?: (string[] & string[] & { [K_16 in Exclude]: never; }) | undefined; } & { [K_17 in Exclude]: never; }>(object: I_1): MsgPayPacketFee; }; export declare const MsgPayPacketFeeResponse: { encode(_: MsgPayPacketFeeResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgPayPacketFeeResponse; fromJSON(_: any): MsgPayPacketFeeResponse; toJSON(_: MsgPayPacketFeeResponse): unknown; create]: never; }>(base?: I | undefined): MsgPayPacketFeeResponse; fromPartial]: never; }>(_: I_1): MsgPayPacketFeeResponse; }; export declare const MsgPayPacketFeeAsync: { encode(message: MsgPayPacketFeeAsync, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgPayPacketFeeAsync; fromJSON(object: any): MsgPayPacketFeeAsync; toJSON(message: MsgPayPacketFeeAsync): unknown; create Long.Long; and: (other: string | number | Long.Long) => Long.Long; compare: (other: string | number | Long.Long) => number; comp: (other: string | number | Long.Long) => number; divide: (divisor: string | number | Long.Long) => Long.Long; div: (divisor: string | number | Long.Long) => Long.Long; equals: (other: string | number | Long.Long) => boolean; eq: (other: string | number | Long.Long) => boolean; getHighBits: () => number; getHighBitsUnsigned: () => number; getLowBits: () => number; getLowBitsUnsigned: () => number; getNumBitsAbs: () => number; greaterThan: (other: string | number | Long.Long) => boolean; gt: (other: string | number | Long.Long) => boolean; greaterThanOrEqual: (other: string | number | Long.Long) => boolean; gte: (other: string | number | Long.Long) => boolean; isEven: () => boolean; isNegative: () => boolean; isOdd: () => boolean; isPositive: () => boolean; isZero: () => boolean; lessThan: (other: string | number | Long.Long) => boolean; lt: (other: string | number | Long.Long) => boolean; lessThanOrEqual: (other: string | number | Long.Long) => boolean; lte: (other: string | number | Long.Long) => boolean; modulo: (other: string | number | Long.Long) => Long.Long; mod: (other: string | number | Long.Long) => Long.Long; multiply: (multiplier: string | number | Long.Long) => Long.Long; mul: (multiplier: string | number | Long.Long) => Long.Long; negate: () => Long.Long; neg: () => Long.Long; not: () => Long.Long; notEquals: (other: string | number | Long.Long) => boolean; neq: (other: string | number | Long.Long) => boolean; or: (other: string | number | Long.Long) => Long.Long; shiftLeft: (numBits: number | Long.Long) => Long.Long; shl: (numBits: number | Long.Long) => Long.Long; shiftRight: (numBits: number | Long.Long) => Long.Long; shr: (numBits: number | Long.Long) => Long.Long; shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; shru: (numBits: number | Long.Long) => Long.Long; subtract: (subtrahend: string | number | Long.Long) => Long.Long; sub: (subtrahend: string | number | Long.Long) => Long.Long; toInt: () => number; toNumber: () => number; toBytes: (le?: boolean | undefined) => number[]; toBytesLE: () => number[]; toBytesBE: () => number[]; toSigned: () => Long.Long; toString: (radix?: number | undefined) => string; toUnsigned: () => Long.Long; xor: (other: string | number | Long.Long) => Long.Long; } & { [K in Exclude]: never; }) | undefined; } & { [K_1 in Exclude]: never; }) | undefined; packetFee?: ({ fee?: { recvFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; ackFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; timeoutFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; } | undefined; refundAddress?: string | undefined; relayers?: string[] | undefined; } & { fee?: ({ recvFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; ackFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; timeoutFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; } & { recvFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_2 in Exclude]: never; })[] & { [K_3 in Exclude]: never; }) | undefined; ackFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_4 in Exclude]: never; })[] & { [K_5 in Exclude]: never; }) | undefined; timeoutFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_6 in Exclude]: never; })[] & { [K_7 in Exclude]: never; }) | undefined; } & { [K_8 in Exclude]: never; }) | undefined; refundAddress?: string | undefined; relayers?: (string[] & string[] & { [K_9 in Exclude]: never; }) | undefined; } & { [K_10 in Exclude]: never; }) | undefined; } & { [K_11 in Exclude]: never; }>(base?: I | undefined): MsgPayPacketFeeAsync; fromPartial Long.Long; and: (other: string | number | Long.Long) => Long.Long; compare: (other: string | number | Long.Long) => number; comp: (other: string | number | Long.Long) => number; divide: (divisor: string | number | Long.Long) => Long.Long; div: (divisor: string | number | Long.Long) => Long.Long; equals: (other: string | number | Long.Long) => boolean; eq: (other: string | number | Long.Long) => boolean; getHighBits: () => number; getHighBitsUnsigned: () => number; getLowBits: () => number; getLowBitsUnsigned: () => number; getNumBitsAbs: () => number; greaterThan: (other: string | number | Long.Long) => boolean; gt: (other: string | number | Long.Long) => boolean; greaterThanOrEqual: (other: string | number | Long.Long) => boolean; gte: (other: string | number | Long.Long) => boolean; isEven: () => boolean; isNegative: () => boolean; isOdd: () => boolean; isPositive: () => boolean; isZero: () => boolean; lessThan: (other: string | number | Long.Long) => boolean; lt: (other: string | number | Long.Long) => boolean; lessThanOrEqual: (other: string | number | Long.Long) => boolean; lte: (other: string | number | Long.Long) => boolean; modulo: (other: string | number | Long.Long) => Long.Long; mod: (other: string | number | Long.Long) => Long.Long; multiply: (multiplier: string | number | Long.Long) => Long.Long; mul: (multiplier: string | number | Long.Long) => Long.Long; negate: () => Long.Long; neg: () => Long.Long; not: () => Long.Long; notEquals: (other: string | number | Long.Long) => boolean; neq: (other: string | number | Long.Long) => boolean; or: (other: string | number | Long.Long) => Long.Long; shiftLeft: (numBits: number | Long.Long) => Long.Long; shl: (numBits: number | Long.Long) => Long.Long; shiftRight: (numBits: number | Long.Long) => Long.Long; shr: (numBits: number | Long.Long) => Long.Long; shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; shru: (numBits: number | Long.Long) => Long.Long; subtract: (subtrahend: string | number | Long.Long) => Long.Long; sub: (subtrahend: string | number | Long.Long) => Long.Long; toInt: () => number; toNumber: () => number; toBytes: (le?: boolean | undefined) => number[]; toBytesLE: () => number[]; toBytesBE: () => number[]; toSigned: () => Long.Long; toString: (radix?: number | undefined) => string; toUnsigned: () => Long.Long; xor: (other: string | number | Long.Long) => Long.Long; } & { [K_12 in Exclude]: never; }) | undefined; } & { [K_13 in Exclude]: never; }) | undefined; packetFee?: ({ fee?: { recvFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; ackFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; timeoutFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; } | undefined; refundAddress?: string | undefined; relayers?: string[] | undefined; } & { fee?: ({ recvFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; ackFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; timeoutFee?: { denom?: string | undefined; amount?: string | undefined; }[] | undefined; } & { recvFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_14 in Exclude]: never; })[] & { [K_15 in Exclude]: never; }) | undefined; ackFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_16 in Exclude]: never; })[] & { [K_17 in Exclude]: never; }) | undefined; timeoutFee?: ({ denom?: string | undefined; amount?: string | undefined; }[] & ({ denom?: string | undefined; amount?: string | undefined; } & { denom?: string | undefined; amount?: string | undefined; } & { [K_18 in Exclude]: never; })[] & { [K_19 in Exclude]: never; }) | undefined; } & { [K_20 in Exclude]: never; }) | undefined; refundAddress?: string | undefined; relayers?: (string[] & string[] & { [K_21 in Exclude]: never; }) | undefined; } & { [K_22 in Exclude]: never; }) | undefined; } & { [K_23 in Exclude]: never; }>(object: I_1): MsgPayPacketFeeAsync; }; export declare const MsgPayPacketFeeAsyncResponse: { encode(_: MsgPayPacketFeeAsyncResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): MsgPayPacketFeeAsyncResponse; fromJSON(_: any): MsgPayPacketFeeAsyncResponse; toJSON(_: MsgPayPacketFeeAsyncResponse): unknown; create]: never; }>(base?: I | undefined): MsgPayPacketFeeAsyncResponse; fromPartial]: never; }>(_: I_1): MsgPayPacketFeeAsyncResponse; }; /** Msg defines the ICS29 Msg service. */ export interface Msg { /** * RegisterPayee defines a rpc handler method for MsgRegisterPayee * RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional * payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on * the source chain from which packets originate as this is where fee distribution takes place. This function may be * called more than once by a relayer, in which case, the latest payee is always used. */ RegisterPayee(request: DeepPartial, metadata?: grpc.Metadata): Promise; /** * RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee * RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty * payee address before relaying. This ensures they will be properly compensated for forward relaying since * the destination chain must include the registered counterparty payee address in the acknowledgement. This function * may be called more than once by a relayer, in which case, the latest counterparty payee address is always used. */ RegisterCounterpartyPayee(request: DeepPartial, metadata?: grpc.Metadata): Promise; /** * PayPacketFee defines a rpc handler method for MsgPayPacketFee * PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to * incentivize the relaying of the packet at the next sequence * NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows * initiates the lifecycle of the incentivized packet */ PayPacketFee(request: DeepPartial, metadata?: grpc.Metadata): Promise; /** * PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync * PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to * incentivize the relaying of a known packet (i.e. at a particular sequence) */ PayPacketFeeAsync(request: DeepPartial, metadata?: grpc.Metadata): Promise; } export declare class MsgClientImpl implements Msg { private readonly rpc; constructor(rpc: Rpc); RegisterPayee(request: DeepPartial, metadata?: grpc.Metadata): Promise; RegisterCounterpartyPayee(request: DeepPartial, metadata?: grpc.Metadata): Promise; PayPacketFee(request: DeepPartial, metadata?: grpc.Metadata): Promise; PayPacketFeeAsync(request: DeepPartial, metadata?: grpc.Metadata): Promise; } export declare const MsgDesc: { serviceName: string; }; export declare const MsgRegisterPayeeDesc: UnaryMethodDefinitionish; export declare const MsgRegisterCounterpartyPayeeDesc: UnaryMethodDefinitionish; export declare const MsgPayPacketFeeDesc: UnaryMethodDefinitionish; export declare const MsgPayPacketFeeAsyncDesc: UnaryMethodDefinitionish; interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition { requestStream: any; responseStream: any; } declare 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; } declare var tsProtoGlobalThis: any; declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export declare class GrpcWebError extends tsProtoGlobalThis.Error { code: grpc.Code; metadata: grpc.Metadata; constructor(message: string, code: grpc.Code, metadata: grpc.Metadata); } export {};