FuturesMarketBase¶
Description¶
Source: contracts/frozen/FuturesMarketBase.sol
Structs¶
TradeParams
¶
Field | Type | Description |
---|---|---|
sizeDelta |
int256 |
TBA |
price |
uint256 |
TBA |
takerFee |
uint256 |
TBA |
makerFee |
uint256 |
TBA |
trackingCode |
bytes32 |
TBA |
Variables¶
baseAsset
¶
Type: bytes32
fundingLastRecomputed
¶
Type: uint32
fundingSequence
¶
Type: int128[]
marketKey
¶
Type: bytes32
marketSize
¶
Type: uint128
marketSkew
¶
Type: int128
positions
¶
Type: mapping(address => struct IFuturesMarketBaseTypes.Position)
Constructor¶
constructor
¶
Details
Signature
constructor(address _resolver, bytes32 _baseAsset, bytes32 _marketKey)
Visibility
public
State Mutability
``
Views¶
assetPrice
¶
Details
Signature
assetPrice() view returns (uint256 price, bool invalid)
Visibility
public
State Mutability
view
resolverAddressesRequired
¶
Details
Signature
resolverAddressesRequired() view returns (bytes32[] addresses)
Visibility
public
State Mutability
view
Internal Functions¶
_abs
¶
Details
Signature
_abs(int256 x) pure returns (uint256)
Visibility
internal
State Mutability
pure
_accessibleMargin
¶
Details
Signature
_accessibleMargin(struct IFuturesMarketBaseTypes.Position position, uint256 price) view returns (uint256)
Visibility
internal
State Mutability
view
_accruedFunding
¶
Details
Signature
_accruedFunding(struct IFuturesMarketBaseTypes.Position position, uint256 price) view returns (int256 funding)
Visibility
internal
State Mutability
view
_applyDebtCorrection
¶
Details
Signature
_applyDebtCorrection(struct IFuturesMarketBaseTypes.Position newPosition, struct IFuturesMarketBaseTypes.Position oldPosition)
Visibility
internal
State Mutability
``
_assetPriceRequireSystemChecks
¶
Details
Signature
_assetPriceRequireSystemChecks() returns (uint256)
Visibility
internal
State Mutability
``
_canLiquidate
¶
Details
Signature
_canLiquidate(struct IFuturesMarketBaseTypes.Position position, uint256 price) view returns (bool)
Visibility
internal
State Mutability
view
_closePosition
¶
Details
Signature
_closePosition(bytes32 trackingCode)
Visibility
internal
State Mutability
``
_currentFundingRate
¶
Details
Signature
_currentFundingRate(uint256 price) view returns (int256)
Visibility
internal
State Mutability
view
_currentLeverage
¶
Details
Signature
_currentLeverage(struct IFuturesMarketBaseTypes.Position position, uint256 price, uint256 remainingMargin_) pure returns (int256 leverage)
Visibility
internal
State Mutability
pure
_dynamicFeeRate
¶
Details
Signature
_dynamicFeeRate() view returns (uint256 feeRate, bool tooVolatile)
Visibility
internal
State Mutability
view
_exchangeCircuitBreaker
¶
Details
Signature
_exchangeCircuitBreaker() view returns (contract IExchangeCircuitBreaker)
Visibility
internal
State Mutability
view
_exchanger
¶
Details
Signature
_exchanger() view returns (contract IExchanger)
Visibility
internal
State Mutability
view
_isError
¶
Details
Signature
_isError(enum IFuturesMarketBaseTypes.Status status) pure returns (bool)
Visibility
internal
State Mutability
pure
_latestFundingIndex
¶
Details
Signature
_latestFundingIndex() view returns (uint256)
Visibility
internal
State Mutability
view
_liquidatePosition
¶
Details
Signature
_liquidatePosition(address account, address liquidator, uint256 price)
Visibility
internal
State Mutability
``
Emits
_liquidationFee
¶
Details
Signature
_liquidationFee(int256 positionSize, uint256 price) view returns (uint256 lFee)
Visibility
internal
State Mutability
view
_liquidationMargin
¶
Details
Signature
_liquidationMargin(int256 positionSize, uint256 price) view returns (uint256 lMargin)
Visibility
internal
State Mutability
view
_manager
¶
Details
Signature
_manager() view returns (contract IFuturesMarketManagerInternal)
Visibility
internal
State Mutability
view
_marginPlusProfitFunding
¶
Details
Signature
_marginPlusProfitFunding(struct IFuturesMarketBaseTypes.Position position, uint256 price) view returns (int256)
Visibility
internal
State Mutability
view
_marketDebt
¶
Details
Signature
_marketDebt(uint256 price) view returns (uint256)
Visibility
internal
State Mutability
view
_max
¶
Details
Signature
_max(int256 x, int256 y) pure returns (int256)
Visibility
internal
State Mutability
pure
_min
¶
Details
Signature
_min(int256 x, int256 y) pure returns (int256)
Visibility
internal
State Mutability
pure
_modifyPosition
¶
Details
Signature
_modifyPosition(int256 sizeDelta, bytes32 trackingCode)
Visibility
internal
State Mutability
``
_netFundingPerUnit
¶
Details
Signature
_netFundingPerUnit(uint256 startIndex, uint256 price) view returns (int256)
Visibility
internal
State Mutability
view
_nextFundingEntry
¶
Details
Signature
_nextFundingEntry(uint256 price) view returns (int256 funding)
Visibility
internal
State Mutability
view
_notionalValue
¶
Details
Signature
_notionalValue(int256 positionSize, uint256 price) pure returns (int256 value)
Visibility
internal
State Mutability
pure
_orderFee
¶
Details
Signature
_orderFee(struct FuturesMarketBase.TradeParams params, uint256 dynamicFeeRate) view returns (uint256 fee)
Visibility
internal
State Mutability
view
_orderSizeTooLarge
¶
Details
Signature
_orderSizeTooLarge(uint256 maxSize, int256 oldSize, int256 newSize) view returns (bool)
Visibility
internal
State Mutability
view
_positionDebtCorrection
¶
Details
Signature
_positionDebtCorrection(struct IFuturesMarketBaseTypes.Position position) view returns (int256)
Visibility
internal
State Mutability
view
_postTradeDetails
¶
Details
Signature
_postTradeDetails(struct IFuturesMarketBaseTypes.Position oldPos, struct FuturesMarketBase.TradeParams params) view returns (struct IFuturesMarketBaseTypes.Position newPosition, uint256 fee, enum IFuturesMarketBaseTypes.Status tradeStatus)
Visibility
internal
State Mutability
view
_profitLoss
¶
Details
Signature
_profitLoss(struct IFuturesMarketBaseTypes.Position position, uint256 price) pure returns (int256 pnl)
Visibility
internal
State Mutability
pure
_proportionalSkew
¶
Details
Signature
_proportionalSkew(uint256 price) view returns (int256)
Visibility
internal
State Mutability
view
Requires
_recomputeFunding
¶
Details
Signature
_recomputeFunding(uint256 price) returns (uint256 lastIndex)
Visibility
internal
State Mutability
``
Emits
_recomputeMarginWithDelta
¶
Details
Signature
_recomputeMarginWithDelta(struct IFuturesMarketBaseTypes.Position position, uint256 price, int256 marginDelta) view returns (uint256 margin, enum IFuturesMarketBaseTypes.Status statusCode)
Visibility
internal
State Mutability
view
_remainingMargin
¶
Details
Signature
_remainingMargin(struct IFuturesMarketBaseTypes.Position position, uint256 price) view returns (uint256)
Visibility
internal
State Mutability
view
_revertIfError
¶
Details
Signature
_revertIfError(bool isError, enum IFuturesMarketBaseTypes.Status status) view
Visibility
internal
State Mutability
view
_sameSide
¶
Details
Signature
_sameSide(int256 a, int256 b) pure returns (bool)
Visibility
internal
State Mutability
pure
_settings
¶
Details
Signature
_settings() view returns (address)
Visibility
internal
State Mutability
view
_signedAbs
¶
Details
Signature
_signedAbs(int256 x) pure returns (int256)
Visibility
internal
State Mutability
pure
_systemStatus
¶
Details
Signature
_systemStatus() view returns (contract ISystemStatus)
Visibility
internal
State Mutability
view
_trade
¶
Details
Signature
_trade(address sender, struct FuturesMarketBase.TradeParams params)
Visibility
internal
State Mutability
``
Emits
_transferMargin
¶
Details
Signature
_transferMargin(int256 marginDelta, uint256 price, address sender)
Visibility
internal
State Mutability
``
Emits
_unrecordedFunding
¶
Details
Signature
_unrecordedFunding(uint256 price) view returns (int256 funding)
Visibility
internal
State Mutability
view
_updatePositionMargin
¶
Details
Signature
_updatePositionMargin(struct IFuturesMarketBaseTypes.Position position, uint256 price, int256 marginDelta)
Visibility
internal
State Mutability
``
External Functions¶
closePosition
¶
Details
Signature
closePosition()
Visibility
external
State Mutability
``
closePositionWithTracking
¶
Details
Signature
closePositionWithTracking(bytes32 trackingCode)
Visibility
external
State Mutability
``
liquidatePosition
¶
Details
Signature
liquidatePosition(address account)
Visibility
external
State Mutability
``
modifyPosition
¶
Details
Signature
modifyPosition(int256 sizeDelta)
Visibility
external
State Mutability
``
modifyPositionWithTracking
¶
Details
Signature
modifyPositionWithTracking(int256 sizeDelta, bytes32 trackingCode)
Visibility
external
State Mutability
``
recomputeFunding
¶
Details
Signature
recomputeFunding() returns (uint256 lastIndex)
Visibility
external
State Mutability
``
Requires
transferMargin
¶
Details
Signature
transferMargin(int256 marginDelta)
Visibility
external
State Mutability
``
withdrawAllMargin
¶
Details
Signature
withdrawAllMargin()
Visibility
external
State Mutability
``
Events¶
FundingRecomputed
¶
Signature: FundingRecomputed(int256 funding, uint256 index, uint256 timestamp)
FuturesTracking
¶
Signature: FuturesTracking(bytes32 trackingCode, bytes32 baseAsset, bytes32 marketKey, int256 sizeDelta, uint256 fee)
MarginTransferred
¶
Signature: MarginTransferred(address account, int256 marginDelta)
PositionLiquidated
¶
Signature: PositionLiquidated(uint256 id, address account, address liquidator, int256 size, uint256 price, uint256 fee)
PositionModified
¶
Signature: PositionModified(uint256 id, address account, uint256 margin, int256 size, int256 tradeSize, uint256 lastPrice, uint256 fundingIndex, uint256 fee)