UpdatePositionSizeLifecycles
This is an external library for position size updates lifecycles Used by GNSTrading and GNSTradingCallbacks facets
requestIncreasePositionSize
function requestIncreasePositionSize(struct IUpdatePositionSize.IncreasePositionSizeInput _input) external
Initiate increase position size order, done in 2 steps because position size changes
Parameters
requestDecreasePositionSize
function requestDecreasePositionSize(struct IUpdatePositionSize.DecreasePositionSizeInput _input) external
Initiate decrease position size order, done in 2 steps because position size changes
Parameters
executeIncreasePositionSizeMarket
function executeIncreasePositionSizeMarket(struct ITradingStorage.PendingOrder _order, struct ITradingCallbacks.AggregatorAnswer _answer) external
Execute increase position size market callback
Parameters
executeDecreasePositionSizeMarket
function executeDecreasePositionSizeMarket(struct ITradingStorage.PendingOrder _order, struct ITradingCallbacks.AggregatorAnswer _answer) external
Execute decrease position size market callback
Parameters
_getMultiCollatDiamond
function _getMultiCollatDiamond() internal view returns (contract IGNSMultiCollatDiamond)
Returns current address as multi-collateral diamond interface to call other facets functions.
_baseValidateRequest
function _baseValidateRequest(address _trader, uint32 _index) internal view returns (struct ITradingStorage.Trade trade)
Basic validation for increase/decrease position size request
Parameters
_trader
address
trader address
_index
uint32
trade index
_initiateRequest
function _initiateRequest(struct ITradingStorage.Trade _trade, bool _isIncrease, uint120 _collateralAmount, uint24 _leverage, uint256 _positionSizeCollateralDelta, uint64 _expectedPrice, uint16 _maxSlippageP) internal returns (struct ITradingStorage.Id orderId)
Creates pending order, makes price aggregator request, and returns corresponding pending order id
Parameters
_isIncrease
bool
whether is increase or decrease position size order
_collateralAmount
uint120
partial trade collateral amount (collateral precision)
_leverage
uint24
partial trade leverage (1e3)
_positionSizeCollateralDelta
uint256
position size delta in collateral tokens (collateral precision)
_expectedPrice
uint64
reference price for max slippage check (1e10), only useful for increase position size
_maxSlippageP
uint16
max slippage % (1e3), only useful for increase position size
_validateBaseFulfillment
function _validateBaseFulfillment(struct ITradingStorage.Trade _trade, struct ITradingCallbacks.AggregatorAnswer _answer) internal pure returns (enum ITradingCallbacks.CancelReason)
Basic validation for callbacks, returns corresponding cancel reason
Parameters
Last updated
Was this helpful?