@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
@@ -1,413 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC5C;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;CAC1C;AAGD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE;QACN,GAAG,EAAE,SAAS,CAAC;QACf,EAAE,EAAE,SAAS,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,eAAe,EAAE,OAAO,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,IAAI,EAAE,cAAc,EAAE,CAAC;KACxB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,SAAS,CAAC;IACf,EAAE,EAAE,SAAS,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAKD,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;CAExC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,oBAAoB;CAEpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC;YAChB,UAAU,EAAE,eAAe,EAAE,CAAC;SAC/B,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,iBAAiB,EAAE;YACjB,SAAS,EAAE,eAAe,EAAE,CAAC;SAC9B,CAAC;KACH,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;CAEnC;AAED,MAAM,WAAW,cAAc;IAC7B,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,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;AAGpD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH"}
package/dist/mcp/types.js DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * MCP Tool Types for Polymarket
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,97 +0,0 @@
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
@@ -1 +0,0 @@
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"}