UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

187 lines (186 loc) 12 kB
import type { Transaction, TransactionObjectArgument } from "../../transactions/index.js"; import type { ServiceObject, ServiceAddress, TxString, ObjectResult, CallEnv, PassportObject, PermissionObject, MachineObject, ArbitrationObject, OrderObject, RewardObject, RepositoryObject, DiscountObject, BalanceType, GuardObject, PaymentObject, ReceivedObject, PaymentInfoObject, CoinParam, TypedPermissionObject, NamedObject, ProgressObject, AllocationAddress } from "../common.js"; import type { Allocators, DiscountType } from "../query/object.js"; import type { AllocatorsType } from "./allocation.js"; import type { CallResult } from "./base.js"; import { CallBase } from "./base.js"; import type { GuardSubmissionToFill } from "./guard.js"; import type { AccountOrMark_Address, ManyAccountOrMark_Address } from "../local/index.js"; import type { ReceivedBalanceOrRecently, ReceivedObjectsOrRecently } from "../query/received.js"; export declare const NAMED_OPERATOR_ORDER_PAYER = ""; export interface CallService_Data { object: TypedPermissionObject; order_new?: { buy: Buy; agents?: ManyAccountOrMark_Address; order_required_info?: string | null; transfer?: AccountOrMark_Address; namedNewOrder?: NamedObject; namedNewAllocation?: NamedObject; namedNewProgress?: NamedObject; }; description?: string; location?: string; sales?: { op: "add" | "set"; sales: ServiceSale[]; } | { op: "remove"; sales_name: string[]; } | { op: "clear"; }; repositories?: { op: "add" | "set"; objects: string[]; } | { op: "remove"; objects: string[]; } | { op: "clear"; }; rewards?: { op: "add" | "set"; objects: string[]; } | { op: "remove"; objects: string[]; } | { op: "clear"; }; arbitrations?: { op: "add" | "set"; objects: string[]; } | { op: "remove"; objects: string[]; } | { op: "clear"; }; machine?: string | null; discount?: Discount; discount_destroy?: string[]; customer_required?: string[]; order_allocators?: Allocators | null; buy_guard?: string | null; compensation_fund_add?: CoinParam; compensation_locked_time_add?: number; compensation_fund_receive?: ReceivedBalanceOrRecently; owner_receive?: ReceivedObjectsOrRecently; pause?: boolean; publish?: boolean; um?: string | null; } export declare class CallService extends CallBase { data: CallService_Data; object_address: string | undefined; permission_address: string | undefined; new_permission_description: string | undefined; parameter_type: string | undefined; constructor(data: CallService_Data); protected prepare(env: CallEnv): Promise<void>; call(env: CallEnv): Promise<CallResult>; operate(env: CallEnv, tx: Transaction, passport?: PassportObject, submission?: GuardSubmissionToFill[]): Promise<void>; private checkPublished; private checkNotPublished; private checkNotPaused; private order_allowed; } export declare const MAX_SALE_COUNT = 50; export declare const MAX_REPOSITORY_COUNT = 100; export declare const MAX_ARBITRATION_COUNT = 20; export declare const MAX_REWARD_COUNT = 20; export declare const MAX_CUSTOMER_REQUIRED_INFO_COUNT = 10; export declare const MAX_PUBKEY_LENGTH = 1024; export declare const MAX_DISCOUNT_COUNT_ONCE = 1000; export declare const MAX_DISCOUNT_RECEIVER_ONCE = 1000; export declare const MAX_DISCOUNT_TOTAL_COUNT = 20000; export declare const MAX_REQUIRED_INFO_SIZE = 20; export declare const DEFAULT_COMPENSATION_LOCK_DURATION = 2592000000; export declare const DISCOUNT_TYPE_RATES = 0; export declare const DISCOUNT_TYPE_MINUS = 1; export interface ServiceSale { name: string; price: BalanceType; stock: BalanceType; suspension: boolean; wip: string; wip_hash: string; } export interface ServiceBuyItem { name: string; stock: BalanceType; wip_hash: string; } export interface CompensationClaim { service: string; service_type: string; arbitration_object: ArbitrationObject; arbitration_type: string; order: OrderObject; arb: string; } export interface Buy { items: ServiceBuyItem[]; total_pay: CoinParam; discount?: string; payment_remark?: string; payment_index?: number; } export interface Discount { name: string; discount_type: DiscountType; discount_value: BalanceType; benchmark?: number | bigint | string; time_ms_start?: number; time_ms_end: number; count: number; recipient: ManyAccountOrMark_Address | string[]; transferable: boolean; } export type ServiceSaleObject = TransactionObjectArgument; export type ServiceRequiredObject = TransactionObjectArgument; export type ServiceQuoteObject = TransactionObjectArgument; export declare function discount_send(tx: Transaction, discount: DiscountObject[], recipient: string): void; export declare function discount_destroy(tx: Transaction, discount: DiscountObject[]): void; interface BuyResult { order: OrderObject; progress?: ProgressObject; allocation?: AllocationAddress; } export declare const buy: (env: CallEnv, tx: Transaction, service: ServiceObject, service_type: string, machine: MachineObject | undefined | null, buy: Buy, passport?: PassportObject) => Promise<BuyResult | undefined>; export declare function newService(tx: Transaction, service_type: string, permission: PermissionObject, description: TxString, passport?: PassportObject): ObjectResult; export declare function description_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, description: TxString, passport?: PassportObject): void; export declare function um_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, um: string | null, passport?: PassportObject): void; export declare function location_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, location: TxString, passport?: PassportObject): void; export declare function create(tx: Transaction, service: ServiceObject, service_type: string): ServiceAddress; export declare function sales_add(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sales: ServiceSale[], passport?: PassportObject): void; export declare function sales_remove(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sales_name: string[], passport?: PassportObject): void; export declare function sales_clear(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function sales_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sales: ServiceSale[], passport?: PassportObject): void; export declare function price_add(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sale_name: TxString, price_add: BalanceType, passport?: PassportObject): void; export declare function price_reduce(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sale_name: TxString, price_reduce: BalanceType, passport?: PassportObject): void; export declare function stock_add(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sale_name: TxString, stock_add: BalanceType, passport?: PassportObject): void; export declare function stock_reduce(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sale_name: TxString, stock_reduce: BalanceType, passport?: PassportObject): void; export declare function sale_suspension(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, sale_name: TxString, suspension: boolean, passport?: PassportObject): void; export declare function repository_add(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, repository: RepositoryObject, passport?: PassportObject): void; export declare function repository_remove(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, repositories: string[], passport?: PassportObject): void; export declare function repository_clear(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function buy_guard_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, guard: GuardObject | null, passport?: PassportObject): void; export declare function machine_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, machine: MachineObject | null, passport?: PassportObject): void; export declare function publish(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function pause(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, bPaused: boolean, passport?: PassportObject): void; export declare function customer_required_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, required_info: string[], passport?: PassportObject): void; export declare function arbitrations_add(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, arbitration: ArbitrationObject, arbitration_type: string, passport?: PassportObject): void; export declare function arbitrations_remove(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, arbitrations: string[], passport?: PassportObject): void; export declare function arbitration_clear(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function compensation_fund_add(env: CallEnv, tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, coin: CoinParam, passport?: PassportObject): Promise<void>; export declare function compensation_lock_duration_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, duration_ms: number | string | bigint, passport?: PassportObject): void; export declare function order_allocators_set(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, allocators: AllocatorsType | null, passport?: PassportObject): void; export declare function reward_add(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, reward: RewardObject, reward_type: string, passport?: PassportObject): void; export declare function reward_remove(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, rewards: string[], passport?: PassportObject): void; export declare function reward_clear(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function compensation_fund_receive(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, received_object: ReceivedObject, payment?: PaymentObject, passport?: PassportObject): void; export declare function compensation_fund_withdraw(tx: Transaction, service: ServiceObject, service_type: string, payment_info: PaymentInfoObject, receipt: string, permission: PermissionObject, passport?: PassportObject): void; export declare function discount(tx: Transaction, service: ServiceObject, service_type: string, permission: PermissionObject, discount: Discount, passport?: PassportObject): Promise<void>; export {};