joinGame()function on our smart contract.
makeDeposit()on our smart contract. When the player makes the regular contribution, the funds are again automatically deposited into an existing decentralized protocol (as Aave). When funds are deposited into Aave, the protocol converts the player's contributions into digital tokens used by the underlying DeFi protocol (i.e. interest-bearing aDAI or mcUSD). This enables additional rewards to be generated compared to the original principal contributed (due to the accumulation of lending interest from the Aave lending market).
redeemFromExternalPool()function on our smart contract.
adminFeeWithdraw()) that are accessible only to the admin (owner) of the contract (the GoodGhosting wallet that deployed the game to the blockchain). There's no intention of using these functions during the game, but they are coded into the smart contract for precaution - to be used as a safeguard in case something goes wrong (bugs, exploits, attacks, etc.).
pause()- this function allows the admin to pause the game (smart contract) for security reasons.
redeemFromExternalPoolafter the end of the game, to make sure players can get at least their principal back.
unpause()- this function allows the admin to resume the game (unpause the smart contract).
adminFeeWithdraw()- reserved for future usage. It allows the admin to withdraw the performance fee charged in the game (if any).