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