Premium Pool

Introduction

Whenever a user buys a policy, the premium, which the user pays to buy policy, will be collected into this premium pool.

All premium collected will be buybacked in UNO and burned to control inflation in UNO tokens due to block rewards for SSIP and SSRP stakers.

Contract

Collect Premium in ETH

To buy a policy the user will have to transfer funds to Uno Re. To buy a policy in ETH and to transfer the respective funds the user shall call the collectPremiumInETH function

  function collectPremiumInETH(uint256 _premiumAmount)

Input variables :

  • _premiumAmount : refers to the amount of ETH transferred to purchase a policy

Collect Premium

To buy a policy the user will have to transfer funds to Uno Re. To buy a policy in a supported ERC20 token and to transfer the respective funds the user shall call the collectPremium function

function collectPremium(
    address _premiumCurrency, 
    uint256 _premiumAmount)

Input variables :

  • _premiumCurrency : refers to the currency in which the policy is being bought

  • _premiumAmount : refers to the amount of ETH transferred to purchase a policy

Buy back and Burn

Keeping tokenomics in mind the buyBackAndBurn function is implemented in the platform. When this function is called, collected premiums will be swapped from Uniswap to buyback $UNO after which the bought $UNO would be burnt. This function can be only called by the admin

    function buyBackAndBurn()

Add currency

Policy purchaser will be able to buy policies in multiple currencies. This in enabled by the addCurrency function which is used to add support of a particular currency as a payment option in the pool. This function can only be called by the admin

    function addCurrency(address _currency)

Input variables :

  • _currency : refers to the currency for which support is being added in the pool

Remove currency

If in future support for a particular currency as payment is to be removes then the removeCurrency function will be called, it is supposed to remove support for a particular currency as a payment option in the pool. This function can only be called by the admin

    function removeCurrency(address _currency)

Input variables :

  • _currency : refers to the currency for which support is being removed in the pool

Last updated