import { CollateralGainTransferDetails, Decimal, Decimalish, LiquidationDetails, LiquityReceipt, MinedReceipt, PopulatableLiquity, PopulatedLiquityTransaction, PopulatedRedemption, RedemptionDetails, SentLiquityTransaction, StabilityDepositChangeDetails, StabilityPoolGainsWithdrawalDetails, Trove, TroveAdjustmentDetails, TroveAdjustmentParams, TroveClosureDetails, TroveCreationDetails, TroveCreationParams } from "@sovryn-zero/lib-base"; import { EthersPopulatedTransaction, EthersTransactionOverrides, EthersTransactionReceipt, EthersTransactionResponse, PermitParams } from "./types"; import { EthersLiquityConnection } from "./EthersLiquityConnection"; import { ReadableEthersLiquity } from "./ReadableEthersLiquity"; /** @internal */ export declare const _redeemMaxIterations = 70; /** * A transaction that has already been sent. * * @remarks * Returned by {@link SendableEthersLiquity} functions. * * @public */ export declare class SentEthersLiquityTransaction implements SentLiquityTransaction> { /** Ethers' representation of a sent transaction. */ readonly rawSentTransaction: EthersTransactionResponse; private readonly _connection; private readonly _parse; /** @internal */ constructor(rawSentTransaction: EthersTransactionResponse, connection: EthersLiquityConnection, parse: (rawReceipt: EthersTransactionReceipt) => T); private _receiptFrom; /** {@inheritDoc @sovryn-zero/lib-base#SentLiquityTransaction.getReceipt} */ getReceipt(): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#SentLiquityTransaction.waitForReceipt} */ waitForReceipt(): Promise>; } /** * A transaction that has been prepared for sending. * * @remarks * Returned by {@link PopulatableEthersLiquity} functions. * * @public */ export declare class PopulatedEthersLiquityTransaction implements PopulatedLiquityTransaction> { /** Unsigned transaction object populated by Ethers. */ readonly rawPopulatedTransaction: EthersPopulatedTransaction; private readonly _connection; private readonly _parse; /** @internal */ constructor(rawPopulatedTransaction: EthersPopulatedTransaction, connection: EthersLiquityConnection, parse: (rawReceipt: EthersTransactionReceipt) => T); /** {@inheritDoc @sovryn-zero/lib-base#PopulatedLiquityTransaction.send} */ send(): Promise>; } /** * {@inheritDoc @sovryn-zero/lib-base#PopulatedRedemption} * * @public */ export declare class PopulatedEthersRedemption extends PopulatedEthersLiquityTransaction implements PopulatedRedemption { /** {@inheritDoc @sovryn-zero/lib-base#PopulatedRedemption.attemptedZUSDAmount} */ readonly attemptedZUSDAmount: Decimal; /** {@inheritDoc @sovryn-zero/lib-base#PopulatedRedemption.redeemableZUSDAmount} */ readonly redeemableZUSDAmount: Decimal; /** {@inheritDoc @sovryn-zero/lib-base#PopulatedRedemption.isTruncated} */ readonly isTruncated: boolean; private readonly _increaseAmountByMinimumNetDebt?; /** @internal */ constructor(rawPopulatedTransaction: EthersPopulatedTransaction, connection: EthersLiquityConnection, attemptedZUSDAmount: Decimal, redeemableZUSDAmount: Decimal, increaseAmountByMinimumNetDebt?: (maxRedemptionRate?: Decimalish) => Promise); /** {@inheritDoc @sovryn-zero/lib-base#PopulatedRedemption.increaseAmountByMinimumNetDebt} */ increaseAmountByMinimumNetDebt(maxRedemptionRate?: Decimalish): Promise; } /** @internal */ export interface _TroveChangeWithFees { params: T; newTrove: Trove; fee: Decimal; } /** * Ethers-based implementation of {@link @sovryn-zero/lib-base#PopulatableLiquity}. * * @public */ export declare class PopulatableEthersLiquity implements PopulatableLiquity { private readonly _readable; constructor(readable: ReadableEthersLiquity); private _wrapSimpleTransaction; private _wrapTroveChangeWithFees; private _wrapTroveClosure; private _wrapLiquidation; private _extractStabilityPoolGainsWithdrawalDetails; private _wrapStabilityPoolGainsWithdrawal; private _wrapStabilityDepositTopup; private _wrapStabilityDepositWithdrawal; private _wrapCollateralGainTransfer; private _findHintsForNominalCollateralRatio; private _findHints; private _findRedemptionHints; findHints(trove: Trove): Promise<[string, string]>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.openTrove} */ openTrove(params: TroveCreationParams, maxBorrowingRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.openNueTrove} */ openNueTrove(params: TroveCreationParams, maxBorrowingRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.closeTrove} */ closeTrove(overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.closeNueTrove} */ closeNueTrove(_permitParams: PermitParams, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.depositCollateral} */ depositCollateral(amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.withdrawCollateral} */ withdrawCollateral(amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.borrowZUSD} */ borrowZUSD(amount: Decimalish, maxBorrowingRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.repayZUSD} */ repayZUSD(amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.adjustTrove} */ adjustTrove(params: TroveAdjustmentParams, maxBorrowingRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.adjustNueTrove} */ adjustNueTrove(params: TroveAdjustmentParams, permitParams: PermitParams, maxBorrowingRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise>; withdrawZusdAndConvertToDLLR(zusdAmount: Decimalish, maxBorrowingRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise>; provideToSpFromDLLR(dllrAmount: Decimalish, permitParams: PermitParams, overrides?: EthersTransactionOverrides): Promise>; withdrawFromSpAndConvertToDLLR(zusdAmountRequested: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.claimCollateralSurplus} */ claimCollateralSurplus(overrides?: EthersTransactionOverrides): Promise>; /** @internal */ setPrice(price: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.liquidate} */ liquidate(address: string | string[], overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.liquidateUpTo} */ liquidateUpTo(maximumNumberOfTrovesToLiquidate: number, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.depositZUSDInStabilityPool} */ depositZUSDInStabilityPool(amount: Decimalish, frontendTag?: string, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.withdrawZUSDFromStabilityPool} */ withdrawZUSDFromStabilityPool(amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.withdrawGainsFromStabilityPool} */ withdrawGainsFromStabilityPool(overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.transferCollateralGainToTrove} */ transferCollateralGainToTrove(overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.sendZUSD} */ sendZUSD(toAddress: string, amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.sendZERO} */ sendZERO(toAddress: string, amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.redeemZUSD} */ redeemZUSD(amount: Decimalish, maxRedemptionRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise; redeemCollateralViaDLLR(amount: Decimalish, permitParams: PermitParams, maxRedemptionRate?: Decimalish, overrides?: EthersTransactionOverrides): Promise; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.stakeZERO} */ stakeZERO(amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.unstakeZERO} */ unstakeZERO(amount: Decimalish, overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.withdrawGainsFromStaking} */ withdrawGainsFromStaking(overrides?: EthersTransactionOverrides): Promise>; /** {@inheritDoc @sovryn-zero/lib-base#PopulatableLiquity.registerFrontend} */ registerFrontend(kickbackRate: Decimalish, overrides?: EthersTransactionOverrides): Promise>; } //# sourceMappingURL=PopulatableEthersLiquity.d.ts.map