UNPKG

@harmoniclabs/blockfrost-pluts

Version:

@blockfrost/blockfrost-js extension based on plu-ts types

87 lines (86 loc) 3.64 kB
import type { CanBeData, GenesisInfos, ISubmitTx, ITxRunnerProvider, IGetProtocolParameters } from "@harmoniclabs/buildooor"; import { Hash32, Address, Value, Script, ProtocolParameters, ITxOutRef, IUTxO, TxOutRefStr, AddressStr, Hash28, Tx, UTxO } from "@harmoniclabs/buildooor"; import { BlockfrostOptions } from "./BlockfrostOptions.js"; import { AddressInfos } from "./types/AddressInfos.js"; import { OgmiosRdmrExUnits } from "./utils/evaluatePlutusCosts.js"; import { BlockInfos } from "./types/BlockInfos.js"; type CanResolveToUTxO = IUTxO | ITxOutRef | TxOutRefStr; export type PaginationOptions = { count?: number; page?: number; order?: 'asc' | 'desc'; }; export declare const defaultPaginationOpts: PaginationOptions; export declare function paginationOptsToStr({ count, page, order }: PaginationOptions): string; export declare class BlockfrostPluts implements ITxRunnerProvider, ISubmitTx, IGetProtocolParameters { readonly network: "mainnet" | "preview" | "preprod" | "sanchonet"; readonly url: string; readonly projectId: string; constructor({ projectId, customBackend, network }: BlockfrostOptions); /** @since 0.1.4 */ submitTx(tx: string | Tx): Promise<string>; /** @since 0.1.13 */ evaluatePlutusCosts(tx: string | Tx): Promise<OgmiosRdmrExUnits[]>; get(url: string): Promise<any>; /** @since 0.1.12 */ getChainTip(): Promise<BlockInfos>; /** @since 0.1.3 */ getGenesisInfos(): Promise<GenesisInfos>; /** @since 0.1.1 */ epochsParameters(epoch_no: number): Promise<ProtocolParameters>; /** @since 0.1.1 */ epochsLatestParameters(): Promise<ProtocolParameters>; /** @since 0.1.0 */ getProtocolParameters(): Promise<ProtocolParameters>; /** @since 0.1.0 */ resolveUtxos(utxos: CanResolveToUTxO[]): Promise<UTxO[]>; /** @since 0.1.0 */ resolveDatumHashes(hashes: Hash32[]): Promise<{ hash: string; datum: CanBeData; }[]>; /** @since 0.1.1 */ addressesInfos(address: AddressStr | Address): Promise<AddressInfos>; /** @since 0.1.1 */ addressInfos(address: AddressStr | Address): Promise<AddressInfos>; /** @since 0.1.1 */ addressTotalAmount(address: AddressStr | Address): Promise<Value>; addressTxs(addr: AddressStr | Address): Promise<Hash32[]>; /** @since 0.1.0 */ addressesUtxos(address: AddressStr | Address, pagination?: PaginationOptions): Promise<UTxO[]>; getUtxos(address: AddressStr | Address, pagination?: PaginationOptions): Promise<UTxO[]>; /** @since 0.3.0 */ private _addrUtxoQuery; /** @since 0.3.0 */ addressAssetUtxos(address: AddressStr | Address, assetUnit: string, pagination?: PaginationOptions): Promise<UTxO[]>; /** * @since 0.4.1 **/ assetAddresses(assetUnit: string, pagination?: PaginationOptions): Promise<AddrStrAndQuantity[]>; /** * @since 0.4.1 **/ addressesWithAsset(assetUnit: string, pagination?: PaginationOptions): Promise<AddrStrAndQuantity[]>; /** * @since 0.4.1 **/ private _addressesWithAssetQuery; /** * @since 0.1.0 * * @version 0.3.0 adds default pagination and full query on missing pagination **/ addressUtxos(address: AddressStr | Address, pagination?: PaginationOptions): Promise<UTxO[]>; /** @since 0.1.0 */ scriptsCbor(hash: string | Hash28): Promise<Script>; /** * @since 0.1.2 * @version 0.3.2 adds support for plutus v3 **/ resolveScriptHash(hash: string | Hash28): Promise<Script>; } export interface AddrStrAndQuantity { address: AddressStr; quantity: `${bigint}`; } export {};