@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
296 lines (295 loc) • 7.53 kB
JSON
[
{
"inputs": [
{"internalType": "address", "name": "_NFTAddress", "type": "address"},
{"internalType": "uint256[]", "name": "_times", "type": "uint256[]"},
{
"internalType": "address",
"name": "_delegationRegistry",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{"inputs": [], "name": "TTOOStaking__LockPeriodNotOver", "type": "error"},
{"inputs": [], "name": "TTOOStaking__NonexistentLockTime", "type": "error"},
{"inputs": [], "name": "TTOOStaking__NotNFTOwner", "type": "error"},
{"inputs": [], "name": "TTOOStaking__NotStakedOrOwner", "type": "error"},
{
"inputs": [],
"name": "TTOOStaking__RequireAtLeastOneLockTime",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "staker",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "uint256",
"name": "unlockAt",
"type": "uint256"
}
],
"name": "Stake",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "staker",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Unstake",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "lockTime",
"type": "uint256"
},
{"indexed": true, "internalType": "bool", "name": "isAdd", "type": "bool"}
],
"name": "UpdateLockTime",
"type": "event"
},
{
"inputs": [{"internalType": "uint256", "name": "time", "type": "uint256"}],
"name": "addLockTime",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "times", "type": "uint256[]"}
],
"name": "addMultipleLockTimes",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "delegationRegistry",
"outputs": [
{
"internalType": "contract IDelegationRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLockTimes",
"outputs": [{"internalType": "uint256[]", "name": "", "type": "uint256[]"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"}
],
"name": "getUnlockTime",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "staker", "type": "address"}
],
"name": "getUserStakedCount",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "staker", "type": "address"}
],
"name": "getUserStakingInfo",
"outputs": [
{"internalType": "uint256[]", "name": "", "type": "uint256[]"},
{"internalType": "uint256[]", "name": "", "type": "uint256[]"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{"internalType": "uint256", "name": "time", "type": "uint256"}],
"name": "isValidLockTime",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"name": "lockInfos",
"outputs": [
{"internalType": "address", "name": "owner", "type": "address"},
{"internalType": "uint48", "name": "unlockAt", "type": "uint48"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "nft",
"outputs": [
{"internalType": "contract IERC721", "name": "", "type": "address"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "", "type": "address"},
{"internalType": "address", "name": "", "type": "address"},
{"internalType": "uint256", "name": "", "type": "uint256"},
{"internalType": "bytes", "name": "", "type": "bytes"}
],
"name": "onERC721Received",
"outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{"internalType": "uint256", "name": "time", "type": "uint256"}],
"name": "removeLockTime",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "times", "type": "uint256[]"}
],
"name": "removeMultipleLockTimes",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"},
{"internalType": "uint256", "name": "lockTime", "type": "uint256"}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"},
{"internalType": "uint256", "name": "lockTime", "type": "uint256"}
],
"internalType": "struct StakeMultipleInputs[]",
"name": "inputs",
"type": "tuple[]"
}
],
"name": "stakeMultiple",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "newOwner", "type": "address"}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"}
],
"name": "unstake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"}
],
"name": "unstakeMultiple",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]