// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity >=0.8.0; library Types { enum Grade { Null, Major, Secondary } struct CandidateInfo { Grade grade; uint256 amount; int256 rewardDebt; uint256 allocation; string manifest; } struct PoolInfo { uint256 accPerShare; uint256 lastRewardTime; uint256 allocPoint; } enum SlashStatus { Drafted, Rejected, Executed } struct SlashInfo { address candidate; address drafter; address[] validators; uint256 amount; uint256 timestamp; SlashStatus status; } }