# Smart Contract

## Connections

The smart contract is deployed on Kovan test network at this address : 0x

It can interact with the ChainlinkClient and it is Keeper Compatible. This means that it allows retrieval of datas from a Chainlink Node and automates some contracts functionalities.

## Functionalities

:ocean: Ocean Storm smart contract has several major functionalities :

* SubcribePolicy() : allows people to subscribe to an Ocean Storm policy
* PricePremium() : Calculate the premium price (hardcoded)
* CalculateThreshold() : Calculate the gust threshold policy holder (hardcoded)
* UpdateContracts() : Keepers will update policy parameters, request weather data from the node and pay out if a claim is detected
* ReceiveWeatherData() : Allow Chainlink to fullfil weather datas and compare them to the policy gust threshold
* HasIncident() : Depending on weather data, it should state if a policy is at claim or not
* PayOut() :  should pay out the policy holder if a claim is detected
* CheckUpKeep() / PerformKeep() : Keepers functions that activate UpdateContracts() every X hours (X is set by governance)
* Set functions() : allow governance to set up protocol parameters
* Get functions() : allow anyone to get information about the protocol parameters and their policies subscribed
