@catalyst-team/poly-sdk 0.1.0 → 0.2.0

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.
Files changed (201) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +538 -0
  3. package/README.md +357 -78
  4. package/docs/00-design.md +1 -1
  5. package/docs/02-API.md +21 -21
  6. package/docs/arb/test-plan.md +387 -0
  7. package/docs/arb/test-results.md +336 -0
  8. package/docs/arbitrage.md +754 -0
  9. package/docs/reports/smart-money-analysis-2025-12-23-cn.md +840 -0
  10. package/examples/13-arbitrage-service.ts +211 -0
  11. package/examples/README.md +1 -1
  12. package/package.json +19 -19
  13. package/scripts/arb/faze-bo3-arb.ts +385 -0
  14. package/scripts/arb/settle-position.ts +190 -0
  15. package/scripts/arb/token-rebalancer.ts +420 -0
  16. package/scripts/arb-tests/01-unit-tests.ts +495 -0
  17. package/scripts/arb-tests/02-integration-tests.ts +412 -0
  18. package/scripts/arb-tests/03-e2e-tests.ts +503 -0
  19. package/scripts/arb-tests/README.md +109 -0
  20. package/scripts/verify/verify-all-apis.ts +1 -1
  21. package/src/clients/clob-api.ts +1 -1
  22. package/src/clients/gamma-api.ts +1 -1
  23. package/src/core/cache-adapter-bridge.ts +1 -1
  24. package/src/core/types.ts +3 -3
  25. package/src/core/unified-cache.ts +1 -1
  26. package/src/index.ts +25 -19
  27. package/src/services/arbitrage-service.ts +1807 -0
  28. package/.env +0 -0
  29. package/dist/__tests__/clob-api.test.d.ts +0 -5
  30. package/dist/__tests__/clob-api.test.d.ts.map +0 -1
  31. package/dist/__tests__/clob-api.test.js +0 -240
  32. package/dist/__tests__/clob-api.test.js.map +0 -1
  33. package/dist/__tests__/integration/bridge-client.integration.test.d.ts +0 -11
  34. package/dist/__tests__/integration/bridge-client.integration.test.d.ts.map +0 -1
  35. package/dist/__tests__/integration/bridge-client.integration.test.js +0 -260
  36. package/dist/__tests__/integration/bridge-client.integration.test.js.map +0 -1
  37. package/dist/__tests__/integration/clob-api.integration.test.d.ts +0 -13
  38. package/dist/__tests__/integration/clob-api.integration.test.d.ts.map +0 -1
  39. package/dist/__tests__/integration/clob-api.integration.test.js +0 -170
  40. package/dist/__tests__/integration/clob-api.integration.test.js.map +0 -1
  41. package/dist/__tests__/integration/ctf-client.integration.test.d.ts +0 -17
  42. package/dist/__tests__/integration/ctf-client.integration.test.d.ts.map +0 -1
  43. package/dist/__tests__/integration/ctf-client.integration.test.js +0 -234
  44. package/dist/__tests__/integration/ctf-client.integration.test.js.map +0 -1
  45. package/dist/__tests__/integration/data-api.integration.test.d.ts +0 -9
  46. package/dist/__tests__/integration/data-api.integration.test.d.ts.map +0 -1
  47. package/dist/__tests__/integration/data-api.integration.test.js +0 -161
  48. package/dist/__tests__/integration/data-api.integration.test.js.map +0 -1
  49. package/dist/__tests__/integration/gamma-api.integration.test.d.ts +0 -9
  50. package/dist/__tests__/integration/gamma-api.integration.test.d.ts.map +0 -1
  51. package/dist/__tests__/integration/gamma-api.integration.test.js +0 -170
  52. package/dist/__tests__/integration/gamma-api.integration.test.js.map +0 -1
  53. package/dist/__tests__/test-utils.d.ts +0 -92
  54. package/dist/__tests__/test-utils.d.ts.map +0 -1
  55. package/dist/__tests__/test-utils.js +0 -143
  56. package/dist/__tests__/test-utils.js.map +0 -1
  57. package/dist/clients/bridge-client.d.ts +0 -388
  58. package/dist/clients/bridge-client.d.ts.map +0 -1
  59. package/dist/clients/bridge-client.js +0 -587
  60. package/dist/clients/bridge-client.js.map +0 -1
  61. package/dist/clients/clob-api.d.ts +0 -318
  62. package/dist/clients/clob-api.d.ts.map +0 -1
  63. package/dist/clients/clob-api.js +0 -388
  64. package/dist/clients/clob-api.js.map +0 -1
  65. package/dist/clients/ctf-client.d.ts +0 -473
  66. package/dist/clients/ctf-client.d.ts.map +0 -1
  67. package/dist/clients/ctf-client.js +0 -915
  68. package/dist/clients/ctf-client.js.map +0 -1
  69. package/dist/clients/data-api.d.ts +0 -134
  70. package/dist/clients/data-api.d.ts.map +0 -1
  71. package/dist/clients/data-api.js +0 -265
  72. package/dist/clients/data-api.js.map +0 -1
  73. package/dist/clients/gamma-api.d.ts +0 -401
  74. package/dist/clients/gamma-api.d.ts.map +0 -1
  75. package/dist/clients/gamma-api.js +0 -352
  76. package/dist/clients/gamma-api.js.map +0 -1
  77. package/dist/clients/trading-client.d.ts +0 -252
  78. package/dist/clients/trading-client.d.ts.map +0 -1
  79. package/dist/clients/trading-client.js +0 -543
  80. package/dist/clients/trading-client.js.map +0 -1
  81. package/dist/clients/websocket-manager.d.ts +0 -100
  82. package/dist/clients/websocket-manager.d.ts.map +0 -1
  83. package/dist/clients/websocket-manager.js +0 -193
  84. package/dist/clients/websocket-manager.js.map +0 -1
  85. package/dist/core/cache-adapter-bridge.d.ts +0 -36
  86. package/dist/core/cache-adapter-bridge.d.ts.map +0 -1
  87. package/dist/core/cache-adapter-bridge.js +0 -81
  88. package/dist/core/cache-adapter-bridge.js.map +0 -1
  89. package/dist/core/cache.d.ts +0 -40
  90. package/dist/core/cache.d.ts.map +0 -1
  91. package/dist/core/cache.js +0 -71
  92. package/dist/core/cache.js.map +0 -1
  93. package/dist/core/errors.d.ts +0 -38
  94. package/dist/core/errors.d.ts.map +0 -1
  95. package/dist/core/errors.js +0 -84
  96. package/dist/core/errors.js.map +0 -1
  97. package/dist/core/rate-limiter.d.ts +0 -31
  98. package/dist/core/rate-limiter.d.ts.map +0 -1
  99. package/dist/core/rate-limiter.js +0 -70
  100. package/dist/core/rate-limiter.js.map +0 -1
  101. package/dist/core/types.d.ts +0 -314
  102. package/dist/core/types.d.ts.map +0 -1
  103. package/dist/core/types.js +0 -19
  104. package/dist/core/types.js.map +0 -1
  105. package/dist/core/unified-cache.d.ts +0 -63
  106. package/dist/core/unified-cache.d.ts.map +0 -1
  107. package/dist/core/unified-cache.js +0 -114
  108. package/dist/core/unified-cache.js.map +0 -1
  109. package/dist/index.d.ts +0 -94
  110. package/dist/index.d.ts.map +0 -1
  111. package/dist/index.js +0 -258
  112. package/dist/index.js.map +0 -1
  113. package/dist/mcp/errors.d.ts +0 -33
  114. package/dist/mcp/errors.d.ts.map +0 -1
  115. package/dist/mcp/errors.js +0 -86
  116. package/dist/mcp/errors.js.map +0 -1
  117. package/dist/mcp/index.d.ts +0 -62
  118. package/dist/mcp/index.d.ts.map +0 -1
  119. package/dist/mcp/index.js +0 -173
  120. package/dist/mcp/index.js.map +0 -1
  121. package/dist/mcp/server.d.ts +0 -17
  122. package/dist/mcp/server.d.ts.map +0 -1
  123. package/dist/mcp/server.js +0 -155
  124. package/dist/mcp/server.js.map +0 -1
  125. package/dist/mcp/tools/guide.d.ts +0 -12
  126. package/dist/mcp/tools/guide.d.ts.map +0 -1
  127. package/dist/mcp/tools/guide.js +0 -801
  128. package/dist/mcp/tools/guide.js.map +0 -1
  129. package/dist/mcp/tools/index.d.ts +0 -11
  130. package/dist/mcp/tools/index.d.ts.map +0 -1
  131. package/dist/mcp/tools/index.js +0 -27
  132. package/dist/mcp/tools/index.js.map +0 -1
  133. package/dist/mcp/tools/market.d.ts +0 -11
  134. package/dist/mcp/tools/market.d.ts.map +0 -1
  135. package/dist/mcp/tools/market.js +0 -314
  136. package/dist/mcp/tools/market.js.map +0 -1
  137. package/dist/mcp/tools/order.d.ts +0 -10
  138. package/dist/mcp/tools/order.d.ts.map +0 -1
  139. package/dist/mcp/tools/order.js +0 -258
  140. package/dist/mcp/tools/order.js.map +0 -1
  141. package/dist/mcp/tools/trade.d.ts +0 -38
  142. package/dist/mcp/tools/trade.d.ts.map +0 -1
  143. package/dist/mcp/tools/trade.js +0 -314
  144. package/dist/mcp/tools/trade.js.map +0 -1
  145. package/dist/mcp/tools/trader.d.ts +0 -11
  146. package/dist/mcp/tools/trader.d.ts.map +0 -1
  147. package/dist/mcp/tools/trader.js +0 -277
  148. package/dist/mcp/tools/trader.js.map +0 -1
  149. package/dist/mcp/tools/wallet.d.ts +0 -274
  150. package/dist/mcp/tools/wallet.d.ts.map +0 -1
  151. package/dist/mcp/tools/wallet.js +0 -579
  152. package/dist/mcp/tools/wallet.js.map +0 -1
  153. package/dist/mcp/types.d.ts +0 -413
  154. package/dist/mcp/types.d.ts.map +0 -1
  155. package/dist/mcp/types.js +0 -5
  156. package/dist/mcp/types.js.map +0 -1
  157. package/dist/services/authorization-service.d.ts +0 -97
  158. package/dist/services/authorization-service.d.ts.map +0 -1
  159. package/dist/services/authorization-service.js +0 -279
  160. package/dist/services/authorization-service.js.map +0 -1
  161. package/dist/services/market-service.d.ts +0 -108
  162. package/dist/services/market-service.d.ts.map +0 -1
  163. package/dist/services/market-service.js +0 -458
  164. package/dist/services/market-service.js.map +0 -1
  165. package/dist/services/realtime-service.d.ts +0 -82
  166. package/dist/services/realtime-service.d.ts.map +0 -1
  167. package/dist/services/realtime-service.js +0 -150
  168. package/dist/services/realtime-service.js.map +0 -1
  169. package/dist/services/swap-service.d.ts +0 -217
  170. package/dist/services/swap-service.d.ts.map +0 -1
  171. package/dist/services/swap-service.js +0 -695
  172. package/dist/services/swap-service.js.map +0 -1
  173. package/dist/services/wallet-service.d.ts +0 -94
  174. package/dist/services/wallet-service.d.ts.map +0 -1
  175. package/dist/services/wallet-service.js +0 -173
  176. package/dist/services/wallet-service.js.map +0 -1
  177. package/dist/utils/price-utils.d.ts +0 -153
  178. package/dist/utils/price-utils.d.ts.map +0 -1
  179. package/dist/utils/price-utils.js +0 -236
  180. package/dist/utils/price-utils.js.map +0 -1
  181. package/docs/01-mcp.md +0 -2041
  182. package/docs/e2e/01-trader-tools.md +0 -159
  183. package/docs/e2e/02-market-tools.md +0 -180
  184. package/docs/e2e/03-order-tools.md +0 -166
  185. package/docs/e2e/04-wallet-tools.md +0 -224
  186. package/docs/e2e/05-trading-tools.md +0 -327
  187. package/docs/e2e/06-integration-scenarios.md +0 -481
  188. package/docs/e2e/coordinator.md +0 -376
  189. package/scripts/truth.md +0 -440
  190. package/src/mcp/README.md +0 -380
  191. package/src/mcp/errors.ts +0 -124
  192. package/src/mcp/index.ts +0 -309
  193. package/src/mcp/server.ts +0 -183
  194. package/src/mcp/tools/guide.ts +0 -821
  195. package/src/mcp/tools/index.ts +0 -73
  196. package/src/mcp/tools/market.ts +0 -363
  197. package/src/mcp/tools/order.ts +0 -326
  198. package/src/mcp/tools/trade.ts +0 -417
  199. package/src/mcp/tools/trader.ts +0 -322
  200. package/src/mcp/tools/wallet.ts +0 -683
  201. package/src/mcp/types.ts +0 -472
