Contract Relationships
Read Functions
Margin Parameters
| Function | Returns | Default |
|---|---|---|
marginConfig() | Full MarginConfig struct | — |
imFactorBps() | Initial margin factor (bps) | 200 (2%) |
mmFactorBps() | Maintenance margin factor (bps) | 100 (1%) |
tradingFeeBps() | Trading fee rate (bps) | 5 (0.05%) |
liquidationPenaltyBps() | Liquidation penalty (bps) | 30 (0.3%) |
Pricing Parameters
| Function | Returns | Default |
|---|---|---|
pricingConfig() | Full PricingConfig struct | — |
baseSpreadBps() | Base spread (bps) | 5 (0.05%) |
premiumDiscountAdjBps() | Premium/discount adjustment (bps) | 5 (0.05%) |
Tenor Configuration
| Function | Returns |
|---|---|
timeConfig() | Full TimeConfig struct |
getTenorSeconds(tenor) | Duration in seconds for a tenor |
isTenorEnabled(tenor) | Whether a tenor is enabled |
getEnabledTenors() | Array of all enabled tenors |
Other Parameters
| Function | Returns | Default |
|---|---|---|
minPositionNotional() | Minimum position size | 100,000,000 (100 USDC) |
oracleFee() | Fee per oracle read | 100,000 ($0.10 USDC) |
oracleFeeReceiver() | Oracle fee recipient address | — |
marginMode() | Current margin mode | ISOLATED |
getFeeDestinations() | Fee distribution destinations | — |
getPairFixingTime(pairId) | Per-pair fixing time config | — |
Admin Functions
All admin functions are restricted to the contract owner.setMarginConfig
| # | Check | Revert Error |
|---|---|---|
| 1 | imFactorBps > mmFactorBps | ImMustExceedMm |
| 2 | imFactorBps <= 10000 | InvalidParameter |
setPricingConfig
baseSpreadBps <= 1000 (max 10%)
setTimeConfig
openPositionCount == 0 or reverts OpenPositionsExist
setPairFixingTime
| # | Check | Revert Error |
|---|---|---|
| 1 | fixingHourUtc < 24 | InvalidParameter |
| 2 | fixingMinuteUtc < 60 | InvalidParameter |
| 3 | fixingSecondUtc < 60 | InvalidParameter |
| 4 | No open positions for this pair | OpenPositionsExist |
setMarginMode
setTenorEnabled
setMinPositionNotional
setOracleFee
setOracleFeeReceiver
setFeeDestinations
| # | Check | Revert Error |
|---|---|---|
| 1 | Each destination != address(0) | ZeroAddress |
| 2 | Each shareBps > 0 | InvalidParameter |
| 3 | Total shares == 10,000 | InvalidParameter |
Events
| Event | When Emitted |
|---|---|
MarginConfigUpdated | Margin factors or fee rates changed |
PricingConfigUpdated | Spread parameters changed |
TimeConfigUpdated | Tenor durations changed |
PairFixingConfigUpdated | Per-pair fixing time changed |
MarginModeUpdated | Margin mode switched |
MinPositionNotionalUpdated | Minimum position size changed |
OracleFeeUpdated | Oracle fee amount changed |
OracleFeeReceiverUpdated | Oracle fee receiver changed |
FeeDestinationsUpdated | Fee distribution destinations changed |
Related Pages
Parameter Reference
Complete parameter listing with defaults.
Types Reference
MarginConfig, PricingConfig, TimeConfig struct definitions.
Fees
Fee calculation formulas and distribution.