UNPKG

@faast/ethereum-payments

Version:

Library to assist in processing ethereum payments, such as deriving addresses and sweeping funds

53 lines (52 loc) 2.55 kB
import Web3 from 'web3'; import { PaymentsUtils, Payport, createUnitConverters, AutoFeeLevels, FeeRate, NetworkType, BalanceResult } from '@faast/payments-common'; import { Logger, Numeric } from '@faast/ts-common'; import { EthereumPaymentsUtilsConfig, EthereumTransactionInfo } from './types'; import { NetworkData } from './NetworkData'; declare type UnitConverters = ReturnType<typeof createUnitConverters>; export declare class EthereumPaymentsUtils implements PaymentsUtils { readonly networkType: NetworkType; readonly coinSymbol: string; readonly coinName: string; readonly coinDecimals: number; logger: Logger; server: string | null; web3: Web3; eth: Web3['eth']; gasStation: NetworkData; constructor(config: EthereumPaymentsUtilsConfig); init(): Promise<void>; destroy(): Promise<void>; toMainDenominationBigNumber: UnitConverters['toMainDenominationBigNumber']; toBaseDenominationBigNumber: UnitConverters['toMainDenominationBigNumber']; toMainDenomination: UnitConverters['toMainDenominationString']; toBaseDenomination: UnitConverters['toBaseDenominationString']; toMainDenominationBigNumberEth: UnitConverters['toMainDenominationBigNumber']; toBaseDenominationBigNumberEth: UnitConverters['toMainDenominationBigNumber']; toMainDenominationEth: UnitConverters['toMainDenominationString']; toBaseDenominationEth: UnitConverters['toBaseDenominationString']; isValidAddress(address: string, options?: { format?: string; }): boolean; standardizeAddress(address: string, options?: { format?: string; }): string | null; isValidExtraId(extraId: unknown): boolean; isValidPayport(payport: Payport): boolean; validatePayport(payport: Payport): void; getPayportValidationMessage(payport: Payport): string | undefined; isValidXprv(xprv: string): boolean; isValidXpub(xpub: string): boolean; isValidPrivateKey(prv: string): boolean; privateKeyToAddress(prv: string): string; private _getPayportValidationMessage; getFeeRateRecommendation(level: AutoFeeLevels): Promise<FeeRate>; _retryDced<T>(fn: () => Promise<T>): Promise<T>; getCurrentBlockNumber(): Promise<number>; isAddressBalanceSweepable(balanceEth: Numeric): boolean; getAddressBalance(address: string): Promise<BalanceResult>; getAddressNextSequenceNumber(address: string): Promise<string>; getAddressUtxos(): Promise<never[]>; getTransactionInfo(txid: string): Promise<EthereumTransactionInfo>; } export {};