/// /// import Utils from "./utils"; import type Uploader from "./upload"; import type Fund from "./fund"; import type { DataItemCreateOptions } from "arbundles"; import type Api from "./api"; import type BigNumber from "bignumber.js"; import type { BundlrTransaction } from "./types"; import type { Arbundles, BundlrTransactionCreateOptions, BundlrTransactonCtor, CreateAndUploadOptions, Currency, FundResponse, UploadReceipt, UploadReceiptData, UploadResponse, WithdrawalResponse } from "./types"; import type { Signer } from "arbundles"; import type { Readable } from "stream"; export default abstract class Bundlr { api: Api; utils: Utils; uploader: Uploader; funder: Fund; address: string | undefined; currency: string; currencyConfig: Currency; protected _readyPromise: Promise | undefined; url: URL; arbundles: Arbundles; bundlrTransaction: BundlrTransactonCtor; static VERSION: string; constructor(url: URL, arbundles: Arbundles); get signer(): Signer; withdrawBalance(amount: BigNumber.Value): Promise; /** * Gets the balance for the loaded wallet * @returns balance (in winston) */ getLoadedBalance(): Promise; /** * Gets the balance for the specified address * @param address address to query for * @returns the balance (in winston) */ getBalance(address: string): Promise; /** * Sends amount atomic units to the specified bundler * @param amount amount to send in atomic units * @returns details about the fund transaction */ fund(amount: BigNumber.Value, multiplier?: number): Promise; /** * Calculates the price for [bytes] bytes for the loaded currency and Bundlr node. * @param bytes * @returns */ getPrice(bytes: number): Promise; verifyReceipt(receipt: UploadReceiptData): Promise; /** * Create a new BundlrTransactions (flex currency arbundles dataItem) * @param data * @param opts - dataItemCreateOptions * @returns - a new BundlrTransaction instance */ createTransaction(data: string | Buffer, opts?: BundlrTransactionCreateOptions): BundlrTransaction; /** * Returns the signer for the loaded currency */ getSigner(): Signer; upload(data: string | Buffer | Readable, opts?: CreateAndUploadOptions): Promise; uploadWithReceipt(data: string | Buffer | Readable, opts?: DataItemCreateOptions): Promise; ready(): Promise; get transaction(): { fromRaw(rawTransaction: Uint8Array): BundlrTransaction; }; }