@firmachain/firma-js
Version:
The Official FirmaChain Javascript SDK written in Typescript
45 lines (44 loc) • 2.31 kB
TypeScript
import { EncodeObject, OfflineDirectSigner, Registry } from "@cosmjs/proto-signing";
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
import { SignDoc, TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx";
import { StdFee } from ".";
import { Account } from "./accounts";
import { BroadcastTxResponse, StargateClient } from "./stargateclient";
export interface SignerData {
readonly accountNumber: number;
readonly sequence: number;
readonly chainId: string;
}
export interface SequenceResponse {
readonly accountNumber: number;
readonly sequence: number;
}
export interface TxRawExt {
readonly txRaw: TxRaw;
readonly signature: string;
}
export declare class SigningStargateClient extends StargateClient {
private readonly signer;
private readonly registry;
private chainId;
private static _endpoint;
private getSigner;
static connectWithSigner(endpoint: string, signer: OfflineDirectSigner | undefined, registry: Registry): Promise<SigningStargateClient>;
protected constructor(tmClient: Tendermint34Client | undefined, signer: OfflineDirectSigner | undefined, registry: Registry);
signAndBroadcast(signerAddress: string, messages: readonly EncodeObject[], fee: StdFee, memo?: string): Promise<BroadcastTxResponse>;
static makeSignDocForSend(signerAddress: string, pubkeyStr: string, messages: readonly EncodeObject[], fee: StdFee, memo: string, serverUrl: string, chainId: string, registry: Registry): Promise<SignDoc>;
sign(signerAddress: string, messages: readonly EncodeObject[], fee: StdFee, memo: string, explicitSignerData?: SignerData): Promise<TxRaw>;
getChainId(): Promise<string>;
/**
* 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 static toAccAddress;
static getAccount(address: string): Promise<Account | undefined>;
static getSequence(address: string): Promise<SequenceResponse>;
private static makeSignerInfos;
private static makeAuthInfoBytes;
private signDirect;
signDirectForSignDoc(signerAddress: string, signDoc: SignDoc): Promise<TxRawExt>;
}