UNPKG

@broxus/js-bridge-essentials

Version:

Bridge JavaScript Essentials library

44 lines (43 loc) 2.05 kB
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; }