Foundation
Bankroll
Mega Casino will utilize the Diamond Contract architecture exclusively for Mega ETH(possible changes regarding scaling in the future) and the bankroll system of $MCS. This contract structure, based on the Diamond Upgrade Pattern outlined in EIP-2535: Diamonds, Multi-Facet Proxy, allows for efficient management and scaling of the bankroll system. For more information, please visit the Kelly Strategy page.
The Diamond Contract will hold the bankroll funds and oversee all transactions and payouts to players. It will interact with multiple game contracts through a multi-facet proxy, ensuring that all contracts are properly connected and can communicate seamlessly. The bankroll will rely on the VaultFacet Contract, which is permanent and dictates how transactions are executed.
To ensure security and reliability, we will also incorporate OpenZeppelin's ERC-20 standard for token management, along with their Reentrancy Guard for enhanced protection.
For a detailed explanation of how these contracts work together, please visit the Framework page. To view a complete list of all contracts, check the Contracts page.
In our future updates, we aim to decentralize our bankroll system by dividing it into multiple pools. As a liquidity provider, you will have the opportunity to earn a share of the revenue generated, with the amount you receive being proportional to the growth of the bankroll.
Permanent Game Contracts
Once deployed our game contracts will be permanent, there is no possibility for upgrades or changes.
MegaSweeper and Plinko
The game contracts MegaSweeper and Plinko include a multiplier function, but these do not impact immutability or centralization. Here’s an explanation:
The function
Plinko.setPlinkoMultipliers()
is required because it is not feasible to set all the Plinko multipliers at once due to gas limit constraints, as a significant amount of data is involved in setting the multipliers. Most importantly, this function cannot be reused once the multipliers are set, meaning it can only be invoked once.The function
MegaSweeper.setMultipliers()
requires no input as it is purely mathematical. As a result, the team considers MegaSweeper to be unaffected by centralization.
Last updated