## Overall Contract Structure
Project Tempus requires two contracts for its upcoming release, a staking contract and a minting
contract.
### Staking Contract
Users will stake ASTO into the contract. By staking ASTO users can then read comics. While the users ASTO is staked, they earn Tempus points. Tempus points will match the ASTO staked 1:1 and be accumulated daily. These points will be accumulated throughout the Epoch that the ASTO is staked.
Requirements of Staking contract and UI:
- User should see the current amount of ASTO staked
- User should see the current amount of earned Tempus tokens (non-token balance)
- User should see the estimated total tempus tokens that will be earned at the end of the epoch
Function requirements:
- Stake
- Un-stake
- Tempus earned per day
- Epoch length
A suggested basis for this contract is the PLUG Staking contract that enabled users to earn an Otto token balance.
Question: `PLUG Staking contract` and `Otto` token?
### Minting Contract
Once users have accumulated Tempus points (non-token balance) at the end of the epoch they will be able to mint the comic that they have finished reading. This will give them a 1st Edition version of the comic.
Question: Is the comic an NFT or something else?
Requirements of Minting contract
- Subscription off chain cannot unsubscribe till end of staking session
- Plug staking model
- Need to know logic for the model
- Plug otto premining contract – has logic for how much otto someone earns
- Per Asto staked they earn 1 tempus point per day
- If the reward requires them to have 1000 tempus points + spend 100 asto then they will have to stake 100 asto for 10 days then spend that + points.
If we want people to spend their points, we will need to use storage contract. Storage contract will read staking contract and calculate how many tempus points that address has earned.
Creates a per user/per wallet activity Then we plugin consumer contracts to that storage contract. Display of current balance on screen Spending points is a simple signing form that they are consuming AE and could be within the transaction.