@catalyst-team/poly-sdk 0.3.0 → 0.4.3
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 +133 -1
- package/README.zh-CN.md +2 -0
- package/dist/scripts/dip-arb/auto-trade.d.ts +20 -0
- package/dist/scripts/dip-arb/auto-trade.d.ts.map +1 -0
- package/dist/scripts/dip-arb/auto-trade.js +373 -0
- package/dist/scripts/dip-arb/auto-trade.js.map +1 -0
- package/dist/scripts/dip-arb/example-basic.d.ts +30 -0
- package/dist/scripts/dip-arb/example-basic.d.ts.map +1 -0
- package/dist/scripts/dip-arb/example-basic.js +222 -0
- package/dist/scripts/dip-arb/example-basic.js.map +1 -0
- package/dist/scripts/dip-arb/redeem-positions.d.ts +11 -0
- package/dist/scripts/dip-arb/redeem-positions.d.ts.map +1 -0
- package/dist/scripts/dip-arb/redeem-positions.js +201 -0
- package/dist/scripts/dip-arb/redeem-positions.js.map +1 -0
- package/dist/scripts/dip-arb/scan-markets.d.ts +6 -0
- package/dist/scripts/dip-arb/scan-markets.d.ts.map +1 -0
- package/dist/scripts/dip-arb/scan-markets.js +73 -0
- package/dist/scripts/dip-arb/scan-markets.js.map +1 -0
- package/dist/src/__tests__/integration/arbitrage-service.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/arbitrage-service.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/bridge-client.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/bridge-client.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/ctf-client.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/ctf-client.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/data-api.integration.test.d.ts.map +1 -0
- package/dist/{__tests__ → src/__tests__}/integration/data-api.integration.test.js +21 -18
- package/dist/src/__tests__/integration/data-api.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/gamma-api.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/gamma-api.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/market-service.integration.test.d.ts.map +1 -0
- package/dist/{__tests__ → src/__tests__}/integration/market-service.integration.test.js +7 -0
- package/dist/src/__tests__/integration/market-service.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/realtime-service-v2.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/realtime-service-v2.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/trading-service.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/trading-service.integration.test.js.map +1 -0
- package/dist/src/__tests__/test-utils.d.ts.map +1 -0
- package/dist/src/__tests__/test-utils.js.map +1 -0
- package/dist/src/catalyst/catalyst-query-service.d.ts +109 -0
- package/dist/src/catalyst/catalyst-query-service.d.ts.map +1 -0
- package/dist/src/catalyst/catalyst-query-service.js +141 -0
- package/dist/src/catalyst/catalyst-query-service.js.map +1 -0
- package/dist/src/catalyst/catalyst-realtime-service.d.ts +40 -0
- package/dist/src/catalyst/catalyst-realtime-service.d.ts.map +1 -0
- package/dist/src/catalyst/catalyst-realtime-service.js +125 -0
- package/dist/src/catalyst/catalyst-realtime-service.js.map +1 -0
- package/dist/src/catalyst/index.d.ts +4 -0
- package/dist/src/catalyst/index.d.ts.map +1 -0
- package/dist/src/catalyst/index.js +4 -0
- package/dist/src/catalyst/index.js.map +1 -0
- package/dist/src/catalyst/types.d.ts +178 -0
- package/dist/src/catalyst/types.d.ts.map +1 -0
- package/dist/src/catalyst/types.js +2 -0
- package/dist/src/catalyst/types.js.map +1 -0
- package/dist/src/clients/bridge-client.d.ts.map +1 -0
- package/dist/src/clients/bridge-client.js.map +1 -0
- package/dist/{clients → src/clients}/ctf-client.d.ts +6 -4
- package/dist/src/clients/ctf-client.d.ts.map +1 -0
- package/dist/src/clients/ctf-client.js.map +1 -0
- package/dist/{clients → src/clients}/data-api.d.ts +94 -20
- package/dist/src/clients/data-api.d.ts.map +1 -0
- package/dist/{clients → src/clients}/data-api.js +119 -52
- package/dist/src/clients/data-api.js.map +1 -0
- package/dist/{clients → src/clients}/gamma-api.d.ts +74 -0
- package/dist/src/clients/gamma-api.d.ts.map +1 -0
- package/dist/{clients → src/clients}/gamma-api.js +7 -0
- package/dist/src/clients/gamma-api.js.map +1 -0
- package/dist/src/clients/subgraph.d.ts.map +1 -0
- package/dist/src/clients/subgraph.js.map +1 -0
- package/dist/src/core/cache-adapter-bridge.d.ts.map +1 -0
- package/dist/src/core/cache-adapter-bridge.js.map +1 -0
- package/dist/{core → src/core}/cache.d.ts +2 -0
- package/dist/src/core/cache.d.ts.map +1 -0
- package/dist/{core → src/core}/cache.js +4 -0
- package/dist/src/core/cache.js.map +1 -0
- package/dist/src/core/errors.d.ts.map +1 -0
- package/dist/src/core/errors.js.map +1 -0
- package/dist/{core → src/core}/rate-limiter.d.ts +2 -1
- package/dist/src/core/rate-limiter.d.ts.map +1 -0
- package/dist/{core → src/core}/rate-limiter.js +7 -0
- package/dist/src/core/rate-limiter.js.map +1 -0
- package/dist/{core → src/core}/types.d.ts +105 -1
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +49 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/core/types.test.d.ts.map +1 -0
- package/dist/src/core/types.test.js.map +1 -0
- package/dist/src/core/unified-cache.d.ts.map +1 -0
- package/dist/src/core/unified-cache.js.map +1 -0
- package/dist/{index.d.ts → src/index.d.ts} +24 -5
- package/dist/src/index.d.ts.map +1 -0
- package/dist/{index.js → src/index.js} +38 -4
- package/dist/src/index.js.map +1 -0
- package/dist/src/insider-scan/index.d.ts +3 -0
- package/dist/src/insider-scan/index.d.ts.map +1 -0
- package/dist/src/insider-scan/index.js +3 -0
- package/dist/src/insider-scan/index.js.map +1 -0
- package/dist/src/insider-scan/insider-scan-service.d.ts +63 -0
- package/dist/src/insider-scan/insider-scan-service.d.ts.map +1 -0
- package/dist/src/insider-scan/insider-scan-service.js +153 -0
- package/dist/src/insider-scan/insider-scan-service.js.map +1 -0
- package/dist/src/insider-scan/types.d.ts +205 -0
- package/dist/src/insider-scan/types.d.ts.map +1 -0
- package/dist/src/insider-scan/types.js +7 -0
- package/dist/src/insider-scan/types.js.map +1 -0
- package/dist/src/services/arbitrage-service.d.ts.map +1 -0
- package/dist/{services → src/services}/arbitrage-service.js +14 -4
- package/dist/src/services/arbitrage-service.js.map +1 -0
- package/dist/src/services/authorization-service.d.ts.map +1 -0
- package/dist/src/services/authorization-service.js.map +1 -0
- package/dist/src/services/binance-service.d.ts +154 -0
- package/dist/src/services/binance-service.d.ts.map +1 -0
- package/dist/src/services/binance-service.js +266 -0
- package/dist/src/services/binance-service.js.map +1 -0
- package/dist/src/services/dip-arb-service.d.ts +245 -0
- package/dist/src/services/dip-arb-service.d.ts.map +1 -0
- package/dist/src/services/dip-arb-service.js +1865 -0
- package/dist/src/services/dip-arb-service.js.map +1 -0
- package/dist/src/services/dip-arb-types.d.ts +553 -0
- package/dist/src/services/dip-arb-types.d.ts.map +1 -0
- package/dist/src/services/dip-arb-types.js +164 -0
- package/dist/src/services/dip-arb-types.js.map +1 -0
- package/dist/src/services/market-service.d.ts +431 -0
- package/dist/src/services/market-service.d.ts.map +1 -0
- package/dist/{services → src/services}/market-service.js +501 -17
- package/dist/src/services/market-service.js.map +1 -0
- package/dist/{services → src/services}/onchain-service.d.ts +10 -2
- package/dist/src/services/onchain-service.d.ts.map +1 -0
- package/dist/{services → src/services}/onchain-service.js +8 -0
- package/dist/src/services/onchain-service.js.map +1 -0
- package/dist/{services → src/services}/realtime-service-v2.d.ts +6 -0
- package/dist/src/services/realtime-service-v2.d.ts.map +1 -0
- package/dist/{services → src/services}/realtime-service-v2.js +44 -8
- package/dist/src/services/realtime-service-v2.js.map +1 -0
- package/dist/src/services/smart-money-service.d.ts +769 -0
- package/dist/src/services/smart-money-service.d.ts.map +1 -0
- package/dist/src/services/smart-money-service.js +1448 -0
- package/dist/src/services/smart-money-service.js.map +1 -0
- package/dist/src/services/swap-service.d.ts.map +1 -0
- package/dist/src/services/swap-service.js.map +1 -0
- package/dist/{services → src/services}/trading-service.d.ts +26 -0
- package/dist/src/services/trading-service.d.ts.map +1 -0
- package/dist/{services → src/services}/trading-service.js +72 -1
- package/dist/src/services/trading-service.js.map +1 -0
- package/dist/{services → src/services}/wallet-service.d.ts +81 -4
- package/dist/src/services/wallet-service.d.ts.map +1 -0
- package/dist/{services → src/services}/wallet-service.js +126 -8
- package/dist/src/services/wallet-service.js.map +1 -0
- package/dist/src/signal/index.d.ts +8 -0
- package/dist/src/signal/index.d.ts.map +1 -0
- package/dist/src/signal/index.js +7 -0
- package/dist/src/signal/index.js.map +1 -0
- package/dist/src/signal/signal-service.d.ts +89 -0
- package/dist/src/signal/signal-service.d.ts.map +1 -0
- package/dist/src/signal/signal-service.js +226 -0
- package/dist/src/signal/signal-service.js.map +1 -0
- package/dist/src/signal/types.d.ts +280 -0
- package/dist/src/signal/types.d.ts.map +1 -0
- package/dist/src/signal/types.js +7 -0
- package/dist/src/signal/types.js.map +1 -0
- package/dist/src/utils/price-utils.d.ts.map +1 -0
- package/dist/src/utils/price-utils.js.map +1 -0
- package/dist/src/utils/price-utils.test.d.ts.map +1 -0
- package/dist/src/utils/price-utils.test.js.map +1 -0
- package/dist/src/wallet-report/index.d.ts +3 -0
- package/dist/src/wallet-report/index.d.ts.map +1 -0
- package/dist/src/wallet-report/index.js +3 -0
- package/dist/src/wallet-report/index.js.map +1 -0
- package/dist/src/wallet-report/types.d.ts +187 -0
- package/dist/src/wallet-report/types.d.ts.map +1 -0
- package/dist/src/wallet-report/types.js +7 -0
- package/dist/src/wallet-report/types.js.map +1 -0
- package/dist/src/wallet-report/wallet-report-service.d.ts +91 -0
- package/dist/src/wallet-report/wallet-report-service.d.ts.map +1 -0
- package/dist/src/wallet-report/wallet-report-service.js +208 -0
- package/dist/src/wallet-report/wallet-report-service.js.map +1 -0
- package/dist/src/wallets/hot-wallet-service.d.ts +162 -0
- package/dist/src/wallets/hot-wallet-service.d.ts.map +1 -0
- package/dist/src/wallets/hot-wallet-service.js +251 -0
- package/dist/src/wallets/hot-wallet-service.js.map +1 -0
- package/dist/src/wallets/index.d.ts +15 -0
- package/dist/src/wallets/index.d.ts.map +1 -0
- package/dist/src/wallets/index.js +26 -0
- package/dist/src/wallets/index.js.map +1 -0
- package/package.json +7 -7
- package/dist/__tests__/clob-api.test.d.ts +0 -5
- package/dist/__tests__/clob-api.test.d.ts.map +0 -1
- package/dist/__tests__/clob-api.test.js +0 -240
- package/dist/__tests__/clob-api.test.js.map +0 -1
- package/dist/__tests__/integration/arbitrage-service.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/arbitrage-service.integration.test.js.map +0 -1
- package/dist/__tests__/integration/bridge-client.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/bridge-client.integration.test.js.map +0 -1
- package/dist/__tests__/integration/clob-api.integration.test.d.ts +0 -13
- package/dist/__tests__/integration/clob-api.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/clob-api.integration.test.js +0 -170
- package/dist/__tests__/integration/clob-api.integration.test.js.map +0 -1
- package/dist/__tests__/integration/ctf-client.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/ctf-client.integration.test.js.map +0 -1
- package/dist/__tests__/integration/data-api.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/data-api.integration.test.js.map +0 -1
- package/dist/__tests__/integration/gamma-api.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/gamma-api.integration.test.js.map +0 -1
- package/dist/__tests__/integration/market-service.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/market-service.integration.test.js.map +0 -1
- package/dist/__tests__/integration/realtime-service-v2.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/realtime-service-v2.integration.test.js.map +0 -1
- package/dist/__tests__/integration/trading-service.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/trading-service.integration.test.js.map +0 -1
- package/dist/__tests__/test-utils.d.ts.map +0 -1
- package/dist/__tests__/test-utils.js.map +0 -1
- package/dist/clients/bridge-client.d.ts.map +0 -1
- package/dist/clients/bridge-client.js.map +0 -1
- package/dist/clients/clob-api.d.ts +0 -391
- package/dist/clients/clob-api.d.ts.map +0 -1
- package/dist/clients/clob-api.js +0 -448
- package/dist/clients/clob-api.js.map +0 -1
- package/dist/clients/ctf-client.d.ts.map +0 -1
- package/dist/clients/ctf-client.js.map +0 -1
- package/dist/clients/data-api.d.ts.map +0 -1
- package/dist/clients/data-api.js.map +0 -1
- package/dist/clients/gamma-api.d.ts.map +0 -1
- package/dist/clients/gamma-api.js.map +0 -1
- package/dist/clients/subgraph.d.ts.map +0 -1
- package/dist/clients/subgraph.js.map +0 -1
- package/dist/clients/trading-client.d.ts +0 -252
- package/dist/clients/trading-client.d.ts.map +0 -1
- package/dist/clients/trading-client.js +0 -543
- package/dist/clients/trading-client.js.map +0 -1
- package/dist/clients/websocket-manager.d.ts +0 -103
- package/dist/clients/websocket-manager.d.ts.map +0 -1
- package/dist/clients/websocket-manager.js +0 -200
- package/dist/clients/websocket-manager.js.map +0 -1
- package/dist/core/cache-adapter-bridge.d.ts.map +0 -1
- package/dist/core/cache-adapter-bridge.js.map +0 -1
- package/dist/core/cache.d.ts.map +0 -1
- package/dist/core/cache.js.map +0 -1
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js.map +0 -1
- package/dist/core/rate-limiter.d.ts.map +0 -1
- package/dist/core/rate-limiter.js.map +0 -1
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -19
- package/dist/core/types.js.map +0 -1
- package/dist/core/types.test.d.ts.map +0 -1
- package/dist/core/types.test.js.map +0 -1
- package/dist/core/unified-cache.d.ts.map +0 -1
- package/dist/core/unified-cache.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/services/arbitrage-service.d.ts.map +0 -1
- package/dist/services/arbitrage-service.js.map +0 -1
- package/dist/services/authorization-service.d.ts.map +0 -1
- package/dist/services/authorization-service.js.map +0 -1
- package/dist/services/market-service.d.ts +0 -208
- package/dist/services/market-service.d.ts.map +0 -1
- package/dist/services/market-service.js.map +0 -1
- package/dist/services/onchain-service.d.ts.map +0 -1
- package/dist/services/onchain-service.js.map +0 -1
- package/dist/services/realtime-service-v2.d.ts.map +0 -1
- package/dist/services/realtime-service-v2.js.map +0 -1
- package/dist/services/realtime-service.d.ts +0 -82
- package/dist/services/realtime-service.d.ts.map +0 -1
- package/dist/services/realtime-service.js +0 -182
- package/dist/services/realtime-service.js.map +0 -1
- package/dist/services/smart-money-service.d.ts +0 -196
- package/dist/services/smart-money-service.d.ts.map +0 -1
- package/dist/services/smart-money-service.js +0 -358
- package/dist/services/smart-money-service.js.map +0 -1
- package/dist/services/swap-service.d.ts.map +0 -1
- package/dist/services/swap-service.js.map +0 -1
- package/dist/services/trading-service.d.ts.map +0 -1
- package/dist/services/trading-service.js.map +0 -1
- package/dist/services/wallet-service.d.ts.map +0 -1
- package/dist/services/wallet-service.js.map +0 -1
- package/dist/utils/price-utils.d.ts.map +0 -1
- package/dist/utils/price-utils.js.map +0 -1
- package/dist/utils/price-utils.test.d.ts.map +0 -1
- package/dist/utils/price-utils.test.js.map +0 -1
- /package/dist/{__tests__ → src/__tests__}/integration/arbitrage-service.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/arbitrage-service.integration.test.js +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/bridge-client.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/bridge-client.integration.test.js +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/ctf-client.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/ctf-client.integration.test.js +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/data-api.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/gamma-api.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/gamma-api.integration.test.js +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/market-service.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/realtime-service-v2.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/realtime-service-v2.integration.test.js +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/trading-service.integration.test.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/integration/trading-service.integration.test.js +0 -0
- /package/dist/{__tests__ → src/__tests__}/test-utils.d.ts +0 -0
- /package/dist/{__tests__ → src/__tests__}/test-utils.js +0 -0
- /package/dist/{clients → src/clients}/bridge-client.d.ts +0 -0
- /package/dist/{clients → src/clients}/bridge-client.js +0 -0
- /package/dist/{clients → src/clients}/ctf-client.js +0 -0
- /package/dist/{clients → src/clients}/subgraph.d.ts +0 -0
- /package/dist/{clients → src/clients}/subgraph.js +0 -0
- /package/dist/{core → src/core}/cache-adapter-bridge.d.ts +0 -0
- /package/dist/{core → src/core}/cache-adapter-bridge.js +0 -0
- /package/dist/{core → src/core}/errors.d.ts +0 -0
- /package/dist/{core → src/core}/errors.js +0 -0
- /package/dist/{core → src/core}/types.test.d.ts +0 -0
- /package/dist/{core → src/core}/types.test.js +0 -0
- /package/dist/{core → src/core}/unified-cache.d.ts +0 -0
- /package/dist/{core → src/core}/unified-cache.js +0 -0
- /package/dist/{services → src/services}/arbitrage-service.d.ts +0 -0
- /package/dist/{services → src/services}/authorization-service.d.ts +0 -0
- /package/dist/{services → src/services}/authorization-service.js +0 -0
- /package/dist/{services → src/services}/swap-service.d.ts +0 -0
- /package/dist/{services → src/services}/swap-service.js +0 -0
- /package/dist/{utils → src/utils}/price-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/price-utils.js +0 -0
- /package/dist/{utils → src/utils}/price-utils.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/price-utils.test.js +0 -0
|
@@ -33,7 +33,7 @@ export interface Position {
|
|
|
33
33
|
negativeRisk?: boolean;
|
|
34
34
|
}
|
|
35
35
|
export interface Activity {
|
|
36
|
-
type: 'TRADE' | 'SPLIT' | 'MERGE' | 'REDEEM' | 'CONVERSION';
|
|
36
|
+
type: 'TRADE' | 'SPLIT' | 'MERGE' | 'REDEEM' | 'REWARD' | 'CONVERSION';
|
|
37
37
|
side: 'BUY' | 'SELL';
|
|
38
38
|
size: number;
|
|
39
39
|
price: number;
|
|
@@ -70,23 +70,60 @@ export interface Trade {
|
|
|
70
70
|
profileImage?: string;
|
|
71
71
|
profileImageOptimized?: string;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Leaderboard entry from Polymarket Data API
|
|
75
|
+
*
|
|
76
|
+
* @see https://docs.polymarket.com/api-reference/core/get-trader-leaderboard-rankings
|
|
77
|
+
*
|
|
78
|
+
* Note: API 只返回 rank, proxyWallet, userName, vol, pnl, profileImage, xUsername, verifiedBadge
|
|
79
|
+
* positions 和 trades 字段 API 通常返回 null,需要调用 Profile API 获取详细数据
|
|
80
|
+
*/
|
|
73
81
|
export interface LeaderboardEntry {
|
|
82
|
+
/** 钱包地址 (从 proxyWallet 标准化) */
|
|
74
83
|
address: string;
|
|
84
|
+
/** 排名 (从 string 转为 number) */
|
|
75
85
|
rank: number;
|
|
86
|
+
/** 盈亏 (USDC) */
|
|
76
87
|
pnl: number;
|
|
88
|
+
/** 交易量 (USDC, 从 vol 重命名) */
|
|
77
89
|
volume: number;
|
|
90
|
+
/** 用户名 */
|
|
78
91
|
userName?: string;
|
|
92
|
+
/** Twitter 用户名 */
|
|
79
93
|
xUsername?: string;
|
|
94
|
+
/** 是否已验证 */
|
|
80
95
|
verifiedBadge?: boolean;
|
|
96
|
+
/** 头像 URL */
|
|
81
97
|
profileImage?: string;
|
|
98
|
+
/** 持仓数量 (API 通常返回 null,需要 Profile API) */
|
|
82
99
|
positions?: number;
|
|
100
|
+
/** 交易次数 (API 通常返回 null,需要 Profile API) */
|
|
83
101
|
trades?: number;
|
|
84
102
|
}
|
|
85
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Leaderboard result from Polymarket Data API
|
|
105
|
+
*
|
|
106
|
+
* @see https://docs.polymarket.com/api-reference/core/get-trader-leaderboard-rankings
|
|
107
|
+
*
|
|
108
|
+
* ## 设计说明
|
|
109
|
+
* Polymarket API 返回纯数组,不包含分页元数据 (无 total, offset, limit)。
|
|
110
|
+
* 本接口添加辅助字段以方便前端分页:
|
|
111
|
+
* - `hasMore`: 推断值,当 entries.length === request.limit 时为 true
|
|
112
|
+
* - `request`: 请求参数回显,方便计算页码
|
|
113
|
+
*
|
|
114
|
+
* ## 为什么不返回 total?
|
|
115
|
+
* 因为 API 不提供,我们不伪造。用 hasMore 来判断是否有下一页。
|
|
116
|
+
*/
|
|
117
|
+
export interface LeaderboardResult {
|
|
118
|
+
/** API 返回的排行榜条目 */
|
|
86
119
|
entries: LeaderboardEntry[];
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
120
|
+
/** 是否可能有更多数据 (entries.length === request.limit) */
|
|
121
|
+
hasMore: boolean;
|
|
122
|
+
/** 请求参数回显,方便前端分页计算 */
|
|
123
|
+
request: {
|
|
124
|
+
offset: number;
|
|
125
|
+
limit: number;
|
|
126
|
+
};
|
|
90
127
|
}
|
|
91
128
|
/**
|
|
92
129
|
* Time period for leaderboard filtering
|
|
@@ -190,6 +227,10 @@ export interface TradesParams {
|
|
|
190
227
|
filterAmount?: number;
|
|
191
228
|
/** Trade side filter */
|
|
192
229
|
side?: 'BUY' | 'SELL';
|
|
230
|
+
/** Start timestamp (Unix milliseconds) - filter trades after this time */
|
|
231
|
+
startTimestamp?: number;
|
|
232
|
+
/** End timestamp (Unix milliseconds) - filter trades before this time */
|
|
233
|
+
endTimestamp?: number;
|
|
193
234
|
}
|
|
194
235
|
/**
|
|
195
236
|
* Closed positions query parameters
|
|
@@ -333,15 +374,24 @@ export declare class DataApiClient {
|
|
|
333
374
|
/**
|
|
334
375
|
* Get all activity for a wallet (auto-pagination)
|
|
335
376
|
*
|
|
377
|
+
* **⚠️ IMPORTANT: API Limitation**
|
|
378
|
+
* The Polymarket API has a hard offset limit of 10,000. This means:
|
|
379
|
+
* - Maximum ~10,500 records can be retrieved via offset pagination
|
|
380
|
+
* - For active traders, this may only cover a few hours of history
|
|
381
|
+
* - Use `start` and `end` params for time-based filtering to access older data
|
|
382
|
+
*
|
|
336
383
|
* @param address - Wallet address
|
|
337
|
-
* @param params - Query parameters
|
|
338
|
-
* @param maxItems - Maximum items to fetch (default: 10000)
|
|
384
|
+
* @param params - Query parameters (use `start`/`end` for time filtering)
|
|
385
|
+
* @param maxItems - Maximum items to fetch (default: 10000, capped by API offset limit)
|
|
339
386
|
*
|
|
340
387
|
* @example
|
|
341
388
|
* ```typescript
|
|
342
|
-
* // Get all activity
|
|
343
|
-
* const
|
|
344
|
-
*
|
|
389
|
+
* // Get all recent activity (limited by API offset)
|
|
390
|
+
* const allActivity = await client.getAllActivity(address);
|
|
391
|
+
*
|
|
392
|
+
* // Get activity for a specific time window (recommended for complete history)
|
|
393
|
+
* const oneWeekAgo = Math.floor(Date.now() / 1000) - 7 * 24 * 60 * 60;
|
|
394
|
+
* const weekActivity = await client.getAllActivity(address, { start: oneWeekAgo });
|
|
345
395
|
* ```
|
|
346
396
|
*/
|
|
347
397
|
getAllActivity(address: string, params?: Omit<ActivityParams, 'offset' | 'limit'>, maxItems?: number): Promise<Activity[]>;
|
|
@@ -372,10 +422,34 @@ export declare class DataApiClient {
|
|
|
372
422
|
*/
|
|
373
423
|
getTradesByUser(address: string, params?: Omit<TradesParams, 'user'>): Promise<Trade[]>;
|
|
374
424
|
/**
|
|
375
|
-
*
|
|
425
|
+
* Fetch leaderboard entries from Polymarket Data API
|
|
426
|
+
*
|
|
427
|
+
* @see https://docs.polymarket.com/api-reference/core/get-trader-leaderboard-rankings
|
|
428
|
+
*
|
|
429
|
+
* ## API 返回字段
|
|
430
|
+
* 原始 API 只返回以下字段:
|
|
431
|
+
* - rank (string) - 排名
|
|
432
|
+
* - proxyWallet (string) - 钱包地址
|
|
433
|
+
* - userName (string) - 用户名
|
|
434
|
+
* - vol (number) - 交易量
|
|
435
|
+
* - pnl (number) - 盈亏
|
|
436
|
+
* - profileImage (string) - 头像 URL
|
|
437
|
+
* - xUsername (string | null) - Twitter 用户名
|
|
438
|
+
* - verifiedBadge (boolean) - 是否已验证
|
|
439
|
+
*
|
|
440
|
+
* ## API 不返回的字段
|
|
441
|
+
* 以下字段需要调用 Profile API 获取:
|
|
442
|
+
* - tradeCount, buyCount, sellCount
|
|
443
|
+
* - positionCount, winRate
|
|
444
|
+
* - unrealizedPnl (需要从 positions 计算)
|
|
445
|
+
*
|
|
446
|
+
* ## 分页说明
|
|
447
|
+
* - API 返回纯数组,无 total 字段
|
|
448
|
+
* - hasMore 是推断值: entries.length === limit 时为 true
|
|
449
|
+
* - request 是请求参数回显,方便前端分页
|
|
376
450
|
*
|
|
377
451
|
* @param params - Query parameters
|
|
378
|
-
* @param params.timePeriod - Time period: 'DAY', 'WEEK', 'MONTH', 'ALL' (default: 'ALL'
|
|
452
|
+
* @param params.timePeriod - Time period: 'DAY', 'WEEK', 'MONTH', 'ALL' (default: 'ALL')
|
|
379
453
|
* @param params.orderBy - Order by: 'PNL', 'VOL' (default: 'PNL')
|
|
380
454
|
* @param params.category - Category filter (default: 'OVERALL')
|
|
381
455
|
* @param params.limit - Max entries per page (1-50, default: 50)
|
|
@@ -383,17 +457,17 @@ export declare class DataApiClient {
|
|
|
383
457
|
*
|
|
384
458
|
* @example
|
|
385
459
|
* ```typescript
|
|
386
|
-
* // Get
|
|
387
|
-
* const
|
|
388
|
-
*
|
|
389
|
-
* //
|
|
390
|
-
*
|
|
460
|
+
* // Get this week's top traders by PnL
|
|
461
|
+
* const result = await client.fetchLeaderboard({ timePeriod: 'WEEK', limit: 20 });
|
|
462
|
+
* console.log(result.entries); // actual traders from API
|
|
463
|
+
* console.log(result.hasMore); // true if may have more data
|
|
464
|
+
* console.log(result.request); // { offset: 0, limit: 20 }
|
|
391
465
|
*
|
|
392
|
-
* //
|
|
393
|
-
* const
|
|
466
|
+
* // Pagination
|
|
467
|
+
* const page2 = await client.fetchLeaderboard({ timePeriod: 'WEEK', limit: 20, offset: 20 });
|
|
394
468
|
* ```
|
|
395
469
|
*/
|
|
396
|
-
|
|
470
|
+
fetchLeaderboard(params?: LeaderboardParams): Promise<LeaderboardResult>;
|
|
397
471
|
/**
|
|
398
472
|
* Get all leaderboard entries up to a max count
|
|
399
473
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-api.d.ts","sourceRoot":"","sources":["../../../src/clients/data-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,28 +180,43 @@ export class DataApiClient {
|
|
|
180
180
|
/**
|
|
181
181
|
* Get all activity for a wallet (auto-pagination)
|
|
182
182
|
*
|
|
183
|
+
* **⚠️ IMPORTANT: API Limitation**
|
|
184
|
+
* The Polymarket API has a hard offset limit of 10,000. This means:
|
|
185
|
+
* - Maximum ~10,500 records can be retrieved via offset pagination
|
|
186
|
+
* - For active traders, this may only cover a few hours of history
|
|
187
|
+
* - Use `start` and `end` params for time-based filtering to access older data
|
|
188
|
+
*
|
|
183
189
|
* @param address - Wallet address
|
|
184
|
-
* @param params - Query parameters
|
|
185
|
-
* @param maxItems - Maximum items to fetch (default: 10000)
|
|
190
|
+
* @param params - Query parameters (use `start`/`end` for time filtering)
|
|
191
|
+
* @param maxItems - Maximum items to fetch (default: 10000, capped by API offset limit)
|
|
186
192
|
*
|
|
187
193
|
* @example
|
|
188
194
|
* ```typescript
|
|
189
|
-
* // Get all activity
|
|
190
|
-
* const
|
|
191
|
-
*
|
|
195
|
+
* // Get all recent activity (limited by API offset)
|
|
196
|
+
* const allActivity = await client.getAllActivity(address);
|
|
197
|
+
*
|
|
198
|
+
* // Get activity for a specific time window (recommended for complete history)
|
|
199
|
+
* const oneWeekAgo = Math.floor(Date.now() / 1000) - 7 * 24 * 60 * 60;
|
|
200
|
+
* const weekActivity = await client.getAllActivity(address, { start: oneWeekAgo });
|
|
192
201
|
* ```
|
|
193
202
|
*/
|
|
194
203
|
async getAllActivity(address, params, maxItems = 10000) {
|
|
195
204
|
const all = [];
|
|
196
205
|
const limit = 500; // Max allowed by API
|
|
206
|
+
const API_OFFSET_LIMIT = 10000; // Hard limit from Polymarket API
|
|
197
207
|
let offset = 0;
|
|
198
|
-
while (all.length < maxItems) {
|
|
208
|
+
while (all.length < maxItems && offset < API_OFFSET_LIMIT) {
|
|
199
209
|
const page = await this.getActivity(address, { ...params, limit, offset });
|
|
200
210
|
all.push(...page);
|
|
201
211
|
if (page.length < limit)
|
|
202
212
|
break; // No more data
|
|
203
213
|
offset += limit;
|
|
204
214
|
}
|
|
215
|
+
// Warn if we hit the API offset limit
|
|
216
|
+
if (offset >= API_OFFSET_LIMIT && all.length >= API_OFFSET_LIMIT) {
|
|
217
|
+
console.warn(`[DataApiClient] Hit API offset limit (${API_OFFSET_LIMIT}). ` +
|
|
218
|
+
'Use time filtering (start/end params) to access older activity data.');
|
|
219
|
+
}
|
|
205
220
|
return all.slice(0, maxItems);
|
|
206
221
|
}
|
|
207
222
|
// ===== Trade-related =====
|
|
@@ -225,7 +240,11 @@ export class DataApiClient {
|
|
|
225
240
|
async getTrades(params) {
|
|
226
241
|
return this.rateLimiter.execute(ApiType.DATA_API, async () => {
|
|
227
242
|
const query = new URLSearchParams();
|
|
228
|
-
|
|
243
|
+
// Request more if we need to filter by time (to ensure we get enough after filtering)
|
|
244
|
+
const requestLimit = (params?.startTimestamp || params?.endTimestamp)
|
|
245
|
+
? Math.min((params?.limit ?? 500) * 3, 1000)
|
|
246
|
+
: (params?.limit ?? 500);
|
|
247
|
+
query.set('limit', String(requestLimit));
|
|
229
248
|
// Basic filters
|
|
230
249
|
if (params?.market)
|
|
231
250
|
query.set('market', params.market);
|
|
@@ -245,7 +264,19 @@ export class DataApiClient {
|
|
|
245
264
|
if (!response.ok)
|
|
246
265
|
throw PolymarketError.fromHttpError(response.status, await response.json().catch(() => null));
|
|
247
266
|
const data = (await response.json());
|
|
248
|
-
|
|
267
|
+
let trades = this.normalizeTrades(data);
|
|
268
|
+
// Apply timestamp filters client-side (API may not support these directly)
|
|
269
|
+
if (params?.startTimestamp) {
|
|
270
|
+
trades = trades.filter(t => t.timestamp >= params.startTimestamp);
|
|
271
|
+
}
|
|
272
|
+
if (params?.endTimestamp) {
|
|
273
|
+
trades = trades.filter(t => t.timestamp <= params.endTimestamp);
|
|
274
|
+
}
|
|
275
|
+
// Apply limit after filtering
|
|
276
|
+
if (params?.limit && trades.length > params.limit) {
|
|
277
|
+
trades = trades.slice(0, params.limit);
|
|
278
|
+
}
|
|
279
|
+
return trades;
|
|
249
280
|
});
|
|
250
281
|
}
|
|
251
282
|
/**
|
|
@@ -262,10 +293,34 @@ export class DataApiClient {
|
|
|
262
293
|
}
|
|
263
294
|
// ===== Leaderboard =====
|
|
264
295
|
/**
|
|
265
|
-
*
|
|
296
|
+
* Fetch leaderboard entries from Polymarket Data API
|
|
297
|
+
*
|
|
298
|
+
* @see https://docs.polymarket.com/api-reference/core/get-trader-leaderboard-rankings
|
|
299
|
+
*
|
|
300
|
+
* ## API 返回字段
|
|
301
|
+
* 原始 API 只返回以下字段:
|
|
302
|
+
* - rank (string) - 排名
|
|
303
|
+
* - proxyWallet (string) - 钱包地址
|
|
304
|
+
* - userName (string) - 用户名
|
|
305
|
+
* - vol (number) - 交易量
|
|
306
|
+
* - pnl (number) - 盈亏
|
|
307
|
+
* - profileImage (string) - 头像 URL
|
|
308
|
+
* - xUsername (string | null) - Twitter 用户名
|
|
309
|
+
* - verifiedBadge (boolean) - 是否已验证
|
|
310
|
+
*
|
|
311
|
+
* ## API 不返回的字段
|
|
312
|
+
* 以下字段需要调用 Profile API 获取:
|
|
313
|
+
* - tradeCount, buyCount, sellCount
|
|
314
|
+
* - positionCount, winRate
|
|
315
|
+
* - unrealizedPnl (需要从 positions 计算)
|
|
316
|
+
*
|
|
317
|
+
* ## 分页说明
|
|
318
|
+
* - API 返回纯数组,无 total 字段
|
|
319
|
+
* - hasMore 是推断值: entries.length === limit 时为 true
|
|
320
|
+
* - request 是请求参数回显,方便前端分页
|
|
266
321
|
*
|
|
267
322
|
* @param params - Query parameters
|
|
268
|
-
* @param params.timePeriod - Time period: 'DAY', 'WEEK', 'MONTH', 'ALL' (default: 'ALL'
|
|
323
|
+
* @param params.timePeriod - Time period: 'DAY', 'WEEK', 'MONTH', 'ALL' (default: 'ALL')
|
|
269
324
|
* @param params.orderBy - Order by: 'PNL', 'VOL' (default: 'PNL')
|
|
270
325
|
* @param params.category - Category filter (default: 'OVERALL')
|
|
271
326
|
* @param params.limit - Max entries per page (1-50, default: 50)
|
|
@@ -273,19 +328,18 @@ export class DataApiClient {
|
|
|
273
328
|
*
|
|
274
329
|
* @example
|
|
275
330
|
* ```typescript
|
|
276
|
-
* // Get
|
|
277
|
-
* const
|
|
278
|
-
*
|
|
279
|
-
* //
|
|
280
|
-
*
|
|
331
|
+
* // Get this week's top traders by PnL
|
|
332
|
+
* const result = await client.fetchLeaderboard({ timePeriod: 'WEEK', limit: 20 });
|
|
333
|
+
* console.log(result.entries); // actual traders from API
|
|
334
|
+
* console.log(result.hasMore); // true if may have more data
|
|
335
|
+
* console.log(result.request); // { offset: 0, limit: 20 }
|
|
281
336
|
*
|
|
282
|
-
* //
|
|
283
|
-
* const
|
|
337
|
+
* // Pagination
|
|
338
|
+
* const page2 = await client.fetchLeaderboard({ timePeriod: 'WEEK', limit: 20, offset: 20 });
|
|
284
339
|
* ```
|
|
285
340
|
*/
|
|
286
|
-
async
|
|
287
|
-
const { timePeriod = 'ALL',
|
|
288
|
-
orderBy = 'PNL', category = 'OVERALL', limit = 50, offset = 0, user, userName, } = params || {};
|
|
341
|
+
async fetchLeaderboard(params) {
|
|
342
|
+
const { timePeriod = 'ALL', orderBy = 'PNL', category = 'OVERALL', limit = 50, offset = 0, user, userName, } = params || {};
|
|
289
343
|
const cacheKey = `leaderboard:${timePeriod}:${orderBy}:${category}:${offset}:${limit}`;
|
|
290
344
|
return this.cache.getOrSet(cacheKey, CACHE_TTL.LEADERBOARD, async () => {
|
|
291
345
|
const query = new URLSearchParams({
|
|
@@ -307,9 +361,8 @@ export class DataApiClient {
|
|
|
307
361
|
const entries = this.normalizeLeaderboardEntries(data);
|
|
308
362
|
return {
|
|
309
363
|
entries,
|
|
310
|
-
|
|
311
|
-
offset,
|
|
312
|
-
limit,
|
|
364
|
+
hasMore: entries.length === limit,
|
|
365
|
+
request: { offset, limit },
|
|
313
366
|
};
|
|
314
367
|
});
|
|
315
368
|
});
|
|
@@ -322,9 +375,9 @@ export class DataApiClient {
|
|
|
322
375
|
let offset = 0;
|
|
323
376
|
const limit = 50;
|
|
324
377
|
while (all.length < maxEntries) {
|
|
325
|
-
const
|
|
326
|
-
all.push(...
|
|
327
|
-
if (
|
|
378
|
+
const result = await this.fetchLeaderboard({ limit, offset });
|
|
379
|
+
all.push(...result.entries);
|
|
380
|
+
if (!result.hasMore)
|
|
328
381
|
break;
|
|
329
382
|
offset += limit;
|
|
330
383
|
}
|
|
@@ -404,11 +457,9 @@ export class DataApiClient {
|
|
|
404
457
|
asset: String(p.asset || ''),
|
|
405
458
|
conditionId: String(p.conditionId || ''),
|
|
406
459
|
outcome: String(p.outcome || ''),
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
? 0
|
|
411
|
-
: 1,
|
|
460
|
+
// Only use outcomeIndex if provided by API - don't infer from outcome name
|
|
461
|
+
// (non-binary markets have arbitrary outcome names)
|
|
462
|
+
outcomeIndex: typeof p.outcomeIndex === 'number' ? p.outcomeIndex : 0,
|
|
412
463
|
// Position data
|
|
413
464
|
size: Number(p.size),
|
|
414
465
|
avgPrice: Number(p.avgPrice),
|
|
@@ -459,11 +510,8 @@ export class DataApiClient {
|
|
|
459
510
|
icon: p.icon !== undefined ? String(p.icon) : undefined,
|
|
460
511
|
eventSlug: p.eventSlug !== undefined ? String(p.eventSlug) : undefined,
|
|
461
512
|
outcome: String(p.outcome || ''),
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
: p.outcome === 'Yes'
|
|
465
|
-
? 0
|
|
466
|
-
: 1,
|
|
513
|
+
// Only use outcomeIndex if provided by API - don't infer from outcome name
|
|
514
|
+
outcomeIndex: typeof p.outcomeIndex === 'number' ? p.outcomeIndex : 0,
|
|
467
515
|
oppositeOutcome: p.oppositeOutcome !== undefined ? String(p.oppositeOutcome) : undefined,
|
|
468
516
|
oppositeAsset: p.oppositeAsset !== undefined ? String(p.oppositeAsset) : undefined,
|
|
469
517
|
endDate: p.endDate !== undefined ? String(p.endDate) : undefined,
|
|
@@ -516,11 +564,8 @@ export class DataApiClient {
|
|
|
516
564
|
price: Number(t.price),
|
|
517
565
|
size: Number(t.size),
|
|
518
566
|
outcome: String(t.outcome || ''),
|
|
519
|
-
outcomeIndex
|
|
520
|
-
|
|
521
|
-
: t.outcome === 'Yes'
|
|
522
|
-
? 0
|
|
523
|
-
: 1,
|
|
567
|
+
// Only use outcomeIndex if provided by API - don't infer from outcome name
|
|
568
|
+
outcomeIndex: typeof t.outcomeIndex === 'number' ? t.outcomeIndex : 0,
|
|
524
569
|
// Transaction info
|
|
525
570
|
timestamp: this.normalizeTimestamp(t.timestamp),
|
|
526
571
|
transactionHash: String(t.transactionHash || ''),
|
|
@@ -576,17 +621,39 @@ export class DataApiClient {
|
|
|
576
621
|
normalizeHolders(data) {
|
|
577
622
|
if (!Array.isArray(data))
|
|
578
623
|
return [];
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
624
|
+
// The API returns grouped by token: [{ token, holders: [...] }, { token, holders: [...] }]
|
|
625
|
+
// We need to flatten this and normalize each holder
|
|
626
|
+
const result = [];
|
|
627
|
+
for (const item of data) {
|
|
628
|
+
const tokenGroup = item;
|
|
629
|
+
// Check if this is the grouped format (has 'holders' array)
|
|
630
|
+
if (Array.isArray(tokenGroup.holders)) {
|
|
631
|
+
for (const holder of tokenGroup.holders) {
|
|
632
|
+
result.push({
|
|
633
|
+
proxyWallet: String(holder.proxyWallet || holder.address || ''),
|
|
634
|
+
size: Number(holder.amount || holder.size) || 0,
|
|
635
|
+
// Map outcomeIndex to outcome name (0 = Yes/Up, 1 = No/Down)
|
|
636
|
+
outcome: holder.outcomeIndex === 0 ? 'Yes' : holder.outcomeIndex === 1 ? 'No' : String(holder.outcome || ''),
|
|
637
|
+
value: holder.value !== undefined ? Number(holder.value) : undefined,
|
|
638
|
+
userName: holder.name !== undefined ? String(holder.name) : (holder.userName !== undefined ? String(holder.userName) : undefined),
|
|
639
|
+
profileImage: holder.profileImage !== undefined ? String(holder.profileImage) : undefined,
|
|
640
|
+
});
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
else {
|
|
644
|
+
// Fallback: flat format (for backwards compatibility)
|
|
645
|
+
const h = tokenGroup;
|
|
646
|
+
result.push({
|
|
647
|
+
proxyWallet: String(h.proxyWallet || h.address || ''),
|
|
648
|
+
size: Number(h.amount || h.size) || 0,
|
|
649
|
+
outcome: h.outcomeIndex === 0 ? 'Yes' : h.outcomeIndex === 1 ? 'No' : String(h.outcome || ''),
|
|
650
|
+
value: h.value !== undefined ? Number(h.value) : undefined,
|
|
651
|
+
userName: h.name !== undefined ? String(h.name) : (h.userName !== undefined ? String(h.userName) : undefined),
|
|
652
|
+
profileImage: h.profileImage !== undefined ? String(h.profileImage) : undefined,
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
return result;
|
|
590
657
|
}
|
|
591
658
|
}
|
|
592
659
|
//# sourceMappingURL=data-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-api.js","sourceRoot":"","sources":["../../../src/clients/data-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,6 +118,21 @@ export interface GammaMarket {
|
|
|
118
118
|
* Market end/resolution date
|
|
119
119
|
*/
|
|
120
120
|
endDate: Date;
|
|
121
|
+
/**
|
|
122
|
+
* When the market was created
|
|
123
|
+
* @remarks For crypto 15m markets, this is ~24h before trading starts
|
|
124
|
+
*/
|
|
125
|
+
createdAt?: Date;
|
|
126
|
+
/**
|
|
127
|
+
* When the market became ready (NOT trading start time!)
|
|
128
|
+
* @remarks For crypto 15m markets, this is close to createdAt.
|
|
129
|
+
* The actual trading start time should be parsed from the slug.
|
|
130
|
+
*/
|
|
131
|
+
startDate?: Date;
|
|
132
|
+
/**
|
|
133
|
+
* When the market started accepting orders
|
|
134
|
+
*/
|
|
135
|
+
acceptingOrdersTimestamp?: Date;
|
|
121
136
|
/**
|
|
122
137
|
* Whether the market is currently active
|
|
123
138
|
*/
|
|
@@ -139,6 +154,60 @@ export interface GammaMarket {
|
|
|
139
154
|
*/
|
|
140
155
|
tags?: string[];
|
|
141
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Tag information from the Gamma API Tags endpoint
|
|
159
|
+
*
|
|
160
|
+
* @remarks
|
|
161
|
+
* Tags are used to categorize and filter markets. Note that the API only
|
|
162
|
+
* provides the tag metadata - type classification (person, asset, topic, etc.)
|
|
163
|
+
* and colors need to be maintained locally.
|
|
164
|
+
*
|
|
165
|
+
* @see {@link https://docs.polymarket.com/api-reference/tags/list-tags Tags API}
|
|
166
|
+
*/
|
|
167
|
+
export interface GammaTag {
|
|
168
|
+
/**
|
|
169
|
+
* Unique tag identifier (string, e.g., "235")
|
|
170
|
+
*/
|
|
171
|
+
id: string;
|
|
172
|
+
/**
|
|
173
|
+
* Display label for the tag
|
|
174
|
+
* @example "Bitcoin", "Trump", "Politics"
|
|
175
|
+
*/
|
|
176
|
+
label: string;
|
|
177
|
+
/**
|
|
178
|
+
* URL-friendly identifier
|
|
179
|
+
* @example "bitcoin", "trump", "politics"
|
|
180
|
+
*/
|
|
181
|
+
slug: string;
|
|
182
|
+
/**
|
|
183
|
+
* When the tag was created
|
|
184
|
+
*/
|
|
185
|
+
createdAt: Date;
|
|
186
|
+
/**
|
|
187
|
+
* When the tag was last updated
|
|
188
|
+
*/
|
|
189
|
+
updatedAt: Date;
|
|
190
|
+
/**
|
|
191
|
+
* When the tag was published (optional)
|
|
192
|
+
*/
|
|
193
|
+
publishedAt?: Date;
|
|
194
|
+
/**
|
|
195
|
+
* Force show this tag in UI (optional)
|
|
196
|
+
*/
|
|
197
|
+
forceShow?: boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Force hide this tag from UI (optional)
|
|
200
|
+
*/
|
|
201
|
+
forceHide?: boolean;
|
|
202
|
+
/**
|
|
203
|
+
* ID of the user who last updated (optional)
|
|
204
|
+
*/
|
|
205
|
+
updatedBy?: number;
|
|
206
|
+
/**
|
|
207
|
+
* Whether the tag needs translation
|
|
208
|
+
*/
|
|
209
|
+
requiresTranslation: boolean;
|
|
210
|
+
}
|
|
142
211
|
/**
|
|
143
212
|
* Event grouping from the Gamma API
|
|
144
213
|
*
|
|
@@ -217,6 +286,11 @@ export interface MarketSearchParams {
|
|
|
217
286
|
* Sort direction (true = ascending, false = descending)
|
|
218
287
|
*/
|
|
219
288
|
ascending?: boolean;
|
|
289
|
+
/**
|
|
290
|
+
* Filter by tag (e.g., "15-min", "5-min", "hourly", "daily")
|
|
291
|
+
* Used for recurring short-term markets
|
|
292
|
+
*/
|
|
293
|
+
tag?: string;
|
|
220
294
|
}
|
|
221
295
|
/**
|
|
222
296
|
* Gamma API client for market discovery and metadata
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gamma-api.d.ts","sourceRoot":"","sources":["../../../src/clients/gamma-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,8 @@ export class GammaApiClient {
|
|
|
124
124
|
query.set('order', params.order);
|
|
125
125
|
if (params?.ascending !== undefined)
|
|
126
126
|
query.set('ascending', String(params.ascending));
|
|
127
|
+
if (params?.tag)
|
|
128
|
+
query.set('tag', params.tag);
|
|
127
129
|
return this.rateLimiter.execute(ApiType.GAMMA_API, async () => {
|
|
128
130
|
const response = await fetch(`${GAMMA_API_BASE}/markets?${query}`);
|
|
129
131
|
if (!response.ok)
|
|
@@ -313,6 +315,11 @@ export class GammaApiClient {
|
|
|
313
315
|
bestBid: m.bestBid !== undefined ? Number(m.bestBid) : undefined,
|
|
314
316
|
bestAsk: m.bestAsk !== undefined ? Number(m.bestAsk) : undefined,
|
|
315
317
|
endDate: new Date(String(m.endDate || Date.now())),
|
|
318
|
+
createdAt: m.createdAt ? new Date(String(m.createdAt)) : undefined,
|
|
319
|
+
startDate: m.startDate ? new Date(String(m.startDate)) : undefined,
|
|
320
|
+
acceptingOrdersTimestamp: m.acceptingOrdersTimestamp
|
|
321
|
+
? new Date(String(m.acceptingOrdersTimestamp))
|
|
322
|
+
: undefined,
|
|
316
323
|
active: Boolean(m.active),
|
|
317
324
|
closed: Boolean(m.closed),
|
|
318
325
|
image: m.image ? String(m.image) : undefined,
|