interface INestPool {
    // 设置管理员
    function setGovernance(address _gov) external;
    // 设置地址
    function setContracts(
            address NestToken, address NestMining, 
            address NestStaking, address NTokenController, 
            address NNToken, address NNRewardPool, 
            address NestQuery, address NestDAO
        ) external;
    // 转移nest账本
    function transferNestInPool(address from, address to, uint256 amount) external;
    // 转移ETH账本
    function transferEthInPool(address from, address to, uint256 amount) external;
    // 给矿工地址转账ETH和NEST
    function withdrawEthAndToken(address miner, uint256 ethAmount, address token, uint256 tokenAmount) external;
    // 转出Token
    function withdrawToken(address miner, address token, uint256 tokenAmount) external;
    // 查询NEST数量
    function getMinerNest(address miner) external view returns (uint256 nestAmount);
    // 查询其他token数量
    function balanceOfTokenInPool(address miner, address token) external view returns (uint256);
}
// 3.5矿池合约
function withdrawToken(address miner, address token, uint256 tokenAmount) external;
// 转出Token