UNPKG

@okcontract/sdk

Version:

One-stop-shop permissionless SDK for building any blockchain frontend

37 lines (36 loc) 1.56 kB
import { type ABI, type ABIExtra, type ABIExtraQueryType, type OKToken, type OKWidgetStep, type OKWidgetStepType, type SmartContract } from "@okcontract/coredata"; import type { AnyCell, SheetProxy } from "@okcontract/cells"; import type { OKCore } from "./coreExecution"; /** * abixOrId accepts an ABI reference without abix: * @param id * @returns * @todo: We should probably remove this and ensure we always use abix: */ export declare const abixOrId: (id: ABIExtraQueryType | string) => ABIExtraQueryType; /** * getABIX returns an ABIExtra * @param id * @returns * @todo do we want to return an empty ABIExtra if not found? */ export declare const getABIX: (core: OKCore, id: ABIExtraQueryType | string) => Promise<ABIExtra>; /** * getABIXFromRefs builds the ABIExtra from the reference list. * @param xr * @returns * @todo */ export declare const getABIXFromRefs: (core: OKCore, xr: ABIExtraQueryType[]) => Promise<ABIExtra>; /** * getMergedABIX reconstructs a merged ABIx from the data (contract or token) and ABI. */ export declare const getMergedABIX: <Data extends SmartContract | OKToken>(core: OKCore, proxy: SheetProxy, abi: AnyCell<ABI>, data: AnyCell<Data>) => import("@okcontract/cells").MapCell<ABIExtra, false>; /** * mergeOKStepInABIX merges okstep ABIMethod with ABIExtra methods * NB: okstep overwrites any existing methods of ABIExtra * @param okstep * @param abix * @returns */ export declare const mergeOKStepInABIX: (okstep: Partial<OKWidgetStep<OKWidgetStepType>>, abix: ABIExtra, req_inputs?: string[]) => ABIExtra;