UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

31 lines (30 loc) 2.34 kB
/// <reference types="node" /> import { EthereumTransactionResult, EthereumTransactionCursor } from './../EthereumTypes'; import { IAirGapSignedTransaction } from '../../../interfaces/IAirGapSignedTransaction'; import { IAirGapTransaction } from '../../../interfaces/IAirGapTransaction'; import { SignedEthereumTransaction } from '../../../serializer/schemas/definitions/signed-transaction-ethereum'; import { UnsignedTransaction } from '../../../serializer/schemas/definitions/unsigned-transaction'; import { RawEthereumTransaction } from '../../../serializer/types'; import { FeeDefaults } from '../../ICoinProtocol'; import { ICoinSubProtocol, SubProtocolType } from '../../ICoinSubProtocol'; import { BaseEthereumProtocol } from '../BaseEthereumProtocol'; import { EtherscanInfoClient } from '../clients/info-clients/EtherscanInfoClient'; import { AirGapNodeClient } from '../clients/node-clients/AirGapNodeClient'; import { EthereumERC20ProtocolOptions } from '../EthereumProtocolOptions'; export declare class GenericERC20 extends BaseEthereumProtocol<AirGapNodeClient, EtherscanInfoClient> implements ICoinSubProtocol { readonly options: EthereumERC20ProtocolOptions; isSubProtocol: boolean; subProtocolType: SubProtocolType; readonly contractAddress: string; constructor(options: EthereumERC20ProtocolOptions); getBalanceOfPublicKey(publicKey: string): Promise<string>; getBalanceOfAddresses(addresses: string[]): Promise<string>; signWithPrivateKey(privateKey: Buffer, transaction: RawEthereumTransaction): Promise<IAirGapSignedTransaction>; private estimateGas; estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string): Promise<string>; estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise<FeeDefaults>; prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string): Promise<RawEthereumTransaction>; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: EthereumTransactionCursor): Promise<EthereumTransactionResult>; getTransactionDetailsFromSigned(signedTx: SignedEthereumTransaction): Promise<IAirGapTransaction[]>; getTransactionDetails(unsignedTx: UnsignedTransaction): Promise<IAirGapTransaction[]>; }