UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

125 lines (124 loc) 6.93 kB
import type { Transaction, TransactionObjectArgument } from "../../transactions/index.js"; import type { MachineObject, MachineAddress, TxString, PassportObject, PermissionObject, RepositoryObject, WithPermissionObject, CallEnv, NamedObject } from "../common.js"; import type { MachineForward, MachineNode, MachineNodePair } from "../query/object.js"; import type { CallResult } from "./base.js"; import { CallBase } from "./base.js"; import type { GuardSubmissionToFill } from "./guard.js"; import type { ManyAccountOrMark_Address } from "../local/index.js"; import type { ReceivedObjectsOrRecently } from "../query/received.js"; import type { ENTRYPOINT } from "../../client/network.js"; export interface CallMachine_Data { object: WithPermissionObject; progress_new?: { task?: string | null; repository?: { op: "add" | "set"; objects: string[]; } | { op: "remove"; objects: string[]; } | { op: "clear"; }; progress_namedOperator?: { op: "add" | "set" | "remove"; name: string; operators: ManyAccountOrMark_Address; }; namedNew?: NamedObject; }; description?: string; repository?: { op: "add" | "set"; objects: string[]; } | { op: "remove"; objects: string[]; } | { op: "clear"; }; node?: { op: "add" | "set"; nodes: MachineNode[]; bReplace?: boolean; } | { op: "remove"; nodes: string[]; } | { op: "clear"; } | { op: "exchange"; node_one: string; node_other: string; } | { op: "rename"; node_name_old: string; node_name_new: string; } | { op: "remove prior node"; pairs: { prior_node_name: string[]; node_name: string; }[]; } | { op: "add forward"; data: { prior_node_name: string; node_name: string; forward: MachineForward[]; threshold?: number | null; }[]; } | { op: "remove forward"; data: { prior_node_name: string; node_name: string; forward_name: string[]; }[]; }; pause?: boolean; publish?: boolean; owner_receive?: ReceivedObjectsOrRecently; um?: string | null; } export declare class CallMachine extends CallBase { data: CallMachine_Data; object_address: string | undefined; permission_address: string | undefined; new_permission_description: string | undefined; constructor(data: CallMachine_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 const MAX_CONSENSUS_REPOSITORIES_COUNT = 200; export declare const MAX_FORWARD_ORDER_COUNT = 20; export declare const MAX_NODE_PAIR_COUNT = 40; export declare const MAX_NODE_COUNT = 200; export declare const THRESHOLD_DEFAULT = 0; export type ForwardParam = TransactionObjectArgument; export type NodePairParam = TransactionObjectArgument; export type NodeParam = TransactionObjectArgument; export declare function init_node_name(): string; export declare function forward(tx: Transaction, param: MachineForward): Promise<ForwardParam>; export declare function nodepair(tx: Transaction, prev_node: TxString, param: MachineNodePair): Promise<NodePairParam>; export declare function node(tx: Transaction, param: MachineNode): Promise<NodeParam>; export declare function create(tx: Transaction, machine: MachineObject): MachineAddress; export declare function newMachine(tx: Transaction, permission: PermissionObject, description: TxString, passport?: PassportObject): MachineObject; export declare function description_set(tx: Transaction, machine: MachineObject, permission: PermissionObject, description: TxString, passport?: PassportObject): void; export declare function node_add(tx: Transaction, machine: MachineObject, permission: PermissionObject, node: NodeParam[], bCompleteReplace: boolean, passport?: PassportObject): void; export declare function um_set(tx: Transaction, machine: MachineObject, permission: PermissionObject, um: string | null, passport?: PassportObject): void; export declare function node_remove(tx: Transaction, machine: MachineObject, permission: PermissionObject, node: string[], passport?: PassportObject): void; export declare function node_rename(tx: Transaction, machine: MachineObject, permission: PermissionObject, node_name: string, node_new_name: string, passport?: PassportObject): void; export declare function node_exchange_name(tx: Transaction, machine: MachineObject, permission: PermissionObject, node_one: string, node_other: string, passport?: PassportObject): void; export declare function node_clear(tx: Transaction, machine: MachineObject, permission: PermissionObject, passport?: PassportObject): void; export declare function publish(tx: Transaction, machine: MachineObject, permission: PermissionObject, passport?: PassportObject): void; export declare function pause(tx: Transaction, machine: MachineObject, permission: PermissionObject, bPaused: boolean, passport?: PassportObject): void; export declare function consensus_repositories_add(tx: Transaction, machine: MachineObject, permission: PermissionObject, repository: RepositoryObject, passport?: PassportObject): void; export declare function consensus_repositories_remove(tx: Transaction, machine: MachineObject, permission: PermissionObject, repositories: string[], passport?: PassportObject): void; export declare function consensus_repositories_clear(tx: Transaction, machine: MachineObject, permission: PermissionObject, passport?: PassportObject): void; export declare function forwards_add(tx: Transaction, machine: MachineObject, permission: PermissionObject, node_name: string, next_node_name: string, forwards: ForwardParam[], threshold: number | null, passport?: PassportObject): Promise<void>; export declare function forwards_remove(tx: Transaction, machine: MachineObject, permission: PermissionObject, node_name: string, next_node_name: string, forwards: string[], threshold: number | null, passport?: PassportObject): void; export declare function prev_nodes_remove(tx: Transaction, machine: MachineObject, permission: PermissionObject, node_name: string, prev_node_names: string[], passport?: PassportObject): void; export declare const machineNode2file: (machine: string, file_path: string, format?: "json" | "markdown", network?: ENTRYPOINT) => Promise<void>; export declare function prev_nodes_remove_with_passport(tx: Transaction, machine: MachineObject, permission: PermissionObject, passport: PassportObject, node_name: string, prev_node_names: string[]): void;