UNPKG

@pgchain/blockchain-libs

Version:
46 lines (45 loc) 2.94 kB
import BigNumber from 'bignumber.js'; import { ChainInfo, CoinInfo } from '../types/chain'; import { AddressInfo, AddressValidation, ClientInfo, FeePricePerUnit, PartialTokenInfo, SignedTx, TransactionStatus, TypedMessage, UnsignedTx, UTXO } from '../types/provider'; import { Signer, Verifier } from '../types/secret'; import { BaseClient, BaseProvider, ClientFilter } from './abc'; declare class ProviderController { chainSelector: (chainCode: string) => ChainInfo; private clientsCache; private lastClientCache; constructor(chainSelector: (chainCode: string) => ChainInfo); getClient(chainCode: string, filter?: ClientFilter): Promise<BaseClient>; getProvider(chainCode: string): Promise<BaseProvider>; requireChainImpl(impl: string): any; getInfo(chainCode: string): Promise<ClientInfo>; getAddresses(chainCode: string, address: Array<string>): Promise<Array<AddressInfo | undefined>>; getBalances(chainCode: string, requests: Array<{ address: string; coin: Partial<CoinInfo>; }>): Promise<Array<BigNumber | undefined>>; getTransactionStatuses(chainCode: string, txids: Array<string>): Promise<Array<TransactionStatus | undefined>>; getFeePricePerUnit(chainCode: string): Promise<FeePricePerUnit>; broadcastTransaction(chainCode: string, rawTx: string): Promise<string>; getTokenInfos(chainCode: string, tokenAddresses: Array<string>): Promise<Array<PartialTokenInfo | undefined>>; getUTXOs(chainCode: string, address: Array<string>): Promise<{ [address: string]: Array<UTXO>; }>; buildUnsignedTx(chainCode: string, unsignedTx: UnsignedTx): Promise<UnsignedTx>; pubkeyToAddress(chainCode: string, verifier: Verifier, encoding: string | undefined): Promise<string>; signTransaction(chainCode: string, unsignedTx: UnsignedTx, signers: { [p: string]: Signer; }): Promise<SignedTx>; verifyAddress(chainCode: string, address: string): Promise<AddressValidation>; verifyTokenAddress(chainCode: string, address: string): Promise<AddressValidation>; signMessage(chainCode: string, message: TypedMessage, signer: Signer, address?: string): Promise<string>; verifyMessage(chainCode: string, address: string, message: TypedMessage, signature: string): Promise<boolean>; hardwareGetXpubs(chainCode: string, paths: string[], showOnDevice?: boolean): Promise<{ path: string; xpub: string; }[]>; hardwareGetAddress(chainCode: string, path: string, showOnDevice?: boolean, addressToVerify?: string): Promise<string>; hardwareSignTransaction(chainCode: string, unsignedTx: UnsignedTx, signers: Record<string, string>): Promise<SignedTx>; hardwareSignMessage(chainCode: string, message: TypedMessage, signer: string): Promise<string>; hardwareVerifyMessage(chainCode: string, address: string, message: TypedMessage, signature: string): Promise<boolean>; } export { ProviderController };