{ "contractName": "MemeAltar", "contractAddress": "0xE4F42F3f8B0E57b1054D457fe3b49a1A10B1aCEa", "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": "CycleCompletedRegistrationFailed", "type": "error" }, { "inputs": [], "name": "InsufficientOutputAmount", "type": "error" }, { "inputs": [], "name": "LiquidityOwnerAlreadyInitialized", "type": "error" }, { "inputs": [], "name": "MemeIsNotInAList", "type": "error" }, { "inputs": [], "name": "NextCycleRegistrationFailed", "type": "error" }, { "inputs": [], "name": "NotAdmin", "type": "error" }, { "inputs": [], "name": "NotExactInput", "type": "error" }, { "inputs": [], "name": "NothingToSacrifice", "type": "error" }, { "inputs": [], "name": "RewardRegistrationFailed", "type": "error" }, { "inputs": [], "name": "SwapCallbackCanBeCalledOnlyByPool", "type": "error" }, { "inputs": [], "name": "SwapWithinZeroLiquidity", "type": "error" }, { "inputs": [], "name": "SwitchRequiresMemeBeSet", "type": "error" }, { "inputs": [], "name": "TokenIsNotInSacrificableList", "type": "error" }, { "inputs": [], "name": "TooLittleReceived", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "uniV2Pool", "type": "address" } ], "name": "UniV2PoolWithoutLiquidity", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "cycleNumber", "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": "cycleNumber", "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": "newDurationLimit", "type": "uint256" } ], "name": "NewCycleDurationLimit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newDefaultGoal", "type": "uint256" } ], "name": "NewDefaultCycleGoal", "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": "uint32", "name": "newDurationLimit", "type": "uint32" } ], "name": "adjustCycleDurationLimit", "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": [], "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": "currentCycle", "outputs": [ { "internalType": "uint112", "name": "", "type": "uint112" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cycleDurationLimit", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint112", "name": "", "type": "uint112" } ], "name": "cycles", "outputs": [ { "internalType": "uint112", "name": "goal", "type": "uint112" }, { "internalType": "uint112", "name": "ethUsedToBuy", "type": "uint112" }, { "internalType": "uint32", "name": "expirationTimestamp", "type": "uint32" } ], "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": "cycleParticipant", "type": "bool" } ], "name": "getAmountETHBase", "outputs": [ { "internalType": "uint256", "name": "amountETHBase", "type": "uint256" }, { "internalType": "uint256", "name": "amountETHForSelling", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "memeToSacrifice", "type": "address" } ], "name": "getAmountToReachGoal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint112", "name": "cycleNumber", "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": "rewardCurrentCycle", "type": "uint256" }, { "internalType": "uint256", "name": "rewardNextCycle", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint112", "name": "cycleNumber", "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": [ { "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" } ] }