import { CompactBitArray, type CompactBitArraySDKType } from '../../../crypto/multisig/v1beta1/multisig.js'; import { Any, type AnySDKType } from '../../../../google/protobuf/any.js'; import { BinaryReader, BinaryWriter } from '../../../../binary.js'; import { type JsonSafe } from '../../../../json-safe.js'; /** * SignMode represents a signing mode with its own security guarantees. * * This enum should be considered a registry of all known sign modes * in the Cosmos ecosystem. Apps are not expected to support all known * sign modes. Apps that would like to support custom sign modes are * encouraged to open a small PR against this file to add a new case * to this SignMode enum describing their sign mode so that different * apps have a consistent version of this enum. */ export declare enum SignMode { /** * SIGN_MODE_UNSPECIFIED - SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be * rejected. */ SIGN_MODE_UNSPECIFIED = 0, /** * SIGN_MODE_DIRECT - SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is * verified with raw bytes from Tx. */ SIGN_MODE_DIRECT = 1, /** * SIGN_MODE_TEXTUAL - SIGN_MODE_TEXTUAL is a future signing mode that will verify some * human-readable textual representation on top of the binary representation * from SIGN_MODE_DIRECT. * * Since: cosmos-sdk 0.50 */ SIGN_MODE_TEXTUAL = 2, /** * SIGN_MODE_DIRECT_AUX - SIGN_MODE_DIRECT_AUX specifies a signing mode which uses * SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not * require signers signing over other signers' `signer_info`. * * Since: cosmos-sdk 0.46 */ SIGN_MODE_DIRECT_AUX = 3, /** * SIGN_MODE_LEGACY_AMINO_JSON - SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses * Amino JSON and will be removed in the future. */ SIGN_MODE_LEGACY_AMINO_JSON = 127, /** * SIGN_MODE_EIP_191 - SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos * SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 * * Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, * but is not implemented on the SDK by default. To enable EIP-191, you need * to pass a custom `TxConfig` that has an implementation of * `SignModeHandler` for EIP-191. The SDK may decide to fully support * EIP-191 in the future. * * Since: cosmos-sdk 0.45.2 */ SIGN_MODE_EIP_191 = 191, UNRECOGNIZED = -1 } export declare const SignModeSDKType: typeof SignMode; export declare function signModeFromJSON(object: any): SignMode; export declare function signModeToJSON(object: SignMode): string; /** SignatureDescriptors wraps multiple SignatureDescriptor's. */ export interface SignatureDescriptors { /** signatures are the signature descriptors */ signatures: SignatureDescriptor[]; } export interface SignatureDescriptorsProtoMsg { typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptors'; value: Uint8Array; } /** SignatureDescriptors wraps multiple SignatureDescriptor's. */ export interface SignatureDescriptorsSDKType { signatures: SignatureDescriptorSDKType[]; } /** * SignatureDescriptor is a convenience type which represents the full data for * a signature including the public key of the signer, signing modes and the * signature itself. It is primarily used for coordinating signatures between * clients. */ export interface SignatureDescriptor { /** public_key is the public key of the signer */ publicKey?: Any; data?: SignatureDescriptor_Data; /** * 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; } export interface SignatureDescriptorProtoMsg { typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptor'; value: Uint8Array; } /** * SignatureDescriptor is a convenience type which represents the full data for * a signature including the public key of the signer, signing modes and the * signature itself. It is primarily used for coordinating signatures between * clients. */ export interface SignatureDescriptorSDKType { public_key?: AnySDKType; data?: SignatureDescriptor_DataSDKType; sequence: bigint; } /** Data represents signature data */ export interface SignatureDescriptor_Data { /** single represents a single signer */ single?: SignatureDescriptor_Data_Single; /** multi represents a multisig signer */ multi?: SignatureDescriptor_Data_Multi; } export interface SignatureDescriptor_DataProtoMsg { typeUrl: '/cosmos.tx.signing.v1beta1.Data'; value: Uint8Array; } /** Data represents signature data */ export interface SignatureDescriptor_DataSDKType { single?: SignatureDescriptor_Data_SingleSDKType; multi?: SignatureDescriptor_Data_MultiSDKType; } /** Single is the signature data for a single signer */ export interface SignatureDescriptor_Data_Single { /** mode is the signing mode of the single signer */ mode: SignMode; /** signature is the raw signature bytes */ signature: Uint8Array; } export interface SignatureDescriptor_Data_SingleProtoMsg { typeUrl: '/cosmos.tx.signing.v1beta1.Single'; value: Uint8Array; } /** Single is the signature data for a single signer */ export interface SignatureDescriptor_Data_SingleSDKType { mode: SignMode; signature: Uint8Array; } /** Multi is the signature data for a multisig public key */ export interface SignatureDescriptor_Data_Multi { /** bitarray specifies which keys within the multisig are signing */ bitarray?: CompactBitArray; /** signatures is the signatures of the multi-signature */ signatures: SignatureDescriptor_Data[]; } export interface SignatureDescriptor_Data_MultiProtoMsg { typeUrl: '/cosmos.tx.signing.v1beta1.Multi'; value: Uint8Array; } /** Multi is the signature data for a multisig public key */ export interface SignatureDescriptor_Data_MultiSDKType { bitarray?: CompactBitArraySDKType; signatures: SignatureDescriptor_DataSDKType[]; } export declare const SignatureDescriptors: { typeUrl: "/cosmos.tx.signing.v1beta1.SignatureDescriptors"; encode(message: SignatureDescriptors, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptors; fromJSON(object: any): SignatureDescriptors; toJSON(message: SignatureDescriptors): JsonSafe; fromPartial(object: Partial): SignatureDescriptors; fromProtoMsg(message: SignatureDescriptorsProtoMsg): SignatureDescriptors; toProto(message: SignatureDescriptors): Uint8Array; toProtoMsg(message: SignatureDescriptors): SignatureDescriptorsProtoMsg; }; export declare const SignatureDescriptor: { typeUrl: "/cosmos.tx.signing.v1beta1.SignatureDescriptor"; encode(message: SignatureDescriptor, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor; fromJSON(object: any): SignatureDescriptor; toJSON(message: SignatureDescriptor): JsonSafe; fromPartial(object: Partial): SignatureDescriptor; fromProtoMsg(message: SignatureDescriptorProtoMsg): SignatureDescriptor; toProto(message: SignatureDescriptor): Uint8Array; toProtoMsg(message: SignatureDescriptor): SignatureDescriptorProtoMsg; }; export declare const SignatureDescriptor_Data: { typeUrl: "/cosmos.tx.signing.v1beta1.Data"; encode(message: SignatureDescriptor_Data, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor_Data; fromJSON(object: any): SignatureDescriptor_Data; toJSON(message: SignatureDescriptor_Data): JsonSafe; fromPartial(object: Partial): SignatureDescriptor_Data; fromProtoMsg(message: SignatureDescriptor_DataProtoMsg): SignatureDescriptor_Data; toProto(message: SignatureDescriptor_Data): Uint8Array; toProtoMsg(message: SignatureDescriptor_Data): SignatureDescriptor_DataProtoMsg; }; export declare const SignatureDescriptor_Data_Single: { typeUrl: "/cosmos.tx.signing.v1beta1.Single"; encode(message: SignatureDescriptor_Data_Single, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor_Data_Single; fromJSON(object: any): SignatureDescriptor_Data_Single; toJSON(message: SignatureDescriptor_Data_Single): JsonSafe; fromPartial(object: Partial): SignatureDescriptor_Data_Single; fromProtoMsg(message: SignatureDescriptor_Data_SingleProtoMsg): SignatureDescriptor_Data_Single; toProto(message: SignatureDescriptor_Data_Single): Uint8Array; toProtoMsg(message: SignatureDescriptor_Data_Single): SignatureDescriptor_Data_SingleProtoMsg; }; export declare const SignatureDescriptor_Data_Multi: { typeUrl: "/cosmos.tx.signing.v1beta1.Multi"; encode(message: SignatureDescriptor_Data_Multi, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor_Data_Multi; fromJSON(object: any): SignatureDescriptor_Data_Multi; toJSON(message: SignatureDescriptor_Data_Multi): JsonSafe; fromPartial(object: Partial): SignatureDescriptor_Data_Multi; fromProtoMsg(message: SignatureDescriptor_Data_MultiProtoMsg): SignatureDescriptor_Data_Multi; toProto(message: SignatureDescriptor_Data_Multi): Uint8Array; toProtoMsg(message: SignatureDescriptor_Data_Multi): SignatureDescriptor_Data_MultiProtoMsg; }; //# sourceMappingURL=signing.d.ts.map