@aryze/v3-staker
Version:
Canonical liquidity mining contract for Aryze V3
690 lines (689 loc) • 15.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IAryzeV3Staker",
"sourceName": "contracts/interfaces/IAryzeV3Staker.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "oldOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "DepositTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"indexed": true,
"internalType": "contract IAryzeV3Pool",
"name": "pool",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "refundee",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "reward",
"type": "uint256"
}
],
"name": "IncentiveCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "incentiveId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "refund",
"type": "uint256"
}
],
"name": "IncentiveEnded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "reward",
"type": "uint256"
}
],
"name": "RewardClaimed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "incentiveId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint128",
"name": "liquidity",
"type": "uint128"
}
],
"name": "TokenStaked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "incentiveId",
"type": "bytes32"
}
],
"name": "TokenUnstaked",
"type": "event"
},
{
"inputs": [
{
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amountRequested",
"type": "uint256"
}
],
"name": "claimReward",
"outputs": [
{
"internalType": "uint256",
"name": "reward",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"internalType": "contract IAryzeV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "address",
"name": "refundee",
"type": "address"
}
],
"internalType": "struct IAryzeV3Staker.IncentiveKey",
"name": "key",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "reward",
"type": "uint256"
}
],
"name": "createIncentive",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "deposits",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint48",
"name": "numberOfStakes",
"type": "uint48"
},
{
"internalType": "int24",
"name": "tickLower",
"type": "int24"
},
{
"internalType": "int24",
"name": "tickUpper",
"type": "int24"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"internalType": "contract IAryzeV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "address",
"name": "refundee",
"type": "address"
}
],
"internalType": "struct IAryzeV3Staker.IncentiveKey",
"name": "key",
"type": "tuple"
}
],
"name": "endIncentive",
"outputs": [
{
"internalType": "uint256",
"name": "refund",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "factory",
"outputs": [
{
"internalType": "contract IAryzeV3Factory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"internalType": "contract IAryzeV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "address",
"name": "refundee",
"type": "address"
}
],
"internalType": "struct IAryzeV3Staker.IncentiveKey",
"name": "key",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getRewardInfo",
"outputs": [
{
"internalType": "uint256",
"name": "reward",
"type": "uint256"
},
{
"internalType": "uint160",
"name": "secondsInsideX128",
"type": "uint160"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "incentiveId",
"type": "bytes32"
}
],
"name": "incentives",
"outputs": [
{
"internalType": "uint256",
"name": "totalRewardUnclaimed",
"type": "uint256"
},
{
"internalType": "uint160",
"name": "totalSecondsClaimedX128",
"type": "uint160"
},
{
"internalType": "uint96",
"name": "numberOfStakes",
"type": "uint96"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "maxIncentiveDuration",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "maxIncentiveStartLeadTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"name": "multicall",
"outputs": [
{
"internalType": "bytes[]",
"name": "results",
"type": "bytes[]"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "nonfungiblePositionManager",
"outputs": [
{
"internalType": "contract INonfungiblePositionManager",
"name": "",
"type": "address"
}
],
"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": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "rewards",
"outputs": [
{
"internalType": "uint256",
"name": "rewardsOwed",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"internalType": "contract IAryzeV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "address",
"name": "refundee",
"type": "address"
}
],
"internalType": "struct IAryzeV3Staker.IncentiveKey",
"name": "key",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "stakeToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "incentiveId",
"type": "bytes32"
}
],
"name": "stakes",
"outputs": [
{
"internalType": "uint160",
"name": "secondsPerLiquidityInsideInitialX128",
"type": "uint160"
},
{
"internalType": "uint128",
"name": "liquidity",
"type": "uint128"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "transferDeposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "contract IERC20Minimal",
"name": "rewardToken",
"type": "address"
},
{
"internalType": "contract IAryzeV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "address",
"name": "refundee",
"type": "address"
}
],
"internalType": "struct IAryzeV3Staker.IncentiveKey",
"name": "key",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "unstakeToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "withdrawToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}