3 txs
15 calls
constructor
constructor(address treasury_, address safeEngine_, address accountingEngine_, uint256 minimumBufferSize_, uint256 minimumGlobalDebtChange_, uint256 coveredDebt_, uint256 updateDelay_, uint256 baseUpdateCallerReward_, uint256 maxUpdateCallerReward_, uint256 perSecondCallerRewardIncrease_)
functions
accountingEngine
viewfunction accountingEngine() view returns (address)
addition
purefunction addition(uint256 x, uint256 y) pure returns (uint256 z)
authorizedAccounts
viewfunction authorizedAccounts(address) view returns (uint256)
baseUpdateCallerReward
viewfunction baseUpdateCallerReward() view returns (uint256)
coveredDebt
viewfunction coveredDebt() view returns (uint256)
getCallerReward
viewfunction getCallerReward(uint256 timeOfLastUpdate, uint256 defaultDelayBetweenCalls) view returns (uint256)
getNewBuffer
viewfunction getNewBuffer(uint256 currentGlobalDebt) view returns (uint256 newBuffer)
lastRecordedGlobalDebt
viewfunction lastRecordedGlobalDebt() view returns (uint256)
lastUpdateTime
viewfunction lastUpdateTime() view returns (uint256)
maximumBufferSize
viewfunction maximumBufferSize() view returns (uint256)
maxRewardIncreaseDelay
viewfunction maxRewardIncreaseDelay() view returns (uint256)
maxUpdateCallerReward
viewfunction maxUpdateCallerReward() view returns (uint256)
minimum
purefunction minimum(uint256 x, uint256 y) pure returns (uint256 z)
minimumBufferSize
viewfunction minimumBufferSize() view returns (uint256)
minimumGlobalDebtChange
viewfunction minimumGlobalDebtChange() view returns (uint256)
multiply
purefunction multiply(uint256 x, uint256 y) pure returns (uint256 z)
percentageDebtChange
viewfunction percentageDebtChange(uint256 currentGlobalDebt) view returns (uint256)
perSecondCallerRewardIncrease
viewfunction perSecondCallerRewardIncrease() view returns (uint256)
rad
purefunction rad(uint256 x) pure returns (uint256 z)
RAY
viewfunction RAY() view returns (uint256)
ray
purefunction ray(uint256 x) pure returns (uint256 z)
rdivide
purefunction rdivide(uint256 x, uint256 y) pure returns (uint256 z)
rmultiply
purefunction rmultiply(uint256 x, uint256 y) pure returns (uint256 z)
rpower
purefunction rpower(uint256 x, uint256 n, uint256 base) pure returns (uint256 z)
safeEngine
viewfunction safeEngine() view returns (address)
stopAdjustments
viewfunction stopAdjustments() view returns (uint256)
subtract
purefunction subtract(uint256 x, uint256 y) pure returns (uint256 z)
treasury
viewfunction treasury() view returns (address)
treasuryAllowance
viewfunction treasuryAllowance() view returns (uint256)
updateDelay
viewfunction updateDelay() view returns (uint256)
WAD
viewfunction WAD() view returns (uint256)
wdivide
purefunction wdivide(uint256 x, uint256 y) pure returns (uint256 z)
wmultiply
purefunction wmultiply(uint256 x, uint256 y) pure returns (uint256 z)
addAuthorization
nonpayablefunction addAuthorization(address account)
adjustSurplusBuffer
nonpayablefunction adjustSurplusBuffer(address feeReceiver)
modifyParameters
nonpayablefunction modifyParameters(bytes32 parameter, address addr)
modifyParameters
nonpayablefunction modifyParameters(bytes32 parameter, uint256 val)
removeAuthorization
nonpayablefunction removeAuthorization(address account)
events
AddAuthorization
event AddAuthorization(address account)
FailRewardCaller
event FailRewardCaller(bytes revertReason, address feeReceiver, uint256 amount)
ModifyParameters
event ModifyParameters(bytes32 parameter, address addr)
ModifyParameters
event ModifyParameters(bytes32 parameter, uint256 val)
RemoveAuthorization
event RemoveAuthorization(address account)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620022243803806200222483398181016040526101408110156200003857600080fd5b508051602082015160408301516060840151608085015160a086015160c087015160e08801516101008901516101209099015197989697959694959394929391929091898383836001600160a01b038416156200014a5760006001600160a01b0316846001600160a01b031663a7e944556040518163ffffffff1660e01b815260040160206040518083038186803b158015620000d457600080fd5b505afa158015620000e9573d6000803e3d6000fd5b505050506040513d60208110156200010057600080fd5b50516001600160a01b031614156200014a5760405162461bcd60e51b8152600401808060200182810382526035815260200180620021616035913960400191505060405180910390fd5b828210156200018b5760405162461bcd60e51b8152600401808060200182810382526039815260200180620021966039913960400191505060405180910390fd5b6b033b2e3c9fd0803ce8000000811015620001d85760405162461bcd60e51b8152600401808060200182810382526042815260200180620020b46042913960600191505060405180910390fd5b3360008181526020818152604091829020600190819055600580546001600160a01b0319166001600160a01b038a1617905586905560028590556004849055600019600355815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a16040805167747265617375727960c01b81526001600160a01b0386166020820152815160008051602062002116833981519152929181900390910190a1600154604080517f6261736555706461746543616c6c657252657761726400000000000000000000815260208101929092528051600080516020620020f68339815191529281900390910190a1600254604080517f6d617855706461746543616c6c65725265776172640000000000000000000000815260208101929092528051600080516020620020f68339815191529281900390910190a1600454604080517f7065725365636f6e6443616c6c6572526577617264496e637265617365000000815260208101929092528051600080516020620020f68339815191529281900390910190a15062000393925050508615156103e88811156001600160e01b036200061316565b620003d05760405162461bcd60e51b815260040180806020018281038252602b81526020018062002136602b913960400191505060405180910390fd5b620003ec8515156103e88711156001600160e01b036200061316565b620004295760405162461bcd60e51b815260040180806020018281038252602c815260200180620021cf602c913960400191505060405180910390fd5b600084116200046a5760405162461bcd60e51b8152600401808060200182810382526029815260200180620021fb6029913960400191505060405180910390fd5b6008879055600019600955600c859055600b8690556007849055600e80546001600160a01b03808c166001600160a01b031992831617909255600f8054928b169290911691909117905560408051706d696e696d756d42756666657253697a6560781b8152602081018990528151600080516020620020f6833981519152929181900390910190a160095460408051706d6178696d756d42756666657253697a6560781b815260208101929092528051600080516020620020f68339815191529281900390910190a1600c54604080516a18dbdd995c99591119589d60aa1b815260208101929092528051600080516020620020f68339815191529281900390910190a1600b54604080517f6d696e696d756d476c6f62616c446562744368616e6765000000000000000000815260208101929092528051600080516020620020f68339815191529281900390910190a1600f54604080516f6163636f756e74696e67456e67696e6560801b81526001600160a01b0390921660208301528051600080516020620021168339815191529281900390910190a15050505050505050505062000617565b1690565b611a8d80620006276000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80635fc03381116101305780639930ffaf116100b8578063d6e882dc1161007c578063d6e882dc14610501578063dd2d2a121461052a578063f238ffd21461054d578063f752fdc314610570578063fe4f58901461059357610232565b80639930ffaf146104a0578063a0871637146104a8578063bf1ad0db146104cb578063c8f33c91146104f1578063cb648543146104f957610232565b806369dec276116100ff57806369dec2761461045a5780636a1460241461046257806393a325ea1461046a57806394f3f81d14610472578063961d45c41461049857610232565b80635fc03381146103fa57806361d027b3146104025780636614f0101461042657806367aea3131461045257610232565b80633425677e116101be57806343943b6b1161018257806343943b6b146103a257806346f3e81c146103aa57806354f363a3146103c7578063552033c4146103ea578063554f94db146103f257610232565b80633425677e1461030f57806335b28153146103175780633c8bb3e61461033f5780633ef5e445146103625780634329a98c1461038557610232565b8063165c4a1611610205578063165c4a16146102ae5780631c1f908c146102d15780632009e568146102d957806324ba5884146102e1578063292824281461030757610232565b806304f107ab14610237578063056640b71461026657806308e32378146102895780631021344714610291575b600080fd5b6102546004803603602081101561024d57600080fd5b50356105b6565b60408051918252519081900360200190f35b6102546004803603604081101561027c57600080fd5b5080359060200135610617565b61025461063e565b610254600480360360208110156102a757600080fd5b5035610644565b610254600480360360408110156102c457600080fd5b508035906020013561065a565b6102546106bf565b6102546106c5565b610254600480360360208110156102f757600080fd5b50356001600160a01b03166106cb565b6102546106dd565b6102546106e3565b61033d6004803603602081101561032d57600080fd5b50356001600160a01b031661077a565b005b6102546004803603604081101561035557600080fd5b508035906020013561081a565b6102546004803603604081101561037857600080fd5b508035906020013561082f565b6102546004803603602081101561039b57600080fd5b5035610887565b6102546108f9565b610254600480360360208110156103c057600080fd5b50356108ff565b610254600480360360408110156103dd57600080fd5b5080359060200135610916565b610254610967565b610254610976565b61025461097c565b61040a610982565b604080516001600160a01b039092168252519081900360200190f35b61033d6004803603604081101561043c57600080fd5b50803590602001356001600160a01b0316610991565b61040a610b10565b610254610b1f565b610254610b25565b610254610b31565b61033d6004803603602081101561048857600080fd5b50356001600160a01b0316610b37565b61040a610bd6565b610254610be5565b610254600480360360408110156104be57600080fd5b5080359060200135610beb565b61033d600480360360208110156104e157600080fd5b50356001600160a01b0316610c03565b610254610eef565b610254610ef5565b6102546004803603606081101561051757600080fd5b5080359060208101359060400135610efb565b6102546004803603604081101561054057600080fd5b5080359060200135610fb9565b6102546004803603604081101561056357600080fd5b5080359060200135610fd2565b6102546004803603604081101561058657600080fd5b50803590602001356110d2565b61033d600480360360408110156105a957600080fd5b50803590602001356110e7565b6000600a54600014156105cc5750600019610612565b6000600a548310156105e9576105e4600a548461082f565b6105f5565b6105f583600a5461082f565b9050600a54610606826103e861065a565b8161060d57fe5b049150505b919050565b6000676765c793fa10079d601b1b61062f848461065a565b8161063657fe5b049392505050565b600a5481565b600061065482633b9aca0061065a565b92915050565b60008115806106755750508082028282828161067257fe5b04145b610654576040805162461bcd60e51b815260206004820152601660248201527575696e742d75696e742d6d756c2d6f766572666c6f7760501b604482015290519081900360640190fd5b60015481565b60035481565b60006020819052908152604090205481565b600c5481565b600554604080516375ad331760e11b81523060048201528151600093849384936001600160a01b039092169263eb5a662e926024808201939291829003018186803b15801561073157600080fd5b505afa158015610745573d6000803e3d6000fd5b505050506040513d604081101561075b57600080fd5b50805160209091015190925090506107738282610fb9565b9250505090565b336000908152602081905260409020546001146107c85760405162461bcd60e51b81526004018080602001828103825260368152602001806119256036913960400191505060405180910390fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b6000670de0b6b3a764000061062f848461065a565b80820382811115610654576040805162461bcd60e51b815260206004820152601760248201527f75696e742d75696e742d7375622d756e646572666c6f77000000000000000000604482015290519081900360640190fd5b6000600c546000198161089657fe5b0482106108a65750600954610612565b6103e86108b5600c548461065a565b816108bc57fe5b0490506108d26009548211600060095411611569565b6108dc57806108e0565b6009545b905060085481106108f15780610654565b505060085490565b60045481565b600061065482676765c793fa10079d601b1b61065a565b81810182811015610654576040805162461bcd60e51b815260206004820152601660248201527575696e742d75696e742d6164642d6f766572666c6f7760501b604482015290519081900360640190fd5b676765c793fa10079d601b1b81565b60075481565b600b5481565b6005546001600160a01b031681565b336000908152602081905260409020546001146109df5760405162461bcd60e51b81526004018080602001828103825260368152602001806119256036913960400191505060405180910390fd5b6001600160a01b038116610a245760405162461bcd60e51b81526004018080602001828103825260248152602001806118a46024913960400191505060405180910390fd5b816f6163636f756e74696e67456e67696e6560801b1415610a5f57600f80546001600160a01b0319166001600160a01b038316179055610ac9565b8167747265617375727960c01b1415610a9257600580546001600160a01b0319166001600160a01b038316179055610ac9565b60405162461bcd60e51b81526004018080602001828103825260318152602001806117f66031913960400191505060405180910390fd5b604080518381526001600160a01b038316602082015281517fd91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d1929181900390910190a15050565b600e546001600160a01b031681565b60025481565b670de0b6b3a764000081565b60065481565b33600090815260208190526040902054600114610b855760405162461bcd60e51b81526004018080602001828103825260368152602001806119256036913960400191505060405180910390fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b600f546001600160a01b031681565b60095481565b60008161062f84676765c793fa10079d601b1b61065a565b60065415610c425760405162461bcd60e51b81526004018080602001828103825260258152602001806119e06025913960400191505060405180910390fd5b610c61600754610c5442600d5461082f565b1015600d5460001461156d565b610c9c5760405162461bcd60e51b81526004018080602001828103825260218152602001806118526021913960400191505060405180910390fd5b6000610cac600d54600754610fd2565b42600d55600e546040805163042a1eaf60e51b815290519293506000926001600160a01b0390921691638543d5e091600480820192602092909190829003018186803b158015610cfb57600080fd5b505afa158015610d0f573d6000803e3d6000fd5b505050506040513d6020811015610d2557600080fd5b5051600a54600954919250610d3f91908311901515611569565b15610dfd57600954600f60009054906101000a90046001600160a01b03166001600160a01b0316632a608d5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9557600080fd5b505afa158015610da9573d6000803e3d6000fd5b505050506040513d6020811015610dbf57600080fd5b505110610dfd5760405162461bcd60e51b815260040180806020018281038252602a8152602001806119b6602a913960400191505060405180910390fd5b610e0b6103e8600b5461082f565b610e14826105b6565b1015610e515760405162461bcd60e51b81526004018080602001828103825260298152602001806117cd6029913960400191505060405180910390fd5b6000610e5c82610887565b600a839055600f5460408051630fe4f58960e41b81526c39bab938363ab9a13ab33332b960991b60048201526024810184905290519293506001600160a01b039091169163fe4f58909160448082019260009290919082900301818387803b158015610ec757600080fd5b505af1158015610edb573d6000803e3d6000fd5b50505050610ee98484611571565b50505050565b600d5481565b60085481565b6000838015610f9b57600184168015610f1657859250610f1a565b8392505b50600283046002850494505b8415610f95578586028687820414610f3d57600080fd5b81810181811015610f4d57600080fd5b8590049650506001851615610f8a578583028387820414158715151615610f7357600080fd5b81810181811015610f8357600080fd5b8590049350505b600285049450610f26565b50610fb1565b838015610fab5760009250610faf565b8392505b505b509392505050565b600081831115610fc95781610fcb565b825b9392505050565b6000806001546000148015610fe75750600254155b9050610ff6428510158261156d565b15611005576000915050610654565b6000841561101c57611017428661082f565b61101e565b835b905061103184821060015460001461156d565b1561104157600092505050610654565b600061104d828661082f565b90506000611078600254676765c793fa10079d601b1b61106b6106e3565b8161107257fe5b04610fb9565b905060035482111561108f57935061065492505050565b60015482156110bc576110b96110b360045485676765c793fa10079d601b1b610efb565b82610617565b90505b818111156110c75750805b979650505050505050565b60008161062f84670de0b6b3a764000061065a565b336000908152602081905260409020546001146111355760405162461bcd60e51b81526004018080602001828103825260368152602001806119256036913960400191505060405180910390fd5b81706d696e696d756d42756666657253697a6560781b141561115b57600881905561152a565b81706d6178696d756d42756666657253697a6560781b14156111c2576008548110156111b85760405162461bcd60e51b81526004018080602001828103825260318152602001806118736031913960400191505060405180910390fd5b600981905561152a565b817f6d696e696d756d476c6f62616c446562744368616e67650000000000000000001415611241576111fc600082116103e8831115611569565b6112375760405162461bcd60e51b815260040180806020018281038252602b815260200180611827602b913960400191505060405180910390fd5b600b81905561152a565b816a18dbdd995c99591119589d60aa1b14156112ae57611269600082116103e8831115611569565b6112a45760405162461bcd60e51b815260040180806020018281038252602c81526020018061195b602c913960400191505060405180910390fd5b600c81905561152a565b817518985cd9555c19185d1950d85b1b195c94995dd85c9960521b141561131a576002548111156113105760405162461bcd60e51b815260040180806020018281038252602a8152602001806117a3602a913960400191505060405180910390fd5b600181905561152a565b81741b585e155c19185d1950d85b1b195c94995dd85c99605a1b14156113855760015481101561137b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611a2e602a913960400191505060405180910390fd5b600281905561152a565b817f7065725365636f6e6443616c6c6572526577617264496e637265617365000000141561140157676765c793fa10079d601b1b8110156113f75760405162461bcd60e51b815260040180806020018281038252602f815260200180611987602f913960400191505060405180910390fd5b600481905561152a565b81756d6178526577617264496e63726561736544656c617960501b141561146b57600081116114615760405162461bcd60e51b81526004018080602001828103825260328152602001806118f36032913960400191505060405180910390fd5b600381905561152a565b816a75706461746544656c617960a81b14156114ca57600081116114c05760405162461bcd60e51b8152600401808060200182810382526029815260200180611a056029913960400191505060405180910390fd5b600781905561152a565b816e73746f7041646a7573746d656e747360881b1415610a925760018111156115245760405162461bcd60e51b815260040180806020018281038252602b8152602001806118c8602b913960400191505060405180910390fd5b60068190555b604080518381526020810183905281517fac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3a929181900390910190a15050565b1690565b1790565b6005546001600160a01b038381169116141561158c5761179e565b6005546115a4906001600160a01b031615821561156d565b156115ae5761179e565b60006001600160a01b038316156115c557826115c7565b335b6005546040805163a7e9445560e01b815290519293506001600160a01b039091169163201add9b918491849163a7e94455916004808301926020929190829003018186803b15801561161857600080fd5b505afa15801561162c573d6000803e3d6000fd5b505050506040513d602081101561164257600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820186905251606480830192600092919082900301818387803b15801561169a57600080fd5b505af19250505080156116ab575060015b61179c573d8080156116d9576040519150601f19603f3d011682016040523d82523d6000602084013e6116de565b606091505b507ff7bf1f7447ce563690edb2abe40636178ff64fc766b07bf3e171b16102794a548183856040518080602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561175e578181015183820152602001611746565b50505050905090810190601f16801561178b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1505b505b505056fe4175746f537572706c75734275666665725365747465722f696e76616c69642d6d696e2d7265776172644175746f537572706c75734275666665725365747465722f736d616c6c2d646562742d6368616e67654175746f537572706c75734275666665725365747465722f6d6f646966792d756e7265636f676e697a65642d706172616d4175746f537572706c75734275666665725365747465722f696e76616c69642d646562742d6368616e67654175746f537572706c75734275666665725365747465722f776169742d6d6f72654175746f537572706c75734275666665725365747465722f6d61782d6275666665722d73697a652d746f6f2d736d616c6c4175746f537572706c75734275666665725365747465722f6e756c6c2d616464726573734175746f537572706c75734275666665725365747465722f696e76616c69642d73746f702d61646a7573744175746f537572706c75734275666665725365747465722f696e76616c69642d6d61782d696e6372656173652d64656c6179496e6372656173696e6754726561737572795265696d62757273656d656e742f6163636f756e742d6e6f742d617574686f72697a65644175746f537572706c75734275666665725365747465722f696e76616c69642d636f76657265642d646562744175746f537572706c75734275666665725365747465722f696e76616c69642d7265776172642d696e6372656173654175746f537572706c75734275666665725365747465722f6d61782d6275666665722d726561636865644175746f537572706c75734275666665725365747465722f63616e6e6f742d61646a7573744175746f537572706c75734275666665725365747465722f6e756c6c2d7570646174652d64656c61794175746f537572706c75734275666665725365747465722f696e76616c69642d6d61782d726577617264a26469706673582212201d4a356cc987a3e4a086389a0485b37aff26081530fc76601c1040bcd8b7966064736f6c63430006070033496e6372656173696e6754726561737572795265696d62757273656d656e742f696e76616c69642d7065722d7365636f6e642d7265776172642d696e637265617365ac7c5c1afaef770ec56ac6268cd3f2fbb1035858ead2601d6553157c33036c3ad91f38cf03346b5dc15fb60f9076f866295231ad3c3841a1051f8443f25170d14175746f537572706c75734275666665725365747465722f696e76616c69642d646562742d6368616e6765496e6372656173696e6754726561737572795265696d62757273656d656e742f74726561737572792d636f696e2d6e6f742d736574496e6372656173696e6754726561737572795265696d62757273656d656e742f696e76616c69642d6d61782d63616c6c65722d7265776172644175746f537572706c75734275666665725365747465722f696e76616c69642d636f76657265642d646562744175746f537572706c75734275666665725365747465722f6e756c6c2d7570646174652d64656c617900000000000000000000000083533fdd3285f48204215e9cf38c785371258e76000000000000000000000000cc88a9d330da1133df3a7bd823b95e52511a6962000000000000000000000000cee6aa1ab47d0fb0f24f51a3072ec16e20f90fce0000000000000000000001561d276ddfdc00a71dd41a08f48af4000000000000000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000127500000000000000000000000000000000000000000000000000451db4551b7e82af0000000000000000000000000000000000000000000000008a3b68aa36fd055e0000000000000000000000000000000000000000033b3bd3f4e7d55df7cc629f