UNPKG

cmc-api

Version:

CoinMarketCap RESTful API Wrapper. Supports endpoints cryptocurrency, exchanges (CEX), decentralized exchange (DEX), global metrics, community content and trends, tools and others.

1,337 lines (1,336 loc) 36.8 kB
import type { Timestamp } from "../types/common.option"; import type { Urls } from "./common.response"; /** * The aggregated security scan results for a decentralized exchange (DEX) contract. */ export interface DexSecurityScanAggregated { /** * The contract has been verified. */ contract_verified: boolean; /** * The contract is identified as a honeypot. */ honeypot: boolean; } /** * The security scan results from a third-party for a decentralized exchange (DEX). */ export interface DexSecurityScanThirdParty { /** * Indicates if the token is involved in an airdrop scam. */ airdrop_scam: boolean; /** * Indicates if the token has anti-whale mechanisms. */ anti_whale: boolean; /** * Indicates if the anti-whale mechanisms are modifiable. */ anti_whale_modifiable: boolean; /** * Indicates if the token is blacklisted. */ blacklisted: boolean; /** * Indicates if the ownership of the token can be taken back. */ can_take_back_ownership: boolean; /** * Indicates if the token cannot be bought. */ cannot_buy: boolean; /** * Indicates if the token cannot be sold completely. */ cannot_sell_all: boolean; /** * Indicates if the token allows external calls. */ external_call: boolean; /** * Indicates if the owner of the token is hidden. */ hidden_owner: boolean; /** * Indicates if the token is a honeypot (a trap set to detect, deflect, or counteract attempts at unauthorized use). */ honeypot: boolean; /** * Indicates if the token is listed in a decentralized exchange (DEX). */ in_dex: boolean; /** * Indicates if the token is mintable. */ mintable: boolean; /** * Indicates if the token is open source. */ open_source: boolean; /** * Indicates if the owner can change the balance of the token. */ owner_change_balance: boolean; /** * Indicates if personal slippage is modifiable. */ personal_slippage_modifiable: boolean; /** * Indicates if the token uses a proxy contract. */ proxy: boolean; /** * Indicates if the token has a self-destruct function. */ self_destruct: boolean; /** * Indicates if slippage is modifiable. */ slippage_modifiable: boolean; /** * Indicates if there is a trading cool-down period. */ trading_cool_down: boolean; /** * Indicates if the transfer of the token can be paused. */ transfer_pausable: boolean; /** * Indicates if the token is a true token (not a scam or fake). */ true_token: boolean; /** * Indicates if the token is on a trust list. */ trust_list: boolean; /** * Indicates if the token is whitelisted. */ whitelisted: boolean; } /** * Represents a security scan for a decentralized exchange (DEX). * @see {@link DexSecurityScanAggregated} * @see {@link DexSecurityScanThirdParty} * @template TAggregated - The type for aggregated security scan data. Defaults to `DexSecurityScanAggregated`. * @template TThirdParty - The type for third-party security scan data. Defaults to `DexSecurityScanThirdParty`. */ export interface DexSecurityScan<TAggregated = DexSecurityScanAggregated, TThirdParty = DexSecurityScanThirdParty> { /** * The aggregated security scan data. */ aggregated: TAggregated; /** * The third-party security scan data. */ third_party: TThirdParty; } /** * A mapping values of a decentralized exchange (DEX) with various attributes. */ export interface DexIdMap { /** * The unique identifier of the DEX */ id: number; /** * The name of the DEX */ name: string; /** * The slug representing the network of the DEX */ network_slug: string; /** * An alternative name for the DEX */ alternativeName?: string; /** * The identifier of the associated cryptocurrency */ cryptocurrencyId?: string; /** * The slug representing the associated cryptocurrency */ cryptocurrencySlug?: string; /** * The URL to explore the DEX pool */ poolExplorerUrl?: string; /** * The URL to explore the DEX token */ tokenExplorerUrl?: string; /** * The URL to view the transaction hash */ transactionHashUrl?: string; /** * The identifier of the wrapped token */ wrappedTokenId?: string; /** * The slug representing the wrapped token */ wrappedTokenSlug?: string; } /** * Represents a response containing a map of Dex IDs. * @see {@link DexIdMap} */ export type DexIdMapResponse = DexIdMap[]; /** * The metadata of a decentralized exchange (DEX). */ export interface DexMetadata { /** * Unique identifier for the DEX */ id: number; /** * Name of the DEX */ name: string; /** * Slug (URL-friendly name) of the DEX */ slug: string; /** * URL to the hosted cmc logo of the DEX. *`64px` is default size returned.* \ * Replace `64x64` in the image path with these alternative sizes: `16`, `32`, `64`, `128`, `200` */ logo: string; /** * Current status of the DEX, either `"active"` or `"inactive"` */ status: "active" | "inactive"; /** * Notice or announcement related to the DEX, can be `null` */ notice: string | null; /** * Description of the DEX, can be `null` */ description: string | null; /** * Optional date when the DEX was launched */ date_launched?: Timestamp; /** * URLs related to the DEX, including chat, twitter, website, fee, and blog */ urls: Pick<Urls, "chat" | "twitter" | "website"> & { fee: string[]; blog: string[]; }; } /** * A response containing metadata for multiple decentralized exchanges (DEX). * @see {@link DexMetadata} */ export type DexMetadataResponse = DexMetadata[]; /** * A market quote for a listing on a decentralized exchange (DEX). */ export interface DexListingQuote { /** * The id of specified currency */ convert_id: string; /** * The timestamp of the last update */ last_updated: Timestamp; /** * The type of market for the quote. \ * *Can be `"spot"`, `"perpetual"`, or `"futures"`.* */ market_type: "spot" | "perpetual" | "futures"; /** * The number of transactions in the last 24 hours. \ * *Can be `null` if the data is not available.* */ num_transactions_24h?: number | null; /** * The percentage change in volume over the last 24 hours */ percent_change_volume_24h?: number; /** * Reported 24 hour volume in the specified currency */ volume_24h: number; } /** * A decentralized exchange (DEX) listing. * @see {@link Urls} \ * @see {@link DexListingQuote} * @template TQuote - The type of the quote object, defaults to `DexListingQuote`. */ export interface DexListing<TQuote extends object = DexListingQuote> { /** * The unique identifier for the DEX listing */ id: number; /** * The URL-friendly name of the DEX */ slug: string; /** * The name of the DEX */ name: string; /** * The status of the DEX, either `"active"` or `"inactive"` */ status: "active" | "inactive"; /** * The type of the DEX. \ * *Can be `"orderbook"`, `"swap"`, or `"aggregator"`.* */ type: "orderbook" | "swap" | "aggregator"; /** * The URL to the hosted cmc logo of the DEX. *`64px` is default size returned.* \ * *Replace `64x64` in the image path with these alternative sizes: `16`, `32`, `64`, `128`, `200`* */ logo: string; /** * The description of the DEX, can be `null` */ description: string | null; /** * Notice or announcement related to the DEX, can be `null` */ notice: string | null; /** * The 24 hour trading volume in USD */ market_share: number; /** * The number of market pairs available on the DEX */ num_market_pairs: number; /** * The date when the DEX was launched */ date_launched?: Timestamp; /** * The timestamp of the last update */ last_updated: Timestamp; /** * An array of market quotes */ quote: TQuote[]; /** * Various resource URLs for this DEX */ urls?: Pick<Urls, "chat" | "twitter" | "website"> & { /** * Array of official web URLs covering exchange fees. */ fee: string[]; /** * Array of official blog URLs */ blog: string[]; }; } /** * A list of decentralized exchange (DEX) listings. * @see {@link DexListing} * @see {@link DexListingQuote} * @template TQuote - The type of the quote object, which extends the default `DexListingQuote` object. */ export type DexListingResponse<TQuote extends object = DexListingQuote> = DexListing<TQuote>[]; /** * A market quotes in different currency conversions. */ export interface DexQuote { /** * id of specified currency */ convert_id: string; /** * The fully diluted value of the asset */ fully_diluted_value: number; /** * Timestamp (ISO 8601) of when the conversion currency's current value was referenced for this conversion */ last_updated: string; /** * Total liquidity available currently in the specified currency. \ * *This field will return `null` if not available.* */ liquidity: number | null; /** * The percentage change in price over the last hour */ percent_change_price_1h: number; /** * The percentage change in price over the last 24 hours */ percent_change_price_24h: number; /** * The price in the specified currency for this spot pair */ price: number; /** * The price of the base asset in quote asset for this spot pair */ price_by_quote_asset: number; /** * Reported 24 hour volume in the specified spot pair in the specified currency */ volume_24h: number; /** * The 24 hours buy volume of the asset */ "24h_buy_volume"?: number; /** * The 24 hours sell volume of the asset */ "24h_sell_volume"?: number; } /** * Interface representing the quotes for a decentralized exchange (DEX). * @see {@link DexQuote} * @see {@link DexSecurityScan} * @template TQuote - Type of the quote object, extending `DexQuote`. * @template TSecurityScan - Type of the security scan object, extending `DexSecurityScan`. */ export interface DexQuotes<TQuote extends object = DexQuote, TSecurityScan extends object = DexSecurityScan> { /** * The contract addres of this base asset in the spot pair */ base_asset_contract_address: string; /** * The id of this base asset in the spot pair */ base_asset_id: string; /** * The name of this base asset in the spot pair */ base_asset_name: string; /** * The symbol of this base asset in the spot pair */ base_asset_symbol: string; /** * The ucid of this base asset in the spot pair */ base_asset_ucid: string; /** * Buy tax on the asset */ buy_tax?: number; /** * The unique contract address for this spot pair */ contract_address: string; /** * Timestamp (ISO 8601) when we started tracking this asset */ created_at: Timestamp; /** * Timestamp (ISO 8601) of the launch date for this exchange */ date_launched: Timestamp; /** * The id of this dex the spot pair is on */ dex_id: string; /** * The name of this dex the spot pair is on */ dex_slug: string; /** * Number of holders of the asset */ holders?: number; /** * Timestamp (ISO 8601) of the last time this record was updated */ last_updated: Timestamp; /** * The name of this spot pair */ name: string; /** * The id of the network the spot pair is on */ network_id: string; /** * The slug of the network the spot pair is on */ network_slug: string; /** * Number of transactions in past 24 hours */ num_transactions_24h?: number; /** * Percentage of the base asset in the pool */ percent_pooled_base_asset?: number; /** * Base asset in the pool */ pool_base_asset?: number; /** * When the pool of the asset was created */ pool_created?: Timestamp; /** * Quote asset in the pool */ pool_quote_asset?: number; /** * Array of market quotes in different currency conversions * @see {@link DexQuote} */ quote: TQuote[]; /** * The contract addresss of this quote asset in the spot pair */ quote_asset_contract_address: string; /** * The id of this quote asset in the spot pair */ quote_asset_id: string; /** * The name of this quote asset in the spot pair */ quote_asset_name: string; /** * The symbol of this quote asset in the spot pair */ quote_asset_symbol: string; /** * The ucid of this quote asset in the spot pair */ quote_asset_ucid: string; /** * Security scan by Go+ \ * *Only returned if passed in aux* * @see {@link DexSecurityScan} */ security_scan?: TSecurityScan; /** * Sell tax on the asset */ sell_tax?: number; /** * Total supply of the base asset */ total_supply_base_asset?: number; /** * Total supply of the quote asset */ total_supply_quote_asset?: number; /** * Number of asset buys in the past 24 hours */ "24h_no_of_buys"?: number; /** * Number of asset sells in the past 24 hours */ "24h_no_of_sells"?: number; /** * 24 hours volume of the quote asset */ "24h_volume_quote_asset"?: number; } /** * A response containing an array of decentralized exchange (DEX) quotes. * @template TQuote - The type of the quote object. Defaults to `DexQuote`. * @template TSecurityScan - The type of the security scan object. Defaults to `DexSecurityScan`. */ export type DexQuotesResponse<TQuote extends object = DexQuote, TSecurityScan extends object = DexSecurityScan> = DexQuotes<TQuote, TSecurityScan>[]; /** * An market quote for a decentralized exchange (DEX) trade. \ * *This type extends a subset of properties from `DexQuote`* * *and includes additional properties specific to the trade amounts and total value.* * @see {@link DexQuote} */ export type DexTradeQuote = Pick<DexQuote, "convert_id" | "price" | "price_by_quote_asset"> & { /** * Amount of base asset traded */ amount_base_asset: number; /** * Amount of quote asset traded */ amount_quote_asset: number; /** * Total value of trade in the specified currency */ total: number; }; /** * A decentralized exchange (DEX) trade. * @see {@link DexTradeQuote} * @template TQuote - The type of the quote object, defaults to `DexTradeQuote`. */ export interface DexTrade<TQuote extends object = DexTradeQuote> { /** * Timestamp (ISO 8601) of specified transaction */ date: Timestamp; /** * The type of trade, either `"buy"` or `"sell"` */ type: "buy" | "sell"; /** * Transaction hash of the trade. \ * *Only returned if passed in aux* */ transaction_hash?: string; /** * Link to the transaction on a blockchain explorer if available \ * *Only returned if passed in aux* */ blockchain_explorer_link?: string; /** * An array of market quotes in different currency conversions. * @see {@link DexTradeQuote} */ quote: TQuote[]; } /** * A collection of decentralized exchange (DEX) trades. * @see {@link DexTrade} * @see {@link DexTradeQuote} * @see {@link DexSecurityScan} * @template TQuote - The type of the quote asset in the trade. Defaults to `DexTradeQuote`. * @template TTrade - The type of the trade. Defaults to `DexTrade<TQuote>`. * @template TSecurityScan - The type of the security scan object. Defaults to `DexSecurityScan`. */ export interface DexTrades<TQuote extends object = DexTradeQuote, TTrade extends object = DexTrade<TQuote>, TSecurityScan extends object = DexSecurityScan> { /** * Number of asset buys in the past 24 hours */ "24h_no_of_buys"?: number; /** * Number of asset sells in the past 24 hours */ "24h_no_of_sells"?: number; /** * 24 hours volume of the quote asset */ "24h_volume_quote_asset"?: number | null; /** * The contract addres of this base asset in the spot pair */ base_asset_contract_address: string; /** * The id of this base asset in the spot pair */ base_asset_id: string; /** * The name of this base asset in the spot pair. */ base_asset_name: string; /** * The symbol of this base asset in the spot pair. */ base_asset_symbol: string; /** * The ucid of this base asset in the spot pair. */ base_asset_ucid: string; /** * Buy tax on the asset */ buy_tax?: number; /** * The unique contract address for this spot pair. */ contract_address: string; /** * Timestamp (ISO 8601) when we started tracking this asset. */ created_at: Timestamp; /** * Timestamp (ISO 8601) of the launch date for this exchange. */ date_launched: Timestamp; /** * The id of this dex the spot pair is on. */ dex_id: string; /** * The name of this dex the spot pair is on. */ dex_slug: string; /** * Number of holders of the asset */ holders?: number; /** * Timestamp (ISO 8601) of the last time this record was updated. */ last_updated: Timestamp; /** * The name of this spot pair. */ name: string; /** * The id of the network the spot pair is on. */ network_id: string; /** * The slug of the network the spot pair is on. */ network_slug: string; /** * Number of transactions in past 24 hours */ num_transactions_24h?: number; /** * Percentage of the base asset in the pool */ percent_pooled_base_asset?: number; /** * Base asset in the pool */ pool_base_asset?: number; /** * When the pool of the asset was created */ pool_created?: Timestamp; /** * Quote asset in the pool */ pool_quote_asset?: number; /** * The contract addresss of this quote asset in the spot pair. */ quote_asset_contract_address: string; /** * The id of this quote asset in the spot pair. */ quote_asset_id: string; /** * The name of this quote asset in the spot pair. */ quote_asset_name: string; /** * The symbol of this quote asset in the spot pair. */ quote_asset_symbol: string; /** * The ucid of this quote asset in the spot pair. */ quote_asset_ucid: string; /** * Security scan by Go+ */ security_scan?: TSecurityScan[]; /** * Sell tax on the asset */ sell_tax?: number; /** * Total supply of the quote asset */ total_supply_base_asset?: number; /** * Total supply of the quote asset */ total_supply_quote_asset?: number; /** * A array of market quotes in different currency conversions. */ trades: TTrade[]; } /** * A response containing an array of decentralized exchange (DEX) trades. * @see {@link DexTrade} * @see {@link DexTrades} * @see {@link DexTradeQuote} * @see {@link DexSecurityScan} * @template TQuote - The type of the quote object, extending from `DexTradeQuote`. * @template TTrade - The type of the trade object, extending from `DexTrade` with `TQuote`. * @template TSecurityScan - The type of the security scan object, extending from `DexSecurityScan`. */ export type DexTradesResponse<TQuote extends object = DexTradeQuote, TTrade extends object = DexTrade<TQuote>, TSecurityScan extends object = DexSecurityScan> = DexTrades<TQuote, TTrade, TSecurityScan>[]; /** * A quote for a DEX (Decentralized Exchange) pair. */ export interface DexPairQuote { /** * 24 hours buy volume of the asset */ "24h_buy_volume"?: number; /** * 24 hours sell volume of the asset */ "24h_sell_volume"?: number; /** * id of specified currency */ convert_id: string; /** * The fully diluted value of the asset. */ fully_diluted_value: number; /** * Timestamp (ISO 8601) of when the conversion currency's current value was referenced for this conversion */ last_updated: string; /** * Total liquidity available currently in the specified currency. \ * *This field will return `null` if not available.* */ liquidity?: number | null; /** * 1 hour price change percentage in the specified spot pair in the specified currency */ percent_change_price_1h: number; /** * 24 hour price change percentage in the specified spot pair in the specified currency */ percent_change_price_24h: number; /** * Price in the specified currency for this spot pair */ price: number; /** * Price of the base asset in quote asset for this spot pair */ price_by_quote_asset: number; /** * Reported 24 hour volume in the specified spot pair in the specified currency */ volume_24h: number; } /** * A DEX (Decentralized Exchange) pair. */ export interface DexPairs<TQuote extends object = DexPairQuote, TSecurityScan extends object = DexSecurityScan> { /** * Number of asset buys in the past 24 hours */ "24h_no_of_buys"?: number; /** * Number of asset sells in the past 24 hours */ "24h_no_of_sells"?: number; /** * 24 hours volume of the quote asset */ "24h_volume_quote_asset"?: number; /** * The contract addres of this base asset in the spot pair */ base_asset_contract_address: string; /** * The id of this base asset in the spot pair */ base_asset_id: string; /** * The name of this base asset in the spot pair */ base_asset_name: string; /** * The symbol of this base asset in the spot pair */ base_asset_symbol: string; /** * The ucid of this base asset in the spot pair */ base_asset_ucid: string; /** * Buy tax on the asset */ buy_tax?: number; /** * The unique contract address for this spot pair */ contract_address: string; /** * Timestamp (ISO 8601) when we started tracking this asset */ created_at: Timestamp; /** * Timestamp (ISO 8601) of the launch date for this exchange */ date_launched: Timestamp; /** * The id of this dex the spot pair is on */ dex_id: string; /** * The short name of this dex the spot pair is on */ dex_slug: string; /** * Number of holders of the asset */ holders?: number; /** * Timestamp (ISO 8601) of the last time this record was updated */ last_updated: Timestamp; /** * The name of this spot pair */ name: string; /** * The id of the network the spot pair is on */ network_id: string; /** * The slug of the network the spot pair is on */ network_slug: string; /** * Number of transactions in past 24 hours */ num_transactions_24h?: number; /** * Percentage of the base asset in the pool */ percent_pooled_base_asset?: number; /** * Base asset in the pool */ pool_base_asset?: number; /** * When the pool of the asset was created */ pool_created: Timestamp; /** * Quote asset in the pool */ pool_quote_asset?: number; /** * An array of market quotes in different currency conversions */ quote: TQuote[]; /** * The contract addresss of this quote asset in the spot pair */ quote_asset_contract_address: string; /** * The id of this quote asset in the spot pair */ quote_asset_id: string; /** * The name of this quote asset in the spot pair */ quote_asset_name: string; /** * The symbol of this quote asset in the spot pair */ quote_asset_symbol: string; /** * The ucid of this quote asset in the spot pair */ quote_asset_ucid: string; /** * A unique identifier used to fetch the next batch of results from the next API related API call, if applicable. \ * *`scroll_id` is an alternative to traditional pagingation techniques.* */ scroll_id: string; /** * Security scan by Go+ \ * *Only returned if passed in aux* * @see {@link DexSecurityScan} */ security_scan?: TSecurityScan[]; /** * Sell tax on the asset */ sell_tax?: number; /** * Total supply of the quote asset */ total_supply_base_asset?: number; /** * Total supply of the quote asset */ total_supply_quote_asset?: number; } /** * An array response of DEX (Decentralized Exchange) pairs. * @see {@link DexPairs} * @see {@link DexPairQuote} * @see {@link DexSecurityScan} * @template TQuote - The type of the quote object, extending from `DexPairQuote`. * @template TSecurityScan - The type of the security scan object, extending from `DexSecurityScan`. */ export type DexPairsResponse<TQuote extends object = DexPairQuote, TSecurityScan extends object = DexSecurityScan> = DexPairs<TQuote, TSecurityScan>[]; /** * Represents a Dex OHLCV (Open, High, Low, Close, Volume) Quote. \ * *This type is a combination of selected properties from `DexQuote` and additional OHLCV properties.* * @see {@link DexQuote} */ export type DexOhlcvQuote = Pick<DexQuote, "24h_buy_volume" | "24h_sell_volume" | "convert_id" | "last_updated"> & { /** * Latest price today in UTC time for the convert option requested. \ * *This is not the final price during close as the current day period is not over.* */ close: number; /** * Highest price so far today in UTC time for the convert option requested. */ high: number; /** * Lowest price today in UTC time for the convert option requested. */ low: number; /** * Price from first datapoint of today in UTC time for the convert option requested. */ open: number; /** * Adjusted volume for this time series interval. */ volume: number; }; /** * A Dex OHLCV (Open, High, Low, Close, Volume) response. * @see {@link DexOhlcvQuote} * @see {@link DexSecurityScan} * @template TQuote - The type of the quote object, defaults to `DexOhlcvQuote`. * @template TSecurityScan - The type of the security scan object, defaults to `DexSecurityScan`. */ export interface DexOhlcv<TQuote extends object = DexOhlcvQuote, TSecurityScan extends object = DexSecurityScan> { /** * Number of asset buys in the past 24 hours. */ "24h_no_of_buys"?: number; /** * Number of asset sells in the past 24 hours. */ "24h_no_of_sells"?: number; /** * 24 hours volume of the quote asset. */ "24h_volume_quote_asset"?: number | null; /** * The contract addres of this base asset in the spot pair. */ base_asset_contract_address: string; /** * The id of this base asset in the spot pair. */ base_asset_id: string; /** * The name of this base asset in the spot pair. */ base_asset_name: string; /** * The symbol of this base asset in the spot pair. */ base_asset_symbol: string; /** * The ucid of this base asset in the spot pair. */ base_asset_ucid: string; /** * Buy tax on the asset. */ buy_tax?: number; /** * The unique contract address for this spot pair. */ contract_address: string; /** * Timestamp (ISO 8601) when we started tracking this asset. */ created_at: Timestamp; /** * Timestamp (ISO 8601) of the launch date for this exchange. */ date_launched: Timestamp; /** * The id of this dex the spot pair is on. */ dex_id: string; /** * The name of this dex the spot pair is on. */ dex_slug: string; /** * Number of holders of the asset. */ holders?: number; /** * Timestamp (ISO 8601) of the last time this record was updated. */ last_updated: Timestamp; /** * The name of this spot pair. */ name: string; /** * The id of the network the spot pair is on. */ network_id: string; /** * The slug of the network the spot pair is on. */ network_slug: string; /** * Number of transactions in past 24 hours. */ num_transactions_24h?: number; /** * Percentage of the base asset in the pool. */ percent_pooled_base_asset?: number; /** * Base asset in the pool. */ pool_base_asset?: number; /** * When the pool of the asset was created. */ pool_created?: Timestamp; /** * Quote asset in the pool. */ pool_quote_asset?: number; /** * Array of market quotes in different currency conversions. */ quote: TQuote[]; /** * The contract addresss of this quote asset in the spot pair. */ quote_asset_contract_address: string; /** * The id of this quote asset in the spot pair. */ quote_asset_id: string; /** * The name of this quote asset in the spot pair. */ quote_asset_name: string; /** * The symbol of this quote asset in the spot pair. */ quote_asset_symbol: string; /** * The ucid of this quote asset in the spot pair. */ quote_asset_ucid: string; /** * Security scan by Go+ * @see {@link DexSecurityScan} */ security_scan?: TSecurityScan[]; /** * Sell tax on the asset */ sell_tax?: number; /** * Timestamp (ISO 8601) of the end of this OHLCV period. \ * *Always `null` as the current day is incomplete.* \ * *See last_updated for the last UTC time included in the current OHLCV calculation.* */ time_close: Timestamp | null; /** * Timestamp (ISO 8601) of the start of this OHLCV period. */ time_open: Timestamp; /** * Total supply of the quote asset. */ total_supply_base_asset?: number; /** * Total supply of the quote asset. */ total_supply_quote_asset?: number; } /** * The response type for Dex OHLCV (Open, High, Low, Close, Volume) data. * @see {@link DexOhlcv} * @see {@link DexOhlcvQuote} * @see {@link DexSecurityScan} * @template TQuote - The type of the quote object, defaults to `DexOhlcvQuote`. * @template TSecurityScan - The type of the security scan object, defaults to `DexSecurityScan`. */ export type DexOhlcvResponse<TQuote extends object = DexOhlcvQuote, TSecurityScan extends object = DexSecurityScan> = DexOhlcv<TQuote, TSecurityScan>[]; /** * A historical quotes for a decentralized exchange (DEX). * @see {@link DexOhlcvQuote} * @template TQuote - The type of the quote objects, extending from `DexOhlcvQuote`. */ export interface DexOhlcvHistoricalQuotes<TQuote extends object = DexOhlcvQuote> { /** * An array of quote objects * @see {@link DexOhlcvQuote} */ quote: TQuote[]; /** * Timestamp (ISO 8601) of the end of this OHLCV period. \ * *Always `null` as the current day is incomplete.* \ * *See last_updated for the last UTC time included in the current OHLCV calculation.* */ time_close: Timestamp; /** * Timestamp (ISO 8601) of the start of this OHLCV period. */ time_open: Timestamp; } /** * A historical OHLCV (Open, High, Low, Close, Volume) data for a decentralized exchange (DEX). * @see {@link DexOhlcvHistoricalQuotes} * @see {@link DexSecurityScan} * @template TQuotes - The type of the quote objects, extending from `DexOhlcvHistoricalQuotes`. * @template TSecurityScan - The type of the security scan object, extending from `DexSecurityScan`. */ export interface DexOhlcvHistorical<TQuotes extends object = DexOhlcvHistoricalQuotes, TSecurityScan extends object = DexSecurityScan> { /** * Number of asset buys in the past 24 hours. */ "24h_no_of_buys"?: number; /** * Number of asset sells in the past 24 hours. */ "24h_no_of_sells"?: number; /** * 24 hours volume of the quote asset. */ "24h_volume_quote_asset"?: number; /** * The contract addres of this base asset in the spot pair. */ base_asset_contract_address: string; /** * The id of this base asset in the spot pair. */ base_asset_id: string; /** * The name of this base asset in the spot pair. */ base_asset_name: string; /** * The symbol of this base asset in the spot pair. */ base_asset_symbol: string; /** * The ucid of this base asset in the spot pair. */ base_asset_ucid: string; /** * Buy tax on the asset. */ buy_tax?: number; /** * The unique contract address for this spot pair. */ contract_address: string; /** * Timestamp (ISO 8601) when we started tracking this asset. */ created_at: Timestamp; /** * Timestamp (ISO 8601) of the launch date for this exchange. */ date_launched: Timestamp; /** * The id of this dex the spot pair is on. */ dex_id: string; /** * The name of this dex the spot pair is on. */ dex_slug: string; /** * Number of holders of the asset */ holders?: number; /** * Timestamp (ISO 8601) of the last time this record was updated. */ last_updated: Timestamp; /** * The name of this spot pair. */ name: string; /** * The id of the network the spot pair is on. */ network_id: string; /** * The slug of the network the spot pair is on. */ network_slug: string; /** * Number of transactions in past 24 hours */ num_transactions_24h?: number; /** * Percentage of the base asset in the pool */ percent_pooled_base_asset?: number; /** * Base asset in the pool */ pool_base_asset?: number; /** * When the pool of the asset was created */ pool_created?: Timestamp; /** * Quote asset in the pool */ pool_quote_asset?: number; /** * The contract addresss of this quote asset in the spot pair. */ quote_asset_contract_address: string; /** * The id of this quote asset in the spot pair. */ quote_asset_id: string; /** * The name of this quote asset in the spot pair. */ quote_asset_name: string; /** * The symbol of this quote asset in the spot pair. */ quote_asset_symbol: string; /** * The ucid of this quote asset in the spot pair. */ quote_asset_ucid: string; /** * An array of historical quotes for the spot pair. * @see {@link DexOhlcvHistoricalQuotes} */ quotes: TQuotes[]; /** * Security scan by Go+ * @see {@link DexSecurityScan} */ security_scan?: TSecurityScan[]; /** * Sell tax on the asset */ sell_tax?: number; /** * Total supply of the quote asset */ total_supply_base_asset?: number; /** * Total supply of the quote asset */ total_supply_quote_asset?: number; } /** * The response for historical OHLCV (Open, High, Low, Close, Volume) data from a decentralized exchange (DEX). * @see {@link DexOhlcvHistorical} * @see {@link DexOhlcvHistoricalQuotes} * @see {@link DexSecurityScan} * @template TQuotes - The type of the quotes object, defaults to `DexOhlcvHistoricalQuotes`. * @template TSecurityScan - The type of the security scan object, defaults to `DexSecurityScan`. */ export type DexOhlcvHistoricalResponse<TQuotes extends object = DexOhlcvHistoricalQuotes, TSecurityScan extends object = DexSecurityScan> = DexOhlcvHistorical<TQuotes, TSecurityScan>[];