791 lines
16 KiB
JSON
791 lines
16 KiB
JSON
{
|
|
"contractName": "RewardLocker",
|
|
"contractAddress": "0x2952253374973DE0ffbFe35269Ca13FaF28B935F",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_developer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AlreadyInitialized",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "CycleIsNotCompletedYet",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotMemeAltar",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "StakePartMoreThan100Percent",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "TooEarlyToUnstake",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "Unsynchronized",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "claimer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ClaimedReward",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "index",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "winnerToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "totalCycleRewards",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "CycleCompleted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "index",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "CycleStarted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "staker",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "stakedCycle",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "stakedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "RewardStaked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "unstaker",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "unstakeCycle",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "unstakedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "RewardUnstaked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "cycleNumber",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Rewarded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "unstaker",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "unstakeCycle",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "unstakedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "UnstakeOrdered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "bloodline",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract Bloodline",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "_cycles",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "_sacrificedTokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "claim",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "claimedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "_cycles",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "claim",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "claimedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "_cycles",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_sacrificedToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "claim",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "claimedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "cycles",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint32",
|
|
"name": "cycleCompletedTimestamp",
|
|
"type": "uint32"
|
|
},
|
|
{
|
|
"internalType": "uint224",
|
|
"name": "totalSacrificeCompetitionRewards",
|
|
"type": "uint224"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "totalStakeRewards",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "cycleNumber",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "sacrificedToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getRewards",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "stakeReward",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sacrificeReward",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "cycleNumber",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getSacrificableTokens",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "cycleNumber",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "sacrificedToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getSacrificedTokenCoefficient",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "sacrificedToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getStakeRewardForSacrificeReward",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "stakeReward",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "beneficiary",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "cycleNumbers",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "getTotalRewardsOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "totalSacrificeRewards",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "totalStakeRewards",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "cycleNumber",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "sacrificedToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getTotalSacrificeRewardsForToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "totalSacrificeRewardsForToken",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_memeAltar",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_bloodline",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "init",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "lastCompletedCycle",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "memeAltar",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "orderUnstake",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "unstakeCycle",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "cycleIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "winnerToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "registerCycleCompleted",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "cycleIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "sacrificableTokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "registerNextCycle",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_sacrificedToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "registerReward",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "stakeCoefficient",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "_cycles",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "_sacrificedTokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "stakeAndClaim",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "stakedAmount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "claimedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "deadline",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "v",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "r",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "s",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "stakeToBeSecured",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "stakedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "_cycles",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "_sacrificedTokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "stakeToBeSecured",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "stakedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "stakeToBeSecured",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "stakedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "staked",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "unstakeCycle",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "unstake",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "unstakedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "unstakeOrdered",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
]
|
|
}
|