@catalyst-team/poly-sdk 0.1.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 (244) hide show
  1. package/.env +0 -0
  2. package/README.md +803 -0
  3. package/dist/__tests__/clob-api.test.d.ts +5 -0
  4. package/dist/__tests__/clob-api.test.d.ts.map +1 -0
  5. package/dist/__tests__/clob-api.test.js +240 -0
  6. package/dist/__tests__/clob-api.test.js.map +1 -0
  7. package/dist/__tests__/integration/bridge-client.integration.test.d.ts +11 -0
  8. package/dist/__tests__/integration/bridge-client.integration.test.d.ts.map +1 -0
  9. package/dist/__tests__/integration/bridge-client.integration.test.js +260 -0
  10. package/dist/__tests__/integration/bridge-client.integration.test.js.map +1 -0
  11. package/dist/__tests__/integration/clob-api.integration.test.d.ts +13 -0
  12. package/dist/__tests__/integration/clob-api.integration.test.d.ts.map +1 -0
  13. package/dist/__tests__/integration/clob-api.integration.test.js +170 -0
  14. package/dist/__tests__/integration/clob-api.integration.test.js.map +1 -0
  15. package/dist/__tests__/integration/ctf-client.integration.test.d.ts +17 -0
  16. package/dist/__tests__/integration/ctf-client.integration.test.d.ts.map +1 -0
  17. package/dist/__tests__/integration/ctf-client.integration.test.js +234 -0
  18. package/dist/__tests__/integration/ctf-client.integration.test.js.map +1 -0
  19. package/dist/__tests__/integration/data-api.integration.test.d.ts +9 -0
  20. package/dist/__tests__/integration/data-api.integration.test.d.ts.map +1 -0
  21. package/dist/__tests__/integration/data-api.integration.test.js +161 -0
  22. package/dist/__tests__/integration/data-api.integration.test.js.map +1 -0
  23. package/dist/__tests__/integration/gamma-api.integration.test.d.ts +9 -0
  24. package/dist/__tests__/integration/gamma-api.integration.test.d.ts.map +1 -0
  25. package/dist/__tests__/integration/gamma-api.integration.test.js +170 -0
  26. package/dist/__tests__/integration/gamma-api.integration.test.js.map +1 -0
  27. package/dist/__tests__/test-utils.d.ts +92 -0
  28. package/dist/__tests__/test-utils.d.ts.map +1 -0
  29. package/dist/__tests__/test-utils.js +143 -0
  30. package/dist/__tests__/test-utils.js.map +1 -0
  31. package/dist/clients/bridge-client.d.ts +388 -0
  32. package/dist/clients/bridge-client.d.ts.map +1 -0
  33. package/dist/clients/bridge-client.js +587 -0
  34. package/dist/clients/bridge-client.js.map +1 -0
  35. package/dist/clients/clob-api.d.ts +318 -0
  36. package/dist/clients/clob-api.d.ts.map +1 -0
  37. package/dist/clients/clob-api.js +388 -0
  38. package/dist/clients/clob-api.js.map +1 -0
  39. package/dist/clients/ctf-client.d.ts +473 -0
  40. package/dist/clients/ctf-client.d.ts.map +1 -0
  41. package/dist/clients/ctf-client.js +915 -0
  42. package/dist/clients/ctf-client.js.map +1 -0
  43. package/dist/clients/data-api.d.ts +134 -0
  44. package/dist/clients/data-api.d.ts.map +1 -0
  45. package/dist/clients/data-api.js +265 -0
  46. package/dist/clients/data-api.js.map +1 -0
  47. package/dist/clients/gamma-api.d.ts +401 -0
  48. package/dist/clients/gamma-api.d.ts.map +1 -0
  49. package/dist/clients/gamma-api.js +352 -0
  50. package/dist/clients/gamma-api.js.map +1 -0
  51. package/dist/clients/trading-client.d.ts +252 -0
  52. package/dist/clients/trading-client.d.ts.map +1 -0
  53. package/dist/clients/trading-client.js +543 -0
  54. package/dist/clients/trading-client.js.map +1 -0
  55. package/dist/clients/websocket-manager.d.ts +100 -0
  56. package/dist/clients/websocket-manager.d.ts.map +1 -0
  57. package/dist/clients/websocket-manager.js +193 -0
  58. package/dist/clients/websocket-manager.js.map +1 -0
  59. package/dist/core/cache-adapter-bridge.d.ts +36 -0
  60. package/dist/core/cache-adapter-bridge.d.ts.map +1 -0
  61. package/dist/core/cache-adapter-bridge.js +81 -0
  62. package/dist/core/cache-adapter-bridge.js.map +1 -0
  63. package/dist/core/cache.d.ts +40 -0
  64. package/dist/core/cache.d.ts.map +1 -0
  65. package/dist/core/cache.js +71 -0
  66. package/dist/core/cache.js.map +1 -0
  67. package/dist/core/errors.d.ts +38 -0
  68. package/dist/core/errors.d.ts.map +1 -0
  69. package/dist/core/errors.js +84 -0
  70. package/dist/core/errors.js.map +1 -0
  71. package/dist/core/rate-limiter.d.ts +31 -0
  72. package/dist/core/rate-limiter.d.ts.map +1 -0
  73. package/dist/core/rate-limiter.js +70 -0
  74. package/dist/core/rate-limiter.js.map +1 -0
  75. package/dist/core/types.d.ts +314 -0
  76. package/dist/core/types.d.ts.map +1 -0
  77. package/dist/core/types.js +19 -0
  78. package/dist/core/types.js.map +1 -0
  79. package/dist/core/unified-cache.d.ts +63 -0
  80. package/dist/core/unified-cache.d.ts.map +1 -0
  81. package/dist/core/unified-cache.js +114 -0
  82. package/dist/core/unified-cache.js.map +1 -0
  83. package/dist/index.d.ts +94 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +258 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/mcp/errors.d.ts +33 -0
  88. package/dist/mcp/errors.d.ts.map +1 -0
  89. package/dist/mcp/errors.js +86 -0
  90. package/dist/mcp/errors.js.map +1 -0
  91. package/dist/mcp/index.d.ts +62 -0
  92. package/dist/mcp/index.d.ts.map +1 -0
  93. package/dist/mcp/index.js +173 -0
  94. package/dist/mcp/index.js.map +1 -0
  95. package/dist/mcp/server.d.ts +17 -0
  96. package/dist/mcp/server.d.ts.map +1 -0
  97. package/dist/mcp/server.js +155 -0
  98. package/dist/mcp/server.js.map +1 -0
  99. package/dist/mcp/tools/guide.d.ts +12 -0
  100. package/dist/mcp/tools/guide.d.ts.map +1 -0
  101. package/dist/mcp/tools/guide.js +801 -0
  102. package/dist/mcp/tools/guide.js.map +1 -0
  103. package/dist/mcp/tools/index.d.ts +11 -0
  104. package/dist/mcp/tools/index.d.ts.map +1 -0
  105. package/dist/mcp/tools/index.js +27 -0
  106. package/dist/mcp/tools/index.js.map +1 -0
  107. package/dist/mcp/tools/market.d.ts +11 -0
  108. package/dist/mcp/tools/market.d.ts.map +1 -0
  109. package/dist/mcp/tools/market.js +314 -0
  110. package/dist/mcp/tools/market.js.map +1 -0
  111. package/dist/mcp/tools/order.d.ts +10 -0
  112. package/dist/mcp/tools/order.d.ts.map +1 -0
  113. package/dist/mcp/tools/order.js +258 -0
  114. package/dist/mcp/tools/order.js.map +1 -0
  115. package/dist/mcp/tools/trade.d.ts +38 -0
  116. package/dist/mcp/tools/trade.d.ts.map +1 -0
  117. package/dist/mcp/tools/trade.js +314 -0
  118. package/dist/mcp/tools/trade.js.map +1 -0
  119. package/dist/mcp/tools/trader.d.ts +11 -0
  120. package/dist/mcp/tools/trader.d.ts.map +1 -0
  121. package/dist/mcp/tools/trader.js +277 -0
  122. package/dist/mcp/tools/trader.js.map +1 -0
  123. package/dist/mcp/tools/wallet.d.ts +274 -0
  124. package/dist/mcp/tools/wallet.d.ts.map +1 -0
  125. package/dist/mcp/tools/wallet.js +579 -0
  126. package/dist/mcp/tools/wallet.js.map +1 -0
  127. package/dist/mcp/types.d.ts +413 -0
  128. package/dist/mcp/types.d.ts.map +1 -0
  129. package/dist/mcp/types.js +5 -0
  130. package/dist/mcp/types.js.map +1 -0
  131. package/dist/services/authorization-service.d.ts +97 -0
  132. package/dist/services/authorization-service.d.ts.map +1 -0
  133. package/dist/services/authorization-service.js +279 -0
  134. package/dist/services/authorization-service.js.map +1 -0
  135. package/dist/services/market-service.d.ts +108 -0
  136. package/dist/services/market-service.d.ts.map +1 -0
  137. package/dist/services/market-service.js +458 -0
  138. package/dist/services/market-service.js.map +1 -0
  139. package/dist/services/realtime-service.d.ts +82 -0
  140. package/dist/services/realtime-service.d.ts.map +1 -0
  141. package/dist/services/realtime-service.js +150 -0
  142. package/dist/services/realtime-service.js.map +1 -0
  143. package/dist/services/swap-service.d.ts +217 -0
  144. package/dist/services/swap-service.d.ts.map +1 -0
  145. package/dist/services/swap-service.js +695 -0
  146. package/dist/services/swap-service.js.map +1 -0
  147. package/dist/services/wallet-service.d.ts +94 -0
  148. package/dist/services/wallet-service.d.ts.map +1 -0
  149. package/dist/services/wallet-service.js +173 -0
  150. package/dist/services/wallet-service.js.map +1 -0
  151. package/dist/utils/price-utils.d.ts +153 -0
  152. package/dist/utils/price-utils.d.ts.map +1 -0
  153. package/dist/utils/price-utils.js +236 -0
  154. package/dist/utils/price-utils.js.map +1 -0
  155. package/docs/00-design.md +760 -0
  156. package/docs/01-mcp.md +2041 -0
  157. package/docs/02-API.md +1148 -0
  158. package/docs/e2e/01-trader-tools.md +159 -0
  159. package/docs/e2e/02-market-tools.md +180 -0
  160. package/docs/e2e/03-order-tools.md +166 -0
  161. package/docs/e2e/04-wallet-tools.md +224 -0
  162. package/docs/e2e/05-trading-tools.md +327 -0
  163. package/docs/e2e/06-integration-scenarios.md +481 -0
  164. package/docs/e2e/coordinator.md +376 -0
  165. package/examples/01-basic-usage.ts +68 -0
  166. package/examples/02-smart-money.ts +95 -0
  167. package/examples/03-market-analysis.ts +108 -0
  168. package/examples/04-kline-aggregation.ts +158 -0
  169. package/examples/05-follow-wallet-strategy.ts +156 -0
  170. package/examples/06-services-demo.ts +124 -0
  171. package/examples/07-realtime-websocket.ts +117 -0
  172. package/examples/08-trading-orders.ts +278 -0
  173. package/examples/09-rewards-tracking.ts +187 -0
  174. package/examples/10-ctf-operations.ts +336 -0
  175. package/examples/11-live-arbitrage-scan.ts +221 -0
  176. package/examples/12-trending-arb-monitor.ts +406 -0
  177. package/examples/README.md +179 -0
  178. package/package.json +62 -0
  179. package/scripts/README.md +163 -0
  180. package/scripts/approvals/approve-erc1155.ts +129 -0
  181. package/scripts/approvals/approve-neg-risk-erc1155.ts +149 -0
  182. package/scripts/approvals/approve-neg-risk.ts +102 -0
  183. package/scripts/approvals/check-all-allowances.ts +150 -0
  184. package/scripts/approvals/check-allowance.ts +129 -0
  185. package/scripts/approvals/check-ctf-approval.ts +158 -0
  186. package/scripts/datas/001-report.md +486 -0
  187. package/scripts/datas/clone-modal-screenshot.png +0 -0
  188. package/scripts/deposit/deposit-native-usdc.ts +179 -0
  189. package/scripts/deposit/deposit-usdc.ts +155 -0
  190. package/scripts/deposit/swap-usdc-to-usdce.ts +375 -0
  191. package/scripts/research/research-markets.ts +166 -0
  192. package/scripts/trading/check-orders.ts +50 -0
  193. package/scripts/trading/sell-nvidia-positions.ts +206 -0
  194. package/scripts/trading/test-order.ts +172 -0
  195. package/scripts/truth.md +440 -0
  196. package/scripts/verify/test-approve-trading.ts +98 -0
  197. package/scripts/verify/test-provider-fix.ts +43 -0
  198. package/scripts/verify/test-search-mcp.ts +113 -0
  199. package/scripts/verify/verify-all-apis.ts +160 -0
  200. package/scripts/wallet/check-wallet-balances.ts +75 -0
  201. package/scripts/wallet/test-wallet-operations.ts +191 -0
  202. package/scripts/wallet/verify-wallet-tools.ts +124 -0
  203. package/src/__tests__/clob-api.test.ts +301 -0
  204. package/src/__tests__/integration/bridge-client.integration.test.ts +314 -0
  205. package/src/__tests__/integration/clob-api.integration.test.ts +218 -0
  206. package/src/__tests__/integration/ctf-client.integration.test.ts +331 -0
  207. package/src/__tests__/integration/data-api.integration.test.ts +194 -0
  208. package/src/__tests__/integration/gamma-api.integration.test.ts +206 -0
  209. package/src/__tests__/test-utils.ts +170 -0
  210. package/src/clients/bridge-client.ts +841 -0
  211. package/src/clients/clob-api.ts +629 -0
  212. package/src/clients/ctf-client.ts +1216 -0
  213. package/src/clients/data-api.ts +469 -0
  214. package/src/clients/gamma-api.ts +597 -0
  215. package/src/clients/trading-client.ts +749 -0
  216. package/src/clients/websocket-manager.ts +267 -0
  217. package/src/core/cache-adapter-bridge.ts +94 -0
  218. package/src/core/cache.ts +85 -0
  219. package/src/core/errors.ts +117 -0
  220. package/src/core/rate-limiter.ts +74 -0
  221. package/src/core/types.ts +360 -0
  222. package/src/core/unified-cache.ts +153 -0
  223. package/src/index.ts +455 -0
  224. package/src/mcp/README.md +380 -0
  225. package/src/mcp/errors.ts +124 -0
  226. package/src/mcp/index.ts +309 -0
  227. package/src/mcp/server.ts +183 -0
  228. package/src/mcp/tools/guide.ts +821 -0
  229. package/src/mcp/tools/index.ts +73 -0
  230. package/src/mcp/tools/market.ts +363 -0
  231. package/src/mcp/tools/order.ts +326 -0
  232. package/src/mcp/tools/trade.ts +417 -0
  233. package/src/mcp/tools/trader.ts +322 -0
  234. package/src/mcp/tools/wallet.ts +683 -0
  235. package/src/mcp/types.ts +472 -0
  236. package/src/services/authorization-service.ts +357 -0
  237. package/src/services/market-service.ts +544 -0
  238. package/src/services/realtime-service.ts +196 -0
  239. package/src/services/swap-service.ts +896 -0
  240. package/src/services/wallet-service.ts +259 -0
  241. package/src/utils/price-utils.ts +307 -0
  242. package/tsconfig.json +8 -0
  243. package/vitest.config.ts +19 -0
  244. package/vitest.integration.config.ts +18 -0
