Pooled funds are deposited into a decentralized savings account powered by Aave, earning higher lending interest than in traditional finance. We may also provide additional incentives for early users, through yield farming and prize matching by some of our great sponsors. π
joinGame()
function on our smart contract.
makeDeposit()
on our smart contract. However, if players wish to do so, they can stop contributing and withdraw their funds at any moment, via earlyWithdraw()
on our smart contract (subject to an early withdrawal fee).
depositIntoExternalPool()
function on our smart contract, thereby converting the player contributions into digital tokens used by the underlying DeFi protocol (i.e. interest-bearing aDAI). 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.
In the future, we aim to support additional DeFi platforms and methods of generating rewards for users.
redeemFromExternalPool()
function on our smart contract.
Whenever there are additional rewards generated (e.g. WMATIC rewards due to liquidity mining on the Aave Polygon market), they will be claimed by the GoodGhosting smart contract and automatically distributed to all winning players. Thereby increasing rewards for all winning players.
withdraw()
function on our smart contract.pause()
, unpause()
and adminFeeWithdraw()
) that are accessible only to the admin (owner) of the contract. In this case, that would be the GoodGhosting wallet that deployed the game to the blockchain. There is no intention of using these functions during the game, but they are coded into the smart contract as a safeguard in the event something unexpected or malicious were to occur (bugs, exploits, attacks or similar).pause()
- this function allows the admin to pause the game (smart contract) for security reasons.joinGame()
)makeDeposit()
)depositIntoExternalPool()
)redeemFromExternalPool()
)earlyWithdraw()
)withdraw()
, after the end of the game has occurred.unpause()
- this function resumes a game that has been paused, enabling the smart contract.adminFeeWithdraw()
- reserved for future usage.