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
TypeScript
/// <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[]>;
}