UNPKG

@ensuro/price-risk-module

Version:

Price Risk Module for the Ensuro Protocol

85 lines (84 loc) 10.1 kB
{ "_format": "hh-sol-artifact-1", "contractName": "ChainlinkPriceOracle", "sourceName": "contracts/ChainlinkPriceOracle.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" }, { "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": "referenceOracle", "outputs": [ { "internalType": "contract AggregatorV3Interface", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x60e060405234801561001057600080fd5b506040516108c63803806108c683398101604081905261002f916100e6565b6001600160a01b0383166100af5760405162461bcd60e51b815260206004820152603860248201527f50726963655269736b4d6f64756c653a2061737365744f7261636c655f20636160448201527f6e6e6f7420626520746865207a65726f20616464726573730000000000000000606482015260840160405180910390fd5b6001600160a01b03928316608052911660a05260c052610122565b80516001600160a01b03811681146100e157600080fd5b919050565b6000806000606084860312156100fb57600080fd5b610104846100ca565b9250610112602085016100ca565b9150604084015190509250925092565b60805160a05160c05161074f6101776000396000818160b8015261028d01526000818160920152818160ed01526101f90152600081816053015281816101210152818161014701526101d8015261074f6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631d4d3a5d14610051578063337cceb914610090578063eb8368de146100b6578063eb91d37e146100e6575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610073565b7f00000000000000000000000000000000000000000000000000000000000000005b604051908152602001610087565b6100d860007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166101d3576101ce6101457f000000000000000000000000000000000000000000000000000000000000000061021d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c79190610511565b601261031b565b905090565b6101ce7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610377565b6000806000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102849190610553565b509350509250507f0000000000000000000000000000000000000000000000000000000000000000426102b791906105b9565b811161030a5760405162461bcd60e51b815260206004820152601d60248201527f5072696365206973206f6c646572207468616e20746f6c657261626c6500000060448201526064015b60405180910390fd5b61031382610484565b949350505050565b60008160ff168360ff1610156103515761033583836105cc565b61034090600a6106c9565b61034a90856106d8565b9050610370565b61035b82846105cc565b61036690600a6106c9565b61034a90856106f7565b9392505050565b6000806103c46103868561021d565b856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a3573d6000803e3d6000fd5b9050806000036104165760405162461bcd60e51b815260206004820152601860248201527f50726963652066726f6d206e6f7420617661696c61626c6500000000000000006044820152606401610301565b60006104246103868561021d565b90508060000361046f5760405162461bcd60e51b8152602060048201526016602482015275507269636520746f206e6f7420617661696c61626c6560501b6044820152606401610301565b61047982826104da565b925050505b92915050565b6000808212156104d65760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610301565b5090565b60008115670de0b6b3a7640000600284041904841117156104fa57600080fd5b50670de0b6b3a76400009190910260028204010490565b60006020828403121561052357600080fd5b815160ff8116811461037057600080fd5b805169ffffffffffffffffffff8116811461054e57600080fd5b919050565b600080600080600060a0868803121561056b57600080fd5b61057486610534565b945060208601519350604086015192506060860151915061059760808701610534565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b8181038181111561047e5761047e6105a3565b60ff828116828216039081111561047e5761047e6105a3565b600181815b80851115610620578160001904821115610606576106066105a3565b8085161561061357918102915b93841c93908002906105ea565b509250929050565b6000826106375750600161047e565b816106445750600061047e565b816001811461065a576002811461066457610680565b600191505061047e565b60ff841115610675576106756105a3565b50506001821b61047e565b5060208310610133831016604e8410600b84101617156106a3575081810a61047e565b6106ad83836105e5565b80600019048211156106c1576106c16105a3565b029392505050565b600061037060ff841683610628565b60008160001904831182151516156106f2576106f26105a3565b500290565b60008261071457634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122038c303e3dfe80af50904f67952ca12106c75e5f46d33ef4282b4fc9265d9d16564736f6c63430008100033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80631d4d3a5d14610051578063337cceb914610090578063eb8368de146100b6578063eb91d37e146100e6575b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610073565b7f00000000000000000000000000000000000000000000000000000000000000005b604051908152602001610087565b6100d860007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166101d3576101ce6101457f000000000000000000000000000000000000000000000000000000000000000061021d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c79190610511565b601261031b565b905090565b6101ce7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610377565b6000806000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102849190610553565b509350509250507f0000000000000000000000000000000000000000000000000000000000000000426102b791906105b9565b811161030a5760405162461bcd60e51b815260206004820152601d60248201527f5072696365206973206f6c646572207468616e20746f6c657261626c6500000060448201526064015b60405180910390fd5b61031382610484565b949350505050565b60008160ff168360ff1610156103515761033583836105cc565b61034090600a6106c9565b61034a90856106d8565b9050610370565b61035b82846105cc565b61036690600a6106c9565b61034a90856106f7565b9392505050565b6000806103c46103868561021d565b856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a3573d6000803e3d6000fd5b9050806000036104165760405162461bcd60e51b815260206004820152601860248201527f50726963652066726f6d206e6f7420617661696c61626c6500000000000000006044820152606401610301565b60006104246103868561021d565b90508060000361046f5760405162461bcd60e51b8152602060048201526016602482015275507269636520746f206e6f7420617661696c61626c6560501b6044820152606401610301565b61047982826104da565b925050505b92915050565b6000808212156104d65760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401610301565b5090565b60008115670de0b6b3a7640000600284041904841117156104fa57600080fd5b50670de0b6b3a76400009190910260028204010490565b60006020828403121561052357600080fd5b815160ff8116811461037057600080fd5b805169ffffffffffffffffffff8116811461054e57600080fd5b919050565b600080600080600060a0868803121561056b57600080fd5b61057486610534565b945060208601519350604086015192506060860151915061059760808701610534565b90509295509295909350565b634e487b7160e01b600052601160045260246000fd5b8181038181111561047e5761047e6105a3565b60ff828116828216039081111561047e5761047e6105a3565b600181815b80851115610620578160001904821115610606576106066105a3565b8085161561061357918102915b93841c93908002906105ea565b509250929050565b6000826106375750600161047e565b816106445750600061047e565b816001811461065a576002811461066457610680565b600191505061047e565b60ff841115610675576106756105a3565b50506001821b61047e565b5060208310610133831016604e8410600b84101617156106a3575081810a61047e565b6106ad83836105e5565b80600019048211156106c1576106c16105a3565b029392505050565b600061037060ff841683610628565b60008160001904831182151516156106f2576106f26105a3565b500290565b60008261071457634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122038c303e3dfe80af50904f67952ca12106c75e5f46d33ef4282b4fc9265d9d16564736f6c63430008100033", "linkReferences": {}, "deployedLinkReferences": {} }