@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
32 lines (31 loc) • 1.49 kB
TypeScript
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;
}