wowok
Version:
Wowok Blockchain TypeScript API
43 lines (42 loc) • 2.58 kB
TypeScript
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>;