dexpaprika-sdk
Version:
JavaScript SDK for the DexPaprika API
146 lines (145 loc) • 3.52 kB
TypeScript
import { Token } from './pools';
export interface TokenDetails extends Token {
logo_url?: string;
twitter?: string;
discord?: string;
telegram?: string;
contract_address?: string;
market_cap?: number;
price_usd?: number;
price_change_24h?: number;
price_change_7d?: number;
price_change_30d?: number;
circulating_supply?: number;
market_data?: {
price_usd: number;
volume_usd_24h: number;
price_change_24h: number;
ath: number;
ath_date: string;
updated_at: string;
};
links?: {
twitter?: string;
telegram?: string;
github?: string;
coinmarketcap?: string;
};
social_data?: {
twitter_followers: number;
telegram_members: number;
};
}
export interface TokenTimeIntervalMetrics {
volume: number;
volume_usd: number;
buy_usd: number;
sell_usd: number;
sells: number;
buys: number;
txns: number;
last_price_usd_change?: number;
}
export interface TokenSummary {
/**
* Current price of the token in USD
*/
price_usd: number;
/**
* Fully diluted valuation of token
*/
fdv?: number;
/**
* Total liquidity (in USD) across all pools for this token
*/
liquidity_usd: number;
/**
* Total number of pools that include the given token
*/
pools: number;
/**
* Metrics for the last 24 hours
*/
'24h': TokenTimeIntervalMetrics;
/**
* Metrics for the last 6 hours (optional)
*/
'6h'?: TokenTimeIntervalMetrics;
/**
* Metrics for the last 1 hour (optional)
*/
'1h'?: TokenTimeIntervalMetrics;
/**
* Metrics for the last 30 minutes (optional)
*/
'30m'?: TokenTimeIntervalMetrics;
/**
* Metrics for the last 15 minutes (optional)
*/
'15m'?: TokenTimeIntervalMetrics;
/**
* Metrics for the last 5 minutes (optional)
*/
'5m'?: TokenTimeIntervalMetrics;
/**
* Metrics for the last 1 minute (optional)
*/
'1m'?: TokenTimeIntervalMetrics;
}
export interface TokenWithDetails extends Token {
summary?: TokenSummary;
last_updated?: string;
market_data?: TokenMarketData;
links?: TokenLinks;
social_data?: TokenSocialData;
}
export interface TokenMarketData {
price_usd: number;
volume_usd_24h: number;
price_change_24h: number;
ath: number;
ath_date: string;
updated_at: string;
}
export interface TokenLinks {
twitter?: string;
telegram?: string;
github?: string;
coinmarketcap?: string;
}
export interface TokenSocialData {
twitter_followers: number;
telegram_members: number;
}
export interface TokenTimeInterval {
time_start: string;
time_end: string;
price_change: number;
volume: number;
txns: number;
}
export interface SearchToken {
address: string;
chain: string;
created_at?: string;
price_usd?: number;
volume_usd_24h?: number;
volume_usd_7d?: number;
volume_usd_30d?: number;
liquidity_usd?: number;
fdv_usd?: number;
txns_24h?: number;
price_change_percentage_24h?: number;
}
export type FilteredToken = SearchToken;
export interface TokenSearchResponse {
results: SearchToken[];
has_next_page?: boolean;
next_cursor?: string | null;
}
export type TokenFilterPaginatedResponse = TokenSearchResponse;
export interface TokenPrice {
chain: string;
id: string;
price_usd?: number;
}