UNPKG

@ensuro/price-risk-module

Version:

Price Risk Module for the Ensuro Protocol

150 lines (149 loc) 13.8 kB
{ "_format": "hh-sol-artifact-1", "contractName": "MixedOracleMock", "sourceName": "contracts/mocks/MixedOracleMock.sol", "abi": [ { "inputs": [ { "internalType": "contract AggregatorV3Interface", "name": "assetOracle_", "type": "address" }, { "internalType": "contract AggregatorV3Interface", "name": "referenceOracle_", "type": "address" }, { "internalType": "uint256", "name": "oracleTolerance_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "assetOracle", "outputs": [ { "internalType": "contract AggregatorV3Interface", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "oracleTolerance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "referenceOracle", "outputs": [ { "internalType": "contract AggregatorV3Interface", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ], "name": "setPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60e060405234801561001057600080fd5b50604051610b52380380610b5283398101604081905261002f9161014c565b60008383836001600160a01b0383166100b45760405162461bcd60e51b815260206004820152603860248201527f50726963655269736b4d6f64756c653a2061737365744f7261636c655f20636160448201527f6e6e6f7420626520746865207a65726f20616464726573730000000000000000606482015260840160405180910390fd5b6001600160a01b03928316608052911660a05260c0526000556100d6336100de565b505050610188565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b038116811461014757600080fd5b919050565b60008060006060848603121561016157600080fd5b61016a84610130565b925061017860208501610130565b9150604084015190509250925092565b60805160a05160c0516109736101df60003960008181610122015261047401526000818160ce015281816102d901526103e0015260008181608f0152818161030d0152818161033301526103bf01526109736000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806391b7f5ed1161005b57806391b7f5ed1461010d578063eb8368de14610120578063eb91d37e14610150578063f2fde38b1461015857600080fd5b80631d4d3a5d1461008d578063337cceb9146100cc578063715018a6146100f25780638da5cb5b146100fc575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000006100af565b6100fa61016b565b005b6001546001600160a01b03166100af565b6100fa61011b3660046106f3565b61017f565b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020016100c3565b61014261018c565b6100fa61016636600461070c565b6101ab565b610173610229565b61017d6000610283565b565b610187610229565b600055565b600080546000036101a45761019f6102d5565b905090565b5060005490565b6101b3610229565b6001600160a01b03811661021d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61022681610283565b50565b6001546001600160a01b0316331461017d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610214565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ba5761019f6103317f0000000000000000000000000000000000000000000000000000000000000000610404565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b39190610735565b60126104fd565b61019f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610559565b6000806000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b9190610777565b509350509250507f00000000000000000000000000000000000000000000000000000000000000004261049e91906107dd565b81116104ec5760405162461bcd60e51b815260206004820152601d60248201527f5072696365206973206f6c646572207468616e20746f6c657261626c650000006044820152606401610214565b6104f582610666565b949350505050565b60008160ff168360ff1610156105335761051783836107f0565b61052290600a6108ed565b61052c90856108fc565b9050610552565b61053d82846107f0565b61054890600a6108ed565b61052c908561091b565b9392505050565b6000806105a661056885610404565b856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038f573d6000803e3d6000fd5b9050806000036105f85760405162461bcd60e51b815260206004820152601860248201527f50726963652066726f6d206e6f7420617661696c61626c6500000000000000006044820152606401610214565b600061060661056885610404565b9050806000036106515760405162461bcd60e51b8152602060048201526016602482015275507269636520746f206e6f7420617661696c61626c6560501b6044820152606401610214565b61065b82826106bc565b925050505b92915050565b6000808212156106b85760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610214565b5090565b60008115670de0b6b3a7640000600284041904841117156106dc57600080fd5b50670de0b6b3a76400009190910260028204010490565b60006020828403121561070557600080fd5b5035919050565b60006020828403121561071e57600080fd5b81356001600160a01b038116811461055257600080fd5b60006020828403121561074757600080fd5b815160ff8116811461055257600080fd5b805169ffffffffffffffffffff8116811461077257600080fd5b919050565b600080600080600060a0868803121561078f57600080fd5b61079886610758565b94506020860151935060408601519250606086015191506107bb60808701610758565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b81810381811115610660576106606107c7565b60ff8281168282160390811115610660576106606107c7565b600181815b8085111561084457816000190482111561082a5761082a6107c7565b8085161561083757918102915b93841c939080029061080e565b509250929050565b60008261085b57506001610660565b8161086857506000610660565b816001811461087e5760028114610888576108a4565b6001915050610660565b60ff841115610899576108996107c7565b50506001821b610660565b5060208310610133831016604e8410600b84101617156108c7575081810a610660565b6108d18383610809565b80600019048211156108e5576108e56107c7565b029392505050565b600061055260ff84168361084c565b6000816000190483118215151615610916576109166107c7565b500290565b60008261093857634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122071225f6e315ab11e7b039b25ec7cb32fed4316cbbe847f06cef91890f40c56e264736f6c63430008100033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806391b7f5ed1161005b57806391b7f5ed1461010d578063eb8368de14610120578063eb91d37e14610150578063f2fde38b1461015857600080fd5b80631d4d3a5d1461008d578063337cceb9146100cc578063715018a6146100f25780638da5cb5b146100fc575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000006100af565b6100fa61016b565b005b6001546001600160a01b03166100af565b6100fa61011b3660046106f3565b61017f565b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020016100c3565b61014261018c565b6100fa61016636600461070c565b6101ab565b610173610229565b61017d6000610283565b565b610187610229565b600055565b600080546000036101a45761019f6102d5565b905090565b5060005490565b6101b3610229565b6001600160a01b03811661021d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61022681610283565b50565b6001546001600160a01b0316331461017d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610214565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ba5761019f6103317f0000000000000000000000000000000000000000000000000000000000000000610404565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b39190610735565b60126104fd565b61019f7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610559565b6000806000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046b9190610777565b509350509250507f00000000000000000000000000000000000000000000000000000000000000004261049e91906107dd565b81116104ec5760405162461bcd60e51b815260206004820152601d60248201527f5072696365206973206f6c646572207468616e20746f6c657261626c650000006044820152606401610214565b6104f582610666565b949350505050565b60008160ff168360ff1610156105335761051783836107f0565b61052290600a6108ed565b61052c90856108fc565b9050610552565b61053d82846107f0565b61054890600a6108ed565b61052c908561091b565b9392505050565b6000806105a661056885610404565b856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038f573d6000803e3d6000fd5b9050806000036105f85760405162461bcd60e51b815260206004820152601860248201527f50726963652066726f6d206e6f7420617661696c61626c6500000000000000006044820152606401610214565b600061060661056885610404565b9050806000036106515760405162461bcd60e51b8152602060048201526016602482015275507269636520746f206e6f7420617661696c61626c6560501b6044820152606401610214565b61065b82826106bc565b925050505b92915050565b6000808212156106b85760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610214565b5090565b60008115670de0b6b3a7640000600284041904841117156106dc57600080fd5b50670de0b6b3a76400009190910260028204010490565b60006020828403121561070557600080fd5b5035919050565b60006020828403121561071e57600080fd5b81356001600160a01b038116811461055257600080fd5b60006020828403121561074757600080fd5b815160ff8116811461055257600080fd5b805169ffffffffffffffffffff8116811461077257600080fd5b919050565b600080600080600060a0868803121561078f57600080fd5b61079886610758565b94506020860151935060408601519250606086015191506107bb60808701610758565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b81810381811115610660576106606107c7565b60ff8281168282160390811115610660576106606107c7565b600181815b8085111561084457816000190482111561082a5761082a6107c7565b8085161561083757918102915b93841c939080029061080e565b509250929050565b60008261085b57506001610660565b8161086857506000610660565b816001811461087e5760028114610888576108a4565b6001915050610660565b60ff841115610899576108996107c7565b50506001821b610660565b5060208310610133831016604e8410600b84101617156108c7575081810a610660565b6108d18383610809565b80600019048211156108e5576108e56107c7565b029392505050565b600061055260ff84168361084c565b6000816000190483118215151615610916576109166107c7565b500290565b60008261093857634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122071225f6e315ab11e7b039b25ec7cb32fed4316cbbe847f06cef91890f40c56e264736f6c63430008100033", "linkReferences": {}, "deployedLinkReferences": {} }