@ensuro/price-risk-module
Version:
Price Risk Module for the Ensuro Protocol
319 lines (318 loc) • 6.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IPriceRiskModule",
"sourceName": "contracts/interfaces/IPriceRiskModule.sol",
"abi": [
{
"inputs": [],
"name": "activeExposure",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "exposureLimit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "maxDuration",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "maxPayoutPerPolicy",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minDuration",
"outputs": [
{
"internalType": "uint40",
"name": "",
"type": "uint40"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "triggerPrice",
"type": "uint256"
},
{
"internalType": "bool",
"name": "lower",
"type": "bool"
},
{
"internalType": "uint256",
"name": "payout",
"type": "uint256"
},
{
"internalType": "uint40",
"name": "expiration",
"type": "uint40"
},
{
"internalType": "address",
"name": "onBehalfOf",
"type": "address"
}
],
"name": "newPolicy",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "oracle",
"outputs": [
{
"internalType": "contract IPriceOracle",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "params",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "moc",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "jrCollRatio",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collRatio",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "ensuroPpFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "ensuroCocFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "jrRoc",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "srRoc",
"type": "uint256"
}
],
"internalType": "struct IRiskModule.Params",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "policyId",
"type": "uint256"
}
],
"name": "policyCanBeTriggered",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "premiumsAccount",
"outputs": [
{
"internalType": "contract IPremiumsAccount",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "triggerPrice",
"type": "uint256"
},
{
"internalType": "bool",
"name": "lower",
"type": "bool"
},
{
"internalType": "uint256",
"name": "payout",
"type": "uint256"
},
{
"internalType": "uint40",
"name": "expiration",
"type": "uint40"
}
],
"name": "pricePolicy",
"outputs": [
{
"internalType": "uint256",
"name": "premium",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint64",
"name": "lossProb",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "jrCollRatio",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "collRatio",
"type": "uint64"
}
],
"internalType": "struct IPriceRiskModule.SlotPricing",
"name": "price",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "payout",
"type": "uint256"
}
],
"name": "releaseExposure",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "policyId",
"type": "uint256"
}
],
"name": "triggerPolicy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "wallet",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}