1 tx
7.7k calls
constructor
constructor(address _dolomiteMargin, address _chainlinkRegistry, address _magicGlp, uint256 _dfsGlpMarketId)
functions
chainlinkRegistry
viewfunction chainlinkRegistry() view returns (address)
DFS_GLP_MARKET_ID
viewfunction DFS_GLP_MARKET_ID() view returns (uint256)
DOLOMITE_MARGIN_OWNER
viewfunction DOLOMITE_MARGIN_OWNER() view returns (address)
DOLOMITE_MARGIN
viewfunction DOLOMITE_MARGIN() view returns (address)
exchangeRateDenominator
viewfunction exchangeRateDenominator() view returns (uint256)
exchangeRateNumerator
viewfunction exchangeRateNumerator() view returns (uint256)
forwarder
viewfunction forwarder() view returns (address)
getPrice
viewfunction getPrice(address _token) view returns (tuple)
gracePeriod
viewfunction gracePeriod() view returns (uint256)
heartbeat
viewfunction heartbeat() view returns (uint256)
lastUpdateTimestamp
viewfunction lastUpdateTimestamp() view returns (uint256)
lowerEdge
viewfunction lowerEdge() view returns (uint256)
MAGIC_GLP
viewfunction MAGIC_GLP() view returns (address)
upperEdge
viewfunction upperEdge() view returns (uint256)
checkUpkeep
nonpayablefunction checkUpkeep(bytes) returns (bool upkeepNeeded, bytes)
initializeForwarder
nonpayablefunction initializeForwarder(uint256 _upkeepId)
ownerSetChainlinkRegistry
nonpayablefunction ownerSetChainlinkRegistry(address _chainlinkRegistry)
ownerSetForwarder
nonpayablefunction ownerSetForwarder(address _forwarder)
ownerSetGracePeriod
nonpayablefunction ownerSetGracePeriod(uint256 _gracePeriod)
ownerSetHeartbeat
nonpayablefunction ownerSetHeartbeat(uint256 _heartbeat)
ownerSetLowerEdge
nonpayablefunction ownerSetLowerEdge(uint256 _lowerEdge)
ownerSetUpperEdge
nonpayablefunction ownerSetUpperEdge(uint256 _upperEdge)
performUpkeep
nonpayablefunction performUpkeep(bytes)
events
ChainlinkRegistrySet
event ChainlinkRegistrySet(address _chainlinkRegistry)
ExchangeRateUpdated
event ExchangeRateUpdated(uint256 _lastUpdateTimestamp, uint256 _exchangeRateNumerator, uint256 _exchangeRateDenominator)
ForwarderSet
event ForwarderSet(address _forwarder)
GracePeriodSet
event GracePeriodSet(uint256 _heartbeat)
HeartbeatSet
event HeartbeatSet(uint256 _heartbeat)
LowerEdgeSet
event LowerEdgeSet(uint256 _lowerEdge)
UpperEdgeSet
event UpperEdgeSet(uint256 _upperEdge)
errors
No errors.
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162001f2938038062001f29833981016040819052620000349162000580565b6001600160a01b03841660805283836200005162015180620000ab565b6200005e610e10620000ed565b6200006b61272962000124565b620000786126f76200019b565b620000838162000212565b50506001600160a01b03821660a05260c0819052620000a1620002bc565b50505050620007ea565b60008190556040517fb28aba9038268da82e167f5387f1c36b2887f0c6b444f73315ca8487d44469e590620000e2908390620005f6565b60405180910390a150565b60018190556040517f376aafccbf0af4f25bc38eb52182d4604f044d0d87e4cb26e1667b50e3a1de0590620000e2908390620005f6565b62000164612710821160008051602062001f0983398151915271496e76616c6964207570706572206564676560701b6200031260201b620007ff1760201c565b60028190556040517f9baf87ed88c59c47fcbc772097143ac1970e39ee06d569f34ad0d9775bf369b090620000e2908390620005f6565b620001db612710821060008051602062001f0983398151915271496e76616c6964206c6f776572206564676560701b6200031260201b620007ff1760201c565b60038190556040517fe5d8954a6f6cd82676f6d093c48e3fcec885de57b0a0f9f2a279d994baa39f4090620000e2908390620005f6565b6200026f60006001600160a01b0316826001600160a01b0316141560008051602062001f098339815191527f496e76616c696420636861696e6c696e6b2072656769737472790000000000006200031260201b620007ff1760201c565b600480546001600160a01b0319166001600160a01b0383161790556040517fff593e9760b2f47c7738eec0dd7255bc3bfbe6b90270c9e0a492e329bb1fe1a290620000e290839062000611565b620002c66200037e565b600781905560068290554260088190556040517f4a84129ac58651279fc65719b27818bccdff5de9a6efebaab1616a6d2f90bf24936200030893909162000621565b60405180910390a1565b826200037957620003238262000477565b6101d160f51b620003348362000477565b6040516020016200034893929190620006c0565b60408051601f198184030181529082905262461bcd60e51b825262000370916004016200072c565b60405180910390fd5b505050565b60008060a0516001600160a01b03166301e1d1146040518163ffffffff1660e01b815260040160206040518083038186803b158015620003bd57600080fd5b505afa158015620003d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f8919062000746565b60a0516001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200043457600080fd5b505afa15801562000449573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046f919062000746565b915091509091565b60606000826040516020016200048e919062000772565b60408051601f19818403018152919052905060205b80156200051b5780620004b6816200079f565b915050818181518110620004ce57620004ce620007b9565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615620005155760006200050a826001620007cf565b835250909392505050565b620004a3565b505060408051600081526020810190915292915050565b60006001600160a01b0382165b92915050565b620005508162000532565b81146200055c57600080fd5b50565b80516200053f8162000545565b8062000550565b80516200053f816200056c565b600080600080608085870312156200059b576200059b600080fd5b6000620005a987876200055f565b9450506020620005bc878288016200055f565b9350506040620005cf878288016200055f565b9250506060620005e28782880162000573565b91505092959194509250565b805b82525050565b602081016200053f8284620005ee565b620005f08162000532565b602081016200053f828462000606565b60608101620006318286620005ee565b620006406020830185620005ee565b6200064f6040830184620005ee565b949350505050565b60005b83811015620006745781810151838201526020016200065a565b8381111562000684576000848401525b50505050565b600062000695825190565b620006a581856020860162000657565b9290920192915050565b6001600160f01b03198116620005f0565b6000620006ce82866200068a565b9150620006dc8285620006af565b600282019150620006ee82846200068a565b95945050505050565b600062000702825190565b8084526020840193506200071b81856020860162000657565b601f01601f19169290920192915050565b602080825281016200073f8184620006f7565b9392505050565b6000602082840312156200075d576200075d600080fd5b60006200064f848462000573565b80620005f0565b60006200078082846200076b565b50602001919050565b634e487b7160e01b600052601160045260246000fd5b600081620007b157620007b162000789565b506000190190565b634e487b7160e01b600052603260045260246000fd5b60008219821115620007e557620007e562000789565b500190565b60805160a05160c0516116be6200084b600039600081816102450152610adc0152600081816102bc0152818161038b01528181610faf01526110400152600081816101a4015281816104110152818161069a0152610aad01526116be6000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806356f560c5116100c3578063a2b6070c1161007c578063a2b6070c146102e7578063b5dae1cf146102f0578063cbffd92114610303578063db1682281461030b578063e54c75e21461031e578063f645d4f91461032757600080fd5b806356f560c5146102675780636e04ff0d146102705780638612130d146102915780638a3b4ca5146102a457806399ff3a6b146102b7578063a06db7dc146102de57600080fd5b806331e84b001161011557806331e84b00146101d157806335784f1f146101f15780633defb9621461020457806341976e091461020d5780634585e33b1461022d578063482188351461024057600080fd5b806302edbd211461015257806309492567146101715780630f8b75451461018657806314bcec9f1461019957806315c14a4a146101a2575b600080fd5b61015b60035481565b6040516101689190611109565b60405180910390f35b61018461017f36600461114d565b61033a565b005b61018461019436600461114d565b610351565b61015b60085481565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516101689190611195565b6004546101e4906001600160a01b031681565b60405161016891906111ac565b6101846101ff3660046111cb565b610364565b61015b60005481565b61022061021b36600461114d565b610377565b60405161016891906111fd565b61018461023b366004611256565b610574565b61015b7f000000000000000000000000000000000000000000000000000000000000000081565b61015b60025481565b61028361027e366004611256565b610603565b604051610168929190611304565b61018461029f3660046111cb565b61065d565b6101846102b23660046111cb565b610670565b6101c47f000000000000000000000000000000000000000000000000000000000000000081565b61015b60015481565b61015b60065481565b6101846102fe3660046111cb565b610683565b6101e4610696565b6101846103193660046111cb565b61072e565b61015b60075481565b6005546101e4906001600160a01b031681565b3361034481610862565b61034d826108be565b5050565b3361035b81610862565b61034d8261094c565b3361036e81610862565b61034d826109db565b6040805160208101909152600081526103f67f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316147f4d61676963474c5057697468436861696e6c696e6b50726963654f7261636c656c24b73b30b634b2103a37b5b2b760991b85610a10565b604051638fae3be160e01b8152610551906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635ac7d17c908290638fae3be19061044e9088906004016111ac565b60206040518083038186803b15801561046657600080fd5b505afa15801561047a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049e919061132f565b6040518263ffffffff1660e01b81526004016104ba9190611109565b60206040518083038186803b1580156104d257600080fd5b505afa1580156104e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050a9190611363565b7f4d61676963474c5057697468436861696e6c696e6b50726963654f7261636c657f6d61676963474c502063616e6e6f7420626520626f72726f7761626c650000006107ff565b610559610a5c565b604051806020016040528061056c610aa8565b905292915050565b6005546105bb906001600160a01b031633146000805160206116698339815191527f43616c6c6572206973206e6f7420666f727761726465720000000000000000006107ff565b6105fb6105c6610b97565b6000805160206116698339815191527f636865636b55706b65657020636f6e646974696f6e73206e6f74206d657400006107ff565b61034d610c74565b60006060610639321560008051602061166983398151915274537461746963207270632063616c6c73206f6e6c7960581b6107ff565b610641610b97565b60405180602001604052806000815250915091505b9250929050565b3361066781610862565b61034d82610cc6565b3361067a81610862565b61034d82610cfb565b3361068d81610862565b61034d82610d62565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f157600080fd5b505afa158015610705573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610729919061138f565b905090565b600554610774906001600160a01b0316156000805160206116698339815191527f466f7277617264657220616c726561647920696e697469616c697a65640000006107ff565b600480546040516379ea994360e01b81526107fc926001600160a01b03909216916379ea9943916107a791869101611109565b60206040518083038186803b1580156107bf57600080fd5b505afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f7919061138f565b6108be565b50565b8261085d5761080d82610dc9565b6101d160f51b61081c83610dc9565b60405160200161082e939291906113e2565b60408051601f198184030181529082905262461bcd60e51b825261085491600401611413565b60405180910390fd5b505050565b6107fc61086d610696565b6001600160a01b0316826001600160a01b0316147127b7363ca237b637b6b4ba32a6b0b933b4b760711b7f43616c6c6572206973206e6f74206f776e6572206f6620446f6c6f6d6974650084610a10565b6108f66001600160a01b03821615156000805160206116698339815191527024b73b30b634b2103337b93bb0b93232b960791b6107ff565b600580546001600160a01b0319166001600160a01b0383161790556040517f01e06e871b32b0b127105fbd5dbecd24273b7e1191a8940de24f4ea249e355d6906109419083906111ac565b60405180910390a150565b6109906001600160a01b03821615156000805160206116698339815191527f496e76616c696420636861696e6c696e6b2072656769737472790000000000006107ff565b600480546001600160a01b0319166001600160a01b0383161790556040517fff593e9760b2f47c7738eec0dd7255bc3bfbe6b90270c9e0a492e329bb1fe1a2906109419083906111ac565b60018190556040517f376aafccbf0af4f25bc38eb52182d4604f044d0d87e4cb26e1667b50e3a1de0590610941908390611109565b83610a5657610a1e83610dc9565b6101d160f51b610a2d84610dc9565b61080f60f21b610a3c85610e64565b60405161082e959493929190601f60f91b9060200161143b565b50505050565b610aa642600154600054600854610a7391906114af565b610a7d91906114af565b116000805160206116698339815191526f141c9a58d9481a5cc8195e1c1a5c995960821b6107ff565b565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638928378e7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610b179190611109565b60206040518083038186803b158015610b2f57600080fd5b505afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b67919061155c565b51600754909150610b7757919050565b600754600654610b87908361157d565b610b9191906115b2565b91505090565b6000806000610ba4610faa565b915091508060001415610bba5760009250505090565b6000600754670de0b6b3a7640000600654610bd5919061157d565b610bdf91906115b2565b9050600082610bf6670de0b6b3a76400008661157d565b610c0091906115b2565b9050600061271060025484610c15919061157d565b610c1f91906115b2565b9050600061271060035485610c34919061157d565b610c3e91906115b2565b90508183101580610c4f5750808311155b80610c695750600054600854610c6591906114af565b4210155b965050505050505090565b610c7c610faa565b600781905560068290554260088190556040517f4a84129ac58651279fc65719b27818bccdff5de9a6efebaab1616a6d2f90bf2493610cbc9390916115c6565b60405180910390a1565b60008190556040517fb28aba9038268da82e167f5387f1c36b2887f0c6b444f73315ca8487d44469e590610941908390611109565b610d2d612710821160008051602061166983398151915271496e76616c6964207570706572206564676560701b6107ff565b60028190556040517f9baf87ed88c59c47fcbc772097143ac1970e39ee06d569f34ad0d9775bf369b090610941908390611109565b610d94612710821060008051602061166983398151915271496e76616c6964206c6f776572206564676560701b6107ff565b60038190556040517fe5d8954a6f6cd82676f6d093c48e3fcec885de57b0a0f9f2a279d994baa39f4090610941908390611109565b6060600082604051602001610dde91906115f4565b60408051601f19818403018152919052905060205b8015610e495780610e0381611609565b915050818181518110610e1857610e18611620565b01602001516001600160f81b03191615610e44576000610e398260016114af565b835250909392505050565b610df3565b5060408051600080825260208201909252905b509392505050565b60408051602a80825260608281019093526001600160a01b03841691600091602082018180368337019050509050603060f81b81600081518110610eaa57610eaa611620565b60200101906001600160f81b031916908160001a905350607860f81b81600181518110610ed957610ed9611620565b60200101906001600160f81b031916908160001a90535060005b6014811015610e5c576000610f0982600261157d565b9050610f17600f85166110d7565b83610f23836029611636565b81518110610f3357610f33611620565b60200101906001600160f81b031916908160001a905350600484901c9350610f5d600f85166110d7565b83610f69836028611636565b81518110610f7957610f79611620565b60200101906001600160f81b031916908160001a9053505060049290921c9180610fa28161164d565b915050610ef3565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166301e1d1146040518163ffffffff1660e01b815260040160206040518083038186803b15801561100657600080fd5b505afa15801561101a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103e919061132f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf919061132f565b915091509091565b6000600a8210156110f6576110ed6030836114af565b60f81b92915050565b6110ed6057836114af565b805b82525050565b602081016111178284611101565b92915050565b60006001600160a01b038216611117565b6111378161111d565b81146107fc57600080fd5b80356111178161112e565b60006020828403121561116257611162600080fd5b600061116e8484611142565b949350505050565b60006111178261111d565b600061111782611176565b61110381611181565b60208101611117828461118c565b6111038161111d565b6020810161111782846111a3565b80611137565b8035611117816111ba565b6000602082840312156111e0576111e0600080fd5b600061116e84846111c0565b80516020830190610a568482611101565b6020810161111782846111ec565b60008083601f84011261122057611220600080fd5b50813567ffffffffffffffff81111561123b5761123b600080fd5b60208301915083600182028301111561065657610656600080fd5b6000806020838503121561126c5761126c600080fd5b823567ffffffffffffffff81111561128657611286600080fd5b6112928582860161120b565b92509250509250929050565b801515611103565b60005b838110156112c15781810151838201526020016112a9565b83811115610a565750506000910152565b60006112dc825190565b8084526020840193506112f38185602086016112a6565b601f01601f19169290920192915050565b60408101611312828561129e565b818103602083015261116e81846112d2565b8051611117816111ba565b60006020828403121561134457611344600080fd5b600061116e8484611324565b801515611137565b805161111781611350565b60006020828403121561137857611378600080fd5b600061116e8484611358565b80516111178161112e565b6000602082840312156113a4576113a4600080fd5b600061116e8484611384565b60006113ba825190565b6113c88185602086016112a6565b9290920192915050565b6001600160f01b03198116611103565b60006113ee82866113b0565b91506113fa82856113d2565b60028201915061140a82846113b0565b95945050505050565b6020808252810161142481846112d2565b9392505050565b6001600160f81b03198116611103565b600061144782896113b0565b915061145382886113d2565b60028201915061146382876113b0565b915061146f82866113d2565b60028201915061147f82856113b0565b915061148b828461142b565b506001019695505050505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156114c2576114c2611499565b500190565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715611503576115036114c7565b6040525050565b600061151560405190565b905061152182826114dd565b919050565b60006020828403121561153b5761153b600080fd5b611545602061150a565b905060006115538484611324565b82525092915050565b60006020828403121561157157611571600080fd5b600061116e8484611526565b600081600019048311821515161561159757611597611499565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826115c1576115c161159c565b500490565b606081016115d48286611101565b6115e16020830185611101565b61116e6040830184611101565b80611103565b600061160082846115ee565b50602001919050565b60008161161857611618611499565b506000190190565b634e487b7160e01b600052603260045260246000fd5b60008282101561164857611648611499565b500390565b600060001982141561166157611661611499565b506001019056fe436861696e6c696e6b4175746f6d6174696f6e50726963654f7261636c650000a26469706673582212200d8539937e114e6b6a56b9efc276dcc0cf61d5de11699e26bdc8880bef6210c664736f6c63430008090033436861696e6c696e6b4175746f6d6174696f6e50726963654f7261636c6500000000000000000000000000006bd780e7fdf01d77e4d475c821f1e7ae0540907200000000000000000000000037d9dc70bfcd8bc77ec2858836b923c560e891d100000000000000000000000085667409a723684fe1e57dd1abde8d88c2f542140000000000000000000000000000000000000000000000000000000000000006