0 txs
5.3k calls
constructor
No constructor.
functions
accruedFunding
viewfunction accruedFunding(tuple position_) view returns (int256 accruedFunding_)
accruedFundingTotalByLongs
viewfunction accruedFundingTotalByLongs() view returns (int256 accruedFundingLongs_)
CONTROLLER_TYPE
viewfunction CONTROLLER_TYPE() view returns (uint8)
cumulativeFundingRate
viewfunction cumulativeFundingRate() view returns (int256)
currentFundingRate
viewfunction currentFundingRate() view returns (int256 currentFundingRate_)
currentFundingVelocity
viewfunction currentFundingVelocity() view returns (int256 currFundingVelocity_)
fundingAdjustedLongPnLTotal
viewfunction fundingAdjustedLongPnLTotal(uint32 maxAge_, bool priceDiffCheck_) view returns (int256 fundingAdjustedPnL_)
getCurrentSkew
viewfunction getCurrentSkew() view returns (int256 skew_)
getProportionalSkew
viewfunction getProportionalSkew() view returns (int256 pSkew_)
lastRecomputedFundingRate
viewfunction lastRecomputedFundingRate() view returns (int256)
lastRecomputedFundingTimestamp
viewfunction lastRecomputedFundingTimestamp() view returns (uint64)
maxFundingVelocity
viewfunction maxFundingVelocity() view returns (uint256)
maxVelocitySkew
viewfunction maxVelocitySkew() view returns (uint256)
minFundingRate
viewfunction minFundingRate() view returns (int256)
MODULE_KEY
viewfunction MODULE_KEY() view returns (bytes32)
nextFundingEntry
viewfunction nextFundingEntry() view returns (int256 nextFundingEntry_)
profitLoss
viewfunction profitLoss(tuple position_, uint256 price_) view returns (int256 pnl_)
profitLossTotal
viewfunction profitLossTotal(uint256 price_) view returns (int256 pnl_)
targetSizeCollateralRatio
viewfunction targetSizeCollateralRatio() view returns (uint256)
vault
viewfunction vault() view returns (address)
initialize
nonpayablefunction initialize(address vault_, uint256 maxFundingVelocity_, uint256 maxVelocitySkew_, uint256 targetSizeCollateralRatio_, int256 minFundingRate_)
setMaxFundingVelocity
nonpayablefunction setMaxFundingVelocity(uint256 newMaxFundingVelocity_)
setMaxVelocitySkew
nonpayablefunction setMaxVelocitySkew(uint256 newMaxVelocitySkew_)
setMinFundingRate
nonpayablefunction setMinFundingRate(int256 newMinFundingRate_)
setTargetSizeCollateralRatio
nonpayablefunction setTargetSizeCollateralRatio(uint256 targetSizeCollateralRatio_)
settleFundingFees
nonpayablefunction settleFundingFees()
setVault
nonpayablefunction setVault(address vault_)
events
FundingFeesSettled
event FundingFeesSettled(int256 settledFundingFee)
Initialized
event Initialized(uint64 version)
errors
InvalidInitialization
error InvalidInitialization()
InvalidMaxVelocitySkew
error InvalidMaxVelocitySkew(uint256 maxVelocitySkew)
ModuleKeyEmpty
error ModuleKeyEmpty()
NotInitializing
error NotInitializing()
OnlyOwner
error OnlyOwner(address msgSender)
Paused
error Paused(bytes32 moduleKey)
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
ZeroAddress
error ZeroAddress(string variableName)
ZeroValue
error ZeroValue(string variableName)
creation bytecode
0x6080604052348015600f57600080fd5b506118b58061001f6000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806343719f7c116100f95780639dd1c3c711610097578063c82e6ce811610071578063c82e6ce814610320578063e4829e5114610329578063fbfa77cf1461033c578063fe4f325c1461036757600080fd5b80639dd1c3c7146102fc578063b0c7f1be1461030f578063b74e38061461031857600080fd5b80636e3ba80c116100d35780636e3ba80c146102c4578063700a116c146102cd5780638d6ff338146102d65780638eb77d41146102e957600080fd5b806343719f7c14610295578063470cdf47146102a85780636817031b146102b157600080fd5b80632c84283b116101665780633538dc62116101405780633538dc62146102615780633a6d64841461027b5780633aef4d0b146102845780633d23b9ca1461028c57600080fd5b80632c84283b146102195780632caec7fc146102215780632e6324941461023457600080fd5b8063151b1ac911610197578063151b1ac9146101ee57806319f74174146102095780632a00273a1461021157600080fd5b8063054839b2146101be5780630ec7070c146101d3578063146a89cc146101e6575b600080fd5b6101d16101cc3660046114e2565b61037a565b005b6101d16101e13660046114e2565b610437565b6101d16104e1565b6101f6610657565b6040519081526020015b60405180910390f35b6101f66107e0565b6101f661091e565b6101f661093d565b6101d161022f3660046114e2565b610952565b6032546102489067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610200565b610269600181565b60405160ff9091168152602001610200565b6101f660335481565b6101f66109f5565b6101f660005481565b6101f66102a336600461156c565b610a07565b6101f660345481565b6101d16102bf3660046115ac565b610a3f565b6101f660355481565b6101f660365481565b6101d16102e43660046115c9565b610b43565b6101f66102f736600461160d565b610b57565b6101f661030a3660046114e2565b610b9b565b6101f660375481565b6101f6610c4e565b6101f660385481565b6101d16103373660046114e2565b610cb3565b60015461034f906001600160a01b031681565b6040516001600160a01b039091168152602001610200565b6101f6610375366004611629565b610d5a565b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa1580156103c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e79190611670565b6001600160a01b03161461041557604051630543601560e11b81523360048201526024015b60405180910390fd5b61041d6104e1565b806104266109f5565b12156104325760338190555b603755565b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa158015610480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a49190611670565b6001600160a01b0316146104cd57604051630543601560e11b815233600482015260240161040c565b6104d56104e1565b6104de81610f10565b50565b60006104eb6109f5565b905060006104f882610f4a565b9050806034600082825461050c91906116a3565b909155506000905061051d82611073565b6033849055905061052d42611104565b6032805467ffffffffffffffff191667ffffffffffffffff92909216919091179055600154604051633d612f3760e21b8152600481018390526001600160a01b039091169063f584bcdc90602401600060405180830381600087803b15801561059557600080fd5b505af11580156105a9573d6000803e3d6000fd5b50506001546001600160a01b031691506337f3e0d290506105c9836116cb565b6040518263ffffffff1660e01b81526004016105e791815260200190565b600060405180830381600087803b15801561060157600080fd5b505af1158015610615573d6000803e3d6000fd5b505050507f871238ba674a317dbcaadc5782f233851393e9cacc765d51596f06d8da1540138160405161064a91815260200190565b60405180910390a1505050565b600080600160009054906101000a90046001600160a01b03166001600160a01b0316631cc5b7766040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d191906116e7565b6040015190506000600160009054906101000a90046001600160a01b03166001600160a01b03166385820ba36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107509190611753565b905080156107c957603854610765838361113f565b61076f919061176c565b9250670de0b6b3a763ffff1983128061078f5750670de0b6b3a764000083135b156107c4576107c16107b26107ab670de0b6b3a76400006116cb565b859061115e565b670de0b6b3a764000090611174565b92505b505090565b81156107d7576107d7611793565b60009250505090565b600080600160009054906101000a90046001600160a01b03166001600160a01b0316631cc5b7766040518163ffffffff1660e01b8152600401606060405180830381865afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085a91906116e7565b604001519050670de0b6b3a76400006108796108746109f5565b610f4a565b61088390836117a9565b61088d91906117ef565b600160009054906101000a90046001600160a01b03166001600160a01b03166385820ba36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109049190611753565b61090e908361176c565b610918919061176c565b91505090565b600061092b6108746109f5565b60345461093891906116a3565b905090565b600061093861094d6108746109f5565b611073565b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa15801561099b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bf9190611670565b6001600160a01b0316146109e857604051630543601560e11b815233600482015260240161040c565b6109f06104e1565b603555565b6000610938610a02611183565b6111c4565b81516000908190610a18908461176c565b905082818560400151610a2b91906117a9565b610a3591906117ef565b9150505b92915050565b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac9190611670565b6001600160a01b031614610ad557604051630543601560e11b815233600482015260240161040c565b6001600160a01b038116610b145760405163eac0d38960e01b81526020600482015260056024820152641d985d5b1d60da1b604482015260640161040c565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610b5085858585856111eb565b5050505050565b600080610b67836060015161138a565b6040840151909150610b79908261139e565b915081600003610b895781610b94565b610b9460018361176c565b9392505050565b600080600160009054906101000a90046001600160a01b03166001600160a01b0316631cc5b7766040518163ffffffff1660e01b8152600401606060405180830381865afa158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1591906116e7565b90506000816020015184610c29919061176c565b905083818360400151610c3c91906117a9565b610c4691906117ef565b949350505050565b600080610c59610657565b60365490915015610ca557600060365460355483610c7791906117a9565b610c8191906117ef565b90506107c1610c9c603554610c95906116cb565b839061115e565b60355490611174565b60355461091890829061139e565b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa158015610cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d209190611670565b6001600160a01b031614610d4957604051630543601560e11b815233600482015260240161040c565b610d516104e1565b6104de816113bd565b600154604051630aa10e9f60e41b81526b6f7261636c654d6f64756c6560a01b600482015260009182916001600160a01b039091169063aa10e9f090602401602060405180830381865afa158015610db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dda9190611670565b6001600160a01b031663529b128c600160009054906101000a90046001600160a01b03166001600160a01b031663d8dfeb456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f9190611670565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015263ffffffff8716602482015285151560448201526064016040805180830381865afa158015610ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef2919061181d565b509050610efd61093d565b610f0682610b9b565b610a3591906116a3565b670de0b6b3a7640000811180610f24575080155b15610f45576040516322e6408160e11b81526004810182905260240161040c565b603655565b60006033548214158015610f5f575060375482145b15610ff1576000610f6e610c4e565b9050610fa8610f8d82603354603754610f87919061176c565b90611413565b610f95611428565b610f9f919061176c565b6037549061139e565b610fb38260026117a9565b603354603754610fc391906116a3565b603354603754610fd3919061176c565b610fdd91906117a9565b610fe791906117ef565b610b9491906116a3565b60006033548361100191906117a9565b12156110485761100f610c4e565b61101a9060026117a9565b60335461102790846116a3565b603354611034908561176c565b61103e91906117a9565b610a3991906117ef565b610a39611053611428565b60028460335461106391906116a3565b61106d91906117ef565b9061139e565b6000806110fb83600160009054906101000a90046001600160a01b03166001600160a01b0316631cc5b7766040518163ffffffff1660e01b8152600401606060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906116e7565b604001519061139e565b610b94906116cb565b600067ffffffffffffffff82111561113b57604080516306dfcc6560e41b815260048101919091526024810183905260440161040c565b5090565b600081611154670de0b6b3a764000085611841565b610b949190611858565b600081831361116d5781610b94565b5090919050565b600081831261116d5781610b94565b60008061118e610c4e565b9050603754603354131580156111a5575060008113155b156111b257600091505090565b6109186111bd611428565b829061139e565b600080826033546111d591906116a3565b9050603754811215610a39575050603754919050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112365750825b905060008267ffffffffffffffff1660011480156112535750303b155b905081158015611261575080155b1561127f5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156112b357845468ff00000000000000001916680100000000000000001785555b6112dd7f636f6e74726f6c6c65724d6f64756c65000000000000000000000000000000008b611451565b60358990556112eb88610f10565b6112f4876113bd565b603786905560008613156113085760338690555b61131142611104565b6032805467ffffffffffffffff191667ffffffffffffffff92909216919091179055831561137e57845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b600061139461091e565b610a39908361176c565b6000670de0b6b3a76400006113b383856117a9565b610b9491906117ef565b8060000361140e5760405163046c82ad60e41b815260206004820152601960248201527f74617267657453697a65436f6c6c61746572616c526174696f00000000000000604482015260640161040c565b603855565b6000816113b3670de0b6b3a7640000856117a9565b60325460009061093890620151809061144b9067ffffffffffffffff164261186c565b9061113f565b8161146f5760405163673791e360e11b815260040160405180910390fd5b6001600160a01b0381166114ae5760405163eac0d38960e01b81526020600482015260056024820152641d985d5b1d60da1b604482015260640161040c565b6000919091556001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055565b6000602082840312156114f457600080fd5b5035919050565b60006080828403121561150d57600080fd5b6040516080810167ffffffffffffffff8111828210171561153e57634e487b7160e01b600052604160045260246000fd5b6040908152833582526020808501359083015283810135908201526060928301359281019290925250919050565b60008060a0838503121561157f57600080fd5b61158984846114fb565b946080939093013593505050565b6001600160a01b03811681146104de57600080fd5b6000602082840312156115be57600080fd5b8135610b9481611597565b600080600080600060a086880312156115e157600080fd5b85356115ec81611597565b97602087013597506040870135966060810135965060800135945092505050565b60006080828403121561161f57600080fd5b610b9483836114fb565b6000806040838503121561163c57600080fd5b823563ffffffff8116811461165057600080fd5b91506020830135801515811461166557600080fd5b809150509250929050565b60006020828403121561168257600080fd5b8151610b9481611597565b634e487b7160e01b600052601160045260246000fd5b80820182811260008312801582168215821617156116c3576116c361168d565b505092915050565b6000600160ff1b82016116e0576116e061168d565b5060000390565b600060608284031280156116fa57600080fd5b506040516000906060810167ffffffffffffffff8111828210171561172d57634e487b7160e01b83526041600452602483fd5b604090815284518252602080860151908301529384015193810193909352509092915050565b60006020828403121561176557600080fd5b5051919050565b818103600083128015838313168383128216171561178c5761178c61168d565b5092915050565b634e487b7160e01b600052600160045260246000fd5b80820260008212600160ff1b841416156117c5576117c561168d565b8181058314821517610a3957610a3961168d565b634e487b7160e01b600052601260045260246000fd5b6000826117fe576117fe6117d9565b600160ff1b8214600019841416156118185761181861168d565b500590565b6000806040838503121561183057600080fd5b505080516020909101519092909150565b8082028115828204841417610a3957610a3961168d565b600082611867576118676117d9565b500490565b81810381811115610a3957610a3961168d56fea2646970667358221220e5945b750c41166fec03e06e38014e840e1fad6ab8972912fa0b8a4cf9de69e764736f6c634300081c0033