python-proxy-scraper-client
Version:
A TypeScript client for interacting with a Python proxy scraper service
324 lines (323 loc) • 8.9 kB
TypeScript
export interface GeckoTerminalPoolData {
id: string;
type: string;
attributes: {
address: string;
name: string;
fully_diluted_valuation: string;
base_token_id: string;
price_in_usd: string;
price_in_target_token: string;
reserve_in_usd: string;
reserve_threshold_met: boolean;
from_volume_in_usd: string;
to_volume_in_usd: string;
api_address: string;
pool_fee: number | null;
token_weightages: any | null;
token_reserves: {
[key: string]: {
reserves: string;
reserves_in_usd: number;
};
};
token_value_data: {
[key: string]: {
fdv_in_usd: number;
market_cap_in_usd: number | null;
market_cap_to_holders_ratio: number;
};
};
swap_count_24h: number;
swap_url: string;
price_percent_change: string;
price_percent_changes: {
last_5m: string;
last_15m: string;
last_30m: string;
last_1h: string;
last_6h: string;
last_24h: string;
};
gt_score: number;
gt_score_details: {
info: number;
pool: number;
transactions: number;
holders: number;
creation: number;
};
security_indicators: string[];
pool_created_at: string;
latest_swap_timestamp: string;
};
relationships: {
dex: {
data: {
id: string;
type: string;
};
};
tokens: {
data: Array<{
id: string;
type: string;
}>;
};
};
}
export interface GeckoTerminalSearchData {
id: string;
type: string;
attributes: {
networks: any[];
dexes: any[];
pools: Array<{
type: string;
address: string;
api_address: string;
price_in_usd: string;
reserve_in_usd: string;
from_volume_in_usd: string;
to_volume_in_usd: string;
price_percent_change: string;
on_coingecko: boolean;
market_cap_in_usd: number | null;
fdv_in_usd: string;
network: {
name: string;
image_url: string;
identifier: string;
};
dex: {
name: string;
identifier: string;
image_url: string;
};
tokens: Array<{
name: string;
symbol: string;
address: string;
image_url: string;
is_base_token: boolean;
}>;
volume_percent_change_24h: string;
pool_creation_date: string;
}>;
pairs: any[];
tags: any[];
};
}
export interface GeckoTerminalTrendingPoolsResponse {
data: GeckoTerminalPoolData[];
included?: Array<{
id: string;
type: string;
attributes: Record<string, any>;
relationships?: Record<string, any>;
}>;
meta?: {
sort?: string;
};
links?: {
first?: string;
prev?: string | null;
next?: string | null;
last?: {
meta?: {
series?: (string | number)[];
};
};
};
}
export interface TokenInfoSnapshot {
description: {
[language: string]: string;
};
links: {
websites: string[];
discord_url: string | null;
medium_handle: string | null;
tiktok_handle: string | null;
twitter_handle: string | null;
youtube_handle: string | null;
facebook_handle: string | null;
telegram_handle: string | null;
github_repo_name: string | null;
instagram_handle: string | null;
subreddit_handle: string | null;
};
timestamp: string;
type: string;
}
export interface TokenInfoSnapshotData {
id: string;
type: string;
attributes: {
token_info_snapshots: TokenInfoSnapshot[];
};
relationships: Record<string, any>;
}
export interface TokenInfoSnapshotsResponse {
data: TokenInfoSnapshotData[];
}
export interface GeckoTerminalCandlestick {
dt: string;
o: number;
h: number;
l: number;
c: number;
v: number;
}
export type GeckoTerminalCandlesticksResponse = GeckoTerminalCandlestick[];
export interface GeckoTerminalHistoricalData {
swaps_count: number;
buyers_count: number;
price_in_usd: string | null;
sellers_count: number;
volume_in_usd: string;
buy_swaps_count: number;
sell_swaps_count: number;
}
export interface GeckoTerminalHighLowPriceData {
high_price_in_usd_24h: number;
high_price_timestamp_24h: string;
low_price_in_usd_24h: number;
low_price_timestamp_24h: string;
}
export interface GeckoTerminalTokenReserve {
reserves: string;
reserves_in_usd: number;
}
export interface GeckoTerminalTokenValueData {
fdv_in_usd: number;
market_cap_in_usd: number | null;
market_cap_to_holders_ratio: number;
}
export interface GeckoTerminalPoolInfoWithIncludesResponse {
id: string;
type: string;
attributes: {
address: string;
name: string;
fully_diluted_valuation: string;
base_token_id: string;
price_in_usd: string;
price_in_target_token: string;
reserve_in_usd: string;
reserve_threshold_met: boolean;
from_volume_in_usd: string;
to_volume_in_usd: string;
api_address: string;
pool_fee: number | null;
token_weightages: any | null;
token_reserves: {
[key: string]: GeckoTerminalTokenReserve;
};
token_value_data: {
[key: string]: GeckoTerminalTokenValueData;
};
balancer_pool_id: string | null;
swap_count_24h: number;
swap_url: string;
sentiment_votes: {
total: number;
up_percentage: number;
down_percentage: number;
};
price_percent_change: string;
price_percent_changes: {
last_5m: string;
last_15m: string;
last_30m: string;
last_1h: string;
last_6h: string;
last_24h: string;
};
historical_data: {
last_5m: GeckoTerminalHistoricalData;
last_15m: GeckoTerminalHistoricalData;
last_30m: GeckoTerminalHistoricalData;
last_1h: GeckoTerminalHistoricalData;
last_6h: GeckoTerminalHistoricalData;
last_24h: GeckoTerminalHistoricalData;
};
security_indicators: string[];
gt_score: number;
gt_score_details: {
info: number;
pool: number;
transactions: number;
holders: number;
creation: number;
};
pool_reports_count: number;
pool_created_at: string;
latest_swap_timestamp: string;
high_low_price_data_by_token_id: {
[key: string]: GeckoTerminalHighLowPriceData;
};
is_nsfw: boolean;
is_stale_pool: boolean | null;
is_pool_address_explorable: boolean;
};
relationships: {
dex: {
data: {
id: string;
type: string;
};
};
tokens: {
data: Array<{
id: string;
type: string;
}>;
};
pool_metric: {
data: {
id: string;
type: string;
};
};
pairs: {
data: Array<{
id: string;
type: string;
}>;
};
};
}
export interface GeckoTerminalNetwork {
id: string;
type: 'network';
attributes: {
name: string;
identifier: string;
image_url: string;
is_new: boolean;
};
relationships: Record<string, never>;
}
export type GeckoTerminalNetworksResponse = GeckoTerminalNetwork[];
export interface GeckoTerminalTopHolder {
wallet_address: string;
amount: number;
owner_percent: number;
value_in_usd: number;
is_liquidity_pool: boolean | null;
entity_name: string | null;
entity_type: string | null;
label: string | null;
}
export interface GeckoTerminalTopHoldersData {
id: string;
type: string;
attributes: {
source: string | null;
explorer_coin_url: string;
explorer_holder_url: string;
top_holders: GeckoTerminalTopHolder[];
};
}
export type GeckoTerminalTopHoldersResponse = GeckoTerminalTopHoldersData;