slpjs
Version:
Simple Ledger Protocol (SLP) JavaScript Library
51 lines (50 loc) • 3.9 kB
TypeScript
/// <reference types="node" />
import BigNumber from "bignumber.js";
import { BITBOX } from "bitbox-sdk";
import { AddressDetailsResult, AddressUtxoResult } from "bitcoin-com-rest";
import { IGrpcClient, SlpRequiredBurn } from "grpc-bchrpc";
import { INetwork, logger, SlpAddressUtxoResult, SlpBalancesResult, SlpTransactionDetails, SlpTxnDetailsResult } from "../index";
import { Slp, SlpValidator } from "./slp";
import { TransactionHelpers } from "./transactionhelpers";
export declare class BchdNetwork implements INetwork {
BITBOX: BITBOX;
slp: Slp;
validator: SlpValidator;
txnHelpers: TransactionHelpers;
logger: logger;
client: IGrpcClient;
constructor({ BITBOX, validator, logger, client }: {
BITBOX: BITBOX;
client: IGrpcClient;
validator: SlpValidator;
logger?: logger;
});
getTokenInformation(txid: string, decimalConversion?: boolean): Promise<SlpTransactionDetails>;
getTransactionDetails(txid: string): Promise<SlpTxnDetailsResult | undefined>;
getUtxos(address: string): Promise<AddressUtxoResult>;
getAllSlpBalancesAndUtxos(address: string | string[]): Promise<SlpBalancesResult | Array<{
address: string;
result: SlpBalancesResult;
}>>;
simpleTokenSend(tokenId: string, sendAmounts: BigNumber | BigNumber[], inputUtxos: SlpAddressUtxoResult[], tokenReceiverAddresses: string | string[], changeReceiverAddress: string, requiredNonTokenOutputs?: Array<{
satoshis: number;
receiverAddress: string;
}>): Promise<string>;
simpleBchSend(sendAmounts: BigNumber | BigNumber[], inputUtxos: SlpAddressUtxoResult[], bchReceiverAddresses: string | string[], changeReceiverAddress: string): Promise<string>;
simpleTokenGenesis(tokenName: string, tokenTicker: string, tokenAmount: BigNumber, documentUri: string | null, documentHash: Buffer | null, decimals: number, tokenReceiverAddress: string, batonReceiverAddress: string, bchChangeReceiverAddress: string, inputUtxos: SlpAddressUtxoResult[]): Promise<string>;
simpleNFT1ParentGenesis(tokenName: string, tokenTicker: string, tokenAmount: BigNumber, documentUri: string | null, documentHash: Buffer | null, tokenReceiverAddress: string, batonReceiverAddress: string, bchChangeReceiverAddress: string, inputUtxos: SlpAddressUtxoResult[], decimals?: number): Promise<string>;
simpleNFT1ChildGenesis(nft1GroupId: string, tokenName: string, tokenTicker: string, documentUri: string | null, documentHash: Buffer | null, tokenReceiverAddress: string, bchChangeReceiverAddress: string, inputUtxos: SlpAddressUtxoResult[], allowBurnAnyAmount?: boolean): Promise<string>;
simpleTokenMint(tokenId: string, mintAmount: BigNumber, inputUtxos: SlpAddressUtxoResult[], tokenReceiverAddress: string, batonReceiverAddress: string, changeReceiverAddress: string): Promise<string>;
simpleTokenBurn(tokenId: string, burnAmount: BigNumber, inputUtxos: SlpAddressUtxoResult[], changeReceiverAddress: string): Promise<string>;
getUtxoWithRetry(address: string, retries?: number): Promise<AddressUtxoResult>;
getUtxoWithTxDetails(address: string): Promise<SlpAddressUtxoResult[]>;
getTransactionDetailsWithRetry(txids: string[], retries?: number): Promise<SlpTxnDetailsResult[] | undefined>;
getAddressDetailsWithRetry(address: string, retries?: number): Promise<AddressDetailsResult>;
sendTx(hex: string, slpBurns?: SlpRequiredBurn[], suppressWarnings?: boolean): Promise<string>;
monitorForPayment(paymentAddress: string, fee: number, onPaymentCB: Function): Promise<void>;
processUtxosForSlp(utxos: SlpAddressUtxoResult[]): Promise<SlpBalancesResult>;
getRawTransactions(txids: string[]): Promise<string[]>;
isValidSlpTxid(txid: string): Promise<boolean>;
validateSlpTransactions(txids: string[]): Promise<string[]>;
getNftParentId(tokenIdHex: string): Promise<string>;
}