@okcontract/sdk
Version:
One-stop-shop permissionless SDK for building any blockchain frontend
37 lines (36 loc) • 1.56 kB
TypeScript
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;