@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
222 lines (221 loc) • 5.97 kB
JSON
[
{"inputs": [], "stateMutability": "nonpayable", "type": "constructor"},
{"inputs": [], "name": "NotTokenOwner", "type": "error"},
{
"inputs": [{"internalType": "address", "name": "owner", "type": "address"}],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{"internalType": "address", "name": "account", "type": "address"}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{"inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error"},
{"inputs": [], "name": "TokenAlreadyStaked", "type": "error"},
{"inputs": [], "name": "TokenNotStaked", "type": "error"},
{"inputs": [], "name": "UnsupportedStakingContract", "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": "contractAddress",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "tokenIds",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "TokensStaked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "tokenIds",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "TokensUnstaked",
"type": "event"
},
{
"inputs": [{"internalType": "address", "name": "user", "type": "address"}],
"name": "getStakedTokens",
"outputs": [
{"internalType": "address[]", "name": "contracts", "type": "address[]"},
{"internalType": "uint256[][]", "name": "tokenIds", "type": "uint256[][]"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "user", "type": "address"},
{"internalType": "address", "name": "contractAddress", "type": "address"}
],
"name": "getStakedTokens",
"outputs": [
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "contractAddress", "type": "address"}
],
"name": "isContractSupported",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"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": "pure",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "contractAddress", "type": "address"},
{"internalType": "bool", "name": "isSupported", "type": "bool"}
],
"name": "setSupportedContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "contractAddress", "type": "address"},
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "contractAddress", "type": "address"}
],
"name": "stakeCountsPerContract",
"outputs": [
{"internalType": "uint256", "name": "totalStaked", "type": "uint256"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "newOwner", "type": "address"}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "contractAddress", "type": "address"},
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"}
],
"name": "unstake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "contractAddress", "type": "address"},
{"internalType": "uint256", "name": "tokenId", "type": "uint256"}
],
"name": "vaults",
"outputs": [
{"internalType": "address", "name": "owner", "type": "address"},
{"internalType": "uint64", "name": "stakedAt", "type": "uint64"}
],
"stateMutability": "view",
"type": "function"
}
]