foi reforçado as anotações de tipo com uso da classe 'Any' do módulo 'typing'.

This commit is contained in:
2024-06-22 00:35:06 +01:00
parent 73c4afedcc
commit df802b667d
2 changed files with 72 additions and 68 deletions

View File

@ -2,6 +2,7 @@
# . documentação API: https://docs.coingecko.com/v3.0.1/reference/introduction # . documentação API: https://docs.coingecko.com/v3.0.1/reference/introduction
import requests import requests
from typing import Any
CHAVE_API = 'CG-K5RS5VXsdFDip2UvY3z8VjQP' CHAVE_API = 'CG-K5RS5VXsdFDip2UvY3z8VjQP'
headers = { headers = {
@ -12,7 +13,10 @@ headers = {
url_raiz_API = 'https://api.coingecko.com/api/v3/' url_raiz_API = 'https://api.coingecko.com/api/v3/'
# chamada API geral # chamada API geral
def API(api_endpoint: str = '', api_parameters_dict: dict[str, str] = {}) -> tuple[str, int, dict]: def API(
api_endpoint: str = '',
api_parameters_dict: dict[str, str] = {}
) -> tuple[str, int, dict[Any, Any]]:
'''função genérica para fazer uma chamada a API CoinGecko''' '''função genérica para fazer uma chamada a API CoinGecko'''
# validar parametros # validar parametros
# api_endpoint # api_endpoint
@ -59,7 +63,7 @@ def coin_price_by_ids(
include_24hr_change: bool = False, include_24hr_change: bool = False,
include_last_updated_at: bool = False, include_last_updated_at: bool = False,
precision: int | str = '' precision: int | str = ''
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/simple-price '''https://docs.coingecko.com/v3.0.1/reference/simple-price
consultar preço de um ou mais moedas usando o seu ID de Moeda consultar preço de um ou mais moedas usando o seu ID de Moeda
@ -71,7 +75,7 @@ def coin_price_by_ids(
vs_currencies (obrigatorio)''' vs_currencies (obrigatorio)'''
# dicionario de parametros # dicionario de parametros
api_parameters= { api_parameters: dict[str, str] = {
'ids': '', 'ids': '',
'vs_currencies': '', 'vs_currencies': '',
'include_24hr_vol': '', 'include_24hr_vol': '',
@ -152,7 +156,7 @@ def coin_price_by_token_addresses(
include_24hr_change: bool = False, include_24hr_change: bool = False,
include_last_updated_at: bool = False, include_last_updated_at: bool = False,
precision: int | str = '' precision: int | str = ''
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/simple-token-price '''https://docs.coingecko.com/v3.0.1/reference/simple-token-price
consultar preco de tokens usando os endereços de contrato dos tokens consultar preco de tokens usando os endereços de contrato dos tokens
@ -164,7 +168,7 @@ def coin_price_by_token_addresses(
vs_currencies (obrigatorio) - moedas de referencia, separadas por virgula se forem mais que 1''' vs_currencies (obrigatorio) - moedas de referencia, separadas por virgula se forem mais que 1'''
# dicionario de parametros # dicionario de parametros
api_parameters= { api_parameters: dict[str, str]= {
'id_platform': '', 'id_platform': '',
'contract_addresses': '', 'contract_addresses': '',
'vs_currencies': '', 'vs_currencies': '',
@ -245,7 +249,7 @@ def coin_price_by_token_addresses(
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def supported_currencies_list() -> tuple[str, int, dict]: def supported_currencies_list() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies '''https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies
este endpoint permite consultar quais as moedas de referencia suportadas pela CoinGecko''' este endpoint permite consultar quais as moedas de referencia suportadas pela CoinGecko'''
@ -262,14 +266,14 @@ def supported_currencies_list() -> tuple[str, int, dict]:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def coins_list(include_platform: bool = False) -> tuple[str, int, dict]: def coins_list(include_platform: bool = False) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-list '''https://docs.coingecko.com/v3.0.1/reference/coins-list
obter todas as moedas suportadas em CoinGecko com IDs, nome, obter todas as moedas suportadas em CoinGecko com IDs, nome,
simbolo e (no caso de contractos) endereco na plataforma das moedas simbolo e (no caso de contractos) endereco na plataforma das moedas
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters= { api_parameters: dict[str, str]= {
'include_platform': '', 'include_platform': '',
} }
# validacao parametros # validacao parametros
@ -322,7 +326,7 @@ def coins_list_with_market_data(
price_change_percentage: str = '', price_change_percentage: str = '',
locale: str = '', locale: str = '',
precision: int | str = '' precision: int | str = ''
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
''' '''
https://docs.coingecko.com/v3.0.1/reference/coins-markets https://docs.coingecko.com/v3.0.1/reference/coins-markets
@ -330,7 +334,7 @@ def coins_list_with_market_data(
''' '''
# dicionario de parametros para passar para a API, todos os valores tem de ser do tipo 'str' # dicionario de parametros para passar para a API, todos os valores tem de ser do tipo 'str'
api_parameters = { api_parameters: dict[str, str] = {
'vs_currency': '', 'vs_currency': '',
'ids': '', 'ids': '',
'category': '', 'category': '',
@ -433,7 +437,7 @@ def coin_data_by_id(
community_data: bool = True, community_data: bool = True,
developer_data: bool = True, developer_data: bool = True,
sparkline: bool = False, sparkline: bool = False,
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-id '''https://docs.coingecko.com/v3.0.1/reference/coins-id
este endpoint permite fazer uma consulta a todos os dados de uma moeda este endpoint permite fazer uma consulta a todos os dados de uma moeda
@ -441,7 +445,7 @@ def coin_data_by_id(
CoinGecko com base numa id de moeda CoinGecko com base numa id de moeda
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'localization': '', 'localization': '',
'tickers': '', 'tickers': '',
@ -507,7 +511,7 @@ def coin_tickers_by_id(
page: int = -1, page: int = -1,
order: str = '', order: str = '',
depth: bool = False depth: bool = False
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-id-tickers '''https://docs.coingecko.com/v3.0.1/reference/coins-id-tickers
este endpoint permite fazer uma consulta de tickers tanto em este endpoint permite fazer uma consulta de tickers tanto em
@ -575,7 +579,7 @@ def coin_historical_data_by_id(
id_criptomoeda: str = '', id_criptomoeda: str = '',
date: str = '', date: str = '',
localization: bool = True localization: bool = True
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-id-history '''https://docs.coingecko.com/v3.0.1/reference/coins-id-history
este endpoint permite fazer consulta de dados historicos (preco, cap mercado, volume 24h, este endpoint permite fazer consulta de dados historicos (preco, cap mercado, volume 24h,
@ -626,14 +630,14 @@ def coin_historical_chart_data_by_id(
days: str = '', days: str = '',
interval: str = '', interval: str = '',
precision: int | str = 'full' precision: int | str = 'full'
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart '''https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart
este endpoint permite fazer consulta para obter dados historicos graficos que este endpoint permite fazer consulta para obter dados historicos graficos que
incluem tempo unix, preco, capitalizacao mercado e volume 24h a partir de um id de moeda incluem tempo unix, preco, capitalizacao mercado e volume 24h a partir de um id de moeda
''' '''
# dicionario parametros # dicionario parametros
api_parameters = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'vs_currency': '', 'vs_currency': '',
'days': '', 'days': '',
@ -698,14 +702,14 @@ def coin_historical_chart_data_within_time_range_by_id(
from_unix: int = -1, from_unix: int = -1,
to_unix: int = -1, to_unix: int = -1,
precision: str | int = 'full' precision: str | int = 'full'
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart-range '''https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart-range
este endpoint permite obter dados historicos graficos compreendidos num periodo de tempo este endpoint permite obter dados historicos graficos compreendidos num periodo de tempo
unix com preco, capitalizacao de mercado e volume 24hrs a partir de um id de moeda unix com preco, capitalizacao de mercado e volume 24hrs a partir de um id de moeda
''' '''
# dicionario parametros # dicionario parametros
api_parameters = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'vs_currency': '', 'vs_currency': '',
'from': '', 'from': '',
@ -769,14 +773,14 @@ def coin_ohlc_chart_by_id(
vs_currency: str = '', vs_currency: str = '',
days: str = '', days: str = '',
precision: str | int = 'full' precision: str | int = 'full'
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-id-ohlc '''https://docs.coingecko.com/v3.0.1/reference/coins-id-ohlc
este endpoint permite fazer consulta ao gráfico OHLC (Open, High, Low, Close) este endpoint permite fazer consulta ao gráfico OHLC (Open, High, Low, Close)
de uma moeda usando o seu id de uma moeda usando o seu id
''' '''
# dicionario parametros # dicionario parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'vs_currency': '', 'vs_currency': '',
'days': '', 'days': '',
@ -834,7 +838,7 @@ def coin_ohlc_chart_by_id(
def coin_data_by_token_address( def coin_data_by_token_address(
id_platform: str = '', id_platform: str = '',
contract_address: str = '' contract_address: str = ''
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-contract-address '''https://docs.coingecko.com/v3.0.1/reference/coins-contract-address
este endpoint permite consultar todos os dados de uma moeda (nome, preço, mercado... este endpoint permite consultar todos os dados de uma moeda (nome, preço, mercado...
@ -842,7 +846,7 @@ def coin_data_by_token_address(
e do endereço do contrato do token e do endereço do contrato do token
''' '''
# dicionario parametros # dicionario parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'contract_address': '', 'contract_address': '',
} }
@ -880,7 +884,7 @@ def coin_historical_chart_data_by_token_address(
days: str = '', days: str = '',
interval: str = '', interval: str = '',
precision: str | int = 'full' precision: str | int = 'full'
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart '''https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart
este endpoint permite consultar dados historicos graficos incluindo tempo UNIX, este endpoint permite consultar dados historicos graficos incluindo tempo UNIX,
@ -888,7 +892,7 @@ def coin_historical_chart_data_by_token_address(
endereco de contracto do token endereco de contracto do token
''' '''
# dicionario parameters # dicionario parameters
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'contract_address': '', 'contract_address': '',
'vs_currency': '', 'vs_currency': '',
@ -962,7 +966,7 @@ def coin_historical_chart_data_within_time_range_by_token_address(
from_unix: int = -1, from_unix: int = -1,
to_unix: int = -1, to_unix: int = -1,
precision: str | int = 'full' precision: str | int = 'full'
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart-range '''https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart-range
est endpoint permite obter dados historicos graficos compreendidos num determinado est endpoint permite obter dados historicos graficos compreendidos num determinado
@ -970,7 +974,7 @@ def coin_historical_chart_data_within_time_range_by_token_address(
partir da plataforma do activo e o seu endereco de contrato partir da plataforma do activo e o seu endereco de contrato
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'contract_address': '', 'contract_address': '',
'vs_currency': '', 'vs_currency': '',
@ -1040,14 +1044,14 @@ def coin_historical_chart_data_within_time_range_by_token_address(
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def assets_platforms_list(filter: str = '') -> tuple[str, int, dict]: def assets_platforms_list(filter: str = '') -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/asset-platforms-list '''https://docs.coingecko.com/v3.0.1/reference/asset-platforms-list
este endpoint permite fazer obter a lista de todas as plataformas este endpoint permite fazer obter a lista de todas as plataformas
de activos na CoinGecko de activos na CoinGecko
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'filter': '', 'filter': '',
} }
# validacao de parametros # validacao de parametros
@ -1067,13 +1071,13 @@ def assets_platforms_list(filter: str = '') -> tuple[str, int, dict]:
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def coins_categories_list() -> tuple[str, int, dict]: def coins_categories_list() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-categories-list '''https://docs.coingecko.com/v3.0.1/reference/coins-categories-list
este endpoint permite obter todas as categorias de moedas da CoinGecko este endpoint permite obter todas as categorias de moedas da CoinGecko
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validação de parametros # validação de parametros
return API(f'coins/categories/list', api_parameters) return API(f'coins/categories/list', api_parameters)
@ -1088,14 +1092,14 @@ def coins_categories_list() -> tuple[str, int, dict]:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, dict]: def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/coins-categories '''https://docs.coingecko.com/v3.0.1/reference/coins-categories
este endpoint permite obter a lista de categorias de moedas da CoinGecko, este endpoint permite obter a lista de categorias de moedas da CoinGecko,
com dados de mercado (capitalização de mercado, volume, etc) com dados de mercado (capitalização de mercado, volume, etc)
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'order': '' 'order': ''
} }
# validacao de parametros # validacao de parametros
@ -1118,14 +1122,14 @@ def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, d
def exchanges_list_with_data( def exchanges_list_with_data(
per_page: int = -1, per_page: int = -1,
page: int = -1, page: int = -1,
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/exchanges '''https://docs.coingecko.com/v3.0.1/reference/exchanges
este endpoit permite obter todos os dados (id, nome, pais, etc) este endpoit permite obter todos os dados (id, nome, pais, etc)
das correctoras suportadas que têm volumes de transacoes activas na CoinGecko das correctoras suportadas que têm volumes de transacoes activas na CoinGecko
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'per_page': '', 'per_page': '',
'page': '', 'page': '',
} }
@ -1153,14 +1157,14 @@ def exchanges_list_with_data(
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def exchanges_list() -> tuple[str, int, dict]: def exchanges_list() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/exchanges-list '''https://docs.coingecko.com/v3.0.1/reference/exchanges-list
este endpoint permite obter uma lista com o id e nome de todas este endpoint permite obter uma lista com o id e nome de todas
as correctoras as correctoras
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validacao de parametros # validacao de parametros
return API(f'exchanges/list', api_parameters) return API(f'exchanges/list', api_parameters)
@ -1176,14 +1180,14 @@ def exchanges_list() -> tuple[str, int, dict]:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def exchange_data_by_id(id_exchange: str = '') -> tuple[str, int, dict]: def exchange_data_by_id(id_exchange: str = '') -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/exchanges-id '''https://docs.coingecko.com/v3.0.1/reference/exchanges-id
este endpoint permite obter dados sobre uma correctora (nome, data de estabelecimento, este endpoint permite obter dados sobre uma correctora (nome, data de estabelecimento,
pais, etc), volume em BTC da correctora e top 100 tickers a partir do id da correctora pais, etc), volume em BTC da correctora e top 100 tickers a partir do id da correctora
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
} }
# validacao de parametros # validacao de parametros
@ -1213,14 +1217,14 @@ def exchange_tickers_by_id(
page: int = -1, page: int = -1,
depth: bool = False, depth: bool = False,
order: str = '' order: str = ''
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/exchanges-id-tickers '''https://docs.coingecko.com/v3.0.1/reference/exchanges-id-tickers
este endpoint permite obter os tickers de uma correctora a partir este endpoint permite obter os tickers de uma correctora a partir
da id da correctora da id da correctora
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'coin_ids': '', 'coin_ids': '',
'include_exchange_logo': '', 'include_exchange_logo': '',
@ -1275,14 +1279,14 @@ def exchange_tickers_by_id(
def exchange_volume_chart_by_id( def exchange_volume_chart_by_id(
id_exchange: str = '', id_exchange: str = '',
days: str = '' days: str = ''
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/exchanges-id-volume-chart '''https://docs.coingecko.com/v3.0.1/reference/exchanges-id-volume-chart
este endpoint permite obter dados de volume historico grafico com tempo UNIX e este endpoint permite obter dados de volume historico grafico com tempo UNIX e
volume de negociação em BTC a partir do id da correctora volume de negociação em BTC a partir do id da correctora
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'days': '', 'days': '',
} }
@ -1312,14 +1316,14 @@ def exchange_volume_chart_by_id(
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def derivatives_tickers_list() -> tuple[str, int, dict]: def derivatives_tickers_list() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/derivatives-tickers '''https://docs.coingecko.com/v3.0.1/reference/derivatives-tickers
este endpoint permite obter uma lista com dados dos tickers das correctoras este endpoint permite obter uma lista com dados dos tickers das correctoras
de derivativos da CoinGecko de derivativos da CoinGecko
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validacao de parametros # validacao de parametros
return API(f'derivatives', api_parameters) return API(f'derivatives', api_parameters)
@ -1338,14 +1342,14 @@ def derivatives_exchange_list_with_data(
order: str = '', order: str = '',
per_page: int = -1, per_page: int = -1,
page: int = -1 page: int = -1
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges '''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges
este endpoint permite obter todas as correctoras de derivativos com os seus dados (id, este endpoint permite obter todas as correctoras de derivativos com os seus dados (id,
nome, contractos em aberto, etc) disponiveis na CoinGecko nome, contractos em aberto, etc) disponiveis na CoinGecko
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'order': '', 'order': '',
'per_page': '', 'per_page': '',
'page': '', 'page': '',
@ -1381,14 +1385,14 @@ def derivatives_exchange_list_with_data(
def derivatives_exchange_data_by_id( def derivatives_exchange_data_by_id(
id_exchange: str = '', id_exchange: str = '',
include_tickers: str = '', include_tickers: str = '',
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-id '''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-id
este endpoint permite obter os dados relativos a uma correctora de derivados (id, nome, este endpoint permite obter os dados relativos a uma correctora de derivados (id, nome,
contractos em aberto, etc) a partir do id da correctora) contractos em aberto, etc) a partir do id da correctora)
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
'include_tickers': '', 'include_tickers': '',
} }
@ -1416,14 +1420,14 @@ def derivatives_exchange_data_by_id(
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def derivatives_exchanges_list() -> tuple[str, int, dict]: def derivatives_exchanges_list() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-list '''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-list
este endpoint permite obter uma lista dos derivados de correctoras com id este endpoint permite obter uma lista dos derivados de correctoras com id
e nome da CoinGecko e nome da CoinGecko
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validacao de parametros # validacao de parametros
return API(f'derivatives/exchanges/list', api_parameters) return API(f'derivatives/exchanges/list', api_parameters)
@ -1442,14 +1446,14 @@ def nfts_list(
order: str = '', order: str = '',
per_page: int = -1, per_page: int = -1,
page: int = -1 page: int = -1
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/nfts-list '''https://docs.coingecko.com/v3.0.1/reference/nfts-list
este endpoint permite obter todos os NFTs suportados com id, endereço de contracto, este endpoint permite obter todos os NFTs suportados com id, endereço de contracto,
nome, id da platforma do activo e o simbolo da CoinGecko nome, id da platforma do activo e o simbolo da CoinGecko
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'order': '', 'order': '',
'per_page': '', 'per_page': '',
'page': '', 'page': '',
@ -1482,14 +1486,14 @@ def nfts_list(
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]: def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/nfts-id '''https://docs.coingecko.com/v3.0.1/reference/nfts-id
este endpoint permite obter todos os dados do NTF (nome, preco minimo, este endpoint permite obter todos os dados do NTF (nome, preco minimo,
volume 24hrs, etc) a partir do id da coleccao NFT volume 24hrs, etc) a partir do id da coleccao NFT
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'id': '', 'id': '',
} }
# validacao de parametros # validacao de parametros
@ -1515,14 +1519,14 @@ def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]:
def nfts_collection_data_by_contract_address( def nfts_collection_data_by_contract_address(
asset_platform_id: str = '', asset_platform_id: str = '',
contract_address: str = '' contract_address: str = ''
) -> tuple[str, int, dict]: ) -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/nfts-contract-address '''https://docs.coingecko.com/v3.0.1/reference/nfts-contract-address
este endpoint permite obter toda a informação do NFT (nome, preco minimo, volume 24hrs, etc) este endpoint permite obter toda a informação do NFT (nome, preco minimo, volume 24hrs, etc)
a partir do endereco de contracto da colecao NFT e respectiva plataforma de activo a partir do endereco de contracto da colecao NFT e respectiva plataforma de activo
''' '''
# dicionario parametros # dicionario parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'asset_platform_id': '', 'asset_platform_id': '',
'contract_address': '', 'contract_address': '',
} }
@ -1552,13 +1556,13 @@ def nfts_collection_data_by_contract_address(
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def btc_to_currency_exchange_rates() -> tuple[str, int, dict]: def btc_to_currency_exchange_rates() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/exchange-rates '''https://docs.coingecko.com/v3.0.1/reference/exchange-rates
este endpoint permite consultar a taxa de conversão BTC com outras moedas este endpoint permite consultar a taxa de conversão BTC com outras moedas
''' '''
# dicionario parametros # dicionario parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validacao de parametros # validacao de parametros
return API(f'exchange_rates', api_parameters) return API(f'exchange_rates', api_parameters)
@ -1573,13 +1577,13 @@ def btc_to_currency_exchange_rates() -> tuple[str, int, dict]:
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def search_queries(query: str = '') -> tuple[str, int, dict]: def search_queries(query: str = '') -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/search-data '''https://docs.coingecko.com/v3.0.1/reference/search-data
este endpoint permite realizar um pesquisa por moedas, categorias e mercados listados em CoinGecko este endpoint permite realizar um pesquisa por moedas, categorias e mercados listados em CoinGecko
''' '''
# dicionario parametros # dicionario parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'query': '', 'query': '',
} }
# validacao de parametros # validacao de parametros
@ -1601,14 +1605,14 @@ def search_queries(query: str = '') -> tuple[str, int, dict]:
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def trending_search_list() -> tuple[str, int, dict]: def trending_search_list() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/trending-search '''https://docs.coingecko.com/v3.0.1/reference/trending-search
este endpoint permite consultar as moedas, nfts e categorias com mais procura na este endpoint permite consultar as moedas, nfts e categorias com mais procura na
CoinGecko nas ultimas 24hrs CoinGecko nas ultimas 24hrs
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validacao de parametros # validacao de parametros
return API(f'search/trending', api_parameters) return API(f'search/trending', api_parameters)
@ -1623,7 +1627,7 @@ def trending_search_list() -> tuple[str, int, dict]:
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def crypto_global_market_data() -> tuple[str, int, dict]: def crypto_global_market_data() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/crypto-global '''https://docs.coingecko.com/v3.0.1/reference/crypto-global
este endpoint permite consultar dados globais de criptomoedas incluindo este endpoint permite consultar dados globais de criptomoedas incluindo
@ -1631,7 +1635,7 @@ def crypto_global_market_data() -> tuple[str, int, dict]:
criptomoedas, etc criptomoedas, etc
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validacao de parametros # validacao de parametros
return API(f'global', api_parameters) return API(f'global', api_parameters)
@ -1646,14 +1650,14 @@ def crypto_global_market_data() -> tuple[str, int, dict]:
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def global_defi_market_data() -> tuple[str, int, dict]: def global_defi_market_data() -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/global-defi '''https://docs.coingecko.com/v3.0.1/reference/global-defi
este endpoint permite consultar os dados do top100 global das financas descentralizadas este endpoint permite consultar os dados do top100 global das financas descentralizadas
de criptomoedas, incluindo capitalizacao de mercado DeFi e volume de negociacao de criptomoedas, incluindo capitalizacao de mercado DeFi e volume de negociacao
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = {} api_parameters: dict[str, str] = {}
# validacao de parametros # validacao de parametros
return API(f'global/decentralized_finance_defi', api_parameters) return API(f'global/decentralized_finance_defi', api_parameters)
@ -1667,13 +1671,13 @@ def global_defi_market_data() -> tuple[str, int, dict]:
# else: # else:
# print(f'erro {codigo}: {dados}') # print(f'erro {codigo}: {dados}')
def public_companies_holdings(coin_id: str = '') -> tuple[str, int, dict]: def public_companies_holdings(coin_id: str = '') -> tuple[str, int, dict[Any, Any]]:
'''https://docs.coingecko.com/v3.0.1/reference/companies-public-treasury '''https://docs.coingecko.com/v3.0.1/reference/companies-public-treasury
este endpoint permite consultar a participação/posse de BTC ou ETH de empresas este endpoint permite consultar a participação/posse de BTC ou ETH de empresas
''' '''
# dicionario de parametros # dicionario de parametros
api_parameters: dict = { api_parameters: dict[str, str] = {
'coin_id': '', 'coin_id': '',
} }
# validacao de parametros # validacao de parametros