UNPKG

airgap-coin-lib

Version:

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

83 lines (82 loc) 4.77 kB
/// <reference types="node" /> import { AeternityTransactionResult, AeternityTransactionCursor } from './AeternityTypes'; import { IAirGapSignedTransaction } from '../../interfaces/IAirGapSignedTransaction'; import { AirGapTransactionStatus, IAirGapTransaction } from '../../interfaces/IAirGapTransaction'; import { SignedAeternityTransaction } from '../../serializer/schemas/definitions/signed-transaction-aeternity'; import { UnsignedAeternityTransaction } from '../../serializer/schemas/definitions/unsigned-transaction-aeternity'; import { RawAeternityTransaction } from '../../serializer/types'; import { ProtocolSymbols } from '../../utils/ProtocolSymbols'; import { CurrencyUnit, FeeDefaults, ICoinProtocol } from '../ICoinProtocol'; import { NonExtendedProtocol } from '../NonExtendedProtocol'; import { AeternityProtocolOptions } from './AeternityProtocolOptions'; import { ICoinSubProtocol } from '../ICoinSubProtocol'; export declare class AeternityProtocol extends NonExtendedProtocol implements ICoinProtocol { readonly options: AeternityProtocolOptions; symbol: string; name: string; marketSymbol: string; feeSymbol: string; decimals: number; feeDecimals: number; identifier: ProtocolSymbols; feeDefaults: { low: string; medium: string; high: string; }; units: CurrencyUnit[]; supportsHD: boolean; standardDerivationPath: string; addressIsCaseSensitive: boolean; addressValidationPattern: string; addressPlaceholder: string; defaultNetworkId: string; private readonly feesURL; constructor(options?: AeternityProtocolOptions); getBlockExplorerLinkForAddress(address: string): Promise<string>; getBlockExplorerLinkForTxId(txId: string): Promise<string>; getPublicKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise<string>; getPrivateKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise<Buffer>; /** * Returns the PublicKey as String, derived from a supplied hex-string * @param secret HEX-Secret from BIP39 * @param derivationPath DerivationPath for Key */ getPublicKeyFromHexSecret(secret: string, derivationPath: string): Promise<string>; /** * Returns the PrivateKey as Buffer, derived from a supplied hex-string * @param secret HEX-Secret from BIP39 * @param derivationPath DerivationPath for Key */ getPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise<Buffer>; getAddressFromPublicKey(publicKey: string): Promise<string>; getAddressesFromPublicKey(publicKey: string): Promise<string[]>; getTransactionsFromPublicKey(publicKey: string, limit: number, cursor?: AeternityTransactionCursor): Promise<AeternityTransactionResult>; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: AeternityTransactionCursor): Promise<AeternityTransactionResult>; protected getPageNumber(limit: number, offset: number): number; signWithPrivateKey(privateKey: Buffer, transaction: RawAeternityTransaction): Promise<IAirGapSignedTransaction>; private decodeTx; getTransactionDetails(unsignedTx: UnsignedAeternityTransaction): Promise<IAirGapTransaction[]>; getTransactionDetailsFromSigned(signedTx: SignedAeternityTransaction): Promise<IAirGapTransaction[]>; getBalanceOfAddresses(addresses: string[]): Promise<string>; getBalanceOfPublicKey(publicKey: string): Promise<string>; getBalanceOfPublicKeyForSubProtocols(publicKey: string, subProtocols: ICoinSubProtocol[]): Promise<string[]>; getAvailableBalanceOfAddresses(addresses: string[]): Promise<string>; 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, payload?: string): Promise<RawAeternityTransaction>; /** * This is a function that we only use to fix incompatibilitis with old vault versions that are unable to understand b64 encoded Txs. * * @deprecated * @param preparedTx */ convertTxToBase58(preparedTx: RawAeternityTransaction): RawAeternityTransaction; broadcastTransaction(rawTransaction: string): Promise<string>; private toHexBuffer; signMessage(message: string, keypair: { privateKey: Buffer; }): Promise<string>; verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>; getTransactionStatuses(transactionHashes: string[]): Promise<AirGapTransactionStatus[]>; }