package/dist/index.d.ts DELETED
@@ -1,94 +0,0 @@
1
- /**
2
- * @prediction-router/poly-sdk
3
- *
4
- * Unified SDK for Polymarket APIs
5
- * - Data API (positions, activity, trades, leaderboard)
6
- * - Gamma API (markets, events, trending)
7
- * - CLOB API (orderbook, market info, trading)
8
- * - Services (WalletService, MarketService)
9
- */
10
- export { RateLimiter, ApiType } from './core/rate-limiter.js';
11
- export { Cache, CACHE_TTL } from './core/cache.js';
12
- export { PolymarketError, ErrorCode, withRetry } from './core/errors.js';
13
- export * from './core/types.js';
14
- export type { UnifiedCache } from './core/unified-cache.js';
15
- export { createUnifiedCache } from './core/unified-cache.js';
16
- export { DataApiClient } from './clients/data-api.js';
17
- export type { Position, Activity, Trade, LeaderboardEntry, LeaderboardPage, } from './clients/data-api.js';
18
- export { GammaApiClient } from './clients/gamma-api.js';
19
- export type { GammaMarket, GammaEvent, MarketSearchParams, } from './clients/gamma-api.js';
20
- export { ClobApiClient } from './clients/clob-api.js';
21
- export type { ClobMarket, ClobToken, Orderbook, OrderbookLevel, } from './clients/clob-api.js';
22
- export { WalletService } from './services/wallet-service.js';
23
- export type { WalletProfile, WalletActivitySummary, SellActivityResult, } from './services/wallet-service.js';
24
- export { MarketService, getIntervalMs as getIntervalMsService } from './services/market-service.js';
25
- export { WebSocketManager } from './clients/websocket-manager.js';
26
- export type { WebSocketManagerConfig, WebSocketManagerEvents } from './clients/websocket-manager.js';
27
- export { RealtimeService } from './services/realtime-service.js';
28
- export type { Subscription, MarketSubscriptionHandlers } from './services/realtime-service.js';
29
- export { TradingClient, POLYGON_MAINNET, POLYGON_AMOY } from './clients/trading-client.js';
30
- export type { Side, OrderType, ApiCredentials, OrderParams, MarketOrderParams, Order, OrderResult, TradeInfo, TradingClientConfig, UserEarning, MarketReward, OrderScoring, } from './clients/trading-client.js';
31
- export { CTFClient, CTF_CONTRACT, USDC_CONTRACT, // USDC.e (0x2791...) - Required for CTF
32
- NATIVE_USDC_CONTRACT, // Native USDC (0x3c49...) - NOT for CTF
33
- NEG_RISK_CTF_EXCHANGE, NEG_RISK_ADAPTER, USDC_DECIMALS, calculateConditionId, parseUsdc, formatUsdc, } from './clients/ctf-client.js';
34
- export type { CTFConfig, SplitResult, MergeResult, RedeemResult, PositionBalance, MarketResolution, GasEstimate, TransactionStatus, TokenIds, } from './clients/ctf-client.js';
35
- export { RevertReason } from './clients/ctf-client.js';
36
- export { BridgeClient, SUPPORTED_CHAINS, BRIDGE_TOKENS, estimateBridgeOutput, getExplorerUrl, depositUsdc, swapAndDeposit, getSupportedDepositTokens, } from './clients/bridge-client.js';
37
- export type { BridgeSupportedAsset, DepositAddress, CreateDepositResponse, DepositStatus, BridgeConfig, DepositResult, DepositOptions, SwapAndDepositOptions, SwapAndDepositResult, } from './clients/bridge-client.js';
38
- export { SwapService, QUICKSWAP_ROUTER, POLYGON_TOKENS, TOKEN_DECIMALS, } from './services/swap-service.js';
39
- export type { SupportedToken, SwapQuote, SwapResult, TokenBalance, TransferResult, } from './services/swap-service.js';
40
- export { AuthorizationService } from './services/authorization-service.js';
41
- export type { AllowanceInfo, AllowancesResult, ApprovalTxResult, ApprovalsResult, AuthorizationServiceConfig, } from './services/authorization-service.js';
42
- export { roundPrice, roundSize, validatePrice, validateSize, calculateBuyAmount, calculateSellPayout, calculateSharesForAmount, calculateSpread, calculateMidpoint, formatPrice, formatUSDC, calculatePnL, checkArbitrage, getEffectivePrices, ROUNDING_CONFIG, } from './utils/price-utils.js';
43
- export type { TickSize } from './utils/price-utils.js';
44
- export { createMcpHandler, registerMcpTools, getToolDefinitions, allToolDefinitions, } from './mcp/index.js';
45
- export type { ToolHandler, ToolDefinition, McpErrorResponse, } from './mcp/index.js';
46
- export { McpToolError, ErrorCode as McpErrorCode } from './mcp/errors.js';
47
- import { DataApiClient } from './clients/data-api.js';
48
- import { GammaApiClient } from './clients/gamma-api.js';
49
- import { ClobApiClient } from './clients/clob-api.js';
50
- import { WalletService } from './services/wallet-service.js';
51
- import { MarketService } from './services/market-service.js';
52
- import type { UnifiedMarket, ProcessedOrderbook, ArbitrageOpportunity, PolySDKOptions } from './core/types.js';
53
- export interface PolymarketSDKConfig extends PolySDKOptions {
54
- }
55
- export declare class PolymarketSDK {
56
- private rateLimiter;
57
- private cache;
58
- readonly dataApi: DataApiClient;
59
- readonly gammaApi: GammaApiClient;
60
- readonly clobApi: ClobApiClient;
61
- readonly wallets: WalletService;
62
- readonly markets: MarketService;
63
- constructor(config?: PolymarketSDKConfig);
64
- /**
65
- * Get market by slug or condition ID
66
- * Uses Gamma for slug, CLOB for conditionId
67
- */
68
- getMarket(identifier: string): Promise<UnifiedMarket>;
69
- private getMarketBySlug;
70
- private getMarketByConditionId;
71
- /**
72
- * Get processed orderbook with analytics
73
- */
74
- getOrderbook(conditionId: string): Promise<ProcessedOrderbook>;
75
- /**
76
- * Detect arbitrage opportunity
77
- *
78
- * 使用有效价格计算套利机会(正确考虑镜像订单)
79
- * 详细文档见: docs/01-polymarket-orderbook-arbitrage.md
80
- */
81
- detectArbitrage(conditionId: string, threshold?: number): Promise<ArbitrageOpportunity | null>;
82
- private mergeMarkets;
83
- private fromGammaMarket;
84
- private fromClobMarket;
85
- /**
86
- * Clear all cached data
87
- */
88
- clearCache(): void;
89
- /**
90
- * Invalidate cache for a specific market
91
- */
92
- invalidateMarketCache(conditionId: string): void;
93
- }
94
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,cAAc,iBAAiB,CAAC;AAGhC,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EACV,WAAW,EACX,UAAU,EACV,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,cAAc,GACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAErG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAM/F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3F,YAAY,EACV,IAAI,EACJ,SAAS,EACT,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,KAAK,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EAEnB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EAAY,wCAAwC;AACjE,oBAAoB,EAAK,wCAAwC;AACjE,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,EACd,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAMvD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAA6C,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAK1J,MAAM,WAAW,mBAAoB,SAAQ,cAAc;CAAG;AAE9D,qBAAa,aAAa;IAExB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAAe;IAG5B,SAAgB,OAAO,EAAE,aAAa,CAAC;IACvC,SAAgB,QAAQ,EAAE,cAAc,CAAC;IACzC,SAAgB,OAAO,EAAE,aAAa,CAAC;IAGvC,SAAgB,OAAO,EAAE,aAAa,CAAC;IACvC,SAAgB,OAAO,EAAE,aAAa,CAAC;gBAE3B,MAAM,GAAE,mBAAwB;IAuB5C;;;OAGG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAW7C,eAAe;YAmBf,sBAAsB;IA6BpC;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIpE;;;;;OAKG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,SAAS,SAAQ,GAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA2BvC,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAGjD"}
package/dist/index.js DELETED
@@ -1,258 +0,0 @@
1
- /**
2
- * @prediction-router/poly-sdk
3
- *
4
- * Unified SDK for Polymarket APIs
5
- * - Data API (positions, activity, trades, leaderboard)
6
- * - Gamma API (markets, events, trending)
7
- * - CLOB API (orderbook, market info, trading)
8
- * - Services (WalletService, MarketService)
9
- */
10
- // Core infrastructure
11
- export { RateLimiter, ApiType } from './core/rate-limiter.js';
12
- export { Cache, CACHE_TTL } from './core/cache.js';
13
- export { PolymarketError, ErrorCode, withRetry } from './core/errors.js';
14
- export * from './core/types.js';
15
- export { createUnifiedCache } from './core/unified-cache.js';
16
- // API Clients
17
- export { DataApiClient } from './clients/data-api.js';
18
- export { GammaApiClient } from './clients/gamma-api.js';
19
- export { ClobApiClient } from './clients/clob-api.js';
20
- // Services
21
- export { WalletService } from './services/wallet-service.js';
22
- export { MarketService, getIntervalMs as getIntervalMsService } from './services/market-service.js';
23
- // Real-time
24
- export { WebSocketManager } from './clients/websocket-manager.js';
25
- export { RealtimeService } from './services/realtime-service.js';
26
- // NOTE: ArbitrageService has been moved to @prediction-router/arb package
27
- // See packages/arb/src/services/arbitrage-service.ts
28
- // Trading
29
- export { TradingClient, POLYGON_MAINNET, POLYGON_AMOY } from './clients/trading-client.js';
30
- // CTF (Conditional Token Framework)
31
- // NOTE: USDC_CONTRACT is USDC.e (bridged), required for Polymarket CTF
32
- // NATIVE_USDC_CONTRACT is native USDC, NOT compatible with CTF
33
- export { CTFClient, CTF_CONTRACT, USDC_CONTRACT, // USDC.e (0x2791...) - Required for CTF
34
- NATIVE_USDC_CONTRACT, // Native USDC (0x3c49...) - NOT for CTF
35
- NEG_RISK_CTF_EXCHANGE, NEG_RISK_ADAPTER, USDC_DECIMALS, calculateConditionId, parseUsdc, formatUsdc, } from './clients/ctf-client.js';
36
- export { RevertReason } from './clients/ctf-client.js';
37
- // Bridge (Cross-chain Deposits)
38
- export { BridgeClient, SUPPORTED_CHAINS, BRIDGE_TOKENS, estimateBridgeOutput, getExplorerUrl, depositUsdc, swapAndDeposit, getSupportedDepositTokens, } from './clients/bridge-client.js';
39
- // Swap Service (DEX swaps on Polygon)
40
- export { SwapService, QUICKSWAP_ROUTER, POLYGON_TOKENS, TOKEN_DECIMALS, } from './services/swap-service.js';
41
- // Authorization (ERC20/ERC1155 Approvals)
42
- export { AuthorizationService } from './services/authorization-service.js';
43
- // Price Utilities
44
- export { roundPrice, roundSize, validatePrice, validateSize, calculateBuyAmount, calculateSellPayout, calculateSharesForAmount, calculateSpread, calculateMidpoint, formatPrice, formatUSDC, calculatePnL, checkArbitrage, getEffectivePrices, ROUNDING_CONFIG, } from './utils/price-utils.js';
45
- // NOTE: ArbitrageService has been moved to @prediction-router/arb package
46
- // See packages/arb/src/services/arbitrage-service.ts
47
- // MCP (Model Context Protocol) Tools
48
- export { createMcpHandler, registerMcpTools, getToolDefinitions, allToolDefinitions, } from './mcp/index.js';
49
- export { McpToolError, ErrorCode as McpErrorCode } from './mcp/errors.js';
50
- // ===== Main SDK Class =====
51
- import { RateLimiter } from './core/rate-limiter.js';
52
- import { DataApiClient } from './clients/data-api.js';
53
- import { GammaApiClient } from './clients/gamma-api.js';
54
- import { ClobApiClient } from './clients/clob-api.js';
55
- import { WalletService } from './services/wallet-service.js';
56
- import { MarketService } from './services/market-service.js';
57
- import { PolymarketError, ErrorCode } from './core/errors.js';
58
- import { createUnifiedCache } from './core/unified-cache.js';
59
- export class PolymarketSDK {
60
- // Infrastructure
61
- rateLimiter;
62
- cache;
63
- // API Clients
64
- dataApi;
65
- gammaApi;
66
- clobApi;
67
- // Services
68
- wallets;
69
- markets;
70
- constructor(config = {}) {
71
- // Initialize infrastructure
72
- this.rateLimiter = new RateLimiter();
73
- // Create unified cache (supports both legacy Cache and CacheAdapter)
74
- this.cache = createUnifiedCache(config.cache);
75
- // Initialize API clients
76
- this.dataApi = new DataApiClient(this.rateLimiter, this.cache);
77
- this.gammaApi = new GammaApiClient(this.rateLimiter, this.cache);
78
- this.clobApi = new ClobApiClient(this.rateLimiter, this.cache, {
79
- chainId: config.chainId,
80
- signer: config.signer,
81
- creds: config.creds,
82
- });
83
- // Initialize services
84
- this.wallets = new WalletService(this.dataApi, this.cache);
85
- this.markets = new MarketService(this.gammaApi, this.clobApi, this.dataApi, this.cache);
86
- }
87
- // ===== Unified Market Access =====
88
- /**
89
- * Get market by slug or condition ID
90
- * Uses Gamma for slug, CLOB for conditionId
91
- */
92
- async getMarket(identifier) {
93
- const isConditionId = identifier.startsWith('0x') || /^\d+$/.test(identifier);
94
- if (isConditionId) {
95
- return this.getMarketByConditionId(identifier);
96
- }
97
- else {
98
- return this.getMarketBySlug(identifier);
99
- }
100
- }
101
- async getMarketBySlug(slug) {
102
- // Gamma as primary source for slug
103
- const gammaMarket = await this.gammaApi.getMarketBySlug(slug);
104
- if (!gammaMarket) {
105
- throw new PolymarketError(ErrorCode.MARKET_NOT_FOUND, `Market not found: ${slug}`);
106
- }
107
- // Enrich with CLOB data
108
- try {
109
- const clobMarket = await this.clobApi.getMarket(gammaMarket.conditionId);
110
- return this.mergeMarkets(gammaMarket, clobMarket);
111
- }
112
- catch {
113
- return this.fromGammaMarket(gammaMarket);
114
- }
115
- }
116
- async getMarketByConditionId(conditionId) {
117
- // CLOB as primary source for conditionId (more reliable)
118
- try {
119
- const clobMarket = await this.clobApi.getMarket(conditionId);
120
- // Try to enrich with Gamma data
121
- try {
122
- const gammaMarket = await this.gammaApi.getMarketByConditionId(conditionId);
123
- if (gammaMarket) {
124
- return this.mergeMarkets(gammaMarket, clobMarket);
125
- }
126
- }
127
- catch {
128
- // Gamma enrichment failed, use CLOB only
129
- }
130
- return this.fromClobMarket(clobMarket);
131
- }
132
- catch {
133
- throw new PolymarketError(ErrorCode.MARKET_NOT_FOUND, `Market not found: ${conditionId}`);
134
- }
135
- }
136
- // ===== Orderbook Analysis =====
137
- /**
138
- * Get processed orderbook with analytics
139
- */
140
- async getOrderbook(conditionId) {
141
- return this.clobApi.getProcessedOrderbook(conditionId);
142
- }
143
- /**
144
- * Detect arbitrage opportunity
145
- *
146
- * 使用有效价格计算套利机会(正确考虑镜像订单)
147
- * 详细文档见: docs/01-polymarket-orderbook-arbitrage.md
148
- */
149
- async detectArbitrage(conditionId, threshold = 0.005) {
150
- const orderbook = await this.getOrderbook(conditionId);
151
- const { effectivePrices, longArbProfit, shortArbProfit } = orderbook.summary;
152
- if (longArbProfit > threshold) {
153
- return {
154
- type: 'long',
155
- profit: longArbProfit,
156
- action: `Buy YES @ ${effectivePrices.effectiveBuyYes.toFixed(4)} + Buy NO @ ${effectivePrices.effectiveBuyNo.toFixed(4)}, merge for 1 USDC`,
157
- expectedProfit: longArbProfit,
158
- };
159
- }
160
- if (shortArbProfit > threshold) {
161
- return {
162
- type: 'short',
163
- profit: shortArbProfit,
164
- action: `Split 1 USDC, Sell YES @ ${effectivePrices.effectiveSellYes.toFixed(4)} + Sell NO @ ${effectivePrices.effectiveSellNo.toFixed(4)}`,
165
- expectedProfit: shortArbProfit,
166
- };
167
- }
168
- return null;
169
- }
170
- // ===== Helper Methods =====
171
- mergeMarkets(gamma, clob) {
172
- const yesToken = clob.tokens.find((t) => t.outcome === 'Yes');
173
- const noToken = clob.tokens.find((t) => t.outcome === 'No');
174
- return {
175
- conditionId: clob.conditionId,
176
- slug: gamma.slug,
177
- question: clob.question,
178
- description: clob.description || gamma.description,
179
- tokens: {
180
- yes: {
181
- tokenId: yesToken?.tokenId || '',
182
- price: yesToken?.price || gamma.outcomePrices[0] || 0.5,
183
- },
184
- no: {
185
- tokenId: noToken?.tokenId || '',
186
- price: noToken?.price || gamma.outcomePrices[1] || 0.5,
187
- },
188
- },
189
- volume: gamma.volume,
190
- volume24hr: gamma.volume24hr,
191
- liquidity: gamma.liquidity,
192
- spread: gamma.spread,
193
- active: clob.active,
194
- closed: clob.closed,
195
- acceptingOrders: clob.acceptingOrders,
196
- endDate: clob.endDateIso ? new Date(clob.endDateIso) : new Date(),
197
- source: 'merged',
198
- };
199
- }
200
- fromGammaMarket(gamma) {
201
- return {
202
- conditionId: gamma.conditionId,
203
- slug: gamma.slug,
204
- question: gamma.question,
205
- description: gamma.description,
206
- tokens: {
207
- yes: { tokenId: '', price: gamma.outcomePrices[0] || 0.5 },
208
- no: { tokenId: '', price: gamma.outcomePrices[1] || 0.5 },
209
- },
210
- volume: gamma.volume,
211
- volume24hr: gamma.volume24hr,
212
- liquidity: gamma.liquidity,
213
- spread: gamma.spread,
214
- active: gamma.active,
215
- closed: gamma.closed,
216
- acceptingOrders: !gamma.closed,
217
- endDate: gamma.endDate,
218
- source: 'gamma',
219
- };
220
- }
221
- fromClobMarket(clob) {
222
- const yesToken = clob.tokens.find((t) => t.outcome === 'Yes');
223
- const noToken = clob.tokens.find((t) => t.outcome === 'No');
224
- return {
225
- conditionId: clob.conditionId,
226
- slug: clob.marketSlug,
227
- question: clob.question,
228
- description: clob.description,
229
- tokens: {
230
- yes: { tokenId: yesToken?.tokenId || '', price: yesToken?.price || 0.5 },
231
- no: { tokenId: noToken?.tokenId || '', price: noToken?.price || 0.5 },
232
- },
233
- volume: 0, // CLOB doesn't have volume
234
- volume24hr: undefined,
235
- liquidity: 0,
236
- spread: undefined,
237
- active: clob.active,
238
- closed: clob.closed,
239
- acceptingOrders: clob.acceptingOrders,
240
- endDate: clob.endDateIso ? new Date(clob.endDateIso) : new Date(),
241
- source: 'clob',
242
- };
243
- }
244
- // ===== Cache Management =====
245
- /**
246
- * Clear all cached data
247
- */
248
- clearCache() {
249
- this.cache.clear();
250
- }
251
- /**
252
- * Invalidate cache for a specific market
253
- */
254
- invalidateMarketCache(conditionId) {
255
- this.cache.invalidate(conditionId);
256
- }
257
- }
258
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /**
2
- * MCP Error Handling for Polymarket Tools
3
- */
4
- export declare enum ErrorCode {
5
- INVALID_ADDRESS = "INVALID_ADDRESS",
6
- MARKET_NOT_FOUND = "MARKET_NOT_FOUND",
7
- INSUFFICIENT_BALANCE = "INSUFFICIENT_BALANCE",
8
- ORDER_REJECTED = "ORDER_REJECTED",
9
- RATE_LIMITED = "RATE_LIMITED",
10
- AUTH_REQUIRED = "AUTH_REQUIRED",
11
- INVALID_INPUT = "INVALID_INPUT",
12
- INTERNAL_ERROR = "INTERNAL_ERROR"
13
- }
14
- export declare class McpToolError extends Error {
15
- code: ErrorCode;
16
- details?: Record<string, unknown> | undefined;
17
- constructor(code: ErrorCode, message: string, details?: Record<string, unknown> | undefined);
18
- toResponse(): {
19
- error: {
20
- code: ErrorCode;
21
- message: string;
22
- details: Record<string, unknown> | undefined;
23
- };
24
- };
25
- }
26
- export declare function validateAddress(address: string): void;
27
- export declare function validateConditionId(conditionId: string): void;
28
- export declare function validateOutcome(outcome: string): void;
29
- export declare function validateSide(side: string): void;
30
- export declare function validatePrice(price: number): void;
31
- export declare function validatePositiveNumber(value: number, name: string): void;
32
- export declare function wrapError(err: unknown): McpToolError;
33
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,qBAAa,YAAa,SAAQ,KAAK;IAE5B,IAAI,EAAE,SAAS;IAEf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAM1C,UAAU;;;;;;;CASX;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAQjD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQxE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAepD"}
@@ -1,86 +0,0 @@
1
- /**
2
- * MCP Error Handling for Polymarket Tools
3
- */
4
- export var ErrorCode;
5
- (function (ErrorCode) {
6
- ErrorCode["INVALID_ADDRESS"] = "INVALID_ADDRESS";
7
- ErrorCode["MARKET_NOT_FOUND"] = "MARKET_NOT_FOUND";
8
- ErrorCode["INSUFFICIENT_BALANCE"] = "INSUFFICIENT_BALANCE";
9
- ErrorCode["ORDER_REJECTED"] = "ORDER_REJECTED";
10
- ErrorCode["RATE_LIMITED"] = "RATE_LIMITED";
11
- ErrorCode["AUTH_REQUIRED"] = "AUTH_REQUIRED";
12
- ErrorCode["INVALID_INPUT"] = "INVALID_INPUT";
13
- ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
14
- })(ErrorCode || (ErrorCode = {}));
15
- export class McpToolError extends Error {
16
- code;
17
- details;
18
- constructor(code, message, details) {
19
- super(message);
20
- this.code = code;
21
- this.details = details;
22
- this.name = 'McpToolError';
23
- }
24
- toResponse() {
25
- return {
26
- error: {
27
- code: this.code,
28
- message: this.message,
29
- details: this.details,
30
- },
31
- };
32
- }
33
- }
34
- export function validateAddress(address) {
35
- if (!address || typeof address !== 'string') {
36
- throw new McpToolError(ErrorCode.INVALID_ADDRESS, 'Address is required');
37
- }
38
- if (!address.startsWith('0x') || address.length !== 42) {
39
- throw new McpToolError(ErrorCode.INVALID_ADDRESS, 'Address must be a valid Ethereum address (0x...)', { address });
40
- }
41
- }
42
- export function validateConditionId(conditionId) {
43
- if (!conditionId || typeof conditionId !== 'string') {
44
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Condition ID is required');
45
- }
46
- if (!conditionId.startsWith('0x')) {
47
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Condition ID must start with 0x', { conditionId });
48
- }
49
- }
50
- export function validateOutcome(outcome) {
51
- if (!['Yes', 'No'].includes(outcome)) {
52
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Outcome must be "Yes" or "No"', { outcome });
53
- }
54
- }
55
- export function validateSide(side) {
56
- if (!['BUY', 'SELL'].includes(side)) {
57
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Side must be "BUY" or "SELL"', { side });
58
- }
59
- }
60
- export function validatePrice(price) {
61
- if (typeof price !== 'number' || price < 0.001 || price > 0.999) {
62
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Price must be between 0.001 and 0.999', { price });
63
- }
64
- }
65
- export function validatePositiveNumber(value, name) {
66
- if (typeof value !== 'number' || value <= 0) {
67
- throw new McpToolError(ErrorCode.INVALID_INPUT, `${name} must be a positive number`, { [name]: value });
68
- }
69
- }
70
- export function wrapError(err) {
71
- if (err instanceof McpToolError) {
72
- return err;
73
- }
74
- if (err instanceof Error) {
75
- // Check for known error types
76
- if (err.message.includes('rate limit')) {
77
- return new McpToolError(ErrorCode.RATE_LIMITED, 'Rate limit exceeded');
78
- }
79
- if (err.message.includes('not found')) {
80
- return new McpToolError(ErrorCode.MARKET_NOT_FOUND, err.message);
81
- }
82
- return new McpToolError(ErrorCode.INTERNAL_ERROR, err.message);
83
- }
84
- return new McpToolError(ErrorCode.INTERNAL_ERROR, 'An unexpected error occurred');
85
- }
86
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,kDAAqC,CAAA;IACrC,0DAA6C,CAAA;IAC7C,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;AACnC,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IAE5B;IAEA;IAHT,YACS,IAAe,EACtB,OAAe,EACR,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAW;QAEf,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,eAAe,EACzB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,eAAe,EACzB,kDAAkD,EAClD,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,iCAAiC,EACjC,EAAE,WAAW,EAAE,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,+BAA+B,EAC/B,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,8BAA8B,EAC9B,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAChE,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,uCAAuC,EACvC,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,IAAY;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,GAAG,IAAI,4BAA4B,EACnC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAClB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,8BAA8B;QAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;AACpF,CAAC"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Polymarket MCP Tools
3
- *
4
- * This module provides MCP (Model Context Protocol) tools for interacting with Polymarket.
5
- * It can be used to build an MCP server that exposes Polymarket functionality to AI agents.
6
- *
7
- * Tool Categories:
8
- * - Trader Tools: Analyze traders/wallets (positions, trades, profiles, leaderboard)
9
- * - Market Tools: Discover and analyze markets (get, search, trending, trades)
10
- * - Order Tools: Analyze orderbooks (depth, best prices, execution estimates)
11
- * - Trade Tools: Execute trades (limit orders, market orders) - requires API credentials
12
- * - Wallet Tools: Deposits and authorization management
13
- *
14
- * Usage:
15
- * ```typescript
16
- * import { PolymarketSDK } from '@prediction-router/poly-sdk';
17
- * import { createMcpHandler, allToolDefinitions } from '@prediction-router/poly-sdk/mcp';
18
- *
19
- * const sdk = new PolymarketSDK();
20
- * const handler = createMcpHandler(sdk);
21
- *
22
- * // Use with MCP server
23
- * const result = await handler('get_trader_positions', { address: '0x...' });
24
- * ```
25
- */
26
- import { PolymarketSDK } from '../index.js';
27
- export * from './types.js';
28
- export * from './errors.js';
29
- export { allToolDefinitions } from './tools/index.js';
30
- export type ToolHandler = (toolName: string, args: Record<string, unknown>) => Promise<unknown>;
31
- /**
32
- * Create an MCP tool handler for the given SDK instance
33
- */
34
- export declare function createMcpHandler(sdk: PolymarketSDK): ToolHandler;
35
- /**
36
- * Get all tool definitions for MCP registration
37
- */
38
- export declare function getToolDefinitions(): import("./types.js").ToolDefinition[];
39
- /**
40
- * MCP Server factory (for use with @modelcontextprotocol/sdk)
41
- *
42
- * Example usage with MCP SDK:
43
- * ```typescript
44
- * import { Server } from '@modelcontextprotocol/sdk/server/index.js';
45
- * import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
46
- * import { PolymarketSDK } from '@prediction-router/poly-sdk';
47
- * import { registerMcpTools } from '@prediction-router/poly-sdk/mcp';
48
- *
49
- * const server = new Server(
50
- * { name: 'poly-mcp', version: '1.0.0' },
51
- * { capabilities: { tools: {} } }
52
- * );
53
- *
54
- * const sdk = new PolymarketSDK();
55
- * registerMcpTools(server, sdk);
56
- *
57
- * const transport = new StdioServerTransport();
58
- * await server.connect(transport);
59
- * ```
60
- */
61
- export declare function registerMcpTools(server: any, sdk: PolymarketSDK): void;
62
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAwC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,MAAM,WAAW,GAAG,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAwKhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,0CAEjC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAE9B,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,aAAa,GACjB,IAAI,CA0BN"}