UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

43 lines (42 loc) 2.58 kB
import type { WowTransactionBlockResponse } from "../../client/index.js"; import { Transaction } from "../../transactions/index.js"; import type { CallEnv, CoinObject, CoinParam, NamedObject, PassportObject, TxAddress } from "../common.js"; import type { ObjectBase, ObjectType } from "../query/object.js"; import type { GuardSubmissionToFill } from "./guard.js"; import type { SubmissionCall } from "./passport.js"; import type { PermissionIndexType } from "./permission.js"; export type ObjectsOp = { op: "set" | "add" | "remove"; objects: string[]; } | { op: "clear"; }; export interface ResponseData extends ObjectBase { change: "created" | "mutated" | string; } export interface CallResponseError { type: "error"; error: string; } export type CallResult = SubmissionCall | WowTransactionBlockResponse | CallResponseError | ResponseData[] | undefined; export declare function isCallResultSubmission(result: CallResult): result is SubmissionCall; export declare function ResponseData(response: CallResult | undefined): ResponseData[]; export declare class CallBase { private newResource; private traceMarkNew; content: ObjectBase | undefined; env_ready: boolean; protected operate(_env: CallEnv, _tx: Transaction, _passport?: PassportObject, _submission?: GuardSubmissionToFill[]): Promise<void>; protected prepare(env: CallEnv): Promise<void>; call(_env: CallEnv): Promise<CallResult>; private env_prepare; call_with_submission(env: CallEnv, info: SubmissionCall, freezePassport?: boolean): Promise<WowTransactionBlockResponse | undefined>; protected check_guard_and_call(env: CallEnv, guards_needed: string[]): Promise<CallResult>; protected check_permission_and_call(env: CallEnv, permission: string, permIndex: PermissionIndexType[], guards_needed: string[], checkOwner?: boolean, checkAdmin?: boolean): Promise<CallResult>; protected check_passport(env: CallEnv, param: SubmissionCall, freezePassport?: boolean): Promise<WowTransactionBlockResponse>; protected exec(env: CallEnv): Promise<WowTransactionBlockResponse>; protected new_with_mark(env: CallEnv, tx: Transaction, type: ObjectType, object: TxAddress, named_new?: NamedObject, innerTags?: string[]): Promise<void>; protected update_content(env: CallEnv, type: ObjectType, object?: string): Promise<void>; protected sign_and_commit(env: CallEnv, tx: Transaction): Promise<WowTransactionBlockResponse>; } export declare function getCoinParam(env: CallEnv, tx: Transaction, coin: CoinParam, coinType: string): Promise<CoinObject>;