this is the eosio smart contract that will be in charge of handling the staking. It contains four methods:
- regstaker : This method is in charge of registering staker
- stake: Once a user has been registered as a staker, he can transfer an amount to the account holding this contract. This will trigger the "on_notify" attached to stake method that will handle the staking
- unstake: cancel the staked amount, return the funds
- banstaker: To ban a user and prevent him from staking in the future. If banned, the staked amount is not reimbursed
- letinstaker: To reinstate a banned staker. After being reinstated, the user can re-register and participate in the staking operation
- regadmin: register a user as an admin. Only executable by the owner of this smart contract
Before deployment, change all TODO accordingly