import { Duration, DurationAmino } from "../../../../google/protobuf/duration"; import { Height, HeightAmino } from "../../../core/client/v1/client"; import { ProofSpec, ProofSpecAmino } from "../../../../cosmos/ics23/v1/proofs"; import { MerkleRoot, MerkleRootAmino } from "../../../core/commitment/v1/commitment"; import { SignedHeader, SignedHeaderAmino } from "../../../../tendermint/types/types"; import { ValidatorSet, ValidatorSetAmino } from "../../../../tendermint/types/validator"; import { BinaryReader, BinaryWriter } from "../../../../binary"; import { DeepPartial } from "../../../../helpers"; /** * ClientState from Tendermint tracks the current validator set, latest height, * and a possible frozen height. * @name ClientState * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.ClientState */ export interface ClientState { chainId: string; trustLevel: Fraction; /** * duration of the period since the LatestTimestamp during which the * submitted headers are valid for upgrade */ trustingPeriod: Duration; /** * duration of the staking unbonding period */ unbondingPeriod: Duration; /** * defines how much new (untrusted) header's Time can drift into the future. */ maxClockDrift: Duration; /** * Block height when the client was frozen due to a misbehaviour */ frozenHeight: Height; /** * Latest height the client was updated to */ latestHeight: Height; /** * Proof specifications used in verifying counterparty state */ proofSpecs: ProofSpec[]; /** * Path at which next upgraded client will be committed. * Each element corresponds to the key for a single CommitmentProof in the * chained proof. NOTE: ClientState must stored under * `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored * under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using * the default upgrade module, upgrade_path should be []string{"upgrade", * "upgradedIBCState"}` */ upgradePath: string[]; /** * allow_update_after_expiry is deprecated * @deprecated */ allowUpdateAfterExpiry: boolean; /** * allow_update_after_misbehaviour is deprecated * @deprecated */ allowUpdateAfterMisbehaviour: boolean; } export interface ClientStateProtoMsg { typeUrl: "/ibc.lightclients.tendermint.v1.ClientState"; value: Uint8Array; } /** * ClientState from Tendermint tracks the current validator set, latest height, * and a possible frozen height. * @name ClientStateAmino * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.ClientState */ export interface ClientStateAmino { chain_id: string; trust_level: FractionAmino; /** * duration of the period since the LatestTimestamp during which the * submitted headers are valid for upgrade */ trusting_period: DurationAmino; /** * duration of the staking unbonding period */ unbonding_period: DurationAmino; /** * defines how much new (untrusted) header's Time can drift into the future. */ max_clock_drift: DurationAmino; /** * Block height when the client was frozen due to a misbehaviour */ frozen_height: HeightAmino; /** * Latest height the client was updated to */ latest_height: HeightAmino; /** * Proof specifications used in verifying counterparty state */ proof_specs: ProofSpecAmino[]; /** * Path at which next upgraded client will be committed. * Each element corresponds to the key for a single CommitmentProof in the * chained proof. NOTE: ClientState must stored under * `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored * under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using * the default upgrade module, upgrade_path should be []string{"upgrade", * "upgradedIBCState"}` */ upgrade_path: string[]; /** * allow_update_after_expiry is deprecated * @deprecated */ allow_update_after_expiry: boolean; /** * allow_update_after_misbehaviour is deprecated * @deprecated */ allow_update_after_misbehaviour: boolean; } export interface ClientStateAminoMsg { type: "cosmos-sdk/ClientState"; value: ClientStateAmino; } /** * ConsensusState defines the consensus state from Tendermint. * @name ConsensusState * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.ConsensusState */ export interface ConsensusState { /** * timestamp that corresponds to the block height in which the ConsensusState * was stored. */ timestamp: Date; /** * commitment root (i.e app hash) */ root: MerkleRoot; nextValidatorsHash: Uint8Array; } export interface ConsensusStateProtoMsg { typeUrl: "/ibc.lightclients.tendermint.v1.ConsensusState"; value: Uint8Array; } /** * ConsensusState defines the consensus state from Tendermint. * @name ConsensusStateAmino * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.ConsensusState */ export interface ConsensusStateAmino { /** * timestamp that corresponds to the block height in which the ConsensusState * was stored. */ timestamp: string; /** * commitment root (i.e app hash) */ root: MerkleRootAmino; next_validators_hash: string; } export interface ConsensusStateAminoMsg { type: "cosmos-sdk/ConsensusState"; value: ConsensusStateAmino; } /** * Misbehaviour is a wrapper over two conflicting Headers * that implements Misbehaviour interface expected by ICS-02 * @name Misbehaviour * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Misbehaviour */ export interface Misbehaviour { /** * ClientID is deprecated * @deprecated */ clientId: string; header1?: Header; header2?: Header; } export interface MisbehaviourProtoMsg { typeUrl: "/ibc.lightclients.tendermint.v1.Misbehaviour"; value: Uint8Array; } /** * Misbehaviour is a wrapper over two conflicting Headers * that implements Misbehaviour interface expected by ICS-02 * @name MisbehaviourAmino * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Misbehaviour */ export interface MisbehaviourAmino { /** * ClientID is deprecated * @deprecated */ client_id: string; header_1?: HeaderAmino; header_2?: HeaderAmino; } export interface MisbehaviourAminoMsg { type: "cosmos-sdk/Misbehaviour"; value: MisbehaviourAmino; } /** * Header defines the Tendermint client consensus Header. * It encapsulates all the information necessary to update from a trusted * Tendermint ConsensusState. The inclusion of TrustedHeight and * TrustedValidators allows this update to process correctly, so long as the * ConsensusState for the TrustedHeight exists, this removes race conditions * among relayers The SignedHeader and ValidatorSet are the new untrusted update * fields for the client. The TrustedHeight is the height of a stored * ConsensusState on the client that will be used to verify the new untrusted * header. The Trusted ConsensusState must be within the unbonding period of * current time in order to correctly verify, and the TrustedValidators must * hash to TrustedConsensusState.NextValidatorsHash since that is the last * trusted validator set at the TrustedHeight. * @name Header * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Header */ export interface Header { signedHeader?: SignedHeader; validatorSet?: ValidatorSet; trustedHeight: Height; trustedValidators?: ValidatorSet; } export interface HeaderProtoMsg { typeUrl: "/ibc.lightclients.tendermint.v1.Header"; value: Uint8Array; } /** * Header defines the Tendermint client consensus Header. * It encapsulates all the information necessary to update from a trusted * Tendermint ConsensusState. The inclusion of TrustedHeight and * TrustedValidators allows this update to process correctly, so long as the * ConsensusState for the TrustedHeight exists, this removes race conditions * among relayers The SignedHeader and ValidatorSet are the new untrusted update * fields for the client. The TrustedHeight is the height of a stored * ConsensusState on the client that will be used to verify the new untrusted * header. The Trusted ConsensusState must be within the unbonding period of * current time in order to correctly verify, and the TrustedValidators must * hash to TrustedConsensusState.NextValidatorsHash since that is the last * trusted validator set at the TrustedHeight. * @name HeaderAmino * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Header */ export interface HeaderAmino { signed_header?: SignedHeaderAmino; validator_set?: ValidatorSetAmino; trusted_height: HeightAmino; trusted_validators?: ValidatorSetAmino; } export interface HeaderAminoMsg { type: "cosmos-sdk/Header"; value: HeaderAmino; } /** * Fraction defines the protobuf message type for tmmath.Fraction that only * supports positive values. * @name Fraction * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Fraction */ export interface Fraction { numerator: bigint; denominator: bigint; } export interface FractionProtoMsg { typeUrl: "/ibc.lightclients.tendermint.v1.Fraction"; value: Uint8Array; } /** * Fraction defines the protobuf message type for tmmath.Fraction that only * supports positive values. * @name FractionAmino * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Fraction */ export interface FractionAmino { numerator: string; denominator: string; } export interface FractionAminoMsg { type: "cosmos-sdk/Fraction"; value: FractionAmino; } /** * ClientState from Tendermint tracks the current validator set, latest height, * and a possible frozen height. * @name ClientState * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.ClientState */ export declare const ClientState: { typeUrl: string; aminoType: string; is(o: any): o is ClientState; isAmino(o: any): o is ClientStateAmino; encode(message: ClientState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ClientState; fromPartial(object: DeepPartial): ClientState; fromAmino(object: ClientStateAmino): ClientState; toAmino(message: ClientState): ClientStateAmino; fromAminoMsg(object: ClientStateAminoMsg): ClientState; toAminoMsg(message: ClientState): ClientStateAminoMsg; fromProtoMsg(message: ClientStateProtoMsg): ClientState; toProto(message: ClientState): Uint8Array; toProtoMsg(message: ClientState): ClientStateProtoMsg; registerTypeUrl(): void; }; /** * ConsensusState defines the consensus state from Tendermint. * @name ConsensusState * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.ConsensusState */ export declare const ConsensusState: { typeUrl: string; aminoType: string; is(o: any): o is ConsensusState; isAmino(o: any): o is ConsensusStateAmino; encode(message: ConsensusState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState; fromPartial(object: DeepPartial): ConsensusState; fromAmino(object: ConsensusStateAmino): ConsensusState; toAmino(message: ConsensusState): ConsensusStateAmino; fromAminoMsg(object: ConsensusStateAminoMsg): ConsensusState; toAminoMsg(message: ConsensusState): ConsensusStateAminoMsg; fromProtoMsg(message: ConsensusStateProtoMsg): ConsensusState; toProto(message: ConsensusState): Uint8Array; toProtoMsg(message: ConsensusState): ConsensusStateProtoMsg; registerTypeUrl(): void; }; /** * Misbehaviour is a wrapper over two conflicting Headers * that implements Misbehaviour interface expected by ICS-02 * @name Misbehaviour * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Misbehaviour */ export declare const Misbehaviour: { typeUrl: string; aminoType: string; is(o: any): o is Misbehaviour; isAmino(o: any): o is MisbehaviourAmino; encode(message: Misbehaviour, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Misbehaviour; fromPartial(object: DeepPartial): Misbehaviour; fromAmino(object: MisbehaviourAmino): Misbehaviour; toAmino(message: Misbehaviour): MisbehaviourAmino; fromAminoMsg(object: MisbehaviourAminoMsg): Misbehaviour; toAminoMsg(message: Misbehaviour): MisbehaviourAminoMsg; fromProtoMsg(message: MisbehaviourProtoMsg): Misbehaviour; toProto(message: Misbehaviour): Uint8Array; toProtoMsg(message: Misbehaviour): MisbehaviourProtoMsg; registerTypeUrl(): void; }; /** * Header defines the Tendermint client consensus Header. * It encapsulates all the information necessary to update from a trusted * Tendermint ConsensusState. The inclusion of TrustedHeight and * TrustedValidators allows this update to process correctly, so long as the * ConsensusState for the TrustedHeight exists, this removes race conditions * among relayers The SignedHeader and ValidatorSet are the new untrusted update * fields for the client. The TrustedHeight is the height of a stored * ConsensusState on the client that will be used to verify the new untrusted * header. The Trusted ConsensusState must be within the unbonding period of * current time in order to correctly verify, and the TrustedValidators must * hash to TrustedConsensusState.NextValidatorsHash since that is the last * trusted validator set at the TrustedHeight. * @name Header * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Header */ export declare const Header: { typeUrl: string; aminoType: string; is(o: any): o is Header; isAmino(o: any): o is HeaderAmino; encode(message: Header, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Header; fromPartial(object: DeepPartial
): Header; fromAmino(object: HeaderAmino): Header; toAmino(message: Header): HeaderAmino; fromAminoMsg(object: HeaderAminoMsg): Header; toAminoMsg(message: Header): HeaderAminoMsg; fromProtoMsg(message: HeaderProtoMsg): Header; toProto(message: Header): Uint8Array; toProtoMsg(message: Header): HeaderProtoMsg; registerTypeUrl(): void; }; /** * Fraction defines the protobuf message type for tmmath.Fraction that only * supports positive values. * @name Fraction * @package ibc.lightclients.tendermint.v1 * @see proto type: ibc.lightclients.tendermint.v1.Fraction */ export declare const Fraction: { typeUrl: string; aminoType: string; is(o: any): o is Fraction; isAmino(o: any): o is FractionAmino; encode(message: Fraction, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Fraction; fromPartial(object: DeepPartial): Fraction; fromAmino(object: FractionAmino): Fraction; toAmino(message: Fraction): FractionAmino; fromAminoMsg(object: FractionAminoMsg): Fraction; toAminoMsg(message: Fraction): FractionAminoMsg; fromProtoMsg(message: FractionProtoMsg): Fraction; toProto(message: Fraction): Uint8Array; toProtoMsg(message: Fraction): FractionProtoMsg; registerTypeUrl(): void; };