Hack Your Way

Matchain mainnet Contract Details

DontFOMO: 0xba8be5277A06D2635553b331eAa0BCB6f4bDB809

Public ABI

[
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "keysAmount",
                "type": "uint256"
            }
        ],
        "name": "buy",
        "outputs": [],
        "stateMutability": "payable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "getCurrentRoundInfo",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "curRound",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "airdropId",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "drewAirdropId",
                "type": "uint256"
            },
            {
                "components": [
                    {
                        "internalType": "uint256",
                        "name": "startBlock",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "remainingBlocks",
                        "type": "uint256"
                    },
                    {
                        "internalType": "bool",
                        "name": "ended",
                        "type": "bool"
                    },
                    {
                        "internalType": "address",
                        "name": "lastPlayer",
                        "type": "address"
                    },
                    {
                        "internalType": "uint256",
                        "name": "keysAmount",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "eth",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "pot",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "mask",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "airdropPot",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "airdropTracker",
                        "type": "uint256"
                    },
                    {
                        "components": [
                            {
                                "internalType": "address",
                                "name": "player",
                                "type": "address"
                            },
                            {
                                "internalType": "uint256",
                                "name": "keysAmount",
                                "type": "uint256"
                            },
                            {
                                "internalType": "uint256",
                                "name": "eth",
                                "type": "uint256"
                            }
                        ],
                        "internalType": "struct PurchaseInfo[]",
                        "name": "lastPurchaseInfos",
                        "type": "tuple[]"
                    },
                    {
                        "internalType": "uint256",
                        "name": "extraUltimateJackpot",
                        "type": "uint256"
                    }
                ],
                "internalType": "struct Round",
                "name": "round",
                "type": "tuple"
            },
            {
                "components": [
                    {
                        "internalType": "uint256",
                        "name": "community",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "referral",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "fomoVault",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "airdrop",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "pot",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "holders",
                        "type": "uint256"
                    }
                ],
                "internalType": "struct Fees",
                "name": "fees",
                "type": "tuple"
            },
            {
                "components": [
                    {
                        "internalType": "uint256",
                        "name": "community",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "grandPrize",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "grandPrizeReferral",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "fomoVault",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "holders",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "nextRound",
                        "type": "uint256"
                    }
                ],
                "internalType": "struct PotSplit",
                "name": "potSplit",
                "type": "tuple"
            },
            {
                "components": [
                    {
                        "internalType": "uint256",
                        "name": "roundInit",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "addedBlocksPerTx",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "maxRemainingBlocks",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "airdropDelay",
                        "type": "uint256"
                    },
                    {
                        "internalType": "uint256",
                        "name": "fomoMintRate",
                        "type": "uint256"
                    }
                ],
                "internalType": "struct Settings",
                "name": "settings",
                "type": "tuple"
            },
            {
                "internalType": "address",
                "name": "communityVault",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "stakingPool",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "fomoToken",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "keyPrice",
                "type": "uint256"
            },
            {
                "internalType": "address",
                "name": "aclManager",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "communityVaultFinalPot",
                "type": "address"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "addedKeys",
                "type": "uint256"
            }
        ],
        "name": "iWantXKeys",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    }
]

Useful methods

interface IDontFOMOPublic {
    /// @notice get current round info and configs in the contract
    function getCurrentRoundInfo()
        external
        view
        returns (
            uint256 curRound,
            uint256 airdropId,
            uint256 drewAirdropId,
            Round memory round,  // round.remainingBlocks: Game countdown
            Fees memory fees,
            PotSplit memory potSplit,
            Settings memory settings,
            address communityVault,
            address stakingPool,
            address fomoToken,
            uint256 keyPrice,
            address aclManager,
            address communityVaultFinalPot
        );

    /// @param keysAmount key amount, 1 key: 1 ether
    /// eg: keysAmount: 1 ether, keyPrice: iWantXKeys(1 ether)
    /// buy(keysAmount, {value: keyPrice})
    function buy(uint256 keysAmount) external payable;

    function iWantXKeys(uint256 addedKeys) external view returns (uint256);
}

Last updated