@ensuro/price-risk-module
Version:
Price Risk Module for the Ensuro Protocol
85 lines (84 loc) • 10.1 kB
JSON
{
"_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": {}
}