891 lines
18 KiB
JSON
891 lines
18 KiB
JSON
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|