@lightconexyz/lightcone-sdk 0.5.1 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -5
- package/dist/client.d.ts +30 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +38 -0
- package/dist/client.js.map +1 -1
- package/dist/domain/admin/client.d.ts +10 -1
- package/dist/domain/admin/client.d.ts.map +1 -1
- package/dist/domain/admin/client.js +51 -0
- package/dist/domain/admin/client.js.map +1 -1
- package/dist/domain/admin/wire.d.ts +267 -7
- package/dist/domain/admin/wire.d.ts.map +1 -1
- package/dist/domain/admin/wire.js.map +1 -1
- package/dist/domain/faucet.d.ts +25 -0
- package/dist/domain/faucet.d.ts.map +1 -0
- package/dist/domain/faucet.js +3 -0
- package/dist/domain/faucet.js.map +1 -0
- package/dist/domain/index.d.ts +2 -0
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -1
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/market/client.d.ts +23 -2
- package/dist/domain/market/client.d.ts.map +1 -1
- package/dist/domain/market/client.js +30 -0
- package/dist/domain/market/client.js.map +1 -1
- package/dist/domain/market/convert.d.ts +10 -0
- package/dist/domain/market/convert.d.ts.map +1 -1
- package/dist/domain/market/convert.js +43 -4
- package/dist/domain/market/convert.js.map +1 -1
- package/dist/domain/market/icon.d.ts +17 -0
- package/dist/domain/market/icon.d.ts.map +1 -0
- package/dist/domain/market/icon.js +25 -0
- package/dist/domain/market/icon.js.map +1 -0
- package/dist/domain/market/index.d.ts +13 -4
- package/dist/domain/market/index.d.ts.map +1 -1
- package/dist/domain/market/index.js +3 -1
- package/dist/domain/market/index.js.map +1 -1
- package/dist/domain/market/outcome.d.ts +3 -1
- package/dist/domain/market/outcome.d.ts.map +1 -1
- package/dist/domain/market/outcome.js +7 -7
- package/dist/domain/market/outcome.js.map +1 -1
- package/dist/domain/market/tokens.d.ts +53 -3
- package/dist/domain/market/tokens.d.ts.map +1 -1
- package/dist/domain/market/tokens.js +99 -8
- package/dist/domain/market/tokens.js.map +1 -1
- package/dist/domain/market/wire.d.ts +46 -8
- package/dist/domain/market/wire.d.ts.map +1 -1
- package/dist/domain/market/wire.js.map +1 -1
- package/dist/domain/metrics/client.d.ts +66 -0
- package/dist/domain/metrics/client.d.ts.map +1 -0
- package/dist/domain/metrics/client.js +124 -0
- package/dist/domain/metrics/client.js.map +1 -0
- package/dist/domain/metrics/index.d.ts +3 -0
- package/dist/domain/metrics/index.d.ts.map +1 -0
- package/dist/domain/metrics/index.js +19 -0
- package/dist/domain/metrics/index.js.map +1 -0
- package/dist/domain/metrics/wire.d.ts +342 -0
- package/dist/domain/metrics/wire.d.ts.map +1 -0
- package/dist/domain/metrics/wire.js +3 -0
- package/dist/domain/metrics/wire.js.map +1 -0
- package/dist/domain/notification/client.d.ts +6 -0
- package/dist/domain/notification/client.d.ts.map +1 -1
- package/dist/domain/notification/client.js +10 -0
- package/dist/domain/notification/client.js.map +1 -1
- package/dist/domain/notification/index.d.ts +3 -1
- package/dist/domain/notification/index.d.ts.map +1 -1
- package/dist/domain/notification/index.js.map +1 -1
- package/dist/domain/order/client.d.ts +28 -2
- package/dist/domain/order/client.d.ts.map +1 -1
- package/dist/domain/order/client.js +76 -16
- package/dist/domain/order/client.js.map +1 -1
- package/dist/domain/order/convert.d.ts +5 -5
- package/dist/domain/order/convert.d.ts.map +1 -1
- package/dist/domain/order/convert.js +1 -1
- package/dist/domain/order/convert.js.map +1 -1
- package/dist/domain/order/index.d.ts +1 -1
- package/dist/domain/order/index.d.ts.map +1 -1
- package/dist/domain/order/index.js.map +1 -1
- package/dist/domain/order/state.d.ts +9 -7
- package/dist/domain/order/state.d.ts.map +1 -1
- package/dist/domain/order/state.js +81 -28
- package/dist/domain/order/state.js.map +1 -1
- package/dist/domain/orderbook/index.d.ts +1 -1
- package/dist/domain/orderbook/index.d.ts.map +1 -1
- package/dist/domain/orderbook/index.js +3 -8
- package/dist/domain/orderbook/index.js.map +1 -1
- package/dist/domain/orderbook/state.d.ts +44 -2
- package/dist/domain/orderbook/state.d.ts.map +1 -1
- package/dist/domain/orderbook/state.js +67 -4
- package/dist/domain/orderbook/state.js.map +1 -1
- package/dist/domain/orderbook/wire.d.ts +1 -0
- package/dist/domain/orderbook/wire.d.ts.map +1 -1
- package/dist/domain/orderbook/wire.js.map +1 -1
- package/dist/domain/position/client.d.ts +55 -0
- package/dist/domain/position/client.d.ts.map +1 -1
- package/dist/domain/position/client.js +71 -0
- package/dist/domain/position/client.js.map +1 -1
- package/dist/domain/position/index.d.ts +3 -2
- package/dist/domain/position/index.d.ts.map +1 -1
- package/dist/domain/position/index.js.map +1 -1
- package/dist/domain/price_history/client.d.ts +12 -1
- package/dist/domain/price_history/client.d.ts.map +1 -1
- package/dist/domain/price_history/client.js +14 -0
- package/dist/domain/price_history/client.js.map +1 -1
- package/dist/domain/price_history/wire.d.ts +27 -0
- package/dist/domain/price_history/wire.d.ts.map +1 -1
- package/dist/domain/price_history/wire.js.map +1 -1
- package/dist/domain/referral/client.d.ts +6 -0
- package/dist/domain/referral/client.d.ts.map +1 -1
- package/dist/domain/referral/client.js +22 -9
- package/dist/domain/referral/client.js.map +1 -1
- package/dist/domain/trade/convert.d.ts.map +1 -1
- package/dist/domain/trade/convert.js +5 -1
- package/dist/domain/trade/convert.js.map +1 -1
- package/dist/domain/trade/index.d.ts +4 -0
- package/dist/domain/trade/index.d.ts.map +1 -1
- package/dist/domain/trade/index.js.map +1 -1
- package/dist/domain/trade/state.d.ts +7 -0
- package/dist/domain/trade/state.d.ts.map +1 -1
- package/dist/domain/trade/state.js +36 -1
- package/dist/domain/trade/state.js.map +1 -1
- package/dist/domain/trade/wire.d.ts +3 -0
- package/dist/domain/trade/wire.d.ts.map +1 -1
- package/dist/domain/trade/wire.js.map +1 -1
- package/dist/http/client.d.ts +9 -0
- package/dist/http/client.d.ts.map +1 -1
- package/dist/http/client.js +24 -9
- package/dist/http/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/prelude.d.ts +13 -5
- package/dist/prelude.d.ts.map +1 -1
- package/dist/prelude.js +5 -3
- package/dist/prelude.js.map +1 -1
- package/dist/shared/fmt/decimal.js +4 -4
- package/dist/shared/fmt/decimal.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +2 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/types.d.ts +5 -2
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +21 -0
- package/dist/shared/types.js.map +1 -1
- package/dist/ws/index.d.ts +12 -1
- package/dist/ws/index.d.ts.map +1 -1
- package/dist/ws/index.js +20 -0
- package/dist/ws/index.js.map +1 -1
- package/dist/ws/subscriptions.d.ts +6 -0
- package/dist/ws/subscriptions.d.ts.map +1 -1
- package/dist/ws/subscriptions.js +4 -0
- package/dist/ws/subscriptions.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/domain/market/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PubkeyStr } from \"../../shared\";\nimport { asPubkeyStr } from \"../../shared\";\nimport type { ConditionalTokenResponse, DepositAssetResponse } from \"./wire\";\n\nexport interface Token {\n id: number;\n pubkey: PubkeyStr;\n name: string;\n symbol: string;\n description?: string;\n decimals: number;\n iconUrl: string;\n}\n\nexport interface ConditionalToken extends Token {\n outcomeIndex: number;\n outcome: string;\n depositAsset: PubkeyStr;\n depositSymbol: string;\n}\n\nexport interface DepositAsset extends Token {\n marketPda: PubkeyStr;\n depositAsset: PubkeyStr;\n numOutcomes: number;\n}\n\nexport interface TokenMetadata {\n pubkey: PubkeyStr;\n symbol: string;\n decimals: number;\n iconUrl: string;\n name: string;\n}\n\nexport interface ValidatedTokens {\n token: DepositAsset;\n conditionals: ConditionalToken[];\n metadata: Record<string, TokenMetadata>;\n}\n\nexport class TokenValidationError extends Error {\n readonly details: string[];\n\n constructor(mint: string, details: string[]) {\n super(`Token validation errors (${mint}): ${details.join(\"; \")}`);\n this.name = \"TokenValidationError\";\n this.details = details;\n }\n}\n\nconst USDC_MAINNET = \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\";\nconst USDT_MAINNET = \"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB\";\nconst USDC_DEVNET_LC = \"7SrxsoXjNR7Y8T3koJCt1yV4FrNUumoAUrJExDt6tQez\";\n\nexport function isUsdStablecoin(pubkey: string): boolean {\n return pubkey === USDC_MAINNET || pubkey === USDT_MAINNET || pubkey === USDC_DEVNET_LC;\n}\n\nexport function currencySymbol(pubkey: string): \"\" | \"$\" {\n return isUsdStablecoin(pubkey) ? \"$\" : \"\";\n}\n\nexport function validatedTokensFromWire(source: DepositAssetResponse): ValidatedTokens {\n const errors: string[] = [];\n const metadata: Record<string, TokenMetadata> = {};\n\n const depositPubkey = asPubkeyStr(source.deposit_asset);\n const iconUrl = source.icon_url;\n const name = source.display_name;\n const symbol = source.symbol;\n const decimals = source.decimals;\n\n if (!iconUrl) errors.push(\"Missing icon URL\");\n if (!name) errors.push(\"Missing display name\");\n if (!symbol) errors.push(\"Missing symbol\");\n if (decimals === undefined) errors.push(\"Missing decimals\");\n\n if (errors.length > 0) {\n throw new TokenValidationError(source.deposit_asset, errors);\n }\n\n metadata[source.deposit_asset] = {\n pubkey: depositPubkey,\n symbol: symbol ?? \"\",\n decimals: decimals ?? 0,\n iconUrl: iconUrl ?? \"\",\n name: name ?? \"\",\n };\n\n const conditionals = source.conditional_mints.map((conditional) =>\n conditionalFromWire(conditional, source.deposit_asset, symbol ?? \"\", iconUrl ?? \"\")\n );\n\n for (const conditional of conditionals) {\n metadata[conditional.pubkey] = {\n pubkey: conditional.pubkey,\n symbol: conditional.symbol,\n decimals: conditional.decimals,\n iconUrl: conditional.iconUrl,\n name: conditional.name,\n };\n }\n\n return {\n token: {\n id: source.id,\n marketPda: asPubkeyStr(source.market_pubkey),\n depositAsset: depositPubkey,\n numOutcomes: source.num_outcomes,\n pubkey: depositPubkey,\n name: name ?? \"\",\n symbol: symbol ?? \"\",\n description: source.description,\n decimals: decimals ?? 0,\n iconUrl: iconUrl ?? \"\",\n },\n conditionals,\n metadata,\n };\n}\n\nfunction conditionalFromWire(\n source: ConditionalTokenResponse,\n depositAsset: string,\n depositSymbol: string,\n iconUrl: string\n): ConditionalToken {\n const errors: string[] = [];\n if (source.decimals === undefined) errors.push(\"Missing decimals\");\n if (!source.short_symbol) errors.push(\"Missing short_symbol\");\n if (!source.outcome) errors.push(\"Missing outcome\");\n\n if (errors.length > 0) {\n throw new TokenValidationError(source.token_address, errors);\n }\n\n return {\n id: source.id,\n outcomeIndex: source.outcome_index,\n outcome: source.outcome ?? \"\",\n depositAsset: asPubkeyStr(depositAsset),\n depositSymbol,\n pubkey: asPubkeyStr(source.token_address),\n name: source.outcome ?? \"\",\n symbol: source.short_symbol ?? \"\",\n description: source.description,\n decimals: source.decimals ?? 0,\n iconUrl,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/domain/market/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PubkeyStr } from \"../../shared\";\nimport { asPubkeyStr } from \"../../shared\";\nimport { resolveIconUrls } from \"./icon\";\nimport type {\n ConditionalTokenResponse,\n DepositAssetResponse,\n GlobalDepositAssetResponse,\n} from \"./wire\";\n\nexport interface Token {\n id: number;\n pubkey: PubkeyStr;\n name: string;\n symbol: string;\n description?: string;\n decimals: number;\n iconUrlLow: string;\n iconUrlMedium: string;\n iconUrlHigh: string;\n}\n\n/**\n * Display priority for sorting: lower values come first. BTC/WBTC tie at 0,\n * ETH/WETH tie at 1, SOL at 2; everything else falls to the alphabetical tail.\n */\nexport function tokenDisplayPriority(token: Pick<Token, \"symbol\">): number {\n switch (token.symbol) {\n case \"BTC\":\n case \"WBTC\":\n return 0;\n case \"ETH\":\n case \"WETH\":\n return 1;\n case \"SOL\":\n return 2;\n default:\n return 255;\n }\n}\n\n/**\n * Shape accepted by {@link sortByDisplayPriority}. Either a token with a\n * top-level `symbol`, or a composite (e.g. `DepositAssetPair`, `OrderBookPair`)\n * that carries its display token on `base`.\n */\nexport type DisplaySortable =\n | Pick<Token, \"symbol\">\n | { readonly base: Pick<Token, \"symbol\"> };\n\nfunction displaySymbol(item: DisplaySortable): string {\n return \"symbol\" in item ? item.symbol : item.base.symbol;\n}\n\n/**\n * Returns a new array ordered for display: priority groups first\n * (BTC/WBTC → ETH/WETH → SOL), then all remaining items alphabetically by the\n * display token's symbol.\n *\n * Accepts both pure tokens and composite types whose display token lives on\n * `base` (e.g. `DepositAssetPair`, `OrderBookPair`).\n */\nexport function sortByDisplayPriority<T extends DisplaySortable>(items: readonly T[]): T[] {\n const copy = [...items];\n copy.sort((left, right) => {\n const leftSymbol = displaySymbol(left);\n const rightSymbol = displaySymbol(right);\n const priorityDelta =\n tokenDisplayPriority({ symbol: leftSymbol }) -\n tokenDisplayPriority({ symbol: rightSymbol });\n if (priorityDelta !== 0) return priorityDelta;\n return leftSymbol.localeCompare(rightSymbol);\n });\n return copy;\n}\n\nexport interface ConditionalToken extends Token {\n outcomeIndex: number;\n outcome: string;\n depositAsset: PubkeyStr;\n depositSymbol: string;\n}\n\nexport interface DepositAsset extends Token {\n marketPda: PubkeyStr;\n depositAsset: PubkeyStr;\n numOutcomes: number;\n}\n\n/**\n * A base/quote pairing of two `DepositAsset`s.\n *\n * Populated on `Market.depositAssetPairs` during wire→domain conversion —\n * one entry per unique base/quote combination across the market's orderbook\n * pairs.\n */\nexport interface DepositAssetPair {\n /** Stable identifier of the form `\"{basePubkey}-{quotePubkey}\"`. */\n id: string;\n base: DepositAsset;\n quote: DepositAsset;\n}\n\n/**\n * A globally whitelisted deposit asset (platform-scoped, not market-bound).\n *\n * Distinct from `DepositAsset`, which is bound to a specific market.\n */\nexport interface GlobalDepositAsset extends Token {\n depositAsset: PubkeyStr;\n whitelistIndex: number;\n active: boolean;\n}\n\nexport interface TokenMetadata {\n pubkey: PubkeyStr;\n symbol: string;\n decimals: number;\n iconUrlLow: string;\n iconUrlMedium: string;\n iconUrlHigh: string;\n name: string;\n}\n\nexport interface ValidatedTokens {\n token: DepositAsset;\n conditionals: ConditionalToken[];\n metadata: Record<string, TokenMetadata>;\n}\n\nexport class TokenValidationError extends Error {\n readonly details: string[];\n\n constructor(mint: string, details: string[]) {\n super(`Token validation errors (${mint}): ${details.join(\"; \")}`);\n this.name = \"TokenValidationError\";\n this.details = details;\n }\n}\n\nconst USDC_MAINNET = \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\";\nconst USDT_MAINNET = \"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB\";\nconst USDC_DEVNET_LC = \"7SrxsoXjNR7Y8T3koJCt1yV4FrNUumoAUrJExDt6tQez\";\n\nexport function isUsdStablecoin(pubkey: string): boolean {\n return pubkey === USDC_MAINNET || pubkey === USDT_MAINNET || pubkey === USDC_DEVNET_LC;\n}\n\nexport function currencySymbol(pubkey: string): \"\" | \"$\" {\n return isUsdStablecoin(pubkey) ? \"$\" : \"\";\n}\n\nexport function validatedTokensFromWire(source: DepositAssetResponse): ValidatedTokens {\n const errors: string[] = [];\n const metadata: Record<string, TokenMetadata> = {};\n\n const depositPubkey = asPubkeyStr(source.deposit_asset);\n const iconUrls = resolveIconUrls(source.icon_url_low, source.icon_url_medium, source.icon_url_high);\n const name = source.display_name;\n const symbol = source.symbol;\n const decimals = source.decimals;\n\n if (!iconUrls) errors.push(\"Missing icon URL\");\n if (!name) errors.push(\"Missing display name\");\n if (!symbol) errors.push(\"Missing symbol\");\n if (decimals === undefined) errors.push(\"Missing decimals\");\n\n if (errors.length > 0) {\n throw new TokenValidationError(source.deposit_asset, errors);\n }\n\n metadata[source.deposit_asset] = {\n pubkey: depositPubkey,\n symbol: symbol ?? \"\",\n decimals: decimals ?? 0,\n iconUrlLow: iconUrls?.low ?? \"\",\n iconUrlMedium: iconUrls?.medium ?? \"\",\n iconUrlHigh: iconUrls?.high ?? \"\",\n name: name ?? \"\",\n };\n\n const conditionals = source.conditional_mints.map((conditional) =>\n conditionalFromWire(conditional, source.deposit_asset, symbol ?? \"\", iconUrls?.low ?? \"\", iconUrls?.medium ?? \"\", iconUrls?.high ?? \"\")\n );\n\n for (const conditional of conditionals) {\n metadata[conditional.pubkey] = {\n pubkey: conditional.pubkey,\n symbol: conditional.symbol,\n decimals: conditional.decimals,\n iconUrlLow: conditional.iconUrlLow,\n iconUrlMedium: conditional.iconUrlMedium,\n iconUrlHigh: conditional.iconUrlHigh,\n name: conditional.name,\n };\n }\n\n return {\n token: {\n id: source.id,\n marketPda: asPubkeyStr(source.market_pubkey),\n depositAsset: depositPubkey,\n numOutcomes: source.num_outcomes,\n pubkey: depositPubkey,\n name: name ?? \"\",\n symbol: symbol ?? \"\",\n description: source.description,\n decimals: decimals ?? 0,\n iconUrlLow: iconUrls?.low ?? \"\",\n iconUrlMedium: iconUrls?.medium ?? \"\",\n iconUrlHigh: iconUrls?.high ?? \"\",\n },\n conditionals,\n metadata,\n };\n}\n\nexport function globalDepositAssetFromWire(\n source: GlobalDepositAssetResponse\n): GlobalDepositAsset {\n const errors: string[] = [];\n\n const name = source.display_name;\n const symbol = source.symbol;\n const iconUrls = resolveIconUrls(source.icon_url_low, source.icon_url_medium, source.icon_url_high);\n const decimals = source.decimals;\n\n if (!name) errors.push(\"Missing display name\");\n if (!symbol) errors.push(\"Missing symbol\");\n if (!iconUrls) errors.push(\"Missing icon URL\");\n if (decimals === undefined || decimals === null) errors.push(\"Missing decimals\");\n\n if (errors.length > 0) {\n throw new TokenValidationError(source.mint, errors);\n }\n\n const depositAsset = asPubkeyStr(source.mint);\n return {\n id: source.id,\n pubkey: depositAsset,\n depositAsset,\n name: name ?? \"\",\n symbol: symbol ?? \"\",\n description: source.description,\n decimals: decimals ?? 0,\n iconUrlLow: iconUrls?.low ?? \"\",\n iconUrlMedium: iconUrls?.medium ?? \"\",\n iconUrlHigh: iconUrls?.high ?? \"\",\n whitelistIndex: source.whitelist_index,\n active: source.active,\n };\n}\n\nfunction conditionalFromWire(\n source: ConditionalTokenResponse,\n depositAsset: string,\n depositSymbol: string,\n parentIconUrlLow: string,\n parentIconUrlMedium: string,\n parentIconUrlHigh: string\n): ConditionalToken {\n const errors: string[] = [];\n if (source.decimals === undefined) errors.push(\"Missing decimals\");\n if (!source.short_symbol) errors.push(\"Missing short_symbol\");\n if (!source.outcome) errors.push(\"Missing outcome\");\n\n if (errors.length > 0) {\n throw new TokenValidationError(source.token_address, errors);\n }\n\n const ownIconUrls = resolveIconUrls(source.icon_url_low, source.icon_url_medium, source.icon_url_high);\n const resolvedIconUrlLow = ownIconUrls?.low ?? parentIconUrlLow;\n const resolvedIconUrlMedium = ownIconUrls?.medium ?? parentIconUrlMedium;\n const resolvedIconUrlHigh = ownIconUrls?.high ?? parentIconUrlHigh;\n\n return {\n id: source.id,\n outcomeIndex: source.outcome_index,\n outcome: source.outcome ?? \"\",\n depositAsset: asPubkeyStr(depositAsset),\n depositSymbol,\n pubkey: asPubkeyStr(source.token_address),\n name: source.outcome ?? \"\",\n symbol: source.short_symbol ?? \"\",\n description: source.description,\n decimals: source.decimals ?? 0,\n iconUrlLow: resolvedIconUrlLow,\n iconUrlMedium: resolvedIconUrlMedium,\n iconUrlHigh: resolvedIconUrlHigh,\n };\n}\n"]}
|
|
@@ -3,7 +3,9 @@ import type { Status } from "./index";
|
|
|
3
3
|
export interface OutcomeResponse {
|
|
4
4
|
index: number;
|
|
5
5
|
name: string;
|
|
6
|
-
|
|
6
|
+
icon_url_low?: string;
|
|
7
|
+
icon_url_medium?: string;
|
|
8
|
+
icon_url_high?: string;
|
|
7
9
|
}
|
|
8
10
|
export interface ConditionalTokenResponse {
|
|
9
11
|
id: number;
|
|
@@ -15,7 +17,9 @@ export interface ConditionalTokenResponse {
|
|
|
15
17
|
deposit_symbol?: string;
|
|
16
18
|
short_symbol?: string;
|
|
17
19
|
description?: string;
|
|
18
|
-
|
|
20
|
+
icon_url_low?: string;
|
|
21
|
+
icon_url_medium?: string;
|
|
22
|
+
icon_url_high?: string;
|
|
19
23
|
metadata_uri?: string;
|
|
20
24
|
decimals?: number;
|
|
21
25
|
created_at: string;
|
|
@@ -30,7 +34,9 @@ export interface DepositAssetResponse {
|
|
|
30
34
|
vault: string;
|
|
31
35
|
num_outcomes: number;
|
|
32
36
|
description?: string;
|
|
33
|
-
|
|
37
|
+
icon_url_low?: string;
|
|
38
|
+
icon_url_medium?: string;
|
|
39
|
+
icon_url_high?: string;
|
|
34
40
|
metadata_uri?: string;
|
|
35
41
|
decimals?: number;
|
|
36
42
|
conditional_mints: ConditionalTokenResponse[];
|
|
@@ -42,8 +48,12 @@ export interface MarketResponse {
|
|
|
42
48
|
description?: string;
|
|
43
49
|
definition?: string;
|
|
44
50
|
outcomes: OutcomeResponse[];
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
banner_image_url_low?: string;
|
|
52
|
+
banner_image_url_medium?: string;
|
|
53
|
+
banner_image_url_high?: string;
|
|
54
|
+
icon_url_low?: string;
|
|
55
|
+
icon_url_medium?: string;
|
|
56
|
+
icon_url_high?: string;
|
|
47
57
|
category?: string;
|
|
48
58
|
tags?: string[];
|
|
49
59
|
featured_rank?: number;
|
|
@@ -77,8 +87,12 @@ export interface SearchOrderbook {
|
|
|
77
87
|
deposit_quote_asset: PubkeyStr;
|
|
78
88
|
deposit_base_symbol: string;
|
|
79
89
|
deposit_quote_symbol: string;
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
base_icon_url_low?: string;
|
|
91
|
+
base_icon_url_medium?: string;
|
|
92
|
+
base_icon_url_high?: string;
|
|
93
|
+
quote_icon_url_low?: string;
|
|
94
|
+
quote_icon_url_medium?: string;
|
|
95
|
+
quote_icon_url_high?: string;
|
|
82
96
|
conditional_base_mint: PubkeyStr;
|
|
83
97
|
conditional_quote_mint: PubkeyStr;
|
|
84
98
|
latest_mid_price?: string;
|
|
@@ -91,7 +105,9 @@ export interface MarketSearchResult {
|
|
|
91
105
|
tags: string[];
|
|
92
106
|
featured_rank: number;
|
|
93
107
|
description?: string;
|
|
94
|
-
|
|
108
|
+
icon_url_low?: string;
|
|
109
|
+
icon_url_medium?: string;
|
|
110
|
+
icon_url_high?: string;
|
|
95
111
|
orderbooks: SearchOrderbook[];
|
|
96
112
|
}
|
|
97
113
|
export type MarketEvent = {
|
|
@@ -111,4 +127,26 @@ export type MarketEvent = {
|
|
|
111
127
|
market_pubkey: string;
|
|
112
128
|
orderbook_id: string;
|
|
113
129
|
};
|
|
130
|
+
export interface DepositMintsResponse {
|
|
131
|
+
market_pubkey: string;
|
|
132
|
+
deposit_assets: DepositAssetResponse[];
|
|
133
|
+
total: number;
|
|
134
|
+
}
|
|
135
|
+
export interface GlobalDepositAssetResponse {
|
|
136
|
+
id: number;
|
|
137
|
+
mint: string;
|
|
138
|
+
display_name?: string;
|
|
139
|
+
symbol?: string;
|
|
140
|
+
description?: string;
|
|
141
|
+
icon_url_low?: string;
|
|
142
|
+
icon_url_medium?: string;
|
|
143
|
+
icon_url_high?: string;
|
|
144
|
+
decimals: number | null;
|
|
145
|
+
whitelist_index: number;
|
|
146
|
+
active: boolean;
|
|
147
|
+
}
|
|
148
|
+
export interface GlobalDepositAssetsListResponse {
|
|
149
|
+
assets: GlobalDepositAssetResponse[];
|
|
150
|
+
total: number;
|
|
151
|
+
}
|
|
114
152
|
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/market/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/market/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/market/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, PubkeyStr } from \"../../shared\";\nimport type { Status } from \"./index\";\n\nexport interface OutcomeResponse {\n index: number;\n name: string;\n
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/market/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, PubkeyStr } from \"../../shared\";\nimport type { Status } from \"./index\";\n\nexport interface OutcomeResponse {\n index: number;\n name: string;\n icon_url_low?: string;\n icon_url_medium?: string;\n icon_url_high?: string;\n}\n\nexport interface ConditionalTokenResponse {\n id: number;\n outcome_index: number;\n token_address: string;\n symbol?: string;\n uri?: string;\n outcome?: string;\n deposit_symbol?: string;\n short_symbol?: string;\n description?: string;\n icon_url_low?: string;\n icon_url_medium?: string;\n icon_url_high?: string;\n metadata_uri?: string;\n decimals?: number;\n created_at: string;\n}\n\nexport interface DepositAssetResponse {\n display_name?: string;\n token_symbol?: string;\n symbol?: string;\n deposit_asset: string;\n id: number;\n market_pubkey: string;\n vault: string;\n num_outcomes: number;\n description?: string;\n icon_url_low?: string;\n icon_url_medium?: string;\n icon_url_high?: string;\n metadata_uri?: string;\n decimals?: number;\n conditional_mints: ConditionalTokenResponse[];\n created_at: string;\n}\n\nexport interface MarketResponse {\n market_name?: string;\n slug?: string;\n description?: string;\n definition?: string;\n outcomes: OutcomeResponse[];\n banner_image_url_low?: string;\n banner_image_url_medium?: string;\n banner_image_url_high?: string;\n icon_url_low?: string;\n icon_url_medium?: string;\n icon_url_high?: string;\n category?: string;\n tags?: string[];\n featured_rank?: number;\n market_pubkey: string;\n market_id: number;\n oracle: string;\n question_id: string;\n condition_id: string;\n market_status: string;\n winning_outcome?: number;\n has_winning_outcome: boolean;\n created_at: string;\n activated_at?: string;\n settled_at?: string;\n deposit_assets: DepositAssetResponse[];\n orderbooks: import(\"../orderbook/wire\").OrderbookResponse[];\n}\n\nexport interface MarketsResponse {\n markets: MarketResponse[];\n next_cursor?: number;\n has_more?: boolean;\n}\n\nexport interface SingleMarketResponse {\n market: MarketResponse;\n}\n\nexport interface SearchOrderbook {\n orderbook_id: OrderBookId;\n outcome_name: string;\n outcome_index: number;\n deposit_base_asset: PubkeyStr;\n deposit_quote_asset: PubkeyStr;\n deposit_base_symbol: string;\n deposit_quote_symbol: string;\n base_icon_url_low?: string;\n base_icon_url_medium?: string;\n base_icon_url_high?: string;\n quote_icon_url_low?: string;\n quote_icon_url_medium?: string;\n quote_icon_url_high?: string;\n conditional_base_mint: PubkeyStr;\n conditional_quote_mint: PubkeyStr;\n latest_mid_price?: string;\n}\n\nexport interface MarketSearchResult {\n slug: string;\n market_name: string;\n market_status: Status;\n category?: string;\n tags: string[];\n featured_rank: number;\n description?: string;\n icon_url_low?: string;\n icon_url_medium?: string;\n icon_url_high?: string;\n orderbooks: SearchOrderbook[];\n}\n\nexport type MarketEvent =\n | { event_type: \"settled\"; market_pubkey: string }\n | { event_type: \"created\"; market_pubkey: string }\n | { event_type: \"opened\"; market_pubkey: string }\n | { event_type: \"paused\"; market_pubkey: string }\n | { event_type: \"orderbook_created\"; market_pubkey: string; orderbook_id: string };\n\nexport interface DepositMintsResponse {\n market_pubkey: string;\n deposit_assets: DepositAssetResponse[];\n total: number;\n}\n\nexport interface GlobalDepositAssetResponse {\n id: number;\n mint: string;\n display_name?: string;\n symbol?: string;\n description?: string;\n icon_url_low?: string;\n icon_url_medium?: string;\n icon_url_high?: string;\n decimals: number | null;\n whitelist_index: number;\n active: boolean;\n}\n\nexport interface GlobalDepositAssetsListResponse {\n assets: GlobalDepositAssetResponse[];\n total: number;\n}\n"]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { ClientContext } from "../../context";
|
|
2
|
+
import type { OrderBookId, PubkeyStr } from "../../shared";
|
|
3
|
+
import type { CategoriesMetrics, CategoryVolumeMetrics, DepositTokensMetrics, Leaderboard, MarketDetailMetrics, MarketsMetrics, MetricsHistory, MetricsHistoryQuery, OrderbookTickersResponse, OrderbookVolumeMetrics, PlatformMetrics, UserMetrics } from "./wire";
|
|
4
|
+
/**
|
|
5
|
+
* Metrics sub-client — platform / market / orderbook / category / deposit-token
|
|
6
|
+
* volume metrics, market leaderboard, and time-series history.
|
|
7
|
+
*
|
|
8
|
+
* Obtain via `client.metrics()`.
|
|
9
|
+
*/
|
|
10
|
+
export declare class Metrics {
|
|
11
|
+
private readonly client;
|
|
12
|
+
constructor(client: ClientContext);
|
|
13
|
+
/** `GET /api/metrics/platform` */
|
|
14
|
+
platform(): Promise<PlatformMetrics>;
|
|
15
|
+
/** `GET /api/metrics/markets` */
|
|
16
|
+
markets(): Promise<MarketsMetrics>;
|
|
17
|
+
/** `GET /api/metrics/markets/{market_pubkey}` */
|
|
18
|
+
market(marketPubkey: PubkeyStr): Promise<MarketDetailMetrics>;
|
|
19
|
+
/**
|
|
20
|
+
* Batch BBO + midpoint per active orderbook (same shape as the WS
|
|
21
|
+
* `Ticker` stream, delivered in one REST call). Optionally filter to
|
|
22
|
+
* orderbooks whose base conditional-token is backed by `depositAsset`.
|
|
23
|
+
* Prices per orderbook are scaled using that orderbook's own decimals.
|
|
24
|
+
*
|
|
25
|
+
* `GET /api/metrics/orderbooks/tickers[?deposit_asset=<mint>]`
|
|
26
|
+
*/
|
|
27
|
+
orderbookTickers(depositAsset?: string): Promise<OrderbookTickersResponse>;
|
|
28
|
+
/** `GET /api/metrics/orderbooks/{orderbook_id}` */
|
|
29
|
+
orderbook(orderbookId: OrderBookId): Promise<OrderbookVolumeMetrics>;
|
|
30
|
+
/** `GET /api/metrics/categories` */
|
|
31
|
+
categories(): Promise<CategoriesMetrics>;
|
|
32
|
+
/** `GET /api/metrics/categories/{category}` */
|
|
33
|
+
category(category: string): Promise<CategoryVolumeMetrics>;
|
|
34
|
+
/** `GET /api/metrics/deposit-tokens` */
|
|
35
|
+
depositTokens(): Promise<DepositTokensMetrics>;
|
|
36
|
+
/** `GET /api/metrics/leaderboard/markets` */
|
|
37
|
+
leaderboard(limit?: number): Promise<Leaderboard>;
|
|
38
|
+
/**
|
|
39
|
+
* `GET /api/metrics/history/{scope}/{scope_key}`
|
|
40
|
+
*
|
|
41
|
+
* `scope` is one of `"orderbook" | "market" | "category" | "deposit_token" | "platform"`.
|
|
42
|
+
*/
|
|
43
|
+
history(scope: string, scopeKey: string, query?: MetricsHistoryQuery): Promise<MetricsHistory>;
|
|
44
|
+
/**
|
|
45
|
+
* Fetch per-wallet trading + referral aggregates for the authenticated
|
|
46
|
+
* user: distinct outcomes traded, total USD volume across all the
|
|
47
|
+
* wallet's trades, and the number of times the wallet's referral codes
|
|
48
|
+
* have been redeemed. The wallet is resolved server-side from the
|
|
49
|
+
* `auth_token` cookie.
|
|
50
|
+
*
|
|
51
|
+
* `GET /api/metrics/user`
|
|
52
|
+
*/
|
|
53
|
+
user(): Promise<UserMetrics>;
|
|
54
|
+
/**
|
|
55
|
+
* Same as {@link user} but uses the supplied `authToken` for this call
|
|
56
|
+
* instead of the SDK's process-wide cookie store. For server-side cookie
|
|
57
|
+
* forwarding (SSR / route handlers).
|
|
58
|
+
*/
|
|
59
|
+
userWithAuth(authToken: string): Promise<UserMetrics>;
|
|
60
|
+
/**
|
|
61
|
+
* Public variant of {@link user}. Takes the user's wallet via the URL
|
|
62
|
+
* path (`GET /api/metrics/user/{wallet_address}`) and requires no auth.
|
|
63
|
+
*/
|
|
64
|
+
userByWallet(walletAddress: string): Promise<UserMetrics>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/metrics/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,WAAW,EACZ,MAAM,QAAQ,CAAC;AAEhB;;;;;GAKG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD,kCAAkC;IAC5B,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAK1C,iCAAiC;IAC3B,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAKxC,iDAAiD;IAC3C,MAAM,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKnE;;;;;;;OAOG;IACG,gBAAgB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAShF,mDAAmD;IAC7C,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK1E,oCAAoC;IAC9B,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAK9C,+CAA+C;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKhE,wCAAwC;IAClC,aAAa,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAKpD,6CAA6C;IACvC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQvD;;;;OAIG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,mBAAwB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAW1B;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAKlC;;;;OAIG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAS3D;;;OAGG;IACG,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAIhE"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Metrics = void 0;
|
|
4
|
+
const http_1 = require("../../http");
|
|
5
|
+
/**
|
|
6
|
+
* Metrics sub-client — platform / market / orderbook / category / deposit-token
|
|
7
|
+
* volume metrics, market leaderboard, and time-series history.
|
|
8
|
+
*
|
|
9
|
+
* Obtain via `client.metrics()`.
|
|
10
|
+
*/
|
|
11
|
+
class Metrics {
|
|
12
|
+
client;
|
|
13
|
+
constructor(client) {
|
|
14
|
+
this.client = client;
|
|
15
|
+
}
|
|
16
|
+
/** `GET /api/metrics/platform` */
|
|
17
|
+
async platform() {
|
|
18
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/platform`;
|
|
19
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
20
|
+
}
|
|
21
|
+
/** `GET /api/metrics/markets` */
|
|
22
|
+
async markets() {
|
|
23
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/markets`;
|
|
24
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
25
|
+
}
|
|
26
|
+
/** `GET /api/metrics/markets/{market_pubkey}` */
|
|
27
|
+
async market(marketPubkey) {
|
|
28
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/markets/${encodeURIComponent(marketPubkey)}`;
|
|
29
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Batch BBO + midpoint per active orderbook (same shape as the WS
|
|
33
|
+
* `Ticker` stream, delivered in one REST call). Optionally filter to
|
|
34
|
+
* orderbooks whose base conditional-token is backed by `depositAsset`.
|
|
35
|
+
* Prices per orderbook are scaled using that orderbook's own decimals.
|
|
36
|
+
*
|
|
37
|
+
* `GET /api/metrics/orderbooks/tickers[?deposit_asset=<mint>]`
|
|
38
|
+
*/
|
|
39
|
+
async orderbookTickers(depositAsset) {
|
|
40
|
+
let url = `${this.client.http.baseUrl()}/api/metrics/orderbooks/tickers`;
|
|
41
|
+
const trimmed = depositAsset?.trim();
|
|
42
|
+
if (trimmed) {
|
|
43
|
+
url += `?deposit_asset=${encodeURIComponent(trimmed)}`;
|
|
44
|
+
}
|
|
45
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
46
|
+
}
|
|
47
|
+
/** `GET /api/metrics/orderbooks/{orderbook_id}` */
|
|
48
|
+
async orderbook(orderbookId) {
|
|
49
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/orderbooks/${encodeURIComponent(orderbookId)}`;
|
|
50
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
51
|
+
}
|
|
52
|
+
/** `GET /api/metrics/categories` */
|
|
53
|
+
async categories() {
|
|
54
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/categories`;
|
|
55
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
56
|
+
}
|
|
57
|
+
/** `GET /api/metrics/categories/{category}` */
|
|
58
|
+
async category(category) {
|
|
59
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/categories/${encodeURIComponent(category)}`;
|
|
60
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
61
|
+
}
|
|
62
|
+
/** `GET /api/metrics/deposit-tokens` */
|
|
63
|
+
async depositTokens() {
|
|
64
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/deposit-tokens`;
|
|
65
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
66
|
+
}
|
|
67
|
+
/** `GET /api/metrics/leaderboard/markets` */
|
|
68
|
+
async leaderboard(limit) {
|
|
69
|
+
let url = `${this.client.http.baseUrl()}/api/metrics/leaderboard/markets`;
|
|
70
|
+
if (limit !== undefined) {
|
|
71
|
+
url += `?limit=${limit}`;
|
|
72
|
+
}
|
|
73
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* `GET /api/metrics/history/{scope}/{scope_key}`
|
|
77
|
+
*
|
|
78
|
+
* `scope` is one of `"orderbook" | "market" | "category" | "deposit_token" | "platform"`.
|
|
79
|
+
*/
|
|
80
|
+
async history(scope, scopeKey, query = {}) {
|
|
81
|
+
const search = new URLSearchParams();
|
|
82
|
+
search.set("resolution", query.resolution ?? "1h");
|
|
83
|
+
if (query.from !== undefined)
|
|
84
|
+
search.set("from", String(query.from));
|
|
85
|
+
if (query.to !== undefined)
|
|
86
|
+
search.set("to", String(query.to));
|
|
87
|
+
if (query.limit !== undefined)
|
|
88
|
+
search.set("limit", String(query.limit));
|
|
89
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/history/${encodeURIComponent(scope)}/${encodeURIComponent(scopeKey)}?${search.toString()}`;
|
|
90
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Fetch per-wallet trading + referral aggregates for the authenticated
|
|
94
|
+
* user: distinct outcomes traded, total USD volume across all the
|
|
95
|
+
* wallet's trades, and the number of times the wallet's referral codes
|
|
96
|
+
* have been redeemed. The wallet is resolved server-side from the
|
|
97
|
+
* `auth_token` cookie.
|
|
98
|
+
*
|
|
99
|
+
* `GET /api/metrics/user`
|
|
100
|
+
*/
|
|
101
|
+
async user() {
|
|
102
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/user`;
|
|
103
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Same as {@link user} but uses the supplied `authToken` for this call
|
|
107
|
+
* instead of the SDK's process-wide cookie store. For server-side cookie
|
|
108
|
+
* forwarding (SSR / route handlers).
|
|
109
|
+
*/
|
|
110
|
+
async userWithAuth(authToken) {
|
|
111
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/user`;
|
|
112
|
+
return this.client.http.getWithAuth(url, http_1.RetryPolicy.Idempotent, authToken);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Public variant of {@link user}. Takes the user's wallet via the URL
|
|
116
|
+
* path (`GET /api/metrics/user/{wallet_address}`) and requires no auth.
|
|
117
|
+
*/
|
|
118
|
+
async userByWallet(walletAddress) {
|
|
119
|
+
const url = `${this.client.http.baseUrl()}/api/metrics/user/${encodeURIComponent(walletAddress)}`;
|
|
120
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.Metrics = Metrics;
|
|
124
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/metrics/client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ClientContext } from \"../../context\";\nimport { RetryPolicy } from \"../../http\";\nimport type { OrderBookId, PubkeyStr } from \"../../shared\";\nimport type {\n CategoriesMetrics,\n CategoryVolumeMetrics,\n DepositTokensMetrics,\n Leaderboard,\n MarketDetailMetrics,\n MarketsMetrics,\n MetricsHistory,\n MetricsHistoryQuery,\n OrderbookTickersResponse,\n OrderbookVolumeMetrics,\n PlatformMetrics,\n UserMetrics,\n} from \"./wire\";\n\n/**\n * Metrics sub-client — platform / market / orderbook / category / deposit-token\n * volume metrics, market leaderboard, and time-series history.\n *\n * Obtain via `client.metrics()`.\n */\nexport class Metrics {\n constructor(private readonly client: ClientContext) {}\n\n /** `GET /api/metrics/platform` */\n async platform(): Promise<PlatformMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/platform`;\n return this.client.http.get<PlatformMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /** `GET /api/metrics/markets` */\n async markets(): Promise<MarketsMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/markets`;\n return this.client.http.get<MarketsMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /** `GET /api/metrics/markets/{market_pubkey}` */\n async market(marketPubkey: PubkeyStr): Promise<MarketDetailMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/markets/${encodeURIComponent(marketPubkey)}`;\n return this.client.http.get<MarketDetailMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /**\n * Batch BBO + midpoint per active orderbook (same shape as the WS\n * `Ticker` stream, delivered in one REST call). Optionally filter to\n * orderbooks whose base conditional-token is backed by `depositAsset`.\n * Prices per orderbook are scaled using that orderbook's own decimals.\n *\n * `GET /api/metrics/orderbooks/tickers[?deposit_asset=<mint>]`\n */\n async orderbookTickers(depositAsset?: string): Promise<OrderbookTickersResponse> {\n let url = `${this.client.http.baseUrl()}/api/metrics/orderbooks/tickers`;\n const trimmed = depositAsset?.trim();\n if (trimmed) {\n url += `?deposit_asset=${encodeURIComponent(trimmed)}`;\n }\n return this.client.http.get<OrderbookTickersResponse>(url, RetryPolicy.Idempotent);\n }\n\n /** `GET /api/metrics/orderbooks/{orderbook_id}` */\n async orderbook(orderbookId: OrderBookId): Promise<OrderbookVolumeMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/orderbooks/${encodeURIComponent(orderbookId)}`;\n return this.client.http.get<OrderbookVolumeMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /** `GET /api/metrics/categories` */\n async categories(): Promise<CategoriesMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/categories`;\n return this.client.http.get<CategoriesMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /** `GET /api/metrics/categories/{category}` */\n async category(category: string): Promise<CategoryVolumeMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/categories/${encodeURIComponent(category)}`;\n return this.client.http.get<CategoryVolumeMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /** `GET /api/metrics/deposit-tokens` */\n async depositTokens(): Promise<DepositTokensMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/deposit-tokens`;\n return this.client.http.get<DepositTokensMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /** `GET /api/metrics/leaderboard/markets` */\n async leaderboard(limit?: number): Promise<Leaderboard> {\n let url = `${this.client.http.baseUrl()}/api/metrics/leaderboard/markets`;\n if (limit !== undefined) {\n url += `?limit=${limit}`;\n }\n return this.client.http.get<Leaderboard>(url, RetryPolicy.Idempotent);\n }\n\n /**\n * `GET /api/metrics/history/{scope}/{scope_key}`\n *\n * `scope` is one of `\"orderbook\" | \"market\" | \"category\" | \"deposit_token\" | \"platform\"`.\n */\n async history(\n scope: string,\n scopeKey: string,\n query: MetricsHistoryQuery = {}\n ): Promise<MetricsHistory> {\n const search = new URLSearchParams();\n search.set(\"resolution\", query.resolution ?? \"1h\");\n if (query.from !== undefined) search.set(\"from\", String(query.from));\n if (query.to !== undefined) search.set(\"to\", String(query.to));\n if (query.limit !== undefined) search.set(\"limit\", String(query.limit));\n\n const url = `${this.client.http.baseUrl()}/api/metrics/history/${encodeURIComponent(scope)}/${encodeURIComponent(scopeKey)}?${search.toString()}`;\n return this.client.http.get<MetricsHistory>(url, RetryPolicy.Idempotent);\n }\n\n /**\n * Fetch per-wallet trading + referral aggregates for the authenticated\n * user: distinct outcomes traded, total USD volume across all the\n * wallet's trades, and the number of times the wallet's referral codes\n * have been redeemed. The wallet is resolved server-side from the\n * `auth_token` cookie.\n *\n * `GET /api/metrics/user`\n */\n async user(): Promise<UserMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/user`;\n return this.client.http.get<UserMetrics>(url, RetryPolicy.Idempotent);\n }\n\n /**\n * Same as {@link user} but uses the supplied `authToken` for this call\n * instead of the SDK's process-wide cookie store. For server-side cookie\n * forwarding (SSR / route handlers).\n */\n async userWithAuth(authToken: string): Promise<UserMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/user`;\n return this.client.http.getWithAuth<UserMetrics>(\n url,\n RetryPolicy.Idempotent,\n authToken,\n );\n }\n\n /**\n * Public variant of {@link user}. Takes the user's wallet via the URL\n * path (`GET /api/metrics/user/{wallet_address}`) and requires no auth.\n */\n async userByWallet(walletAddress: string): Promise<UserMetrics> {\n const url = `${this.client.http.baseUrl()}/api/metrics/user/${encodeURIComponent(walletAddress)}`;\n return this.client.http.get<UserMetrics>(url, RetryPolicy.Idempotent);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/metrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./client"), exports);
|
|
18
|
+
__exportStar(require("./wire"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB","sourcesContent":["export * from \"./client\";\nexport * from \"./wire\";\n"]}
|