/// import { UnsignedTransaction } from '@airgap/coinlib-core'; import { IAirGapSignedTransaction } from '@airgap/coinlib-core/interfaces/IAirGapSignedTransaction'; import { AirGapTransactionStatus, IAirGapTransaction } from '@airgap/coinlib-core/interfaces/IAirGapTransaction'; import { Network } from '@airgap/coinlib-core/networks'; import { CurrencyUnit, FeeDefaults, ICoinProtocol } from '@airgap/coinlib-core/protocols/ICoinProtocol'; import { ICoinSubProtocol } from '@airgap/coinlib-core/protocols/ICoinSubProtocol'; import { ProtocolSymbols } from '@airgap/coinlib-core/utils/ProtocolSymbols'; import { SignedEthereumTransaction } from '../types/signed-transaction-ethereum'; import { RawEthereumTransaction, RawTypedEthereumTransaction } from '../types/transaction-ethereum'; import { EthereumInfoClient } from './clients/info-clients/InfoClient'; import { EthereumNodeClient } from './clients/node-clients/NodeClient'; import { EthereumCryptoClient } from './EthereumCryptoClient'; import { EthereumProtocolOptions } from './EthereumProtocolOptions'; import { EthereumAddressCursor, EthereumAddressResult, EthereumTransactionCursor, EthereumTransactionResult } from './EthereumTypes'; export declare abstract class BaseEthereumProtocol implements ICoinProtocol { readonly options: EthereumProtocolOptions; symbol: string; name: string; marketSymbol: string; feeSymbol: string; feeDefaults: FeeDefaults; decimals: number; feeDecimals: number; identifier: ProtocolSymbols; readonly MAX_GAS_ESTIMATE: string; units: CurrencyUnit[]; supportsHD: boolean; standardDerivationPath: string; addressIsCaseSensitive: boolean; addressValidationPattern: string; addressPlaceholder: string; network: Network; readonly cryptoClient: EthereumCryptoClient; constructor(options?: EthereumProtocolOptions); getSymbol(): Promise; getName(): Promise; getMarketSymbol(): Promise; getAssetSymbol(): Promise; getFeeSymbol(): Promise; getFeeDefaults(): Promise; getDecimals(): Promise; getFeeDecimals(): Promise; getIdentifier(): Promise; getUnits(): Promise; getSupportsHD(): Promise; getStandardDerivationPath(): Promise; getAddressIsCaseSensitive(): Promise; getAddressValidationPattern(): Promise; getAddressPlaceholder(): Promise; getOptions(): Promise; getBlockExplorerLinkForAddress(address: string): Promise; getBlockExplorerLinkForTxId(txId: string): Promise; getPublicKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getPrivateKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getExtendedPrivateKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getExtendedPublicKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getPublicKeyFromHexSecret(secret: string, derivationPath: string): Promise; getExtendedPublicKeyFromHexSecret(secret: string, derivationPath: string): Promise; getPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise; getExtendedPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise; getAddressFromPublicKey(publicKey: string | Buffer, cursor?: EthereumAddressCursor): Promise; getAddressesFromPublicKey(publicKey: string | Buffer, cursor?: EthereumAddressCursor): Promise; private getPublicKeyFromExtendedPublicKey; getAddressFromExtendedPublicKey(extendedPublicKey: string, visibilityDerivationIndex: number, addressDerivationIndex: number): Promise; getAddressesFromExtendedPublicKey(extendedPublicKey: string, visibilityDerivationIndex: number, addressCount: number, offset: number): Promise; private getPrivateKeyFromExtendedPrivateKey; signWithExtendedPrivateKey(extendedPrivateKey: string, untypedTransaction: RawTypedEthereumTransaction | RawEthereumTransaction, childDerivationPath?: string): Promise; signWithPrivateKey(privateKey: string, transaction: RawEthereumTransaction): Promise; getTransactionDetails(unsignedTx: UnsignedTransaction): Promise; getTransactionDetailsFromSigned(transaction: SignedEthereumTransaction): Promise; getBalanceOfPublicKey(publicKey: string): Promise; getBalanceOfAddresses(addresses: string[]): Promise; getBalanceOfPublicKeyForSubProtocols(publicKey: string, subProtocols: ICoinSubProtocol[]): Promise; getBalanceOfExtendedPublicKey(extendedPublicKey: string, offset?: number): Promise; getAvailableBalanceOfAddresses(addresses: string[]): Promise; estimateMaxTransactionValueFromExtendedPublicKey(extendedPublicKey: string, recipients: string[], fee?: string): Promise; estimateFeeDefaultsFromExtendedPublicKey(extendedPublicKey: string, recipients: string[], values: string[], data?: any): Promise; prepareTransactionFromExtendedPublicKey(extendedPublicKey: string, _offset: number, recipients: string[], values: string[], fee: string, data?: any): Promise; estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string): Promise; estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise; prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string, data?: any): Promise; broadcastTransaction(rawTransaction: string): Promise; getTransactionsFromExtendedPublicKey(extendedPublicKey: string, limit: number, cursor: EthereumTransactionCursor): Promise; getTransactionsFromPublicKey(publicKey: string, limit?: number, cursor?: EthereumTransactionCursor): Promise; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: EthereumTransactionCursor): Promise; signMessage(message: string, keypair: { privateKey: string; }): Promise; verifyMessage(message: string, signature: string, publicKey: string): Promise; encryptAsymmetric(message: string, publicKey: string): Promise; decryptAsymmetric(message: string, keypair: { publicKey: string; privateKey: string; }): Promise; encryptAES(message: string, privateKey: string): Promise; decryptAES(message: string, privateKey: string): Promise; getTransactionStatuses(transactionHashes: string[]): Promise; }