Staking contract flow
===
**Rinkeby**
Staking contract Address: 0xA88d28d4Fc2D3bDa66043e749f4a393eE2F48922
EXNT contract: 0x91B50bB650060Ac32eD45f9C8D48FA74eDfbccB1
EXNG contract: 0xbb94cc12d55760ae6c6a134e625a664d7fdedd11
> **Note**: Current deployments time period is in "minutes" for testing purpose
### Interactions with Staking contract
- Check the plans, that are avilable in Staking contract.
```json=
struct Plan{
uint period;
uint256 id;
uint256 planEXNTAmount;
uint256 planEXNGAmount;
}
```
- **getPlans**: Method provide list of existed plans.
- To choose plan select the **id** of plan while staking.
> **Note**: Before deposit the `amount`. Approve the `amount` in EXNT contract to Staking contract using `approve` method in EXNT contract.
> Method: approve in EXNT.
>> Args: `spender` , `amount`
>> spender: Staking contract address
>> amount: amount he wish to stake
- Deposit funds : `deposit`
- Args : `amount` , `id`
- amount : deposit amount
- id : plan id
- Get Deposits : `getDeposits`
- Args: `depositor addresss`
- Return list of deposits associated to depositor.
- Claim Reward: `claimReward`
- Args: `index` of deposit