import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, KeyPair, MultisigType, ParsedTransaction, ParseTransactionOptions, TokenEnablementConfig, TransactionParams, VerifyTransactionOptions } from '@bitgo/sdk-core'; import { BaseCoin as StaticsBaseCoin, XrpCoin } from '@bitgo/statics'; import { ExplainTransactionOptions, FeeInfo, HalfSignedTransaction, RecoveryInfo, RecoveryOptions, RecoveryTransaction, SignTransactionOptions, SupplementGenerateWalletOptions, TransactionExplanation, VerifyAddressOptions, XrpTransactionType } from './lib/iface'; export declare class Xrp extends BaseCoin { protected _staticsCoin: Readonly; protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly); static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly): BaseCoin; /** * Factor between the coin's base unit and its smallest subdivison */ getBaseFactor(): number; /** * Identifier for the blockchain which supports this coin */ getChain(): string; /** * Identifier for the coin family */ getFamily(): string; /** * Complete human-readable name of this coin */ getFullName(): string; /** * Evaluates whether an address string is valid for this coin * @param address */ isValidAddress(address: string): boolean; /** * Return boolean indicating whether input is valid public key for the coin. * * @param {String} pub the pub to be checked * @returns {Boolean} is it valid? */ isValidPub(pub: string): boolean; /** * Get fee info from server */ getFeeInfo(): Promise; /** @inheritdoc */ valuelessTransferAllowed(): boolean; /** inherited doc */ getDefaultMultisigType(): MultisigType; getTokenEnablementConfig(): TokenEnablementConfig; /** * Assemble keychain and half-sign prebuilt transaction * @param params * - txPrebuild * - prv * @returns Bluebird */ signTransaction({ txPrebuild, prv, isLastSignature, }: SignTransactionOptions): Promise; /** * Ripple requires additional parameters for wallet generation to be sent to the server. The additional parameters are * the root public key, which is the basis of the root address, two signed, and one half-signed initialization txs * @param walletParams * - rootPrivateKey: optional hex-encoded Ripple private key */ supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions): Promise; /** * Explain/parse transaction * @param params */ explainTransaction(params?: ExplainTransactionOptions): Promise; getTransactionTypeRawTxHex(txHex: string): XrpTransactionType | undefined; verifyTxType(txPrebuildDecoded: TransactionExplanation, txHexPrebuild: string | undefined, isMpt?: boolean): void; verifyMptTxType(txPrebuildDecoded: TransactionExplanation, txHexPrebuild: string | undefined): void; verifyTokenName(txParams: TransactionParams, txPrebuildDecoded: TransactionExplanation, txHexPrebuild: string | undefined, coinConfig: XrpCoin): void; verifyActivationAddress(txParams: TransactionParams, txPrebuildDecoded: TransactionExplanation): void; verifyTokenIssuer(txParams: TransactionParams, txPrebuildDecoded: TransactionExplanation): void; verifyRequiredKeys(txParams: TransactionParams, txPrebuildDecoded: TransactionExplanation): void; /** * Verify that a transaction prebuild complies with the original intention * @param txParams params object passed to send * @param txPrebuild prebuild object returned by server * @param wallet * @returns {boolean} */ verifyTransaction({ txParams, txPrebuild, verification }: VerifyTransactionOptions): Promise; /** * Check if address is a valid XRP address, and then make sure the root addresses match. * This prevents attacks where an attack may switch out the new address for one of their own * @param address {String} the address to verify * @param rootAddress {String} the wallet's root address * @return true iff address is a wallet address (based on rootAddress) */ isWalletAddress({ address, rootAddress }: VerifyAddressOptions): Promise; /** * URL of a well-known, public facing (non-bitgo) rippled instance which can be used for recovery */ getRippledUrl(): string; /** * Builds a funds recovery transaction without BitGo * @param params * - rootAddress: root XRP wallet address to recover funds from * - userKey: [encrypted] xprv * - backupKey: [encrypted] xprv, or xpub if the xprv is held by a KRS provider * - walletPassphrase: necessary if one of the xprvs is encrypted * - bitgoKey: xpub * - krsProvider: necessary if backup key is held by KRS * - recoveryDestination: target address to send recovered funds to */ recover(params: RecoveryOptions): Promise; recoverXrpToken(params: any, tokenParams: any): Promise; /** * Generate a new keypair for this coin. * @param seed Seed from which the new keypair should be generated, otherwise a random seed is used */ generateKeyPair(seed?: Buffer): KeyPair; parseTransaction(params: ParseTransactionOptions): Promise; /** @inheritDoc */ auditDecryptedKey(params: AuditDecryptedKeyParams): void; } //# sourceMappingURL=xrp.d.ts.map