UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

78 lines (77 loc) 5.61 kB
import type { Transaction } from "../../transactions/index.js"; import type { TreasuryObject, TreasuryAddress, TxString, ObjectResult, CallEnv, PassportObject, PermissionObject, PaymentObject, ReceivedObject, CoinParam, TypedPermissionObject, NamedObject, BalanceType, PaymentAddress } from "../common.js"; import type { AmountFromDepositGuard, AmountFromWithdrawGuard, PaymentInfo } from "../query/object.js"; import type { CallResult } from "./base.js"; import { CallBase } from "./base.js"; import type { GuardSubmissionToFill } from "./guard.js"; import type { AccountOrMark_Address } from "../local/index.js"; import type { ReceivedBalanceOrRecently, ReceivedObjectsOrRecently } from "../query/received.js"; export interface CallTreasury_Data { object: TypedPermissionObject; description?: string; receive?: ReceivedBalanceOrRecently; deposit?: { coin: CoinParam; by_external_deposit_guard?: string; payment_info: PaymentInfo; namedNewPayment?: NamedObject; }; withdraw?: { amount: { fixed: BalanceType; } | { by_external_withdraw_guard: string; }; recipient: AccountOrMark_Address; payment_info: PaymentInfo; namedNewPayment?: NamedObject; }; external_deposit_guard?: { op: "add" | "set"; guards: AmountFromDepositGuard[]; } | { op: "remove"; guards: string[]; } | { op: "clear"; }; external_withdraw_guard?: { op: "add" | "set"; guards: AmountFromWithdrawGuard[]; } | { op: "remove"; guards: string[]; } | { op: "clear"; }; owner_receive?: ReceivedObjectsOrRecently; um?: string | null; } export declare class CallTreasury extends CallBase { data: CallTreasury_Data; object_address: string | undefined; permission_address: string | undefined; new_permission_description: string | undefined; parameter_type: string | undefined; constructor(data: CallTreasury_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_EXTERNAL_DEPOSIT_GUARD_COUNT = 100; export declare const MAX_EXTERNAL_WITHDRAW_GUARD_COUNT = 200; export declare function newTreasury(tx: Transaction, treasury_type: string, permission: PermissionObject, description: TxString, passport?: PassportObject): ObjectResult; export declare function description_set(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, description: TxString, passport?: PassportObject): void; export declare function deposit(env: CallEnv, tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, coin: CoinParam, payment_info: PaymentInfo, passport?: PassportObject): Promise<PaymentAddress>; export declare function withdraw(env: CallEnv, tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, amount: BalanceType, recipient: AccountOrMark_Address, payment_info: PaymentInfo, passport?: PassportObject): Promise<PaymentAddress>; export declare function external_deposit_guard_add(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, guards: AmountFromDepositGuard[], counts?: number, passport?: PassportObject): Promise<void>; export declare function external_deposit_guard_remove(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, guards: string[], counts?: number, passport?: PassportObject): Promise<void>; export declare function external_deposit_guard_clear(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function external_withdraw_guard_add(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, guards: AmountFromWithdrawGuard[], counts?: number, passport?: PassportObject): Promise<void>; export declare function external_withdraw_guard_remove(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, guards: string[], counts?: number, passport?: PassportObject): Promise<void>; export declare function external_withdraw_guard_clear(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function create(tx: Transaction, treasury: TreasuryObject, treasury_type: string): TreasuryAddress; export declare function external_deposit(env: CallEnv, tx: Transaction, treasury: TreasuryObject, treasury_type: string, passport: PassportObject, external_deposit_guard: string, coin: CoinParam, payment_info: PaymentInfo): Promise<PaymentAddress>; export declare function external_withdraw(env: CallEnv, tx: Transaction, treasury: TreasuryObject, treasury_type: string, passport: PassportObject, external_withdraw_guard: string, recipient: AccountOrMark_Address, payment_info: PaymentInfo): Promise<PaymentAddress>; export declare function receive(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, received: ReceivedObject, payment: PaymentObject, passport?: PassportObject): void; export declare function um_set(tx: Transaction, treasury: TreasuryObject, treasury_type: string, permission: PermissionObject, um: string | null, passport?: PassportObject): void;