PremiumEngine
Last updated
Last updated
Premium calculator contract of Insure protocol
function getPremiumRate(uint256 coverAmount, uint256 totalLiquidity, uint256 lockedAmount) public pure returns (uint256)
Calculates the yearly premium rate.
Call Params
Name | Type | Description |
---|---|---|
Return Value
Type | Description |
---|---|
function getPremium(uint256 coverAmount, uint256 duration, uint256 totalLiquidity, uint256 lockedAmount) external pure returns (uint256)
Calculates premium to be paid to buy insurance
Call Params
Return Value
[
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "admin",
"outputs": [
{
"internalType": "address",
"name": "admin_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "changeAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "implementation",
"outputs": [
{
"internalType": "address",
"name": "implementation_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
}
],
"name": "upgradeTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
},
{
"inputs": [],
"name": "PremiumEngine__InsufficientCapacity",
"type": "error"
},
{
"inputs": [],
"name": "A",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "K",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PREMIUM_ENGINE_REVISION",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "coverAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalLiquidity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lockedAmount",
"type": "uint256"
}
],
"name": "getPremium",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "coverAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalLiquidity",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lockedAmount",
"type": "uint256"
}
],
"name": "getPremiumRate",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_logic",
"type": "address"
},
{
"internalType": "address",
"name": "admin_",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"stateMutability": "payable",
"type": "constructor"
}
]
Name | Type | Description |
---|---|---|
Type | Description |
---|---|
coverAmount
uint256
The cover amount of the policy
totalLiquidity
uint256
The liquidity inside risk pool
lockedAmount
uint256
The amount locked for all the active policies
uint256
Yearly premium rate
coverAmount
uint256
The cover amount of the policy
duration
uint256
The duration of the policy
totalLiquidity
uint256
The liquidity inside risk pool
lockedAmount
uint256
The amount locked for all the active policies
uint256
Premium to be paid