wowok
Version:
Wowok Blockchain TypeScript API
125 lines (124 loc) • 6.93 kB
TypeScript
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;