import { Height } from '../../client/v1/client'; import Long from 'long'; import _m0 from 'protobufjs/minimal'; export declare const protobufPackage = "ibc.core.channel.v1"; /** * State defines if a channel is in one of the following states: * CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. */ export declare enum State { /** STATE_UNINITIALIZED_UNSPECIFIED - Default State */ STATE_UNINITIALIZED_UNSPECIFIED = 0, /** STATE_INIT - A channel has just started the opening handshake. */ STATE_INIT = 1, /** STATE_TRYOPEN - A channel has acknowledged the handshake step on the counterparty chain. */ STATE_TRYOPEN = 2, /** * STATE_OPEN - A channel has completed the handshake. Open channels are * ready to send and receive packets. */ STATE_OPEN = 3, /** * STATE_CLOSED - A channel has been closed and can no longer be used to send or receive * packets. */ STATE_CLOSED = 4, UNRECOGNIZED = -1 } export declare function stateFromJSON(object: any): State; export declare function stateToJSON(object: State): string; /** Order defines if a channel is ORDERED or UNORDERED */ export declare enum Order { /** ORDER_NONE_UNSPECIFIED - zero-value for channel ordering */ ORDER_NONE_UNSPECIFIED = 0, /** * ORDER_UNORDERED - packets can be delivered in any order, which may differ from the order in * which they were sent. */ ORDER_UNORDERED = 1, /** ORDER_ORDERED - packets are delivered exactly in the order which they were sent */ ORDER_ORDERED = 2, UNRECOGNIZED = -1 } export declare function orderFromJSON(object: any): Order; export declare function orderToJSON(object: Order): string; /** * Channel defines pipeline for exactly-once packet delivery between specific * modules on separate blockchains, which has at least one end capable of * sending packets and one end capable of receiving packets. */ export interface Channel { $type: 'ibc.core.channel.v1.Channel'; /** current state of the channel end */ state: State; /** whether the channel is ordered or unordered */ ordering: Order; /** counterparty channel end */ counterparty?: Counterparty; /** * list of connection identifiers, in order, along which packets sent on * this channel will travel */ connectionHops: string[]; /** opaque channel version, which is agreed upon during the handshake */ version: string; } /** * IdentifiedChannel defines a channel with additional port and channel * identifier fields. */ export interface IdentifiedChannel { $type: 'ibc.core.channel.v1.IdentifiedChannel'; /** current state of the channel end */ state: State; /** whether the channel is ordered or unordered */ ordering: Order; /** counterparty channel end */ counterparty?: Counterparty; /** * list of connection identifiers, in order, along which packets sent on * this channel will travel */ connectionHops: string[]; /** opaque channel version, which is agreed upon during the handshake */ version: string; /** port identifier */ portId: string; /** channel identifier */ channelId: string; } /** Counterparty defines a channel end counterparty */ export interface Counterparty { $type: 'ibc.core.channel.v1.Counterparty'; /** port on the counterparty chain which owns the other end of the channel. */ portId: string; /** channel end on the counterparty chain */ channelId: string; } /** Packet defines a type that carries data across different chains through IBC */ export interface Packet { $type: 'ibc.core.channel.v1.Packet'; /** * number corresponds to the order of sends and receives, where a Packet * with an earlier sequence number must be sent and received before a Packet * with a later sequence number. */ sequence: Long; /** identifies the port on the sending chain. */ sourcePort: string; /** identifies the channel end on the sending chain. */ sourceChannel: string; /** identifies the port on the receiving chain. */ destinationPort: string; /** identifies the channel end on the receiving chain. */ destinationChannel: string; /** actual opaque bytes transferred directly to the application module */ data: Uint8Array; /** block height after which the packet times out */ timeoutHeight?: Height; /** block timestamp (in nanoseconds) after which the packet times out */ timeoutTimestamp: Long; } /** * PacketState defines the generic type necessary to retrieve and store * packet commitments, acknowledgements, and receipts. * Caller is responsible for knowing the context necessary to interpret this * state as a commitment, acknowledgement, or a receipt. */ export interface PacketState { $type: 'ibc.core.channel.v1.PacketState'; /** channel port identifier. */ portId: string; /** channel unique identifier. */ channelId: string; /** packet sequence. */ sequence: Long; /** embedded data that represents packet state. */ data: Uint8Array; } /** * Acknowledgement is the recommended acknowledgement format to be used by * app-specific protocols. * NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental * conflicts with other protobuf message formats used for acknowledgements. * The first byte of any message with this format will be the non-ASCII values * `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: * https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope */ export interface Acknowledgement { $type: 'ibc.core.channel.v1.Acknowledgement'; result: Uint8Array | undefined; error: string | undefined; } export declare const Channel: { $type: "ibc.core.channel.v1.Channel"; encode(message: Channel, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Channel; fromJSON(object: any): Channel; toJSON(message: Channel): unknown; fromPartial]: never; }) | undefined; connectionHops?: (string[] & string[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Channel; }; export declare const IdentifiedChannel: { $type: "ibc.core.channel.v1.IdentifiedChannel"; encode(message: IdentifiedChannel, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): IdentifiedChannel; fromJSON(object: any): IdentifiedChannel; toJSON(message: IdentifiedChannel): unknown; fromPartial]: never; }) | undefined; connectionHops?: (string[] & string[] & { [K_1 in Exclude]: never; }) | undefined; channelId?: string | undefined; } & { [K_2 in Exclude]: never; }>(object: I): IdentifiedChannel; }; export declare const Counterparty: { $type: "ibc.core.channel.v1.Counterparty"; encode(message: Counterparty, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Counterparty; fromJSON(object: any): Counterparty; toJSON(message: Counterparty): unknown; fromPartial]: never; }>(object: I): Counterparty; }; export declare const Packet: { $type: "ibc.core.channel.v1.Packet"; encode(message: Packet, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Packet; fromJSON(object: any): Packet; toJSON(message: Packet): unknown; 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 in Exclude]: never; }) | undefined; data?: Uint8Array | undefined; timeoutHeight?: ({ revisionNumber?: string | number | Long.Long | undefined; revisionHeight?: string | number | Long.Long | undefined; } & { revisionNumber?: string | number | (Long.Long & { high: number; low: number; unsigned: boolean; add: (addend: string | number | Long.Long) => 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_1 in Exclude]: never; }) | undefined; revisionHeight?: string | number | (Long.Long & { high: number; low: number; unsigned: boolean; add: (addend: string | number | Long.Long) => 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_2 in Exclude]: never; }) | undefined; } & { [K_3 in Exclude]: never; }) | undefined; sourcePort?: string | undefined; sourceChannel?: string | undefined; timeoutTimestamp?: string | number | (Long.Long & { high: number; low: number; unsigned: boolean; add: (addend: string | number | Long.Long) => 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_4 in Exclude]: never; }) | undefined; destinationPort?: string | undefined; destinationChannel?: string | undefined; } & { [K_5 in Exclude]: never; }>(object: I): Packet; }; export declare const PacketState: { $type: "ibc.core.channel.v1.PacketState"; encode(message: PacketState, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PacketState; fromJSON(object: any): PacketState; toJSON(message: PacketState): unknown; 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 in Exclude]: never; }) | undefined; data?: Uint8Array | undefined; portId?: string | undefined; channelId?: string | undefined; } & { [K_1 in Exclude]: never; }>(object: I): PacketState; }; export declare const Acknowledgement: { $type: "ibc.core.channel.v1.Acknowledgement"; encode(message: Acknowledgement, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Acknowledgement; fromJSON(object: any): Acknowledgement; toJSON(message: Acknowledgement): unknown; fromPartial]: never; }>(object: I): Acknowledgement; }; 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 Exclude]?: 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 | '$type'>]: never; }; export {};