CurveUsdLevCreate

Description

Creates a new curveusd leveraged position with a given amount of collateral and debt

Notes

This action uses internal swapper to create a loan

Action ID

0x2465d76e

SDK Action

const curveUsdLevCreateAction = new dfs.actions.curveusd.CurveUsdLevCreateAction(
    controllerAddress,
    collateralAmount,
    debtAmount,
    minAmount,
    nBands,
    from,
    additionData,
    gasUsed,
    dfsFeeDivider
);

Action Type

STANDARD_ACTION

Input Parameters

    /// @param controllerAddress Address of the curveusd market controller
    /// @param collAmount Amount of collateral asset to supply
    /// @param debtAmount Amount of crvUSD to borrow (will be sold for collateral)
    /// @param minAmount Minimum amount of crvUSD to receive after sell
    /// @param nBands Number of bands in which the collateral will be supplied for soft liquidation
    /// @param from Address from which to pull collateral asset, will default to user's wallet
    /// @param additionalData Additional data where curve swap path is encoded
    /// @param gasUsed Only used as part of a strategy, estimated gas used for this tx
    /// @param dfsFeeDivider Fee divider, if a non standard fee is set it will check for custom fee
    struct Params {
        address controllerAddress;
        uint256 collAmount;
        uint256 debtAmount;
        uint256 minAmount;
        uint256 nBands;
        address from;
        bytes additionalData;
        uint32 gasUsed;
        uint24 dfsFeeDivider;
    }

Return Value

return bytes32(generatedAmount);

Events and Logs

emit ActionEvent("CurveUsdLevCreate", logData);
logger.logActionDirectEvent("CurveUsdLevCreate", logData);
bytes memory logData = abi.encode(params);

Last updated

Was this helpful?