UNPKG

@airgap/aeternity

Version:

The @airgap/aeternity is an Aeternity implementation of the ICoinProtocol interface from @airgap/coinlib-core.

53 lines (52 loc) 4.42 kB
import { Address, AirGapProtocol, AirGapTransaction, AirGapTransactionsWithCursor, Amount, Balance, CryptoDerivative, FeeDefaults, KeyPair, ProtocolMetadata, PublicKey, RecursivePartial, SecretKey, Signature, TransactionFullConfiguration, TransactionDetails, TransactionSimpleConfiguration } from '@airgap/module-kit'; import { AeternityCryptoConfiguration } from '../types/crypto'; import { AeternityProtocolNetwork, AeternityProtocolOptions, AeternityUnits } from '../types/protocol'; import { AeternitySignedTransaction, AeternityTransactionCursor, AeternityUnsignedTransaction } from '../types/transaction'; export interface AeternityProtocol extends AirGapProtocol<{ AddressResult: Address; ProtocolNetwork: AeternityProtocolNetwork; CryptoConfiguration: AeternityCryptoConfiguration; SignedTransaction: AeternitySignedTransaction; TransactionCursor: AeternityTransactionCursor; Units: AeternityUnits; FeeEstimation: FeeDefaults<AeternityUnits>; UnsignedTransaction: AeternityUnsignedTransaction; }, 'Crypto', 'FetchDataForAddress'> { convertTransactionToBase58(preparedTx: AeternityUnsignedTransaction): Promise<AeternityUnsignedTransaction>; } export declare class AeternityProtocolImpl implements AeternityProtocol { private readonly cryptoClient; private readonly options; constructor(options?: RecursivePartial<AeternityProtocolOptions>); private readonly units; private readonly feeDefaults; private readonly metadata; getMetadata(): Promise<ProtocolMetadata<AeternityUnits>>; getAddressFromPublicKey(publicKey: PublicKey): Promise<string>; getDetailsFromTransaction(transaction: AeternitySignedTransaction | AeternityUnsignedTransaction, _publicKey: PublicKey): Promise<AirGapTransaction<AeternityUnits>[]>; private getDetailsFromEncodedTransaction; verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: PublicKey): Promise<boolean>; encryptAsymmetricWithPublicKey(payload: string, publicKey: PublicKey): Promise<string>; private readonly cryptoConfiguration; getCryptoConfiguration(): Promise<AeternityCryptoConfiguration>; getKeyPairFromDerivative(derivative: CryptoDerivative): Promise<KeyPair>; signTransactionWithSecretKey(transaction: AeternityUnsignedTransaction, secretKey: SecretKey): Promise<AeternitySignedTransaction>; signMessageWithKeyPair(message: string, keyPair: KeyPair): Promise<Signature>; decryptAsymmetricWithKeyPair(payload: string, keyPair: KeyPair): Promise<string>; encryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string>; decryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string>; getNetwork(): Promise<AeternityProtocolNetwork>; getTransactionsForPublicKey(publicKey: PublicKey, limit: number, cursor?: AeternityTransactionCursor): Promise<AirGapTransactionsWithCursor<AeternityTransactionCursor, AeternityUnits>>; getTransactionsForAddress(address: string, limit: number, cursor?: AeternityTransactionCursor): Promise<AirGapTransactionsWithCursor<AeternityTransactionCursor, AeternityUnits>>; getBalanceOfPublicKey(publicKey: PublicKey): Promise<Balance<AeternityUnits>>; getBalanceOfAddress(address: string): Promise<Balance<AeternityUnits>>; getTransactionMaxAmountWithPublicKey(publicKey: PublicKey, to: string[], configuration?: TransactionFullConfiguration<AeternityUnits>): Promise<Amount<AeternityUnits>>; getTransactionFeeWithPublicKey(_publicKey: PublicKey, _details: TransactionDetails<AeternityUnits>[], _configuration?: TransactionSimpleConfiguration): Promise<FeeDefaults<AeternityUnits>>; prepareTransactionWithPublicKey(publicKey: PublicKey, details: TransactionDetails<AeternityUnits>[], configuration?: TransactionFullConfiguration<AeternityUnits>): Promise<AeternityUnsignedTransaction>; private networkId; broadcastTransaction(transaction: AeternitySignedTransaction): Promise<string>; convertTransactionToBase58(preparedTx: AeternityUnsignedTransaction): Promise<AeternityUnsignedTransaction>; } export declare function createAeternityProtocol(options?: RecursivePartial<AeternityProtocolOptions>): AeternityProtocol; export declare const AETERNITY_MAINNET_PROTOCOL_NETWORK: AeternityProtocolNetwork; export declare function createAeternityProtocolOptions(network?: Partial<AeternityProtocolNetwork>): AeternityProtocolOptions;