Position Management
Position Structure
Core Position Data
struct Position {
uint256 size; // Position size in USD
uint256 collateral; // Collateral deposited
uint256 entryPrice; // Average entry price
uint256 entryFundingRate; // Funding rate at entry
uint256 reserveAmount; // Reserved liquidity tokens
int256 realisedPnl; // Cumulative realized P&L
uint256 lastIncreasedTime; // Last position increase
bool isLong; // Long or short position
}Position Identification
function getPositionKey(address account, bytes32 assetId, bool isLong)
returns (bytes32) {
return keccak256(abi.encodePacked(account, assetId, isLong));
}Opening Positions
Increase Position
Position Creation Logic
Modifying Positions
Adding Collateral
Increasing Size
Entry Price Calculation
Closing Positions
Partial Close
Full Close
Close Logic
P&L Calculations
Unrealized P&L
Realized P&L Tracking
Position Monitoring
Position Health
Liquidation Price Calculation
Position Limits
Size Validation
Global Limits
Integration Examples
Position Management Hook
Position Display Component
Risk Management
Position Validation
Monitoring Systems
Last updated