0 txs
610 calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DEX_ADAPTER
viewfunction DEX_ADAPTER() view returns (address)
INDEX_FUND
viewfunction INDEX_FUND() view returns (address)
initializeSelector
purefunction initializeSelector() pure returns (bytes4)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
POOL_REWARDS
viewfunction POOL_REWARDS() view returns (address)
stakeUserRestriction
viewfunction stakeUserRestriction() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
V3_TWAP_UTILS
viewfunction V3_TWAP_UTILS() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
initialize
nonpayablefunction initialize(string _name, string _symbol, address _indexFund, address _stakeUserRestriction, bytes _immutables)
removeStakeUserRestriction
nonpayablefunction removeStakeUserRestriction()
renounceOwnership
nonpayablefunction renounceOwnership()
setPoolRewards
nonpayablefunction setPoolRewards(address _rewards)
setStakeUserRestriction
nonpayablefunction setStakeUserRestriction(address _user)
setStakingToken
nonpayablefunction setStakingToken(address _stakingToken)
stake
nonpayablefunction stake(address _user, uint256 _amount)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstake
nonpayablefunction unstake(uint256 _amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Stake
event Stake(address indexed executor, address indexed user, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unstake
event Unstake(address indexed user, uint256 amount)
errors
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b611621806100d65f395ff3fe608060405234801561000f575f5ffd5b5060043610610187575f3560e01c8063a9059cbb116100d9578063dba802d911610093578063effe0e1c1161006e578063effe0e1c1461039a578063f191c16a146103ad578063f2fde38b146103c0578063f5996fe4146103d3575f5ffd5b8063dba802d914610361578063dd62ed3e14610374578063e8a2e34c14610387575f5ffd5b8063a9059cbb146102fb578063aa9aa1441461030e578063adc9772e14610320578063c3371efd14610333578063c56e0ad814610346578063da0e1dab1461034e575f5ffd5b8063313ce5671161014457806372f702f31161011f57806372f702f314610283578063871071d6146102ae5780638da5cb5b146102c357806395d89b41146102f3575f5ffd5b8063313ce5671461023857806370a0823114610247578063715018a61461027b575f5ffd5b806306fdde031461018b578063095ea7b3146101a957806318160ddd146101cc5780631e9b12ef146101fd57806323b872dd146102125780632e17de7814610225575b5f5ffd5b6101936103e6565b6040516101a0919061114e565b60405180910390f35b6101bc6101b7366004611197565b6104a6565b60405190151581526020016101a0565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b6040519081526020016101a0565b61021061020b3660046111c1565b6104bf565b005b6101bc6102203660046111e3565b61052b565b610210610233366004611221565b61054e565b604051601281526020016101a0565b6101ef6102553660046111c1565b6001600160a01b03165f9081525f5160206115cc5f395f51905f52602052604090205490565b6102106105a7565b600354610296906001600160a01b031681565b6040516001600160a01b0390911681526020016101a0565b604051633bff838760e21b81526020016101a0565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610296565b6101936105ba565b6101bc610309366004611197565b6105f8565b5f54610296906001600160a01b031681565b61021061032e366004611197565b610605565b600454610296906001600160a01b031681565b6102106106f9565b600254610296906001600160a01b031681565b61021061036f3660046111c1565b610752565b6101ef610382366004611238565b6107bb565b6102106103953660046111c1565b610804565b6102106103a8366004611318565b61086b565b600554610296906001600160a01b031681565b6102106103ce3660046111c1565b6109ed565b600154610296906001600160a01b031681565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0380546060915f5160206115cc5f395f51905f5291610424906113de565b80601f0160208091040260200160405190810160405280929190818152602001828054610450906113de565b801561049b5780601f106104725761010080835404028352916020019161049b565b820191905f5260205f20905b81548152906001019060200180831161047e57829003601f168201915b505050505091505090565b5f336104b3818585610a2a565b60019150505b92915050565b6104c7610a3c565b6003546001600160a01b0316156105095760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064015b60405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b5f33610538858285610a97565b610543858585610afb565b506001949350505050565b6105583382610b58565b61056f336003546001600160a01b03169083610b90565b60405181815233907f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd9060200160405180910390a250565b6105af610a3c565b6105b85f610bef565b565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060915f5160206115cc5f395f51905f5291610424906113de565b5f336104b3818585610afb565b6003546001600160a01b03166106415760405162461bcd60e51b81526020600482015260016024820152604960f81b6044820152606401610500565b6002546001600160a01b031615610693576002546001600160a01b038381169116146106935760405162461bcd60e51b81526020600482015260016024820152605560f81b6044820152606401610500565b61069d8282610c5f565b6106b5336003546001600160a01b0316903084610c93565b6040518181526001600160a01b0383169033907f99039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f79060200160405180910390a35050565b6002546001600160a01b0316336001600160a01b0316146107405760405162461bcd60e51b81526020600482015260016024820152602960f91b6044820152606401610500565b600280546001600160a01b0319169055565b6002546001600160a01b0316336001600160a01b0316146107995760405162461bcd60e51b81526020600482015260016024820152602960f91b6044820152606401610500565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b039182165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b61080c610a3c565b6001546001600160a01b0316156108495760405162461bcd60e51b81526020600482015260016024820152604960f81b6044820152606401610500565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b5f610874610ccc565b805490915060ff600160401b820416159067ffffffffffffffff165f8115801561089b5750825b90505f8267ffffffffffffffff1660011480156108b75750303b155b9050811580156108c5575080155b156108e35760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561090d57845460ff60401b1916600160401b1785555b6109178a8a610cf4565b61092033610d06565b600280546001600160a01b03808a166001600160a01b0319928316179092555f8054928b1692909116919091178155865181906109669089016020908101908a01611416565b600480546001600160a01b039283166001600160a01b031991821617909155600580549290931691161790555050881594506109e1935050505057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b6109f5610a3c565b6001600160a01b038116610a1e57604051631e4fbdf760e01b81525f6004820152602401610500565b610a2781610bef565b50565b610a378383836001610d17565b505050565b33610a6e7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146105b85760405163118cdaa760e01b8152336004820152602401610500565b5f610aa284846107bb565b90505f19811015610af55781811015610ae757604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610500565b610af584848484035f610d17565b50505050565b6001600160a01b038316610b2457604051634b637e8f60e11b81525f6004820152602401610500565b6001600160a01b038216610b4d5760405163ec442f0560e01b81525f6004820152602401610500565b610a37838383610dfb565b6001600160a01b038216610b8157604051634b637e8f60e11b81525f6004820152602401610500565b610b8c825f83610dfb565b5050565b6040516001600160a01b03838116602483015260448201839052610a3791859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610f13565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6001600160a01b038216610c885760405163ec442f0560e01b81525f6004820152602401610500565b610b8c5f8383610dfb565b6040516001600160a01b038481166024830152838116604483015260648201839052610af59186918216906323b872dd90608401610bbd565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006104b9565b610cfc610f7f565b610b8c8282610fa4565b610d0e610f7f565b610a2781610ff4565b5f5160206115cc5f395f51905f526001600160a01b038516610d4e5760405163e602df0560e01b81525f6004820152602401610500565b6001600160a01b038416610d7757604051634a1406b160e11b81525f6004820152602401610500565b6001600160a01b038086165f90815260018301602090815260408083209388168352929052208390558115610df457836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610deb91815260200190565b60405180910390a35b5050505050565b610e06838383610ffc565b6001600160a01b03831615610e7f576001805460405163d6460b4b60e01b81526001600160a01b03868116600483015260248201859052604482019390935291169063d6460b4b906064015f604051808303815f87803b158015610e68575f5ffd5b505af1158015610e7a573d5f5f3e3d5ffd5b505050505b6001600160a01b03821615801590610ea257506001600160a01b03821661dead14155b15610a375760015460405163d6460b4b60e01b81526001600160a01b038481166004830152602482018490525f60448301529091169063d6460b4b906064015f604051808303815f87803b158015610ef8575f5ffd5b505af1158015610f0a573d5f5f3e3d5ffd5b50505050505050565b5f5f60205f8451602086015f885af180610f32576040513d5f823e3d81fd5b50505f513d91508115610f49578060011415610f56565b6001600160a01b0384163b155b15610af557604051635274afe760e01b81526001600160a01b0385166004820152602401610500565b610f87611135565b6105b857604051631afcd79f60e31b815260040160405180910390fd5b610fac610f7f565b5f5160206115cc5f395f51905f527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03610fe584826114f1565b5060048101610af583826114f1565b6109f5610f7f565b5f5160206115cc5f395f51905f526001600160a01b0384166110365781816002015f82825461102b91906115ac565b909155506110a69050565b6001600160a01b0384165f90815260208290526040902054828110156110885760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610500565b6001600160a01b0385165f9081526020839052604090209083900390555b6001600160a01b0383166110c45760028101805483900390556110e2565b6001600160a01b0383165f9081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161112791815260200190565b60405180910390a350505050565b5f61113e610ccc565b54600160401b900460ff16919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610a27575f5ffd5b5f5f604083850312156111a8575f5ffd5b82356111b381611183565b946020939093013593505050565b5f602082840312156111d1575f5ffd5b81356111dc81611183565b9392505050565b5f5f5f606084860312156111f5575f5ffd5b833561120081611183565b9250602084013561121081611183565b929592945050506040919091013590565b5f60208284031215611231575f5ffd5b5035919050565b5f5f60408385031215611249575f5ffd5b823561125481611183565b9150602083013561126481611183565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff84111561129d5761129d61126f565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff821117156112cc576112cc61126f565b6040528381529050808284018510156112e3575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112611309575f5ffd5b6111dc83833560208501611283565b5f5f5f5f5f60a0868803121561132c575f5ffd5b853567ffffffffffffffff811115611342575f5ffd5b61134e888289016112fa565b955050602086013567ffffffffffffffff81111561136a575f5ffd5b611376888289016112fa565b945050604086013561138781611183565b9250606086013561139781611183565b9150608086013567ffffffffffffffff8111156113b2575f5ffd5b8601601f810188136113c2575f5ffd5b6113d188823560208401611283565b9150509295509295909350565b600181811c908216806113f257607f821691505b60208210810361141057634e487b7160e01b5f52602260045260245ffd5b50919050565b5f5f5f5f5f5f5f60e0888a03121561142c575f5ffd5b875161143781611183565b602089015190975061144881611183565b604089015190965061145981611183565b606089015190955061146a81611183565b608089015190945061147b81611183565b60a089015190935061148c81611183565b60c089015190925061149d81611183565b8091505092959891949750929550565b601f821115610a3757805f5260205f20601f840160051c810160208510156114d25750805b601f840160051c820191505b81811015610df4575f81556001016114de565b815167ffffffffffffffff81111561150b5761150b61126f565b61151f8161151984546113de565b846114ad565b6020601f821160018114611551575f831561153a5750848201515b5f19600385901b1c1916600184901b178455610df4565b5f84815260208120601f198516915b828110156115805787850151825560209485019460019092019101611560565b508482101561159d57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b808201808211156104b957634e487b7160e01b5f52601160045260245ffdfe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a2646970667358221220acc22d2550d50e0d5ceb43e7f31629a03147c175fd693616026b3d0ec22921fc64736f6c634300081c0033