wowok
Version:
Create, collaborate, and transact on your own terms with the AI-driven web3 collaboration protocol.
138 lines • 7.68 kB
TypeScript
import { GuardObject, PassportObject, PermissionObject, RepositoryObject, MachineObject, ServiceAddress, ServiceObject, DiscountObject, OrderObject, OrderAddress, CoinObject, TxbObject, TreasuryObject, PaymentAddress, ArbObject, ArbitrationObject, ProgressObject, ProgressAddress } from './protocol';
import { Transaction as TransactionBlock } from '@mysten/sui/transactions';
import { SuiObjectData } from '@mysten/sui/client';
export type Service_Guard_Percent = {
guard: GuardObject;
percent: number;
};
export type Service_Sale = {
item: string;
price: string | number | bigint;
stock: string | number | bigint;
endpoint?: string | null;
};
export declare enum Service_Discount_Type {
ratio = 0,// -off%
minus = 1
}
export type Service_Discount = {
name: string;
type: Service_Discount_Type;
off: number;
duration_minutes: number;
time_start?: number;
price_greater?: bigint | string | number;
};
export type Service_Buy_RequiredInfo = {
pubkey: string;
customer_info: string[];
};
export type Customer_RequiredInfo = {
customer_pubkey: string;
customer_info_crypt: string;
};
export declare enum BuyRequiredEnum {
address = "address",
phone = "phone",
name = "name",
postcode = "postcode"
}
export type Service_Buy = {
item: string;
max_price: string | number | bigint;
count: string | number | bigint;
};
export type DicountDispatch = {
receiver: string;
count: number;
discount: Service_Discount;
};
export interface WithdrawPayee {
withdraw_guard: GuardObject;
treasury: TreasuryObject;
index: bigint | number | string;
remark: string;
for_object?: string;
for_guard?: GuardObject;
}
export interface BuyResult {
order: OrderAddress;
progress?: ProgressAddress;
}
export interface OrderResult {
order: OrderObject;
progress?: ProgressObject;
}
export type handleDiscountObject = (owner: string, objects: (SuiObjectData | null | undefined)[]) => void;
export declare class Service {
protected pay_token_type: string;
protected permission: PermissionObject;
protected object: TxbObject;
protected txb: TransactionBlock;
get_pay_type(): string;
get_object(): TxbObject;
private constructor();
static From(txb: TransactionBlock, token_type: string, permission: PermissionObject, object: TxbObject): Service;
static New(txb: TransactionBlock, token_type: string, permission: PermissionObject, description: string, payee_treasury: TreasuryObject, passport?: PassportObject): Service;
launch(): ServiceAddress;
set_description(description: string, passport?: PassportObject): void;
set_price(item: string, price: bigint, bNotFoundAssert?: boolean, passport?: PassportObject): void;
set_stock(item: string, stock: bigint, bNotFoundAssert?: boolean, passport?: PassportObject): void;
add_stock(item: string, stock_add: bigint, bNotFoundAssert?: boolean, passport?: PassportObject): void;
reduce_stock(item: string, stock_reduce: bigint, bNotFoundAssert?: boolean, passport?: PassportObject): void;
set_sale_endpoint(item: string, endpoint?: string | null, bNotFoundAssert?: boolean, passport?: PassportObject): void;
set_payee(payee: TreasuryObject, passport?: PassportObject): void;
add_repository(repository: RepositoryObject, passport?: PassportObject): void;
remove_repository(repository_address: string[], removeall?: boolean, passport?: PassportObject): void;
add_arbitration(arbitraion: ArbitrationObject, arbitraion_token_type: string, passport?: PassportObject): void;
remove_arbitration(address: string[], removeall?: boolean, passport?: PassportObject): void;
add_withdraw_guards(guards: Service_Guard_Percent[], passport?: PassportObject): void;
remove_withdraw_guards(guard_address: string[], removeall?: boolean, passport?: PassportObject): void;
add_refund_guards(guards: Service_Guard_Percent[], passport?: PassportObject): void;
remove_refund_guards(guard_address: string[], removeall?: boolean, passport?: PassportObject): void;
is_valid_sale(sales: Service_Sale[]): boolean;
add_sales(sales: Service_Sale[], bExistAssert?: boolean, passport?: PassportObject): void;
remove_sales(sales: string[], passport?: PassportObject): void;
discount_transfer(discount_dispatch: DicountDispatch[], passport?: PassportObject): void;
withdraw(order: OrderObject, param: WithdrawPayee, passport: PassportObject): PaymentAddress;
set_buy_guard(guard?: GuardObject, passport?: PassportObject): void;
set_machine(machine?: MachineObject, passport?: PassportObject): void;
set_endpoint(endpoint?: string, passport?: PassportObject): void;
publish(passport?: PassportObject): void;
clone(new_token_type?: string, bLaunch?: boolean, passport?: PassportObject): ServiceObject | ServiceAddress;
set_customer_required(pubkey: string, customer_required: (BuyRequiredEnum | string)[], passport?: PassportObject): void;
remove_customer_required(passport?: PassportObject): void;
change_required_pubkey(pubkey: string, passport?: PassportObject): void;
pause(pause: boolean, passport?: PassportObject): void;
refund_withArb(order: OrderObject, arb: ArbObject, arb_type: string): void;
refund(order: OrderObject, refund_guard?: GuardObject, passport?: PassportObject): void;
update_order_required_info(order: OrderObject, customer_info_crypto: Customer_RequiredInfo): void;
order(buy_items: Service_Buy[], coin: CoinObject, discount?: DiscountObject, machine?: MachineObject, customer_info_crypto?: Customer_RequiredInfo, passport?: PassportObject): OrderResult;
order_launch(order: OrderResult): BuyResult;
buy(buy_items: Service_Buy[], coin: CoinObject, discount?: DiscountObject, machine?: MachineObject, customer_info_crypto?: Customer_RequiredInfo, passport?: PassportObject): BuyResult;
order_bind_machine(order: OrderObject, machine: MachineObject): ProgressObject;
add_treasury(treasury_token_type: string, treasury: TreasuryObject, passport?: PassportObject): void;
remove_treasury(treasury: string[], removeall?: boolean, passport?: PassportObject): void;
change_permission(new_permission: PermissionObject): void;
set_order_agent(order: OrderObject, agent: string[], orderProgress?: ProgressObject): void;
change_order_payer(order: OrderObject, new_addr: string, orderProgress?: ProgressObject): void;
static MAX_DISCOUNT_COUNT_ONCE: number;
static MAX_DISCOUNT_RECEIVER_COUNT: number;
static MAX_GUARD_COUNT: number;
static MAX_REPOSITORY_COUNT: number;
static MAX_ITEM_NAME_LENGTH: number;
static MAX_TREASURY_COUNT: number;
static MAX_ORDER_AGENT_COUNT: number;
static MAX_ORDER_ARBS_COUNT: number;
static MAX_ARBITRATION_COUNT: number;
static MAX_REQUIRES_COUNT: number;
static MAX_PUBKEY_SIZE: number;
static IsValidItemName(name: string): boolean;
static parseObjectType: (chain_type: string | undefined | null) => string;
static parseOrderObjectType: (chain_type: string | undefined | null) => string;
static endpoint: (service_endpoint: string, item_endpoint: string, item_name: string) => string | undefined;
static DiscountObjects: (owner: string, handleDiscountObject: handleDiscountObject) => void;
static SetOrderAgent: (txb: TransactionBlock, order_token_type: string, order: OrderObject, agent: string[], order_progress?: ProgressObject) => void;
static ChangeOrderPayer: (txb: TransactionBlock, order_token_type: string, order: OrderObject, new_addr: string, order_progress?: ProgressObject) => void;
}
//# sourceMappingURL=service.d.ts.map