UNPKG

@qso-soft/shared

Version:

Shared library for QSO-soft

28 lines (27 loc) 1.27 kB
import { Chain, FallbackTransport, Hex, HttpTransport, PublicClient, TransactionReceipt } from 'viem'; import { LoggerType } from '../logger'; import { Balance, Networks, NumberRange, TokenContract } from '../types'; import { WalletClient } from './common'; export declare class DefaultClient { privateKey: Hex; walletAddress: Hex; rpcs: string[]; publicClient: PublicClient; walletClient: WalletClient; chainData: Chain; logger: LoggerType; network: Networks; currentRpc: string; explorerLink: string; constructor(privateKey: string, chainData: Chain, logger: LoggerType, network: Networks); getTransport(rpc: string, index?: number): HttpTransport; getFallbackTransport(): FallbackTransport; private getPublicClient; private getWalletClient; getNativeBalance(): Promise<Balance>; getBalanceByContract(contractInfo: TokenContract): Promise<Balance>; getSymbolByContract(contractInfo: TokenContract): Promise<string>; approve(tokenContract: Hex, projectContract: Hex, amount: bigint, gweiRange?: NumberRange): Promise<void>; waitTxReceipt(txHash: Hex): Promise<TransactionReceipt>; } export type DefaultClientClass = new (decryptedPrivKey: string, logger: LoggerType) => DefaultClient;