This is Sacred’s key feature and holds the Anonymity Mining contracts: This handles deposits and withdrawals, making sure they are recorded in Merkle Trees. On depositing or withdrawing, the total shares each user has is updated.
Miner.sol
This contract handles the actual mining and communicates with the pool that is below Sacred. It is called by SacredProxy each time there is a deposit/ withdrawal and updates the shares.
RewardSwap
After users have withdrawn their deposit, they also get Incognito Credits they can redeem for actual SACRED. This contract handles the swapping mechanism and price, based on amount of Sacred tokens in the contract.
AaveInterestsProxy.sol
This contract connects to Aave and allows for withdrawal of the interest gained in the underlying pool. This is a separate transaction from withdrawing Incognito Credits.