UNPKG

wowok

Version:

Wowok Blockchain TypeScript API

53 lines (52 loc) 3.58 kB
import type { Transaction, TransactionObjectArgument } from "../../transactions/index.js"; import type { RewardObject, TxString, CallEnv, PassportObject, PermissionObject, GuardObject, PaymentObject, CoinParam, ReceivedObject, TypedPermissionObject, RewardAddress, BalanceType } from "../common.js"; import type { CallResult } from "./base.js"; import { CallBase } from "./base.js"; import type { GuardSubmissionToFill } from "./guard.js"; import type { RewardGuard } from "../query/object.js"; import type { ReceivedBalanceOrRecently, ReceivedObjectsOrRecently } from "../query/received.js"; export interface CallReward_Data { object: TypedPermissionObject; claim?: string; description?: string; coin_add?: CoinParam; receive?: ReceivedBalanceOrRecently; guard_add?: RewardGuard[]; guard_remove_expired?: boolean; guard_expiration_time?: number | null; owner_receive?: ReceivedObjectsOrRecently; um?: string | null; } export declare class CallReward extends CallBase { data: CallReward_Data; object_address: string | undefined; permission_address: string | undefined; new_permission_description: string | undefined; reward_type: string | undefined; constructor(data: CallReward_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_GUARD_COUNT = 200; export declare const MAX_RECORD_COUNT = 5200; export interface RewardRecord { amount: BalanceType; time: number; } export interface RecipientRecord { guard: string; total: BalanceType; amount: RewardRecord[]; } export type RewardGuardObject = TransactionObjectArgument; export declare function create(tx: Transaction, reward: RewardObject, reward_type: string): RewardAddress; export declare function claim(tx: Transaction, reward: RewardObject, reward_type: string, guard: GuardObject, passport?: PassportObject): TransactionObjectArgument; export declare function newReward(tx: Transaction, reward_type: string, permission: PermissionObject, description: TxString, passport?: PassportObject): RewardObject; export declare function description_set(tx: Transaction, reward: RewardObject, reward_type: string, permission: PermissionObject, description: TxString, passport?: PassportObject): void; export declare function guard_add(tx: Transaction, reward: RewardObject, reward_type: string, permission: PermissionObject, param: RewardGuard, passport?: PassportObject): Promise<void>; export declare function guard_remove_expired(tx: Transaction, reward: RewardObject, reward_type: string, permission: PermissionObject, passport?: PassportObject): void; export declare function coin_add(env: CallEnv, tx: Transaction, reward: RewardObject, reward_type: string, permission: PermissionObject, coin: CoinParam, passport?: PassportObject): Promise<void>; export declare function receive(tx: Transaction, reward: RewardObject, reward_type: string, permission: PermissionObject, received: ReceivedObject, payment: PaymentObject, passport?: PassportObject): TransactionObjectArgument; export declare function guard_expiration_time_add(tx: Transaction, reward: RewardObject, reward_type: string, permission: PermissionObject, time: number | null, passport?: PassportObject): void; export declare function um_set(tx: Transaction, reward: RewardObject, reward_type: string, permission: PermissionObject, um: string | null, passport?: PassportObject): void;