UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

80 lines (79 loc) 4.29 kB
import type { Transaction } from "../../transactions/index.js"; import type { DemandObject, DemandAddress, TxString, ObjectResult, PassportObject, PermissionObject, GuardObject, ServiceObject, WithPermissionObject, CallEnv } from "../common.js"; import type { AccountOrMark_Address } from "../local/index.js"; import type { ServiceGuard } from "../query/object.js"; import type { ReceivedObjectsOrRecently } from "../query/received.js"; import type { CallResult } from "./base.js"; import { CallBase } from "./base.js"; import type { GuardSubmissionToFill } from "./guard.js"; export interface DemandPresent { recommend: string; by_guard?: string; service?: string; } export interface ServiceInfo { recommend: string; service: string | undefined; update_time: number; acceptance_score: number | undefined; feedback: string; feedback_time: number; } export interface FeedbackInfo { who: AccountOrMark_Address; acceptance_score?: number; feedback?: string; } export interface CallDemand_Data { object: WithPermissionObject; present?: DemandPresent; description?: string; location?: string; rewards?: { op: "add" | "set"; objects: string[]; } | { op: "remove"; objects: string[]; } | { op: "clear"; }; feedback?: FeedbackInfo[]; guards?: { op: "add" | "set"; guard: ServiceGuard[]; } | { op: "remove"; guard: string[]; } | { op: "clear"; }; owner_receive?: ReceivedObjectsOrRecently; um?: string | null; } export declare class CallDemand extends CallBase { data: CallDemand_Data; object_address: string | undefined; permission_address: string | undefined; new_permission_description: string | undefined; constructor(data: CallDemand_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_REWARD_COUNT = 20; export declare const MAX_GUARD_COUNT = 20; export declare const MAX_FEEDBACK_COUNT = 20; export declare function create(tx: Transaction, demand: DemandObject): DemandAddress; export declare function present(tx: Transaction, demand: DemandObject, recommend: TxString, by_guard?: string, service?: ServiceObject, service_type?: string, passport?: PassportObject): void; export declare function newDemand(tx: Transaction, permission: PermissionObject, description: TxString, passport?: PassportObject): ObjectResult; export declare function description_set(tx: Transaction, demand: DemandObject, permission: PermissionObject, description: TxString, passport?: PassportObject): void; export declare function location_set(tx: Transaction, demand: DemandObject, permission: PermissionObject, location: TxString, passport?: PassportObject): void; export declare function guard_add(tx: Transaction, demand: DemandObject, permission: PermissionObject, guard: GuardObject, service_identifier: number | undefined | null, passport?: PassportObject): void; export declare function guard_remove(tx: Transaction, demand: DemandObject, permission: PermissionObject, guards: string[], passport?: PassportObject): void; export declare function guard_clear(tx: Transaction, demand: DemandObject, permission: PermissionObject, passport?: PassportObject): void; export declare function reward_add(tx: Transaction, demand: DemandObject, permission: PermissionObject, reward: string, reward_type: string, passport?: PassportObject): void; export declare function reward_remove(tx: Transaction, demand: DemandObject, permission: PermissionObject, rewards: string[], passport?: PassportObject): void; export declare function reward_clear(tx: Transaction, demand: DemandObject, permission: PermissionObject, passport?: PassportObject): void; export declare function feedback(tx: Transaction, demand: DemandObject, permission: PermissionObject, who: string, acceptance_score: number | undefined | null, feedback?: string, passport?: PassportObject): void; export declare function um_set(tx: Transaction, demand: DemandObject, permission: PermissionObject, um: string | null, passport?: PassportObject): void;