UNPKG

@broxus/js-bridge-essentials

Version:

Bridge JavaScript Essentials library

32 lines (31 loc) 1.49 kB
import { AbstractStore, type Forceable, type Silentable, type Syncable, type Watchable } from '@broxus/js-core'; import { type Connection, type PublicKey } from '@solana/web3.js'; export interface SolanaTokenWalletCtorParams { ownerAddress: PublicKey | string; tokenAddress: PublicKey | string; watchDebounceDelay?: number; } export interface SolanaTokenWalletCreateParams extends SolanaTokenWalletCtorParams, Syncable, Watchable { } export interface SolanaTokenWalletData { balance?: string | undefined; ownerAddress: PublicKey; tokenAddress: PublicKey; } export interface SolanaTokenWalletState { isSyncing?: boolean; } export declare class SolanaTokenWallet extends AbstractStore<SolanaTokenWalletData, SolanaTokenWalletState> { protected readonly _connection: Connection; protected readonly params: SolanaTokenWalletCtorParams; constructor(_connection: Connection, params: SolanaTokenWalletCtorParams); static create(connection: Connection, params: SolanaTokenWalletCreateParams): Promise<SolanaTokenWallet>; sync(options?: Forceable & Silentable): Promise<void>; watch(): Promise<void>; unwatch(): Promise<void>; get balance(): SolanaTokenWalletData['balance']; get ownerAddress(): SolanaTokenWalletData['ownerAddress']; get tokenAddress(): SolanaTokenWalletData['tokenAddress']; get isSyncing(): SolanaTokenWalletState['isSyncing']; protected balanceCheckInterval: ReturnType<typeof setInterval> | undefined; }