wowok
Version:
Wowok Blockchain TypeScript API
80 lines (79 loc) • 4.29 kB
TypeScript
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;