@firmachain/firma-js
Version:
The Official FirmaChain Javascript SDK written in Typescript
51 lines (50 loc) • 1.95 kB
TypeScript
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>;
}