@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
44 lines (43 loc) • 2.05 kB
TypeScript
import { AbstractStore, type Forceable, type Silentable, type Syncable, type Watchable } from '@broxus/js-core';
import { type Address } from '@ton/ton';
import { type ProviderRpcClient } from 'everscale-inpage-provider';
import { TonTokenWalletUtils } from '../../models/ton-token-wallet/TonTokenWalletUtils';
export interface TonTokenWalletCtorOptions {
watchDebounceDelay?: number;
}
export type TonTokenWalletCreateConfig = {
address: Address | string;
} | {
ownerAddress: Address | string;
tokenAddress: Address | string;
};
export interface TonTokenWalletCreateOptions extends TonTokenWalletCtorOptions, Syncable, Watchable {
watchCallback?: VoidFunction;
}
export interface TonTokenWalletData {
balance?: string | undefined;
ownerAddress?: Address;
tokenAddress?: Address;
}
export interface TonTokenWalletState {
isSyncing?: boolean;
syncedAt?: number;
}
export declare class TonTokenWallet extends AbstractStore<TonTokenWalletData, TonTokenWalletState> {
protected readonly _connection: ProviderRpcClient;
protected readonly options?: Readonly<TonTokenWalletCtorOptions> | undefined;
static Utils: typeof TonTokenWalletUtils;
private readonly _address;
constructor(_connection: ProviderRpcClient, address: Address | string, options?: Readonly<TonTokenWalletCtorOptions> | undefined);
static create(connection: ProviderRpcClient, config: Readonly<TonTokenWalletCreateConfig>, options?: Readonly<TonTokenWalletCreateOptions>): Promise<TonTokenWallet>;
get address(): Address;
sync(options?: Forceable & Silentable): Promise<void>;
watch(callback?: VoidFunction): Promise<void>;
unwatch(): Promise<void>;
get balance(): TonTokenWalletData['balance'];
get ownerAddress(): TonTokenWalletData['ownerAddress'];
get tokenAddress(): TonTokenWalletData['tokenAddress'];
get isSyncing(): TonTokenWalletState['isSyncing'];
get syncedAt(): TonTokenWalletState['syncedAt'];
protected balanceCheckInterval: ReturnType<typeof setInterval> | undefined;
}