UNPKG

@firmachain/firma-js

Version:

The Official FirmaChain Javascript SDK written in Typescript

31 lines (30 loc) 1.26 kB
import { EncodeObject, Registry } from "@cosmjs/proto-signing"; import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import { SignAndBroadcastOptions } from "./TxCommon"; export interface LedgerWalletInterface { getAddress(): Promise<string>; sign(message: string): Promise<Uint8Array>; getPublicKey(): Promise<Uint8Array>; getAddressAndPublicKey(): Promise<{ address: string; publicKey: Uint8Array; }>; showAddressOnDevice?(): Promise<void>; } export interface SignerData { readonly account_number: number; readonly sequence: number; readonly chain_id: string; } /** * Signs a protobuf-based Cosmos transaction using a general Signer * compatible with SIGN_MODE_DIRECT (e.g. Ledger, Keplr, etc.) * * @param signer - SignerInterface instance * @param messages - Cosmos transaction messages * @param signerData - Chain ID, account number, sequence * @param option - Fee, memo, granter info * @param registry - Protobuf registry for message encoding * @returns TxRaw - fully signed transaction */ export declare function signWithSignerProtobuf(signer: LedgerWalletInterface, messages: EncodeObject[], signerData: SignerData, option: SignAndBroadcastOptions, registry: Registry): Promise<TxRaw>;