@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
32 lines (31 loc) • 1.36 kB
TypeScript
import { AbstractStore, type Forceable, type Silentable, type Syncable, type Watchable } from '@broxus/js-core';
import type Web3 from 'web3';
export interface EvmTokenWalletCtorParams {
ownerAddress: string;
tokenAddress: string;
watchDebounceDelay?: number;
}
export interface EvmTokenWalletCreateParams extends EvmTokenWalletCtorParams, Syncable, Watchable {
}
export interface EvmTokenWalletData {
balance?: string | undefined;
ownerAddress: string;
tokenAddress: string;
}
export interface EvmTokenWalletState {
isSyncing?: boolean;
}
export declare class EvmTokenWallet extends AbstractStore<EvmTokenWalletData, EvmTokenWalletState> {
protected readonly _connection: Web3;
protected readonly params: EvmTokenWalletCtorParams;
constructor(_connection: Web3, params: EvmTokenWalletCtorParams);
static create(connection: Web3, params: EvmTokenWalletCreateParams): Promise<EvmTokenWallet>;
sync(options?: Forceable & Silentable): Promise<void>;
watch(): Promise<void>;
unwatch(): Promise<void>;
get balance(): EvmTokenWalletData['balance'];
get ownerAddress(): EvmTokenWalletData['ownerAddress'];
get tokenAddress(): EvmTokenWalletData['tokenAddress'];
get isSyncing(): EvmTokenWalletState['isSyncing'];
protected balanceCheckInterval: ReturnType<typeof setInterval> | undefined;
}