UNPKG

airgap-coin-lib

Version:

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

77 lines (76 loc) 5.01 kB
/// <reference types="node" /> import { IAirGapSignedTransaction } from '../interfaces/IAirGapSignedTransaction'; import { AirGapTransactionStatus, IAirGapTransaction, IAirGapTransactionResult } from '../interfaces/IAirGapTransaction'; import { SignedTransaction } from '../serializer/schemas/definitions/signed-transaction'; import { UnsignedTransaction } from '../serializer/schemas/definitions/unsigned-transaction'; import { ProtocolOptions } from '../utils/ProtocolOptions'; import { ProtocolSymbols } from '../utils/ProtocolSymbols'; import { IProtocolTransactionCursor } from './../interfaces/IAirGapTransaction'; import { ICoinSubProtocol } from './ICoinSubProtocol'; export interface FeeDefaults { low: string; medium: string; high: string; } export interface CurrencyUnit { unitSymbol: string; factor: string; } export interface ICoinProtocol { symbol: string; name: string; marketSymbol: string; feeSymbol: string; feeDefaults: FeeDefaults; decimals: number; feeDecimals: number; identifier: ProtocolSymbols; units: { unitSymbol: string; factor: string; }[]; supportsHD: boolean; standardDerivationPath: string; addressIsCaseSensitive: boolean; addressValidationPattern: string; addressPlaceholder: string; subProtocols?: ICoinSubProtocol[]; options: ProtocolOptions; 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>; getExtendedPrivateKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise<string>; getPublicKeyFromHexSecret(secret: string, derivationPath: string): Promise<string>; getPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise<Buffer>; getExtendedPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise<string>; getAddressFromPublicKey(publicKey: string): Promise<string>; getAddressesFromPublicKey(publicKey: string): Promise<string[]>; getAddressFromExtendedPublicKey(extendedPublicKey: string, visibilityDerivationIndex: number, addressDerivationIndex: number): Promise<string>; getAddressesFromExtendedPublicKey(extendedPublicKey: string, visibilityDerivationIndex: number, addressCount: number, offset: number): Promise<string[]>; getTransactionsFromPublicKey(publicKey: string, limit: number, cursor?: IProtocolTransactionCursor): Promise<IAirGapTransactionResult>; getTransactionsFromExtendedPublicKey(extendedPublicKey: string, limit: number, cursor?: IProtocolTransactionCursor): Promise<IAirGapTransactionResult>; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: IProtocolTransactionCursor): Promise<IAirGapTransactionResult>; signWithExtendedPrivateKey(extendedPrivateKey: string, transaction: any): Promise<IAirGapSignedTransaction>; signWithPrivateKey(privateKey: Buffer, transaction: any): Promise<IAirGapSignedTransaction>; getTransactionDetails(transaction: UnsignedTransaction): Promise<IAirGapTransaction[]>; getTransactionDetailsFromSigned(transaction: SignedTransaction): Promise<IAirGapTransaction[]>; getBalanceOfAddresses(addresses: string[]): Promise<string>; getBalanceOfPublicKey(publicKey: string): Promise<string>; getBalanceOfExtendedPublicKey(extendedPublicKey: string, offset: number): Promise<string>; getAvailableBalanceOfAddresses(addresses: string[]): Promise<string>; getTransactionStatuses(transactionHash: string[]): Promise<AirGapTransactionStatus[]>; getBalanceOfPublicKeyForSubProtocols(publicKey: string, subProtocols: ICoinSubProtocol[]): Promise<string[]>; estimateMaxTransactionValueFromExtendedPublicKey(extendedPublicKey: string, recipients: string[], fee?: string): Promise<string>; estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string): Promise<string>; estimateFeeDefaultsFromExtendedPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise<FeeDefaults>; estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise<FeeDefaults>; prepareTransactionFromExtendedPublicKey(extendedPublicKey: string, offset: number, recipients: string[], values: string[], fee: string, data?: any): Promise<any>; prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string, data?: any): Promise<any>; broadcastTransaction(rawTransaction: any): Promise<string>; signMessage(message: string, keypair: { publicKey?: string; privateKey: Buffer; }): Promise<string>; verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>; }