Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MinimalLiquidationEngineOverlay
Compiler Version
v0.6.7+commit.b8d736ae
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-19 */ pragma solidity 0.6.7; contract GebAuth { // --- Authorization --- mapping (address => uint) public authorizedAccounts; /** * @notice Add auth to an account * @param account Account to add auth to */ function addAuthorization(address account) external isAuthorized { authorizedAccounts[account] = 1; emit AddAuthorization(account); } /** * @notice Remove auth from an account * @param account Account to remove auth from */ function removeAuthorization(address account) external isAuthorized { authorizedAccounts[account] = 0; emit RemoveAuthorization(account); } /** * @notice Checks whether msg.sender can call an authed function **/ modifier isAuthorized { require(authorizedAccounts[msg.sender] == 1, "GebAuth/account-not-authorized"); _; } // --- Events --- event AddAuthorization(address account); event RemoveAuthorization(address account); constructor () public { authorizedAccounts[msg.sender] = 1; emit AddAuthorization(msg.sender); } } abstract contract LiquidationEngineLike { function modifyParameters( bytes32 collateralType, bytes32 parameter, uint256 data ) external virtual; function connectSAFESaviour(address) virtual external; function disconnectSAFESaviour(address) virtual external; } contract MinimalLiquidationEngineOverlay is GebAuth { // Minimum and maximum possible penalty for any collateral type liquidation uint256 public minPenalty; uint256 public maxPenalty; LiquidationEngineLike public liquidationEngine; constructor(address liquidationEngine_, uint256 minPenalty_, uint256 maxPenalty_) public GebAuth() { require(liquidationEngine_ != address(0), "MinimalLiquidationEngineOverlay/null-address"); require(both(minPenalty_ < maxPenalty_, minPenalty_ > 0), "MinimalLiquidationEngineOverlay/invalid-penalty-bounds"); liquidationEngine = LiquidationEngineLike(liquidationEngine_); minPenalty = minPenalty_; maxPenalty = maxPenalty_; } // --- Boolean Logic --- function both(bool x, bool y) internal pure returns (bool z) { assembly{ z := and(x, y)} } /** * @notice Modify a collateral's liquidation penalty * @param collateralType The collateral type we change parameters for * @param parameter The name of the parameter (must be "liquidationPenalty") * @param data New value for the penalty */ function modifyParameters( bytes32 collateralType, bytes32 parameter, uint256 data ) external isAuthorized { require(parameter == "liquidationPenalty", "MinimalLiquidationEngineOverlay/invalid-param-name"); require(both(data >= minPenalty, data <= maxPenalty), "MinimalLiquidationEngineOverlay/invalid-new-penalty"); liquidationEngine.modifyParameters(collateralType, parameter, data); } /* * @notify Connect a new safe saviour to the LiquidationEngine * @param saviour The new saviour address */ function connectSAFESaviour(address saviour) external isAuthorized { liquidationEngine.connectSAFESaviour(saviour); } /* * @notify Disconnect an existing safe saviour from the LiquidationEngine * @param saviour The saviour address to disconnect */ function disconnectSAFESaviour(address saviour) external isAuthorized { liquidationEngine.disconnectSAFESaviour(saviour); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"liquidationEngine_","type":"address"},{"internalType":"uint256","name":"minPenalty_","type":"uint256"},{"internalType":"uint256","name":"maxPenalty_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"AddAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"RemoveAuthorization","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"saviour","type":"address"}],"name":"connectSAFESaviour","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"saviour","type":"address"}],"name":"disconnectSAFESaviour","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidationEngine","outputs":[{"internalType":"contract LiquidationEngineLike","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minPenalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"collateralType","type":"bytes32"},{"internalType":"bytes32","name":"parameter","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"modifyParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516108803803806108808339818101604052606081101561003357600080fd5b50805160208083015160409384015133600081815280855286902060019055855190815294519394919390927f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f7000102928290030190a16001600160a01b0383166100cc5760405162461bcd60e51b815260040180806020018281038252602c815260200180610854602c913960400191505060405180910390fd5b6100e38183108315156001600160e01b0361014a16565b61011e5760405162461bcd60e51b815260040180806020018281038252603681526020018061081e6036913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b03949094169390931790925560015560025561014e565b1690565b6106c18061015d6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80634faeff1d116100665780634faeff1d146101245780635200e79e1461014a57806394f3f81d1461015257806395ffa80214610178578063d4b9311d1461019e57610093565b80630eba98491461009857806324ba5884146100b257806335b28153146100d857806344bf3c7214610100575b600080fd5b6100a06101c7565b60408051918252519081900360200190f35b6100a0600480360360208110156100c857600080fd5b50356001600160a01b03166101cd565b6100fe600480360360208110156100ee57600080fd5b50356001600160a01b03166101df565b005b610108610283565b604080516001600160a01b039092168252519081900360200190f35b6100fe6004803603602081101561013a57600080fd5b50356001600160a01b0316610292565b6100a061034d565b6100fe6004803603602081101561016857600080fd5b50356001600160a01b0316610353565b6100fe6004803603602081101561018e57600080fd5b50356001600160a01b03166103f6565b6100fe600480360360608110156101b457600080fd5b5080359060208101359060400135610496565b60015481565b60006020819052908152604090205481565b33600090815260208190526040902054600114610231576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b6003546001600160a01b031681565b336000908152602081905260409020546001146102e4576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b60035460408051634faeff1d60e01b81526001600160a01b03848116600483015291519190921691634faeff1d91602480830192600092919082900301818387803b15801561033257600080fd5b505af1158015610346573d6000803e3d6000fd5b5050505050565b60025481565b336000908152602081905260409020546001146103a5576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b33600090815260208190526040902054600114610448576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b60035460408051634affd40160e11b81526001600160a01b038481166004830152915191909216916395ffa80291602480830192600092919082900301818387803b15801561033257600080fd5b336000908152602081905260409020546001146104e8576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b81716c69717569646174696f6e50656e616c747960701b1461053b5760405162461bcd60e51b815260040180806020018281038252603281526020018061063a6032913960400191505060405180910390fd5b61054f600154821015600254831115610602565b61058a5760405162461bcd60e51b81526004018080602001828103825260338152602001806106076033913960400191505060405180910390fd5b6003546040805163d4b9311d60e01b815260048101869052602481018590526044810184905290516001600160a01b039092169163d4b9311d9160648082019260009290919082900301818387803b1580156105e557600080fd5b505af11580156105f9573d6000803e3d6000fd5b50505050505050565b169056fe4d696e696d616c4c69717569646174696f6e456e67696e654f7665726c61792f696e76616c69642d6e65772d70656e616c74794d696e696d616c4c69717569646174696f6e456e67696e654f7665726c61792f696e76616c69642d706172616d2d6e616d65476562417574682f6163636f756e742d6e6f742d617574686f72697a65640000a2646970667358221220a6348796609ab8b8d4a7c4d7a446945f72e5e30fb73e46430576a181169e9f1264736f6c634300060700334d696e696d616c4c69717569646174696f6e456e67696e654f7665726c61792f696e76616c69642d70656e616c74792d626f756e64734d696e696d616c4c69717569646174696f6e456e67696e654f7665726c61792f6e756c6c2d616464726573730000000000000000000000004ffbaa89d648079faafc7852de49ea1dc92f99760000000000000000000000000000000000000000000000000f207539952d00000000000000000000000000000000000000000000000000000ff59ee833b30000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c80634faeff1d116100665780634faeff1d146101245780635200e79e1461014a57806394f3f81d1461015257806395ffa80214610178578063d4b9311d1461019e57610093565b80630eba98491461009857806324ba5884146100b257806335b28153146100d857806344bf3c7214610100575b600080fd5b6100a06101c7565b60408051918252519081900360200190f35b6100a0600480360360208110156100c857600080fd5b50356001600160a01b03166101cd565b6100fe600480360360208110156100ee57600080fd5b50356001600160a01b03166101df565b005b610108610283565b604080516001600160a01b039092168252519081900360200190f35b6100fe6004803603602081101561013a57600080fd5b50356001600160a01b0316610292565b6100a061034d565b6100fe6004803603602081101561016857600080fd5b50356001600160a01b0316610353565b6100fe6004803603602081101561018e57600080fd5b50356001600160a01b03166103f6565b6100fe600480360360608110156101b457600080fd5b5080359060208101359060400135610496565b60015481565b60006020819052908152604090205481565b33600090815260208190526040902054600114610231576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b6001600160a01b0381166000818152602081815260409182902060019055815192835290517f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029281900390910190a150565b6003546001600160a01b031681565b336000908152602081905260409020546001146102e4576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b60035460408051634faeff1d60e01b81526001600160a01b03848116600483015291519190921691634faeff1d91602480830192600092919082900301818387803b15801561033257600080fd5b505af1158015610346573d6000803e3d6000fd5b5050505050565b60025481565b336000908152602081905260409020546001146103a5576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020818152604080832092909255815192835290517f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b9039281900390910190a150565b33600090815260208190526040902054600114610448576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b60035460408051634affd40160e11b81526001600160a01b038481166004830152915191909216916395ffa80291602480830192600092919082900301818387803b15801561033257600080fd5b336000908152602081905260409020546001146104e8576040805162461bcd60e51b815260206004820152601e602482015260008051602061066c833981519152604482015290519081900360640190fd5b81716c69717569646174696f6e50656e616c747960701b1461053b5760405162461bcd60e51b815260040180806020018281038252603281526020018061063a6032913960400191505060405180910390fd5b61054f600154821015600254831115610602565b61058a5760405162461bcd60e51b81526004018080602001828103825260338152602001806106076033913960400191505060405180910390fd5b6003546040805163d4b9311d60e01b815260048101869052602481018590526044810184905290516001600160a01b039092169163d4b9311d9160648082019260009290919082900301818387803b1580156105e557600080fd5b505af11580156105f9573d6000803e3d6000fd5b50505050505050565b169056fe4d696e696d616c4c69717569646174696f6e456e67696e654f7665726c61792f696e76616c69642d6e65772d70656e616c74794d696e696d616c4c69717569646174696f6e456e67696e654f7665726c61792f696e76616c69642d706172616d2d6e616d65476562417574682f6163636f756e742d6e6f742d617574686f72697a65640000a2646970667358221220a6348796609ab8b8d4a7c4d7a446945f72e5e30fb73e46430576a181169e9f1264736f6c63430006070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004ffbaa89d648079faafc7852de49ea1dc92f99760000000000000000000000000000000000000000000000000f207539952d00000000000000000000000000000000000000000000000000000ff59ee833b30000
-----Decoded View---------------
Arg [0] : liquidationEngine_ (address): 0x4fFbAA89d648079Faafc7852dE49EA1dc92f9976
Arg [1] : minPenalty_ (uint256): 1090000000000000000
Arg [2] : maxPenalty_ (uint256): 1150000000000000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000004ffbaa89d648079faafc7852de49ea1dc92f9976
Arg [1] : 0000000000000000000000000000000000000000000000000f207539952d0000
Arg [2] : 0000000000000000000000000000000000000000000000000ff59ee833b30000
Deployed Bytecode Sourcemap
1467:2224:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1467:2224:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1607:39:0;;;:::i;:::-;;;;;;;;;;;;;;;;80:51;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;80:51:0;-1:-1:-1;;;;;80:51:0;;:::i;241:156::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;241:156:0;-1:-1:-1;;;;;241:156:0;;:::i;:::-;;1701:46;;;:::i;:::-;;;;-1:-1:-1;;;;;1701:46:0;;;;;;;;;;;;;;3551:137;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3551:137:0;-1:-1:-1;;;;;3551:137:0;;:::i;1653:39::-;;;:::i;516:162::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;516:162:0;-1:-1:-1;;;;;516:162:0;;:::i;3264:131::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3264:131:0;-1:-1:-1;;;;;3264:131:0;;:::i;2676:451::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2676:451:0;;;;;;;;;;;;:::i;1607:39::-;;;;:::o;80:51::-;;;;;;;;;;;;;;:::o;241:156::-;831:10;812:18;:30;;;;;;;;;;;846:1;812:35;804:78;;;;;-1:-1:-1;;;804:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;804:78:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;317:27:0;::::1;:18;:27:::0;;;::::1;::::0;;;;;;;;347:1:::1;317:31:::0;;364:25;;;;;;;::::1;::::0;;;;;;;;::::1;241:156:::0;:::o;1701:46::-;;;-1:-1:-1;;;;;1701:46:0;;:::o;3551:137::-;831:10;812:18;:30;;;;;;;;;;;846:1;812:35;804:78;;;;;-1:-1:-1;;;804:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;804:78:0;;;;;;;;;;;;;;;3632:17:::1;::::0;:48:::1;::::0;;-1:-1:-1;;;3632:48:0;;-1:-1:-1;;;;;3632:48:0;;::::1;;::::0;::::1;::::0;;;:17;;;::::1;::::0;:39:::1;::::0;:48;;;;;:17:::1;::::0;:48;;;;;;;:17;;:48;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;3632:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3632:48:0;;;;3551:137:::0;:::o;1653:39::-;;;;:::o;516:162::-;831:10;812:18;:30;;;;;;;;;;;846:1;812:35;804:78;;;;;-1:-1:-1;;;804:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;804:78:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;595:27:0;::::1;625:1;595:27:::0;;;::::1;::::0;;;;;;;:31;;;;642:28;;;;;;;::::1;::::0;;;;;;;;::::1;516:162:::0;:::o;3264:131::-;831:10;812:18;:30;;;;;;;;;;;846:1;812:35;804:78;;;;;-1:-1:-1;;;804:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;804:78:0;;;;;;;;;;;;;;;3342:17:::1;::::0;:45:::1;::::0;;-1:-1:-1;;;3342:45:0;;-1:-1:-1;;;;;3342:45:0;;::::1;;::::0;::::1;::::0;;;:17;;;::::1;::::0;:36:::1;::::0;:45;;;;;:17:::1;::::0;:45;;;;;;;:17;;:45;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2676:451:0::0;831:10;812:18;:30;;;;;;;;;;;846:1;812:35;804:78;;;;;-1:-1:-1;;;804:78:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;804:78:0;;;;;;;;;;;;;;;2834:9:::1;-1:-1:-1::0;;;2834:33:0::1;2826:96;;;;-1:-1:-1::0;;;2826:96:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2941:44;2954:10;;2946:4;:18;;2974:10;;2966:4;:18;;2941:4;:44::i;:::-;2933:108;;;;-1:-1:-1::0;;;2933:108:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3052:17;::::0;:67:::1;::::0;;-1:-1:-1;;;3052:67:0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3052:17:0;;::::1;::::0;:34:::1;::::0;:67;;;;;:17:::1;::::0;:67;;;;;;;;:17;;:67;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;3052:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3052:67:0;;;;2676:451:::0;;;:::o;2285:104::-;2372:9;;2365:17::o
Swarm Source
ipfs://a6348796609ab8b8d4a7c4d7a446945f72e5e30fb73e46430576a181169e9f12
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.