@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
372 lines (371 loc) • 9.65 kB
JSON
[
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_stakingToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "stakeID",
"type": "uint256"
}
],
"name": "Claim",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stakeID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Delegate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "stakeID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Stake",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "stakeID",
"type": "uint256"
}
],
"name": "Unlock",
"type": "event"
},
{
"inputs": [],
"name": "DEPLOY_TIME",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SNAPSHOT_INTERVAL",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "STAKE_LOCKTIME",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "_account", "type": "address"},
{"internalType": "uint256", "name": "_index", "type": "uint256"}
],
"name": "accountSnapshot",
"outputs": [
{
"components": [
{"internalType": "uint256", "name": "interval", "type": "uint256"},
{"internalType": "uint256", "name": "votingPower", "type": "uint256"}
],
"internalType": "struct Staking.AccountSnapshot",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "_account", "type": "address"},
{"internalType": "uint256", "name": "_interval", "type": "uint256"},
{"internalType": "uint256", "name": "_hint", "type": "uint256"}
],
"name": "accountSnapshotAt",
"outputs": [
{
"components": [
{"internalType": "uint256", "name": "interval", "type": "uint256"},
{"internalType": "uint256", "name": "votingPower", "type": "uint256"}
],
"internalType": "struct Staking.AccountSnapshot",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "_account", "type": "address"}
],
"name": "accountSnapshotLength",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "_stakeID", "type": "uint256"}
],
"name": "claim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "currentInterval",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "_stakeID", "type": "uint256"},
{"internalType": "address", "name": "_to", "type": "address"}
],
"name": "delegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "_index", "type": "uint256"}
],
"name": "globalsSnapshot",
"outputs": [
{
"components": [
{"internalType": "uint256", "name": "interval", "type": "uint256"},
{
"internalType": "uint256",
"name": "totalVotingPower",
"type": "uint256"
},
{"internalType": "uint256", "name": "totalStaked", "type": "uint256"}
],
"internalType": "struct Staking.GlobalsSnapshot",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "_interval", "type": "uint256"},
{"internalType": "uint256", "name": "_hint", "type": "uint256"}
],
"name": "globalsSnapshotAt",
"outputs": [
{
"components": [
{"internalType": "uint256", "name": "interval", "type": "uint256"},
{
"internalType": "uint256",
"name": "totalVotingPower",
"type": "uint256"
},
{"internalType": "uint256", "name": "totalStaked", "type": "uint256"}
],
"internalType": "struct Staking.GlobalsSnapshot",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "globalsSnapshotLength",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{"internalType": "uint256", "name": "_time", "type": "uint256"}],
"name": "intervalAtTime",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "_account", "type": "address"}
],
"name": "latestAccountSnapshotInterval",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "latestGlobalsSnapshotInterval",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "_amount", "type": "uint256"}
],
"name": "stake",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "", "type": "address"},
{"internalType": "uint256", "name": "", "type": "uint256"}
],
"name": "stakes",
"outputs": [
{"internalType": "address", "name": "delegate", "type": "address"},
{"internalType": "uint256", "name": "amount", "type": "uint256"},
{"internalType": "uint256", "name": "staketime", "type": "uint256"},
{"internalType": "uint256", "name": "locktime", "type": "uint256"},
{"internalType": "uint256", "name": "claimedTime", "type": "uint256"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "address", "name": "_account", "type": "address"}
],
"name": "stakesLength",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stakingToken",
"outputs": [
{"internalType": "contract IERC20", "name": "", "type": "address"}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalStaked",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalVotingPower",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "_stakeID", "type": "uint256"}
],
"name": "undelegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{"internalType": "uint256", "name": "_stakeID", "type": "uint256"}
],
"name": "unlock",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{"internalType": "address", "name": "", "type": "address"}],
"name": "votingPower",
"outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
"stateMutability": "view",
"type": "function"
}
]