@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
808 lines (807 loc) • 21.8 kB
JSON
[
{
"inputs": [
{"internalType": "address", "name": "wrld", "type": "address"},
{"internalType": "address", "name": "nftw", "type": "address"}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "delegator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "fromDelegate",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "toDelegate",
"type": "address"
}
],
"name": "DelegateChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "previousBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newBalance",
"type": "uint256"
}
],
"name": "DelegateVotesChanged",
"type": "event"
},
{
"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": false,
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "claimed",
"type": "uint256"
}
],
"name": "RewardClaimed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "accumulated",
"type": "uint256"
}
],
"name": "RewardsPerWeightUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint32",
"name": "start",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint32",
"name": "end",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rate",
"type": "uint256"
}
],
"name": "RewardsSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint32",
"name": "start",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint32",
"name": "end",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rate",
"type": "uint256"
}
],
"name": "RewardsUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "userRewards",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "paidRewardPerWeight",
"type": "uint256"
}
],
"name": "UserRewardsUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "increase",
"type": "bool"
},
{
"indexed": false,
"internalType": "uint256",
"name": "weight",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "WeightUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "WorldStaked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "WorldUnstaked",
"type": "event"
},
{
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "owner", "type": "address"},
{"internalType": "address", "name": "spender", "type": "address"}
],
"name": "allowance",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "spender", "type": "address"},
{"internalType": "uint256", "name": "amount", "type": "uint256"}
],
"name": "approve",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "account", "type": "address"}
],
"name": "balanceOf",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{"internalType": "address", "name": "user", "type": "address"}],
"name": "checkUserRewards",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "account", "type": "address"},
{"internalType": "uint32", "name": "pos", "type": "uint32"}
],
"name": "checkpoints",
"outputs": [
{
"components": [
{"internalType": "uint32", "name": "fromBlock", "type": "uint32"},
{"internalType": "uint224", "name": "votes", "type": "uint224"}
],
"internalType": "struct ERC20Votes.Checkpoint",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{"internalType": "address", "name": "to", "type": "address"}],
"name": "claim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "spender", "type": "address"},
{"internalType": "uint256", "name": "subtractedValue", "type": "uint256"}
],
"name": "decreaseAllowance",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "delegatee", "type": "address"}
],
"name": "delegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "delegatee", "type": "address"},
{"internalType": "uint256", "name": "nonce", "type": "uint256"},
{"internalType": "uint256", "name": "expiry", "type": "uint256"},
{"internalType": "uint8", "name": "v", "type": "uint8"},
{"internalType": "bytes32", "name": "r", "type": "bytes32"},
{"internalType": "bytes32", "name": "s", "type": "bytes32"}
],
"name": "delegateBySig",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "account", "type": "address"}
],
"name": "delegates",
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"},
{"internalType": "uint32", "name": "_rentableUntil", "type": "uint32"}
],
"name": "extendRentalPeriod",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "blockNumber", "type": "uint256"}
],
"name": "getPastTotalSupply",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "account", "type": "address"},
{"internalType": "uint256", "name": "blockNumber", "type": "uint256"}
],
"name": "getPastVotes",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "account", "type": "address"}
],
"name": "getVotes",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"}
],
"name": "getWorldInfo",
"outputs": [
{
"components": [
{"internalType": "uint16", "name": "weight", "type": "uint16"},
{"internalType": "address", "name": "owner", "type": "address"},
{"internalType": "uint16", "name": "deposit", "type": "uint16"},
{"internalType": "uint16", "name": "rentalPerDay", "type": "uint16"},
{"internalType": "uint16", "name": "minRentDays", "type": "uint16"},
{"internalType": "uint32", "name": "rentableUntil", "type": "uint32"}
],
"internalType": "struct INFTWEscrow.WorldInfo",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "spender", "type": "address"},
{"internalType": "uint256", "name": "addedValue", "type": "uint256"}
],
"name": "increaseAllowance",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"},
{"internalType": "uint256[]", "name": "weights", "type": "uint256[]"},
{"internalType": "address", "name": "stakeTo", "type": "address"},
{"internalType": "uint16", "name": "_deposit", "type": "uint16"},
{"internalType": "uint16", "name": "_rentalPerDay", "type": "uint16"},
{"internalType": "uint16", "name": "_minRentDays", "type": "uint16"},
{"internalType": "uint32", "name": "_rentableUntil", "type": "uint32"},
{"internalType": "uint32", "name": "_maxTimestamp", "type": "uint32"},
{"internalType": "bytes", "name": "_signature", "type": "bytes"}
],
"name": "initialStake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [{"internalType": "string", "name": "", "type": "string"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{"internalType": "address", "name": "owner", "type": "address"}],
"name": "nonces",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "account", "type": "address"}
],
"name": "numCheckpoints",
"outputs": [{"internalType": "uint32", "name": "", "type": "uint32"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "operator", "type": "address"},
{"internalType": "address", "name": "from", "type": "address"},
{"internalType": "uint256", "name": "tokenId", "type": "uint256"},
{"internalType": "bytes", "name": "data", "type": "bytes"}
],
"name": "onERC721Received",
"outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "owner", "type": "address"},
{"internalType": "address", "name": "spender", "type": "address"},
{"internalType": "uint256", "name": "value", "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": "permit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"}
],
"name": "removeRoutingDataIPFSHash",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{"internalType": "address", "name": "", "type": "address"}],
"name": "rewards",
"outputs": [
{"internalType": "uint32", "name": "stakedWeight", "type": "uint32"},
{"internalType": "uint96", "name": "accumulated", "type": "uint96"},
{"internalType": "uint96", "name": "checkpoint", "type": "uint96"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "rewardsPerWeight",
"outputs": [
{"internalType": "uint32", "name": "totalWeight", "type": "uint32"},
{"internalType": "uint96", "name": "accumulated", "type": "uint96"},
{"internalType": "uint32", "name": "lastUpdated", "type": "uint32"},
{"internalType": "uint96", "name": "rate", "type": "uint96"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "rewardsPeriod",
"outputs": [
{"internalType": "uint32", "name": "start", "type": "uint32"},
{"internalType": "uint32", "name": "end", "type": "uint32"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "_contract", "type": "address"},
{"internalType": "bool", "name": "_allow", "type": "bool"}
],
"name": "setPredicate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract INFTWRental",
"name": "_contract",
"type": "address"
}
],
"name": "setRentalContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint32", "name": "start", "type": "uint32"},
{"internalType": "uint32", "name": "end", "type": "uint32"},
{"internalType": "uint96", "name": "rate", "type": "uint96"}
],
"name": "setRewards",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract INFTWRouter",
"name": "_contract",
"type": "address"
}
],
"name": "setRouterContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"},
{"internalType": "string", "name": "_ipfsHash", "type": "string"}
],
"name": "setRoutingDataIPFSHash",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "_signer", "type": "address"}
],
"name": "setSigner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"},
{"internalType": "uint256[]", "name": "weights", "type": "uint256[]"}
],
"name": "setWeight",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"},
{"internalType": "address", "name": "stakeTo", "type": "address"},
{"internalType": "uint16", "name": "_deposit", "type": "uint16"},
{"internalType": "uint16", "name": "_rentalPerDay", "type": "uint16"},
{"internalType": "uint16", "name": "_minRentDays", "type": "uint16"},
{"internalType": "uint32", "name": "_rentableUntil", "type": "uint32"}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}
],
"name": "supportsInterface",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [{"internalType": "string", "name": "", "type": "string"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{"internalType": "uint256", "name": "supply", "type": "uint256"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "to", "type": "address"},
{"internalType": "uint256", "name": "amount", "type": "uint256"}
],
"name": "transfer",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "from", "type": "address"},
{"internalType": "address", "name": "to", "type": "address"},
{"internalType": "uint256", "name": "amount", "type": "uint256"}
],
"name": "transferFrom",
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "newOwner", "type": "address"}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"},
{"internalType": "address", "name": "unstakeTo", "type": "address"}
],
"name": "unstake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "tokenId", "type": "uint256"},
{
"internalType": "string",
"name": "_tokenMetadataIPFSHash",
"type": "string"
}
],
"name": "updateMetadata",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]"},
{"internalType": "uint16", "name": "_deposit", "type": "uint16"},
{"internalType": "uint16", "name": "_rentalPerDay", "type": "uint16"},
{"internalType": "uint16", "name": "_minRentDays", "type": "uint16"},
{"internalType": "uint32", "name": "_rentableUntil", "type": "uint32"}
],
"name": "updateRent",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{"internalType": "address", "name": "", "type": "address"}],
"name": "userBridged",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
}
]