interface ICurveSwap {
    function coins(int128 arg0) external view returns (address);

    // hbtc pool
    function coins(uint256 arg0) external view returns (address);

    function underlying_coins(int128 arg0) external view returns (address);

    function remove_liquidity_one_coin(
        uint256 _token_amount,
        int128 i,
        uint256 min_amount
    ) external;

    function balances(int128 arg0) external view returns (uint256);

    // 3Pool:
    function balances(uint256 arg0) external view returns (uint256);
}
function balances(uint256 arg0) external view returns (uint256);

// 3Pool: