Position Management
Last updated
Last updated
The Position Management system is a core component of Curvance's lending protocol, enabling advanced leverage and deleverage operations for user positions. It provides a structured way for users to manage complex DeFi positions across multiple asset types while maintaining protocol safety.
The abstract base contract provides the core functionality for all position management implementations. It includes:
Common state variables and constants.
Core leverage/deleverage logic.
Safety checks and fee calculations.
Market status queries and calculations.
Standard integration points with other protocol components.
Each implementation extends the base functionality to support specific asset types:
PositionManagementSimple: Basic implementation for standard tokens with simple swap requirements.
PositionManagementPendlePT: Specialized for Pendle Principal Tokens, handling their unique yield token mechanics.
PositionManagementPendleLP: Manages positions for Pendle liquidity provider tokens.
PositionManagementVelodrome: Handles Velodrome AMM-specific operations..
PositionManagementAerodrome: Extends Velodrome implementation for Aerodrome protocol
Encapsulates all data needed for a leverage operation, including which token to borrow, how much to borrow, and which position token to leverage against.
Contains data for deleverage operations, specifying which collateral to liquidate and how to route funds to repay debt.
The Position Management system interacts with multiple components of the Curvance ecosystem:
MarketManager: For checking account status, debt limits, and collateral values.
CentralRegistry: For protocol-wide configuration and permissions.
PTokens: Position tokens that serve as collateral.
ETokens: Debt tokens that users borrow from.
SwapperLib: For executing token swaps during leverage/deleverage operations.
External Protocols: Direct integrations with Pendle, Velodrome, and other DeFi protocols.
The Position Management architecture implements several security features:
Slippage Protection: Ensures executed trades don't lose value beyond user-specified thresholds.
Sanity Checks: Validates all operations against user account status and market constraints.
Maximum Leverage Limits: Prevents users from taking on excessive risk.
Fee Calculations: Ensures protocol takes appropriate fees for providing leverage services.
Reentrancy Protection: Guards against reentrancy attacks during complex operations.
During position management operations, the system follows these general steps:
Validation: Check that the requested operation is valid for the user's account.
Calculation: Determine limits, risks, and required amounts.
Execution: Perform necessary token transfers, borrows, or repayments.
Swapping: Convert between token types as needed using appropriate swap routes.
Position Update: Update the user's collateral and debt positions.
Fee Handling: Calculate and collect protocol fees.
This architecture enables Curvance to support complex leverage strategies across diverse asset types while maintaining protocol security and risk parameters.