UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

96 lines (95 loc) 4.99 kB
import type { Transaction } from "../../transactions/index.js"; import type { ProgressObject, ProgressAddress, PassportObject, PermissionObject, MachineObject, RepositoryObject, CallEnv } from "../common.js"; import type { ManyAccountOrMark_Address } from "../local/index.js"; import type { ObjectMachine, MachineForward } from "../query/object.js"; import type { CallResult } from "./base.js"; import { CallBase } from "./base.js"; import type { GuardSubmissionToFill } from "./guard.js"; export type ProgressNext = { next_node_name: string; forward: string; }; export interface CallProgress_Data { object: string; task?: string; repository?: { op: "add" | "set"; objects: string[]; } | { op: "remove"; objects: string[]; } | { op: "clear"; }; progress_namedOperator?: { op: "add" | "set" | "remove"; name: string; operators: ManyAccountOrMark_Address; }; operate?: { operation: ProgressNext; hold: boolean; adminUnhold?: boolean; message?: string; }; } export declare class CallProgress extends CallBase { data: CallProgress_Data; object_address: string | undefined; machine: ObjectMachine | undefined; constructor(data: CallProgress_Data); protected prepare(env: CallEnv): Promise<void>; call(env: CallEnv): Promise<CallResult>; operate(env: CallEnv, tx: Transaction, passport?: PassportObject, submission?: GuardSubmissionToFill[]): Promise<void>; } export declare function progressFn(name: string): string; export declare const MAX_CONTEXT_REPOSITORY_COUNT = 30; export declare const MAX_NAMED_OPERATOR_COUNT = 60; export declare const MAX_NAMED_OPERATOR_ADDRESS_COUNT = 80; export interface Holder { forward: string; who?: string; retained_submission: any[]; msg: string; accomplished: boolean; time: number | bigint | string; } export interface Session { next_node: string; forwards: Holder[]; weights: number; threshold: number; } export interface History { node: string; next_node: string; session: Session[]; time: number | bigint | string; } export interface NamedOperator { name: string; operators: string[]; } export interface ProgressEvent { object: string; machine: string; task?: string; node: string; } export declare function newProgress(tx: Transaction, machine: MachineObject, permission: PermissionObject, task: string | null, passport?: PassportObject): ProgressObject; export declare function create(tx: Transaction, progress: ProgressObject): ProgressAddress; export declare function namedOperator_add(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, name: string, operators: string[], passport?: PassportObject): void; export declare function namedOperator_remove(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, name: string, operators: string[], passport?: PassportObject): void; export declare function namedOperator_set(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, name: string, operators: string[], passport?: PassportObject): void; export declare function task_set(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, task: string, passport?: PassportObject): void; export declare function context_repository_add(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, repository: RepositoryObject, passport?: PassportObject): void; export declare function context_repository_remove(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, repositories: string[], passport?: PassportObject): void; export declare function context_repository_clear(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, passport?: PassportObject): void; export declare function hold(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, next_node: string, forward: string, message: string, bHold: boolean, order?: string, passport?: PassportObject): void; export declare function adminUnhold(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, next_node: string, forward: string, message: string, passport?: PassportObject): void; export declare function accomplish(tx: Transaction, progress: ProgressObject, machine: MachineObject, permission: PermissionObject, next_node: string, forward: string, message: string, order?: string, passport?: PassportObject): void; export interface MachineNodeForwardResult { forward?: MachineForward; error?: string; } export declare function getMachineNodeForward(env: CallEnv, machine: string, node: string, next_node: string, forward: string): Promise<MachineNodeForwardResult>;