/// 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 { ProtocolSymbols } from '../../utils/ProtocolSymbols'; import { DelegateeDetails, DelegationDetails, DelegatorDetails, ICoinDelegateProtocol } from '../ICoinDelegateProtocol'; import { CurrencyUnit, FeeDefaults } from '../ICoinProtocol'; import { ICoinSubProtocol } from '../ICoinSubProtocol'; import { NonExtendedProtocol } from '../NonExtendedProtocol'; import { CosmosAddress } from './CosmosAddress'; import { CosmosCryptoClient } from './CosmosCryptoClient'; import { CosmosDelegation, CosmosNodeClient, CosmosUnbondingDelegation, CosmosValidator } from './CosmosNodeClient'; import { CosmosProtocolOptions } from './CosmosProtocolOptions'; import { CosmosTransaction } from './CosmosTransaction'; import { CosmosTransactionCursor, CosmosTransactionResult } from './CosmosTypes'; 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 defaultGas; readonly cryptoClient: CosmosCryptoClient; get nodeClient(): CosmosNodeClient; constructor(options?: CosmosProtocolOptions); getBlockExplorerLinkForAddress(address: string): Promise; getBlockExplorerLinkForTxId(txId: string): Promise; generateKeyPair(mnemonic: string, derivationPath?: string, password?: string): KeyPair; private generateKeyPairFromNode; getPublicKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getPrivateKeyFromMnemonic(mnemonic: string, derivationPath: string, password?: string): Promise; getPublicKeyFromHexSecret(secret: string, derivationPath: string): Promise; getPublicKeyFromPrivateKey(privateKey: Buffer): Buffer; getPrivateKeyFromHexSecret(secret: string, derivationPath: string): Promise; getAddressFromPublicKey(publicKey: string): Promise; getAddressesFromPublicKey(publicKey: string): Promise; getNextAddressFromPublicKey(publicKey: string, current: CosmosAddress): Promise; getTransactionsFromPublicKey(publicKey: string, limit: number, cursor?: CosmosTransactionCursor): Promise; getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: CosmosTransactionCursor): Promise; signWithPrivateKey(privateKey: Buffer, transaction: CosmosTransaction): Promise; getTransactionDetails(transaction: UnsignedCosmosTransaction): Promise; getTransactionDetailsFromSigned(transaction: SignedCosmosTransaction): Promise; getBalanceOfAddresses(addresses: string[]): Promise; getBalanceOfPublicKey(publicKey: string): Promise; getAvailableBalanceOfAddresses(addresses: string[]): Promise; getBalanceOfPublicKeyForSubProtocols(publicKey: string, subProtocols: ICoinSubProtocol[]): Promise; private getBalance; estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string): Promise; estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: any): Promise; prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string, data?: { memo?: string; }): Promise; getDefaultDelegatee(): Promise; getCurrentDelegateesForPublicKey(publicKey: string): Promise; getCurrentDelegateesForAddress(address: string): Promise; getDelegateeDetails(address: string): Promise; isPublicKeyDelegating(publicKey: string): Promise; isAddressDelegating(address: string): Promise; getDelegatorDetailsFromPublicKey(publicKey: string): Promise; getDelegatorDetailsFromAddress(address: string): Promise; getDelegationDetailsFromPublicKey(publicKey: string, delegatees: string[]): Promise; getDelegationDetailsFromAddress(address: string, delegatees: string[]): Promise; prepareDelegatorActionFromPublicKey(publicKey: string, type: CosmosDelegationActionType, data?: any): Promise; undelegate(publicKey: string, validatorAddress: string, amount: string, memo?: string): Promise; delegate(publicKey: string, validatorAddress: string | string[], amount: string, undelegate?: boolean, memo?: string): Promise; withdrawDelegationRewards(publicKey: string, _validatorAddresses?: string[], memo?: string): Promise; withdrawAllDelegationRewards(delegatorAddress: string, fee: BigNumber, memo?: string): Promise; fetchTotalReward(delegatorAddress: string): Promise; fetchRewardForDelegation(delegatorAddress: string, validatorAddress: string): Promise; fetchDelegations(address: string): Promise; fetchTotalDelegatedAmount(address: string): Promise; fetchValidator(address: string): Promise; fetchUnbondingDelegations(delegatorAddress: string): Promise; fetchTotalUnbondingAmount(address: string): Promise; fetchValidators(): Promise; fetchSelfDelegation(address: string): Promise; broadcastTransaction(rawTransaction: string): Promise; private getDelegatorDetails; private getAvailableDelegatorActions; signMessage(message: string, keypair: { privateKey: Buffer; }): Promise; verifyMessage(message: string, signature: string, publicKey: string): Promise; encryptAsymmetric(message: string, publicKey: string): Promise; decryptAsymmetric(message: string, keypair: { publicKey: string; privateKey: Buffer; }): Promise; encryptAES(message: string, privateKey: Buffer): Promise; decryptAES(message: string, privateKey: Buffer): Promise; getTransactionStatuses(transactionHashes: string[]): Promise; }