@@ -0,0 +1,413 @@
1
+ /**
2
+ * MCP Tool Types for Polymarket
3
+ */
4
+ export interface GetTraderPositionsInput {
5
+ address: string;
6
+ }
7
+ export interface GetTraderTradesInput {
8
+ address: string;
9
+ limit?: number;
10
+ side?: 'BUY' | 'SELL';
11
+ }
12
+ export interface GetTraderProfileInput {
13
+ address: string;
14
+ }
15
+ export interface GetLeaderboardInput {
16
+ limit?: number;
17
+ offset?: number;
18
+ }
19
+ export interface GetMarketInput {
20
+ identifier: string;
21
+ }
22
+ export interface SearchMarketsInput {
23
+ query: string;
24
+ active?: boolean;
25
+ limit?: number;
26
+ }
27
+ export interface GetTrendingMarketsInput {
28
+ limit?: number;
29
+ sortBy?: 'volume' | 'liquidity' | 'newest';
30
+ }
31
+ export interface GetMarketTradesInput {
32
+ conditionId: string;
33
+ limit?: number;
34
+ }
35
+ export interface GetOrderbookInput {
36
+ conditionId: string;
37
+ outcome: 'Yes' | 'No';
38
+ depth?: number;
39
+ }
40
+ export interface GetBestPricesInput {
41
+ conditionId: string;
42
+ }
43
+ export interface EstimateExecutionInput {
44
+ conditionId: string;
45
+ outcome: 'Yes' | 'No';
46
+ side: 'BUY' | 'SELL';
47
+ amount: number;
48
+ }
49
+ export interface PlaceLimitOrderInput {
50
+ conditionId: string;
51
+ outcome: 'Yes' | 'No';
52
+ side: 'BUY' | 'SELL';
53
+ price: number;
54
+ size: number;
55
+ orderType?: 'GTC' | 'GTD';
56
+ }
57
+ export interface PlaceMarketOrderInput {
58
+ conditionId: string;
59
+ outcome: 'Yes' | 'No';
60
+ side: 'BUY' | 'SELL';
61
+ amount: number;
62
+ maxSlippage?: number;
63
+ }
64
+ export interface CancelOrderInput {
65
+ orderId: string;
66
+ }
67
+ export interface GetMyOrdersInput {
68
+ status?: 'LIVE' | 'FILLED' | 'CANCELLED';
69
+ }
70
+ export interface TraderInfo {
71
+ address: string;
72
+ displayName: string | null;
73
+ }
74
+ export interface MarketInfo {
75
+ conditionId: string;
76
+ title: string;
77
+ slug?: string;
78
+ }
79
+ export interface PositionHolding {
80
+ outcome: string;
81
+ size: number;
82
+ avgPrice: number;
83
+ curPrice?: number;
84
+ }
85
+ export interface PositionPnL {
86
+ unrealized?: number;
87
+ unrealizedPercent?: number;
88
+ realized?: number;
89
+ }
90
+ export interface PositionStatus {
91
+ redeemable?: boolean;
92
+ endDate?: string;
93
+ }
94
+ export interface PositionOutput {
95
+ market: MarketInfo;
96
+ holding: PositionHolding;
97
+ pnl: PositionPnL;
98
+ status: PositionStatus;
99
+ }
100
+ export interface GetTraderPositionsOutput {
101
+ trader: TraderInfo;
102
+ positions: PositionOutput[];
103
+ summary: {
104
+ totalPositions: number;
105
+ totalUnrealizedPnl: number;
106
+ totalRealizedPnl: number;
107
+ winningPositions: number;
108
+ losingPositions: number;
109
+ };
110
+ }
111
+ export interface TradeExecution {
112
+ size: number;
113
+ price: number;
114
+ usdcValue: number;
115
+ }
116
+ export interface TradeOutput {
117
+ type: string;
118
+ side: 'BUY' | 'SELL';
119
+ market: MarketInfo;
120
+ outcome: string;
121
+ execution: TradeExecution;
122
+ timestamp: string;
123
+ txHash: string;
124
+ }
125
+ export interface GetTraderTradesOutput {
126
+ trader: TraderInfo;
127
+ trades: TradeOutput[];
128
+ summary: {
129
+ totalTrades: number;
130
+ buyCount: number;
131
+ sellCount: number;
132
+ buyVolume: number;
133
+ sellVolume: number;
134
+ };
135
+ }
136
+ export interface GetTraderProfileOutput {
137
+ trader: {
138
+ address: string;
139
+ displayName: string | null;
140
+ xUsername: string | null;
141
+ verified: boolean;
142
+ profileImage: string | null;
143
+ };
144
+ ranking: {
145
+ rank: number | null;
146
+ totalTraders: number;
147
+ };
148
+ performance: {
149
+ officialPnl: number | null;
150
+ totalVolume: number;
151
+ unrealizedPnl: number;
152
+ realizedPnl: number;
153
+ };
154
+ stats: {
155
+ positionCount: number;
156
+ winRate: number;
157
+ avgPercentPnl: number;
158
+ smartScore: number;
159
+ };
160
+ activity: {
161
+ lastTradeAt: string | null;
162
+ isActive: boolean;
163
+ };
164
+ /** Explanation when PnL values differ between sources */
165
+ notes?: string;
166
+ }
167
+ export interface LeaderboardTrader {
168
+ rank: number;
169
+ address: string;
170
+ displayName: string | null;
171
+ pnl: number;
172
+ volume: number;
173
+ verified: boolean;
174
+ }
175
+ export interface GetLeaderboardOutput {
176
+ traders: LeaderboardTrader[];
177
+ pagination: {
178
+ total: number;
179
+ offset: number;
180
+ limit: number;
181
+ };
182
+ }
183
+ export interface TokenInfo {
184
+ tokenId: string;
185
+ price: number;
186
+ }
187
+ export interface GetMarketOutput {
188
+ market: {
189
+ conditionId: string;
190
+ question: string;
191
+ slug: string;
192
+ description?: string;
193
+ };
194
+ prices: {
195
+ yes: number;
196
+ no: number;
197
+ spread?: number;
198
+ };
199
+ tokens: {
200
+ yes: TokenInfo;
201
+ no: TokenInfo;
202
+ };
203
+ stats: {
204
+ volume: number;
205
+ liquidity: number;
206
+ };
207
+ status: {
208
+ active: boolean;
209
+ closed: boolean;
210
+ acceptingOrders: boolean;
211
+ endDate?: string;
212
+ };
213
+ trading: {
214
+ minTickSize?: number;
215
+ minOrderSize?: number;
216
+ };
217
+ }
218
+ export interface SearchMarketResult {
219
+ conditionId: string;
220
+ question: string;
221
+ slug: string;
222
+ prices: {
223
+ yes: number;
224
+ no: number;
225
+ };
226
+ volume: number;
227
+ volume24h?: number;
228
+ endDate?: string;
229
+ }
230
+ export interface SearchMarketsOutput {
231
+ markets: SearchMarketResult[];
232
+ total: number;
233
+ }
234
+ export interface TrendingMarket {
235
+ conditionId: string;
236
+ question: string;
237
+ slug: string;
238
+ volume24h?: number;
239
+ priceChange24h?: number;
240
+ prices: {
241
+ yes: number;
242
+ no: number;
243
+ };
244
+ status?: {
245
+ active: boolean;
246
+ closed: boolean;
247
+ endDate?: string;
248
+ };
249
+ }
250
+ export interface GetTrendingMarketsOutput {
251
+ markets: TrendingMarket[];
252
+ }
253
+ export interface MarketTradeOutput {
254
+ trader: string;
255
+ traderName?: string;
256
+ side: 'BUY' | 'SELL';
257
+ outcome: string;
258
+ size: number;
259
+ price: number;
260
+ timestamp: string;
261
+ }
262
+ export interface GetMarketTradesOutput {
263
+ market: MarketInfo;
264
+ trades: MarketTradeOutput[];
265
+ summary: {
266
+ buyVolume24h: number;
267
+ sellVolume24h: number;
268
+ netFlow: number;
269
+ };
270
+ }
271
+ export interface OrderbookLevel {
272
+ price: number;
273
+ size: number;
274
+ total: number;
275
+ }
276
+ export interface GetOrderbookOutput {
277
+ market: MarketInfo;
278
+ outcome: string;
279
+ tokenId: string;
280
+ orderbook: {
281
+ bids: OrderbookLevel[];
282
+ asks: OrderbookLevel[];
283
+ };
284
+ summary: {
285
+ bestBid: number;
286
+ bestAsk: number;
287
+ spread: number;
288
+ spreadPercent: number;
289
+ bidDepth: number;
290
+ askDepth: number;
291
+ };
292
+ }
293
+ export interface PriceInfo {
294
+ bestBid: number;
295
+ bestAsk: number;
296
+ midPrice: number;
297
+ spread: number;
298
+ }
299
+ export interface GetBestPricesOutput {
300
+ market: string;
301
+ yes: PriceInfo;
302
+ no: PriceInfo;
303
+ }
304
+ export interface EstimateExecutionOutput {
305
+ market: string;
306
+ order: {
307
+ side: 'BUY' | 'SELL';
308
+ outcome: string;
309
+ usdcAmount: number;
310
+ };
311
+ estimate: {
312
+ avgPrice: number;
313
+ sharesReceived: number;
314
+ priceImpact: number;
315
+ worstPrice: number;
316
+ };
317
+ warning: string | null;
318
+ }
319
+ export interface GetSupportedAssetsInput {
320
+ chainId?: number;
321
+ }
322
+ export interface SupportedAsset {
323
+ chainId: number;
324
+ chainName: string;
325
+ tokenSymbol: string;
326
+ tokenName: string;
327
+ tokenAddress: string;
328
+ decimals: number;
329
+ minDeposit: string;
330
+ minDepositUsd: number;
331
+ }
332
+ export interface GetSupportedAssetsOutput {
333
+ assets: SupportedAsset[];
334
+ summary: {
335
+ totalChains: number;
336
+ totalAssets: number;
337
+ chains: string[];
338
+ };
339
+ }
340
+ export interface GetDepositAddressesInput {
341
+ }
342
+ export interface GetDepositAddressesOutput {
343
+ wallet: string;
344
+ addresses: {
345
+ evm: string;
346
+ solana: string;
347
+ bitcoin: string;
348
+ };
349
+ evmChains: string[];
350
+ instructions: string;
351
+ }
352
+ export interface CheckAllowancesInput {
353
+ }
354
+ export interface AllowanceStatus {
355
+ contract: string;
356
+ address: string;
357
+ approved: boolean;
358
+ allowance?: string;
359
+ }
360
+ export interface CheckAllowancesOutput {
361
+ wallet: string;
362
+ erc20: {
363
+ usdc: {
364
+ balance: string;
365
+ allowances: AllowanceStatus[];
366
+ };
367
+ };
368
+ erc1155: {
369
+ conditionalTokens: {
370
+ approvals: AllowanceStatus[];
371
+ };
372
+ };
373
+ tradingReady: boolean;
374
+ issues: string[];
375
+ }
376
+ export interface ApproveTradingInput {
377
+ }
378
+ export interface ApprovalResult {
379
+ contract: string;
380
+ txHash?: string;
381
+ success: boolean;
382
+ error?: string;
383
+ }
384
+ export interface ApproveTradingOutput {
385
+ wallet: string;
386
+ erc20Approvals: ApprovalResult[];
387
+ erc1155Approvals: ApprovalResult[];
388
+ allApproved: boolean;
389
+ summary: string;
390
+ }
391
+ export interface McpErrorResponse {
392
+ error: {
393
+ code: string;
394
+ message: string;
395
+ details?: Record<string, unknown>;
396
+ };
397
+ }
398
+ export type McpToolResult<T> = T | McpErrorResponse;
399
+ export interface ToolDefinition {
400
+ name: string;
401
+ description: string;
402
+ inputSchema: {
403
+ type: 'object';
404
+ properties: Record<string, {
405
+ type: string;
406
+ description?: string;
407
+ enum?: string[];
408
+ default?: unknown;
409
+ }>;
410
+ required?: string[];
411
+ };
412
+ }
413
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * MCP Tool Types for Polymarket
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Authorization Service
3
+ *
4
+ * Manages ERC20 and ERC1155 approvals required for trading on Polymarket.
5
+ *
6
+ * Required approvals for trading:
7
+ * - ERC20 (USDC): Approve USDC spending for CTF Exchange, Neg Risk Exchange, etc.
8
+ * - ERC1155 (Conditional Tokens): Approve operators for conditional token transfers
9
+ *
10
+ * @see https://docs.polymarket.com/
11
+ */
12
+ import { ethers } from 'ethers';
13
+ export interface AllowanceInfo {
14
+ contract: string;
15
+ address: string;
16
+ approved: boolean;
17
+ allowance?: string;
18
+ }
19
+ export interface AllowancesResult {
20
+ wallet: string;
21
+ usdcBalance: string;
22
+ erc20Allowances: AllowanceInfo[];
23
+ erc1155Approvals: AllowanceInfo[];
24
+ tradingReady: boolean;
25
+ issues: string[];
26
+ }
27
+ export interface ApprovalTxResult {
28
+ contract: string;
29
+ txHash?: string;
30
+ success: boolean;
31
+ error?: string;
32
+ }
33
+ export interface ApprovalsResult {
34
+ wallet: string;
35
+ erc20Approvals: ApprovalTxResult[];
36
+ erc1155Approvals: ApprovalTxResult[];
37
+ allApproved: boolean;
38
+ summary: string;
39
+ }
40
+ export interface AuthorizationServiceConfig {
41
+ provider?: ethers.providers.Provider;
42
+ }
43
+ /**
44
+ * Service for managing trading authorizations on Polymarket
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const authService = new AuthorizationService(signer);
49
+ *
50
+ * // Check all allowances
51
+ * const status = await authService.checkAllowances();
52
+ * console.log(`Trading ready: ${status.tradingReady}`);
53
+ * if (!status.tradingReady) {
54
+ * console.log('Issues:', status.issues);
55
+ * }
56
+ *
57
+ * // Set up all approvals
58
+ * const result = await authService.approveAll();
59
+ * console.log(result.summary);
60
+ * ```
61
+ */
62
+ export declare class AuthorizationService {
63
+ private signer;
64
+ private provider;
65
+ constructor(signer: ethers.Wallet, config?: AuthorizationServiceConfig);
66
+ /**
67
+ * Get the wallet address
68
+ */
69
+ get walletAddress(): string;
70
+ /**
71
+ * Check all ERC20 and ERC1155 allowances required for trading
72
+ *
73
+ * @returns Status of all allowances and whether trading is ready
74
+ */
75
+ checkAllowances(): Promise<AllowancesResult>;
76
+ /**
77
+ * Set up all required approvals for trading
78
+ *
79
+ * @returns Results of all approval transactions
80
+ */
81
+ approveAll(): Promise<ApprovalsResult>;
82
+ /**
83
+ * Approve USDC spending for a specific contract
84
+ *
85
+ * @param spenderAddress - The contract address to approve
86
+ * @param amount - The amount to approve (default: unlimited)
87
+ */
88
+ approveUsdc(spenderAddress: string, amount?: ethers.BigNumber): Promise<ApprovalTxResult>;
89
+ /**
90
+ * Set approval for an ERC1155 operator
91
+ *
92
+ * @param operatorAddress - The operator address to approve
93
+ * @param approved - Whether to approve or revoke
94
+ */
95
+ setErc1155Approval(operatorAddress: string, approved?: boolean): Promise<ApprovalTxResult>;
96
+ }
97
+ //# sourceMappingURL=authorization-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorization-service.d.ts","sourceRoot":"","sources":["../../src/services/authorization-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAyBhC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;CACtC;AAiBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAE,0BAA+B;IAK1E;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA8DlD;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IAkG5C;;;;;OAKG;IACG,WAAW,CACf,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,MAAM,CAAC,SAAuC,GACrD,OAAO,CAAC,gBAAgB,CAAC;IAuB5B;;;;;OAKG;IACG,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAuB7B"}