import { Any, AnySDKType } from "../../../google/protobuf/any"; import { SignMode } from "../signing/v1beta1/signing"; import { CompactBitArray, CompactBitArraySDKType } from "../../crypto/multisig/v1beta1/multisig"; import { Coin, CoinSDKType } from "../../base/v1beta1/coin"; import { BinaryReader, BinaryWriter } from "../../../binary"; export declare const protobufPackage = "cosmos.tx.v1beta1"; /** Tx is the standard type used for broadcasting transactions. */ export interface Tx { /** body is the processable content of the transaction */ body?: TxBody | undefined; /** * auth_info is the authorization related content of the transaction, * specifically signers, signer modes and fee */ authInfo?: AuthInfo | undefined; /** * signatures is a list of signatures that matches the length and order of * AuthInfo's signer_infos to allow connecting signature meta information like * public key and signing mode by position. */ signatures: Uint8Array[]; } /** Tx is the standard type used for broadcasting transactions. */ export interface TxSDKType { body?: TxBodySDKType | undefined; auth_info?: AuthInfoSDKType | undefined; signatures: Uint8Array[]; } /** * TxRaw is a variant of Tx that pins the signer's exact binary representation * of body and auth_info. This is used for signing, broadcasting and * verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and * the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used * as the transaction ID. */ export interface TxRaw { /** * body_bytes is a protobuf serialization of a TxBody that matches the * representation in SignDoc. */ bodyBytes: Uint8Array; /** * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the * representation in SignDoc. */ authInfoBytes: Uint8Array; /** * signatures is a list of signatures that matches the length and order of * AuthInfo's signer_infos to allow connecting signature meta information like * public key and signing mode by position. */ signatures: Uint8Array[]; } /** * TxRaw is a variant of Tx that pins the signer's exact binary representation * of body and auth_info. This is used for signing, broadcasting and * verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and * the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used * as the transaction ID. */ export interface TxRawSDKType { body_bytes: Uint8Array; auth_info_bytes: Uint8Array; signatures: Uint8Array[]; } /** SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. */ export interface SignDoc { /** * body_bytes is protobuf serialization of a TxBody that matches the * representation in TxRaw. */ bodyBytes: Uint8Array; /** * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the * representation in TxRaw. */ authInfoBytes: Uint8Array; /** * chain_id is the unique identifier of the chain this transaction targets. * It prevents signed transactions from being used on another chain by an * attacker */ chainId: string; /** account_number is the account number of the account in state */ accountNumber: bigint; } /** SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. */ export interface SignDocSDKType { body_bytes: Uint8Array; auth_info_bytes: Uint8Array; chain_id: string; account_number: bigint; } /** TxBody is the body of a transaction that all signers sign over. */ export interface TxBody { /** * messages is a list of messages to be executed. The required signers of * those messages define the number and order of elements in AuthInfo's * signer_infos and Tx's signatures. Each required signer address is added to * the list only the first time it occurs. * By convention, the first required signer (usually from the first message) * is referred to as the primary signer and pays the fee for the whole * transaction. */ messages: Any[]; /** * memo is any arbitrary note/comment to be added to the transaction. * WARNING: in clients, any publicly exposed text should not be called memo, * but should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122). */ memo: string; /** * timeout is the block height after which this transaction will not * be processed by the chain */ timeoutHeight: bigint; /** * extension_options are arbitrary options that can be added by chains * when the default options are not sufficient. If any of these are present * and can't be handled, the transaction will be rejected */ extensionOptions: Any[]; /** * extension_options are arbitrary options that can be added by chains * when the default options are not sufficient. If any of these are present * and can't be handled, they will be ignored */ nonCriticalExtensionOptions: Any[]; } /** TxBody is the body of a transaction that all signers sign over. */ export interface TxBodySDKType { messages: AnySDKType[]; memo: string; timeout_height: bigint; extension_options: AnySDKType[]; non_critical_extension_options: AnySDKType[]; } /** * AuthInfo describes the fee and signer modes that are used to sign a * transaction. */ export interface AuthInfo { /** * signer_infos defines the signing modes for the required signers. The number * and order of elements must match the required signers from TxBody's * messages. The first element is the primary signer and the one which pays * the fee. */ signerInfos: SignerInfo[]; /** * Fee is the fee and gas limit for the transaction. The first signer is the * primary signer and the one which pays the fee. The fee can be calculated * based on the cost of evaluating the body and doing signature verification * of the signers. This can be estimated via simulation. */ fee?: Fee | undefined; } /** * AuthInfo describes the fee and signer modes that are used to sign a * transaction. */ export interface AuthInfoSDKType { signer_infos: SignerInfoSDKType[]; fee?: FeeSDKType | undefined; } /** * SignerInfo describes the public key and signing mode of a single top-level * signer. */ export interface SignerInfo { /** * public_key is the public key of the signer. It is optional for accounts * that already exist in state. If unset, the verifier can use the required \ * signer address for this position and lookup the public key. */ publicKey?: Any | undefined; /** * mode_info describes the signing mode of the signer and is a nested * structure to support nested multisig pubkey's */ modeInfo?: ModeInfo | undefined; /** * sequence is the sequence of the account, which describes the * number of committed transactions signed by a given address. It is used to * prevent replay attacks. */ sequence: bigint; } /** * SignerInfo describes the public key and signing mode of a single top-level * signer. */ export interface SignerInfoSDKType { public_key?: AnySDKType | undefined; mode_info?: ModeInfoSDKType | undefined; sequence: bigint; } /** ModeInfo describes the signing mode of a single or nested multisig signer. */ export interface ModeInfo { /** single represents a single signer */ single?: ModeInfo_Single | undefined; /** multi represents a nested multisig signer */ multi?: ModeInfo_Multi | undefined; } /** ModeInfo describes the signing mode of a single or nested multisig signer. */ export interface ModeInfoSDKType { single?: ModeInfo_SingleSDKType | undefined; multi?: ModeInfo_MultiSDKType | undefined; } /** * Single is the mode info for a single signer. It is structured as a message * to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the * future */ export interface ModeInfo_Single { /** mode is the signing mode of the single signer */ mode: SignMode; } /** * Single is the mode info for a single signer. It is structured as a message * to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the * future */ export interface ModeInfo_SingleSDKType { mode: SignMode; } /** Multi is the mode info for a multisig public key */ export interface ModeInfo_Multi { /** bitarray specifies which keys within the multisig are signing */ bitarray?: CompactBitArray | undefined; /** * mode_infos is the corresponding modes of the signers of the multisig * which could include nested multisig public keys */ modeInfos: ModeInfo[]; } /** Multi is the mode info for a multisig public key */ export interface ModeInfo_MultiSDKType { bitarray?: CompactBitArraySDKType | undefined; mode_infos: ModeInfoSDKType[]; } /** * Fee includes the amount of coins paid in fees and the maximum * gas to be used by the transaction. The ratio yields an effective "gasprice", * which must be above some miminum to be accepted into the mempool. */ export interface Fee { /** amount is the amount of coins to be paid as a fee */ amount: Coin[]; /** * gas_limit is the maximum gas that can be used in transaction processing * before an out of gas error occurs */ gasLimit: bigint; /** * if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. * the payer must be a tx signer (and thus have signed this field in AuthInfo). * setting this field does *not* change the ordering of required signers for the transaction. */ payer: string; /** * if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used * to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does * not support fee grants, this will fail */ granter: string; } /** * Fee includes the amount of coins paid in fees and the maximum * gas to be used by the transaction. The ratio yields an effective "gasprice", * which must be above some miminum to be accepted into the mempool. */ export interface FeeSDKType { amount: CoinSDKType[]; gas_limit: bigint; payer: string; granter: string; } export declare const Tx: { typeUrl: string; encode(message: Tx, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Tx; fromJSON(object: any): Tx; toJSON(message: Tx): unknown; fromPartial & { body?: TxBody & { messages: Any[] & (Any & { typeUrl: string; value: Uint8Array; } & Record, never>)[] & Record, never>; memo: string; timeoutHeight: bigint; extensionOptions: Any[] & (Any & { typeUrl: string; value: Uint8Array; } & Record, never>)[] & Record, never>; nonCriticalExtensionOptions: Any[] & (Any & { typeUrl: string; value: Uint8Array; } & Record, never>)[] & Record, never>; } & Record, never>; authInfo?: AuthInfo & { signerInfos: SignerInfo[] & (SignerInfo & { publicKey?: Any & { typeUrl: string; value: Uint8Array; } & Record, never>; modeInfo?: ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & any & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & any & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>; sequence: bigint; } & Record, never>)[] & Record, never>; fee?: Fee & { amount: Coin[] & (Coin & { denom: string; amount: string; } & Record, never>)[] & Record, never>; gasLimit: bigint; payer: string; granter: string; } & Record, never>; } & Record, never>; signatures?: Uint8Array[] & Record, never>; } & Record, never>>(object: I): Tx; }; export declare const TxRaw: { typeUrl: string; encode(message: TxRaw, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): TxRaw; fromJSON(object: any): TxRaw; toJSON(message: TxRaw): unknown; fromPartial & { bodyBytes?: Uint8Array; authInfoBytes?: Uint8Array; signatures?: Uint8Array[] & Record, never>; } & Record, never>>(object: I): TxRaw; }; export declare const SignDoc: { typeUrl: string; encode(message: SignDoc, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignDoc; fromJSON(object: any): SignDoc; toJSON(message: SignDoc): unknown; fromPartial & { bodyBytes?: Uint8Array; authInfoBytes?: Uint8Array; chainId?: string; accountNumber?: bigint; } & Record, never>>(object: I): SignDoc; }; export declare const TxBody: { typeUrl: string; encode(message: TxBody, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): TxBody; fromJSON(object: any): TxBody; toJSON(message: TxBody): unknown; fromPartial & { messages?: Any[] & (Any & { typeUrl: string; value: Uint8Array; } & Record, never>)[] & Record, never>; memo?: string; timeoutHeight?: bigint; extensionOptions?: Any[] & (Any & { typeUrl: string; value: Uint8Array; } & Record, never>)[] & Record, never>; nonCriticalExtensionOptions?: Any[] & (Any & { typeUrl: string; value: Uint8Array; } & Record, never>)[] & Record, never>; } & Record, never>>(object: I): TxBody; }; export declare const AuthInfo: { typeUrl: string; encode(message: AuthInfo, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): AuthInfo; fromJSON(object: any): AuthInfo; toJSON(message: AuthInfo): unknown; fromPartial & { signerInfos?: SignerInfo[] & (SignerInfo & { publicKey?: Any & { typeUrl: string; value: Uint8Array; } & Record, never>; modeInfo?: ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & any & Record, never>; multi?: ModeInfo_Multi & any & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>; sequence: bigint; } & Record, never>)[] & Record, never>; fee?: Fee & { amount: Coin[] & (Coin & { denom: string; amount: string; } & Record, never>)[] & Record, never>; gasLimit: bigint; payer: string; granter: string; } & Record, never>; } & Record, never>>(object: I): AuthInfo; }; export declare const SignerInfo: { typeUrl: string; encode(message: SignerInfo, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignerInfo; fromJSON(object: any): SignerInfo; toJSON(message: SignerInfo): unknown; fromPartial & { publicKey?: Any & { typeUrl: string; value: Uint8Array; } & Record, never>; modeInfo?: ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & any & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & any & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>; sequence?: bigint; } & Record, never>>(object: I): SignerInfo; }; export declare const ModeInfo: { typeUrl: string; encode(message: ModeInfo, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ModeInfo; fromJSON(object: any): ModeInfo; toJSON(message: ModeInfo): unknown; fromPartial & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & any & Record, never>; multi?: ModeInfo_Multi & any & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>>(object: I): ModeInfo; }; export declare const ModeInfo_Single: { typeUrl: string; encode(message: ModeInfo_Single, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ModeInfo_Single; fromJSON(object: any): ModeInfo_Single; toJSON(message: ModeInfo_Single): unknown; fromPartial & { mode?: SignMode; } & Record, never>>(object: I): ModeInfo_Single; }; export declare const ModeInfo_Multi: { typeUrl: string; encode(message: ModeInfo_Multi, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): ModeInfo_Multi; fromJSON(object: any): ModeInfo_Multi; toJSON(message: ModeInfo_Multi): unknown; fromPartial & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos?: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & { extraBitsStored: number; elems: Uint8Array; } & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & { single?: ModeInfo_Single & { mode: SignMode; } & Record, never>; multi?: ModeInfo_Multi & { bitarray?: CompactBitArray & any & Record, never>; modeInfos: ModeInfo[] & (ModeInfo & any & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>; } & Record, never>)[] & Record, never>; } & Record, never>>(object: I): ModeInfo_Multi; }; export declare const Fee: { typeUrl: string; encode(message: Fee, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Fee; fromJSON(object: any): Fee; toJSON(message: Fee): unknown; fromPartial & { amount?: Coin[] & (Coin & { denom: string; amount: string; } & Record, never>)[] & Record, never>; gasLimit?: bigint; payer?: string; granter?: string; } & Record, never>>(object: I): Fee; };