wowok
Version:
Wowok Blockchain TypeScript API
97 lines (96 loc) • 4.75 kB
TypeScript
import type { CoinObject } from "../common.js";
import type { TransactionObjectArgument } from "../../transactions/index.js";
import { Transaction } from "../../transactions/index.js";
import type { ENTRYPOINT } from "../../client/network.js";
import type { CoinBalance, PaginatedCoins, WowTransactionBlockResponse } from "../../client/index.js";
export interface IAccountStorage {
get(): Promise<string | undefined>;
put(data: string): Promise<void>;
clear(): Promise<void>;
}
export declare const DEFAULT_ACCOUNT_NAME = "";
export declare const MAX_MESSENGER_ACCOUNTS = 100;
export type FaucetCoinInfo = {
amount: number;
id: string;
transferTxDigest: string;
};
export interface AccountData {
name?: string;
address: string;
pubkey?: string;
secret?: string;
suspended?: boolean;
createdAt?: number;
updatedAt?: number;
m?: string | null;
}
export interface AccountFilter {
name?: string;
address?: string;
suspended?: boolean;
hasMessenger?: boolean;
m?: string;
createdAt?: {
gte?: number;
lte?: number;
};
updatedAt?: {
gte?: number;
lte?: number;
};
}
export declare class Account {
static _instance: any;
static storage: IAccountStorage | undefined;
setStorage(storage: IAccountStorage): void;
private getStorage;
static Instance(): Account;
private accountData;
gen(name?: string | null | undefined, replaceExistName?: boolean, m?: string | null | undefined): Promise<AccountData>;
default(): Promise<AccountData | undefined>;
get(address_or_name: string | null | undefined, notFoundGenerate?: boolean): Promise<AccountData | undefined>;
get_address(address_or_name: string | null | undefined): Promise<string | undefined>;
get_many_address(address_or_names: (string | null | undefined)[]): Promise<(string | undefined)[]>;
private get_imp;
private name_resolve;
private get_many_imp;
swap_name(name1: string | null | undefined, name2: string | null | undefined): Promise<boolean>;
rename(name_or_address: string | null | undefined, new_name: string): Promise<boolean>;
list(filter?: AccountFilter): Promise<AccountData[]>;
suspend(address_or_name?: string): Promise<boolean>;
suspend_many(address_or_names: string[]): Promise<{
success: string[];
failed: string[];
}>;
resume(address: string, name: string | null | undefined): Promise<boolean>;
faucet(address_or_name: string | null | undefined, network: "testnet" | "devnet" | "localnet"): Promise<FaucetCoinInfo[]>;
sign_and_commit(tx: Transaction, address_or_name?: string, network?: ENTRYPOINT): Promise<WowTransactionBlockResponse | undefined>;
balance: (token_type?: string, address_or_name?: string, network?: ENTRYPOINT) => Promise<CoinBalance | undefined>;
coin: (token_type?: string, cursor?: string | null | undefined, limit?: number | null | undefined, address_or_name?: string, network?: ENTRYPOINT) => Promise<PaginatedCoins | undefined>;
get_coin_object: (txb: Transaction, balance_required: string | bigint | number, token_type?: string, address_or_name?: string, network?: ENTRYPOINT) => Promise<TransactionObjectArgument | undefined>;
get_many_coin_object: (txb: Transaction, balance_required: (string | bigint | number)[], token_type?: string, address_or_name?: string, network?: ENTRYPOINT) => Promise<TransactionObjectArgument>;
refund_coin(txb: Transaction, coin: CoinObject, to_address_or_name?: string): Promise<void>;
transfer(amount: number | string | bigint, token_type?: string, to_address_or_name?: string, from_address_or_name?: string, network?: ENTRYPOINT): Promise<WowTransactionBlockResponse | undefined>;
coinObject_with_balance: (balance_required: string | bigint | number, token_type?: string, address_or_name?: string, network?: ENTRYPOINT) => Promise<string | undefined>;
sign(address_or_name: string | null | undefined, data: string | Uint8Array): Promise<string>;
signData(address_or_name: string | null | undefined, data: string | Uint8Array): Promise<{
signature: string;
publicKey: string;
address: string;
}>;
deriveX25519Identity(address_or_name: string | null | undefined): Promise<{
x25519KeyPair: {
publicKey: Uint8Array;
privateKey: Uint8Array;
};
falcon512KeyPair: {
publicKey: Uint8Array;
privateKey: Uint8Array;
};
registrationId: number;
}>;
set_messenger(address_or_name: string | null | undefined, m: string | null): Promise<boolean>;
list_messenger_accounts(): Promise<AccountData[]>;
count_messenger_accounts(): Promise<number>;
}