slpjs
Version:
Simple Ledger Protocol (SLP) JavaScript Library
42 lines (41 loc) • 1.6 kB
TypeScript
import { logger, SlpTransactionDetails } from "../index";
import { Slp, SlpValidator } from "./slp";
import BigNumber from "bignumber.js";
import { BITBOX } from "bitbox-sdk";
export interface Validation {
validity: boolean | null;
parents: Parent[];
details: SlpTransactionDetails | null;
invalidReason: string | null;
waiting: boolean;
}
export declare type GetRawTransactionsAsync = (txid: string[]) => Promise<string[]>;
interface Parent {
txid: string;
vout: number;
versionType: number;
valid: boolean | null;
inputQty: BigNumber | null;
}
export declare class LocalValidator implements SlpValidator {
BITBOX: BITBOX;
cachedRawTransactions: {
[txid: string]: string;
};
useTransactionCache: boolean;
cachedValidations: {
[txid: string]: Validation;
};
getRawTransactions: GetRawTransactionsAsync;
slp: Slp;
logger: logger;
constructor(BITBOX: BITBOX, getRawTransactions: GetRawTransactionsAsync, logger?: logger, useTransactionCache?: boolean);
addValidationFromStore(hex: string, isValid: boolean): void;
waitForCurrentValidationProcessing(txid: string): Promise<void>;
waitForTransactionDownloadToComplete(txid: string): Promise<void>;
retrieveRawTransaction(txid: string): Promise<string | string[]>;
isValidSlpTxid(txid: string, tokenIdFilter?: string, tokenTypeFilter?: number): Promise<boolean>;
_isValidSlpTxid(txid: string, tokenIdFilter?: string, tokenTypeFilter?: number): Promise<boolean>;
validateSlpTransactions(txids: string[]): Promise<string[]>;
}
export {};