wowok
Version:
Wowok Blockchain TypeScript API
53 lines (52 loc) • 3.58 kB
TypeScript
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;