async def get_nodes(self) -> List[Tuple[(int, ExtendedPeerInfo)]]:
    cursor = (await self.db.execute('SELECT node_id, value from peer_nodes'))
    nodes_id = (await cursor.fetchall())
    (await cursor.close())
    return [(node_id, ExtendedPeerInfo.from_string(info_str)) for (node_id, info_str) in nodes_id]
async def get_nodes(self) -> List[Tuple[(int, ExtendedPeerInfo)]]:
    cursor = (await self.db.execute('SELECT node_id, value from peer_nodes'))
    nodes_id = (await cursor.fetchall())
    (await cursor.close())
    return [(node_id, ExtendedPeerInfo.from_string(info_str)) for (node_id, info_str) in nodes_id]