interchainjs
Version:
InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.
520 lines (519 loc) • 17.9 kB
TypeScript
import { Any, AnyAmino } from "../../../../google/protobuf/any";
import { BinaryReader, BinaryWriter } from "../../../../binary";
import { DeepPartial } from "../../../../helpers";
/**
* ClientState defines a solo machine client that tracks the current consensus
* state and if the client is frozen.
* @name ClientState
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.ClientState
*/
export interface ClientState {
/**
* latest sequence of the client state
*/
sequence: bigint;
/**
* frozen sequence of the solo machine
*/
isFrozen: boolean;
consensusState?: ConsensusState;
}
export interface ClientStateProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.ClientState";
value: Uint8Array;
}
/**
* ClientState defines a solo machine client that tracks the current consensus
* state and if the client is frozen.
* @name ClientStateAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.ClientState
*/
export interface ClientStateAmino {
/**
* latest sequence of the client state
*/
sequence: string;
/**
* frozen sequence of the solo machine
*/
is_frozen: boolean;
consensus_state?: ConsensusStateAmino;
}
export interface ClientStateAminoMsg {
type: "cosmos-sdk/ClientState";
value: ClientStateAmino;
}
/**
* ConsensusState defines a solo machine consensus state. The sequence of a
* consensus state is contained in the "height" key used in storing the
* consensus state.
* @name ConsensusState
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.ConsensusState
*/
export interface ConsensusState {
/**
* public key of the solo machine
*/
publicKey?: Any;
/**
* diversifier allows the same public key to be reused across different solo
* machine clients (potentially on different chains) without being considered
* misbehaviour.
*/
diversifier: string;
timestamp: bigint;
}
export interface ConsensusStateProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.ConsensusState";
value: Uint8Array;
}
/**
* ConsensusState defines a solo machine consensus state. The sequence of a
* consensus state is contained in the "height" key used in storing the
* consensus state.
* @name ConsensusStateAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.ConsensusState
*/
export interface ConsensusStateAmino {
/**
* public key of the solo machine
*/
public_key?: AnyAmino;
/**
* diversifier allows the same public key to be reused across different solo
* machine clients (potentially on different chains) without being considered
* misbehaviour.
*/
diversifier: string;
timestamp: string;
}
export interface ConsensusStateAminoMsg {
type: "cosmos-sdk/ConsensusState";
value: ConsensusStateAmino;
}
/**
* Header defines a solo machine consensus header
* @name Header
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.Header
*/
export interface Header {
timestamp: bigint;
signature: Uint8Array;
newPublicKey?: Any;
newDiversifier: string;
}
export interface HeaderProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.Header";
value: Uint8Array;
}
/**
* Header defines a solo machine consensus header
* @name HeaderAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.Header
*/
export interface HeaderAmino {
timestamp: string;
signature: string;
new_public_key?: AnyAmino;
new_diversifier: string;
}
export interface HeaderAminoMsg {
type: "cosmos-sdk/Header";
value: HeaderAmino;
}
/**
* Misbehaviour defines misbehaviour for a solo machine which consists
* of a sequence and two signatures over different messages at that sequence.
* @name Misbehaviour
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.Misbehaviour
*/
export interface Misbehaviour {
sequence: bigint;
signatureOne?: SignatureAndData;
signatureTwo?: SignatureAndData;
}
export interface MisbehaviourProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.Misbehaviour";
value: Uint8Array;
}
/**
* Misbehaviour defines misbehaviour for a solo machine which consists
* of a sequence and two signatures over different messages at that sequence.
* @name MisbehaviourAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.Misbehaviour
*/
export interface MisbehaviourAmino {
sequence: string;
signature_one?: SignatureAndDataAmino;
signature_two?: SignatureAndDataAmino;
}
export interface MisbehaviourAminoMsg {
type: "cosmos-sdk/Misbehaviour";
value: MisbehaviourAmino;
}
/**
* SignatureAndData contains a signature and the data signed over to create that
* signature.
* @name SignatureAndData
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.SignatureAndData
*/
export interface SignatureAndData {
signature: Uint8Array;
path: Uint8Array;
data: Uint8Array;
timestamp: bigint;
}
export interface SignatureAndDataProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.SignatureAndData";
value: Uint8Array;
}
/**
* SignatureAndData contains a signature and the data signed over to create that
* signature.
* @name SignatureAndDataAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.SignatureAndData
*/
export interface SignatureAndDataAmino {
signature: string;
path: string;
data: string;
timestamp: string;
}
export interface SignatureAndDataAminoMsg {
type: "cosmos-sdk/SignatureAndData";
value: SignatureAndDataAmino;
}
/**
* TimestampedSignatureData contains the signature data and the timestamp of the
* signature.
* @name TimestampedSignatureData
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.TimestampedSignatureData
*/
export interface TimestampedSignatureData {
signatureData: Uint8Array;
timestamp: bigint;
}
export interface TimestampedSignatureDataProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.TimestampedSignatureData";
value: Uint8Array;
}
/**
* TimestampedSignatureData contains the signature data and the timestamp of the
* signature.
* @name TimestampedSignatureDataAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.TimestampedSignatureData
*/
export interface TimestampedSignatureDataAmino {
signature_data: string;
timestamp: string;
}
export interface TimestampedSignatureDataAminoMsg {
type: "cosmos-sdk/TimestampedSignatureData";
value: TimestampedSignatureDataAmino;
}
/**
* SignBytes defines the signed bytes used for signature verification.
* @name SignBytes
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.SignBytes
*/
export interface SignBytes {
/**
* the sequence number
*/
sequence: bigint;
/**
* the proof timestamp
*/
timestamp: bigint;
/**
* the public key diversifier
*/
diversifier: string;
/**
* the standardised path bytes
*/
path: Uint8Array;
/**
* the marshaled data bytes
*/
data: Uint8Array;
}
export interface SignBytesProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.SignBytes";
value: Uint8Array;
}
/**
* SignBytes defines the signed bytes used for signature verification.
* @name SignBytesAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.SignBytes
*/
export interface SignBytesAmino {
/**
* the sequence number
*/
sequence: string;
/**
* the proof timestamp
*/
timestamp: string;
/**
* the public key diversifier
*/
diversifier: string;
/**
* the standardised path bytes
*/
path: string;
/**
* the marshaled data bytes
*/
data: string;
}
export interface SignBytesAminoMsg {
type: "cosmos-sdk/SignBytes";
value: SignBytesAmino;
}
/**
* HeaderData returns the SignBytes data for update verification.
* @name HeaderData
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.HeaderData
*/
export interface HeaderData {
/**
* header public key
*/
newPubKey?: Any;
/**
* header diversifier
*/
newDiversifier: string;
}
export interface HeaderDataProtoMsg {
typeUrl: "/ibc.lightclients.solomachine.v3.HeaderData";
value: Uint8Array;
}
/**
* HeaderData returns the SignBytes data for update verification.
* @name HeaderDataAmino
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.HeaderData
*/
export interface HeaderDataAmino {
/**
* header public key
*/
new_pub_key?: AnyAmino;
/**
* header diversifier
*/
new_diversifier: string;
}
export interface HeaderDataAminoMsg {
type: "cosmos-sdk/HeaderData";
value: HeaderDataAmino;
}
/**
* ClientState defines a solo machine client that tracks the current consensus
* state and if the client is frozen.
* @name ClientState
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.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>): 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 a solo machine consensus state. The sequence of a
* consensus state is contained in the "height" key used in storing the
* consensus state.
* @name ConsensusState
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.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>): 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;
};
/**
* Header defines a solo machine consensus header
* @name Header
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.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>): 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;
};
/**
* Misbehaviour defines misbehaviour for a solo machine which consists
* of a sequence and two signatures over different messages at that sequence.
* @name Misbehaviour
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.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>): 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;
};
/**
* SignatureAndData contains a signature and the data signed over to create that
* signature.
* @name SignatureAndData
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.SignatureAndData
*/
export declare const SignatureAndData: {
typeUrl: string;
aminoType: string;
is(o: any): o is SignatureAndData;
isAmino(o: any): o is SignatureAndDataAmino;
encode(message: SignatureAndData, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): SignatureAndData;
fromPartial(object: DeepPartial<SignatureAndData>): SignatureAndData;
fromAmino(object: SignatureAndDataAmino): SignatureAndData;
toAmino(message: SignatureAndData): SignatureAndDataAmino;
fromAminoMsg(object: SignatureAndDataAminoMsg): SignatureAndData;
toAminoMsg(message: SignatureAndData): SignatureAndDataAminoMsg;
fromProtoMsg(message: SignatureAndDataProtoMsg): SignatureAndData;
toProto(message: SignatureAndData): Uint8Array;
toProtoMsg(message: SignatureAndData): SignatureAndDataProtoMsg;
registerTypeUrl(): void;
};
/**
* TimestampedSignatureData contains the signature data and the timestamp of the
* signature.
* @name TimestampedSignatureData
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.TimestampedSignatureData
*/
export declare const TimestampedSignatureData: {
typeUrl: string;
aminoType: string;
is(o: any): o is TimestampedSignatureData;
isAmino(o: any): o is TimestampedSignatureDataAmino;
encode(message: TimestampedSignatureData, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): TimestampedSignatureData;
fromPartial(object: DeepPartial<TimestampedSignatureData>): TimestampedSignatureData;
fromAmino(object: TimestampedSignatureDataAmino): TimestampedSignatureData;
toAmino(message: TimestampedSignatureData): TimestampedSignatureDataAmino;
fromAminoMsg(object: TimestampedSignatureDataAminoMsg): TimestampedSignatureData;
toAminoMsg(message: TimestampedSignatureData): TimestampedSignatureDataAminoMsg;
fromProtoMsg(message: TimestampedSignatureDataProtoMsg): TimestampedSignatureData;
toProto(message: TimestampedSignatureData): Uint8Array;
toProtoMsg(message: TimestampedSignatureData): TimestampedSignatureDataProtoMsg;
registerTypeUrl(): void;
};
/**
* SignBytes defines the signed bytes used for signature verification.
* @name SignBytes
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.SignBytes
*/
export declare const SignBytes: {
typeUrl: string;
aminoType: string;
is(o: any): o is SignBytes;
isAmino(o: any): o is SignBytesAmino;
encode(message: SignBytes, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): SignBytes;
fromPartial(object: DeepPartial<SignBytes>): SignBytes;
fromAmino(object: SignBytesAmino): SignBytes;
toAmino(message: SignBytes): SignBytesAmino;
fromAminoMsg(object: SignBytesAminoMsg): SignBytes;
toAminoMsg(message: SignBytes): SignBytesAminoMsg;
fromProtoMsg(message: SignBytesProtoMsg): SignBytes;
toProto(message: SignBytes): Uint8Array;
toProtoMsg(message: SignBytes): SignBytesProtoMsg;
registerTypeUrl(): void;
};
/**
* HeaderData returns the SignBytes data for update verification.
* @name HeaderData
* @package ibc.lightclients.solomachine.v3
* @see proto type: ibc.lightclients.solomachine.v3.HeaderData
*/
export declare const HeaderData: {
typeUrl: string;
aminoType: string;
is(o: any): o is HeaderData;
isAmino(o: any): o is HeaderDataAmino;
encode(message: HeaderData, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): HeaderData;
fromPartial(object: DeepPartial<HeaderData>): HeaderData;
fromAmino(object: HeaderDataAmino): HeaderData;
toAmino(message: HeaderData): HeaderDataAmino;
fromAminoMsg(object: HeaderDataAminoMsg): HeaderData;
toAminoMsg(message: HeaderData): HeaderDataAminoMsg;
fromProtoMsg(message: HeaderDataProtoMsg): HeaderData;
toProto(message: HeaderData): Uint8Array;
toProtoMsg(message: HeaderData): HeaderDataProtoMsg;
registerTypeUrl(): void;
};