UNPKG

@firmachain/firma-js

Version:

The Official FirmaChain Javascript SDK written in Typescript

91 lines (90 loc) 4.92 kB
import { SignDoc, TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import { Duration } from "cosmjs-types/google/protobuf/duration"; import { EncodeObject, Registry } from "@cosmjs/proto-signing"; import { SignAndBroadcastOptions, TxMisc } from "./firmachain/common"; import { FirmaConfig } from "./FirmaConfig"; import { FirmaWalletService } from "./FirmaWalletService"; import { Any } from "cosmjs-types/google/protobuf/any"; import { CommonTxClient } from "./firmachain/common/CommonTxClient"; import { ArbitraryVerifyData } from "./firmachain/common/SigningProtobufStargateClient"; export declare class FirmaUtil { static config: FirmaConfig; static readonly FctDecimal: number; constructor(firmaConfig: FirmaConfig); static getSignAndBroadcastOption(denom: string, txMisc: TxMisc): SignAndBroadcastOptions; static getUTokenStringFromTokenStr(tokenAmount: string, decimal: number): string; static getTokenStringFromUTokenStr(uTokenAmount: string, decimal: number): string; static getUTokenStringFromToken(tokenAmount: number, decimal: number): string; static getUTokenFromToken(tokenAmount: number, decimal: number): number; static arrayBufferToBase64(buffer: Uint8Array): string; static base64ToArrayBuffer(base64: string): Uint8Array; static getTokenStringFromUToken(uTokenAmount: number, decimal: number): string; static getUFCTStringFromFCTStr(fctAmount: string): string; static getUFCTFromFCT(fctAmount: number): number; static getFCTStringFromUFCTStr(uFctAmount: string): string; static getUFCTStringFromFCT(fctAmount: number): string; static getFCTStringFromUFCT(uFctAmount: number): string; static getFileHash(filePath: string): Promise<string>; static getFileHashFromBuffer(buffer: Uint8Array): string; static getSha1HashFromString(text: string): string; static getHashFromString(text: string): string; static isValidAddress(address: string): boolean; static buf2hex(buffer: Uint8Array): string; static getHexAddressFromAddress(address: string): string; static getValOperAddressFromAccAddress(address: string): string; static getValConsAddressFromAccAddress(consensusPubkey: string): string; static getAccAddressFromValOperAddress(address: string): string; static estimateGas(txRaw: TxRaw): Promise<number>; static estimateGasRaw(txRaw: Uint8Array): Promise<number>; static getAccountInfo(address: string): Promise<{ account_number: string; sequence: string; }>; static getChainId(): Promise<string>; static printLog(log: any): void; /** * ADR-036 protobuf arbitrary signing (wrapper for protobufArbitrarySign) * * @param wallet - FirmaWalletService instance * @param data - Arbitrary data string to sign * @returns ArbitraryVerifyData for verification */ static experimentalAdr36Sign(wallet: FirmaWalletService, data: string): Promise<ArbitraryVerifyData>; /** * ADR-036 protobuf arbitrary signature verification (wrapper for protobufArbitraryVerify) * * @param data - ArbitraryVerifyData to verify * @param checkMsg - Original message that was signed * @returns boolean indicating if the signature is valid */ static experimentalAdr36Verify(data: ArbitraryVerifyData, checkMsg: string): Promise<boolean>; static makeSignDoc(signerAddress: string, pubkey: string, messages: readonly EncodeObject[], txMisc?: TxMisc): Promise<SignDoc>; static makeSignDocWithStringify(signerAddress: string, pubkey: string, messages: readonly EncodeObject[], txMisc?: TxMisc): Promise<string>; private static recoverSigningAddress; private static verifySignature; static verifyDirectSignature(address: string, signature: string, signDoc: SignDoc): Promise<boolean>; static parseSignDocValues(signDocString: string): any; static stringifySignDocValues(signDoc: any): string; static getAnyData(registry: Registry, message: EncodeObject): Any; static getCommonTxClient(aliceWallet: FirmaWalletService): CommonTxClient; static parseDurationString(durationStr: string): { seconds: bigint; nanos: number; }; static createDurationFromString(durationStr: string): Duration; /** * Safely processes commission rate strings to prevent big.Int conversion errors. * Converts decimal commission rates to Cosmos SDK atomics format (integer representation). * * @param commissionRate - Commission rate string from staking params * @returns Processed commission rate string safe for protobuf usage (atomics format or empty string) */ static processCommissionRateAsDecimal(commissionRate: string): string; } export declare const DefaultTxMisc: { memo: string; fee: number; gas: number; feeGranter: string; }; export declare const getSignAndBroadcastOption: typeof FirmaUtil.getSignAndBroadcastOption;