UNPKG

airgap-coin-lib

Version:

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

102 lines (101 loc) 6.81 kB
/// <reference types="node" /> import { CosmosTransactionResult, CosmosTransactionCursor } from './CosmosTypes'; import { KeyPair } from '../../data/KeyPair'; import BigNumber from '../../dependencies/src/bignumber.js-9.0.0/bignumber'; import { AirGapTransactionStatus, IAirGapTransaction } from '../../interfaces/IAirGapTransaction'; import { SignedCosmosTransaction } from '../../serializer/schemas/definitions/signed-transaction-cosmos'; import { UnsignedCosmosTransaction } from '../../serializer/types'; import { DelegateeDetails, DelegationDetails, DelegatorDetails, ICoinDelegateProtocol } from '../ICoinDelegateProtocol'; import { CurrencyUnit, FeeDefaults } from '../ICoinProtocol'; import { ICoinSubProtocol } from '../ICoinSubProtocol'; import { NonExtendedProtocol } from '../NonExtendedProtocol'; import { CosmosInfoClient } from './CosmosInfoClient'; import { CosmosDelegation, CosmosNodeClient, CosmosUnbondingDelegation, CosmosValidator } from './CosmosNodeClient'; import { CosmosProtocolOptions } from './CosmosProtocolOptions'; import { CosmosTransaction } from './CosmosTransaction'; import { ProtocolSymbols } from '../../utils/ProtocolSymbols'; export declare enum CosmosDelegationActionType { DELEGATE = "delegate", UNDELEGATE = "undelegate", WITHDRAW_ALL_REWARDS = "withdraw_all_rewards", WITHDRAW_VALIDATOR_REWARDS = "withdraw_validator_rewards" } export declare class CosmosProtocol extends NonExtendedProtocol implements ICoinDelegateProtocol { readonly options: CosmosProtocolOptions; symbol: string; name: string; marketSymbol: string; feeSymbol: string; feeDefaults: FeeDefaults; decimals: number; feeDecimals: number; identifier: ProtocolSymbols; units: CurrencyUnit[]; supportsHD: boolean; standardDerivationPath: string; addressIsCaseSensitive: boolean; addressValidationPattern: string; addressPlaceholder: string; subProtocols?: ICoinSubProtocol[]; private readonly addressPrefix; private readonly defaultGas; get infoClient(): CosmosInfoClient; get nodeClient(): CosmosNodeClient; constructor(options?: CosmosProtocolOptions); getBlockExplorerLinkForAddress(address: string): Promise<string>; getBlockExplorerLinkForTxId(txId: string): Promise<string>; generateKeyPair(mnemonic: string, derivationPath?: string, password?: string): KeyPair; private generateKeyPairFromNode; getPublicKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise<string>; getPrivateKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise<Buffer>; getPublicKeyFromHexSecret(secret: string, derivationPath: string): Promise<string>; getPublicKeyFromPrivateKey(privateKey: Buffer): Buffer; getPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise<Buffer>; getAddressFromPublicKey(publicKey: string): Promise<string>; getAddressesFromPublicKey(publicKey: string): Promise<string[]>; getTransactionsFromPublicKey(publicKey: string, limit: number, cursor?: CosmosTransactionCursor): Promise<CosmosTransactionResult>; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: CosmosTransactionCursor): Promise<CosmosTransactionResult>; signWithPrivateKey(privateKey: Buffer, transaction: CosmosTransaction): Promise<string>; getTransactionDetails(transaction: UnsignedCosmosTransaction): Promise<IAirGapTransaction[]>; getTransactionDetailsFromSigned(transaction: SignedCosmosTransaction): Promise<IAirGapTransaction[]>; getBalanceOfAddresses(addresses: string[]): Promise<string>; getBalanceOfPublicKey(publicKey: string): Promise<string>; getAvailableBalanceOfAddresses(addresses: string[]): Promise<string>; getBalanceOfPublicKeyForSubProtocols(publicKey: string, subProtocols: ICoinSubProtocol[]): Promise<string[]>; private getBalance; 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, data?: unknown): Promise<CosmosTransaction>; getDefaultDelegatee(): Promise<string>; getCurrentDelegateesForPublicKey(publicKey: string): Promise<string[]>; getCurrentDelegateesForAddress(address: string): Promise<string[]>; getDelegateeDetails(address: string): Promise<DelegateeDetails>; isPublicKeyDelegating(publicKey: string): Promise<boolean>; isAddressDelegating(address: string): Promise<boolean>; getDelegatorDetailsFromPublicKey(publicKey: string): Promise<DelegatorDetails>; getDelegatorDetailsFromAddress(address: string): Promise<DelegatorDetails>; getDelegationDetailsFromPublicKey(publicKey: string, delegatees: string[]): Promise<DelegationDetails>; getDelegationDetailsFromAddress(address: string, delegatees: string[]): Promise<DelegationDetails>; prepareDelegatorActionFromPublicKey(publicKey: string, type: CosmosDelegationActionType, data?: any): Promise<CosmosTransaction[]>; undelegate(publicKey: string, validatorAddress: string, amount: string, memo?: string): Promise<CosmosTransaction>; delegate(publicKey: string, validatorAddress: string | string[], amount: string, undelegate?: boolean, memo?: string): Promise<CosmosTransaction>; withdrawDelegationRewards(publicKey: string, _validatorAddresses?: string[], memo?: string): Promise<CosmosTransaction>; withdrawAllDelegationRewards(delegatorAddress: string, fee: BigNumber, memo?: string): Promise<string>; fetchTotalReward(delegatorAddress: string): Promise<BigNumber>; fetchRewardForDelegation(delegatorAddress: string, validatorAddress: string): Promise<BigNumber>; fetchDelegations(address: string): Promise<CosmosDelegation[]>; fetchTotalDelegatedAmount(address: string): Promise<BigNumber>; fetchValidator(address: string): Promise<CosmosValidator>; fetchUnbondingDelegations(delegatorAddress: string): Promise<CosmosUnbondingDelegation[]>; fetchTotalUnbondingAmount(address: string): Promise<BigNumber>; fetchValidators(): Promise<CosmosValidator[]>; fetchSelfDelegation(address: string): Promise<CosmosDelegation>; broadcastTransaction(rawTransaction: string): Promise<string>; private getDelegatorDetails; private getAvailableDelegatorActions; signMessage(message: string, keypair: { privateKey: Buffer; }): Promise<string>; verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>; getTransactionStatuses(transactionHashes: string[]): Promise<AirGapTransactionStatus[]>; }