{ "contractName": "MemeAltar", "contractAddress": "0x9842954639aF0c1d7A692222955868806287aeEA", "abi": [ { "inputs": [ { "internalType": "address[]", "name": "sacrificableList", "type": "address[]" }, { "internalType": "address[]", "name": "uniV2pools", "type": "address[]" }, { "internalType": "address", "name": "_weth", "type": "address" }, { "internalType": "address", "name": "_admin", "type": "address" }, { "internalType": "address", "name": "_rewardLocker", "type": "address" }, { "internalType": "address", "name": "_bloodline", "type": "address" }, { "internalType": "uint112", "name": "_defaultGoal", "type": "uint112" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ArraysHaveDifferentLength", "type": "error" }, { "inputs": [], "name": "InsufficientOutputAmount", "type": "error" }, { "inputs": [], "name": "LiquidityOwnerAlreadyInitialized", "type": "error" }, { "inputs": [], "name": "MemeIsNotInAList", "type": "error" }, { "inputs": [], "name": "NextRoundRegistrationFailed", "type": "error" }, { "inputs": [], "name": "NothingToSacrifice", "type": "error" }, { "inputs": [], "name": "RewardRegistrationFailed", "type": "error" }, { "inputs": [], "name": "RoundCompletedRegistrationFailed", "type": "error" }, { "inputs": [], "name": "SwitchRequiresMemeBeSet", "type": "error" }, { "inputs": [], "name": "TokenIsNotInSacrificableList", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "uniV2Pool", "type": "address" } ], "name": "UniV2PoolWithoutLiquidity", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "roundNumber", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "meme", "type": "address" }, { "indexed": true, "internalType": "address", "name": "memeMarket", "type": "address" } ], "name": "MemeAddedToSacrificableList", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "roundNumber", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "meme", "type": "address" } ], "name": "MemeRemovedFromSacrificableList", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sacrificer", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sacrificedToken", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "sacrificedAmount", "type": "uint256" } ], "name": "MemeSacrificed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "uint40", "name": "b1", "type": "uint40" }, { "internalType": "uint40", "name": "m1", "type": "uint40" }, { "internalType": "uint40", "name": "b2", "type": "uint40" }, { "internalType": "uint40", "name": "m2", "type": "uint40" }, { "internalType": "uint40", "name": "b3", "type": "uint40" }, { "internalType": "uint40", "name": "m4", "type": "uint40" } ], "indexed": false, "internalType": "struct MemeAltar.BM", "name": "_bm", "type": "tuple" } ], "name": "NewBM", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newDefaultGoal", "type": "uint256" } ], "name": "NewDefaultRoundGoal", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newDurationLimit", "type": "uint256" } ], "name": "NewRoundDurationLimit", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "meme", "type": "address" }, { "internalType": "address", "name": "uniV2Pool", "type": "address" } ], "name": "addMemeToList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint40", "name": "b1", "type": "uint40" }, { "internalType": "uint40", "name": "m1", "type": "uint40" }, { "internalType": "uint40", "name": "b2", "type": "uint40" }, { "internalType": "uint40", "name": "m2", "type": "uint40" }, { "internalType": "uint40", "name": "b3", "type": "uint40" }, { "internalType": "uint40", "name": "m4", "type": "uint40" } ], "internalType": "struct MemeAltar.BM", "name": "newBM", "type": "tuple" } ], "name": "adjustBM", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint112", "name": "newDefaultGoal", "type": "uint112" } ], "name": "adjustDefaultGoal", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "newDurationLimit", "type": "uint32" } ], "name": "adjustRoundDurationLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bloodline", "outputs": [ { "internalType": "contract Bloodline", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bm", "outputs": [ { "internalType": "uint40", "name": "b1", "type": "uint40" }, { "internalType": "uint40", "name": "m1", "type": "uint40" }, { "internalType": "uint40", "name": "b2", "type": "uint40" }, { "internalType": "uint40", "name": "m2", "type": "uint40" }, { "internalType": "uint40", "name": "b3", "type": "uint40" }, { "internalType": "uint40", "name": "m4", "type": "uint40" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "currentRound", "outputs": [ { "internalType": "uint112", "name": "", "type": "uint112" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "defaultGoal", "outputs": [ { "internalType": "uint112", "name": "", "type": "uint112" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "memeToSacrifice", "type": "address" }, { "internalType": "uint256", "name": "amountToSacrifice", "type": "uint256" }, { "internalType": "bool", "name": "roundParticipant", "type": "bool" } ], "name": "getAmountETHBase", "outputs": [ { "internalType": "uint256", "name": "amountETHBase", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "memeToSacrifice", "type": "address" }, { "internalType": "bool", "name": "buyFunc", "type": "bool" } ], "name": "getAmountToReachGoal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint112", "name": "roundNumber", "type": "uint112" } ], "name": "getGoalInBLOOD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "memeToSacrifice", "type": "address" }, { "internalType": "uint256", "name": "amountToSacrifice", "type": "uint256" } ], "name": "getRewardForSacrifice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint112", "name": "roundNumber", "type": "uint112" }, { "internalType": "address", "name": "meme", "type": "address" } ], "name": "getSacrificedMeme", "outputs": [ { "internalType": "bool", "name": "participation", "type": "bool" }, { "internalType": "uint256", "name": "amountAchieved", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "issuancePrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "memeList", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "memesUniV2Pools", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "meme", "type": "address" } ], "name": "removeMemeFromList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardLocker", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "roundDurationLimit", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint112", "name": "", "type": "uint112" } ], "name": "rounds", "outputs": [ { "internalType": "uint112", "name": "goal", "type": "uint112" }, { "internalType": "uint112", "name": "ethUsedToBuy", "type": "uint112" }, { "internalType": "uint32", "name": "expirationTimestamp", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "memeToSacrifice", "type": "address" }, { "internalType": "uint256", "name": "amountToSacrifice", "type": "uint256" }, { "internalType": "uint112", "name": "minETH", "type": "uint112" } ], "name": "sacrificeMeme", "outputs": [ { "internalType": "uint128", "name": "reward", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "memeToSacrifice", "type": "address" }, { "internalType": "uint256", "name": "amountToSacrifice", "type": "uint256" }, { "internalType": "uint256", "name": "minBLOOD", "type": "uint256" } ], "name": "sacrificeMemeAndBuyBLOOD", "outputs": [ { "internalType": "uint256", "name": "reward", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityOwner", "type": "address" } ], "name": "setLiquidityOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "switchAdmin", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "meme", "type": "address" }, { "internalType": "address", "name": "newUniV2Pool", "type": "address" } ], "name": "switchUniV2Pool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniV3Pool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "int256", "name": "amount0Delta", "type": "int256" }, { "internalType": "int256", "name": "amount1Delta", "type": "int256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "uniswapV3SwapCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "weth", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ] }