UNPKG

@firmachain/firma-js

Version:

The Official FirmaChain Javascript SDK written in Typescript

51 lines (50 loc) 1.95 kB
import { Registry } from "@cosmjs/proto-signing"; import { Tendermint34Client } from "@cosmjs/tendermint-rpc"; import { Account } from "./accounts"; import { StargateClient } from "./stargateclient"; import { AminoMsg } from "@cosmjs/amino"; import { OfflineAminoSigner } from "../amino/signer"; export interface SignerData { readonly accountNumber: number; readonly sequence: number; readonly chainId: string; } export interface SequenceResponse { readonly accountNumber: number; readonly sequence: number; } export interface ArbitraryVerifyData { type: string; signer: string; data: string; pubkey: string; signature: string; } /** * See ADR-036 */ export interface MsgSignData extends AminoMsg { readonly type: "sign/MsgSignData"; readonly value: { /** Bech32 account address */ signer: string; /** Base64 encoded data */ data: string; }; } export declare function isMsgSignData(msg: AminoMsg): msg is MsgSignData; export declare class SigningAminoStargateClient extends StargateClient { private readonly signer; private static _endpoint; static connectWithSigner(endpoint: string, signer: OfflineAminoSigner, registry: Registry): Promise<SigningAminoStargateClient>; protected constructor(tmClient: Tendermint34Client | undefined, signer: OfflineAminoSigner); experimentalAdr36Sign(signerAddress: string, data: Uint8Array | Uint8Array[]): Promise<ArbitraryVerifyData>; static experimentalAdr36Verify(data: ArbitraryVerifyData, checkMsg: string): Promise<boolean>; /** * Takes a bech32 encoded address and returns the data part. The prefix is ignored and discarded. * This is called AccAddress in Cosmos SDK, which is basically an alias for raw binary data. * The result is typically 20 bytes long but not restricted to that. */ private toAccAddress; getAccount(address: string): Promise<Account | undefined>; }