@catalyst-team/poly-sdk 0.4.0 → 0.4.5

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 (288) hide show
  1. package/README.md +8 -1
  2. package/README.zh-CN.md +2 -0
  3. package/dist/src/__tests__/integration/data-api.integration.test.js +21 -18
  4. package/dist/src/__tests__/integration/data-api.integration.test.js.map +1 -1
  5. package/dist/src/catalyst/catalyst-query-service.d.ts +109 -0
  6. package/dist/src/catalyst/catalyst-query-service.d.ts.map +1 -0
  7. package/dist/src/catalyst/catalyst-query-service.js +141 -0
  8. package/dist/src/catalyst/catalyst-query-service.js.map +1 -0
  9. package/dist/src/catalyst/catalyst-realtime-service.d.ts +40 -0
  10. package/dist/src/catalyst/catalyst-realtime-service.d.ts.map +1 -0
  11. package/dist/src/catalyst/catalyst-realtime-service.js +125 -0
  12. package/dist/src/catalyst/catalyst-realtime-service.js.map +1 -0
  13. package/dist/src/catalyst/index.d.ts +4 -0
  14. package/dist/src/catalyst/index.d.ts.map +1 -0
  15. package/dist/src/catalyst/index.js +4 -0
  16. package/dist/src/catalyst/index.js.map +1 -0
  17. package/dist/src/catalyst/types.d.ts +178 -0
  18. package/dist/src/catalyst/types.d.ts.map +1 -0
  19. package/dist/src/catalyst/types.js +2 -0
  20. package/dist/src/catalyst/types.js.map +1 -0
  21. package/dist/src/clients/data-api.d.ts +75 -14
  22. package/dist/src/clients/data-api.d.ts.map +1 -1
  23. package/dist/src/clients/data-api.js +40 -18
  24. package/dist/src/clients/data-api.js.map +1 -1
  25. package/dist/src/clients/gamma-api.d.ts +54 -0
  26. package/dist/src/clients/gamma-api.d.ts.map +1 -1
  27. package/dist/src/clients/gamma-api.js.map +1 -1
  28. package/dist/src/core/order-status.d.ts +159 -0
  29. package/dist/src/core/order-status.d.ts.map +1 -0
  30. package/dist/src/core/order-status.js +254 -0
  31. package/dist/src/core/order-status.js.map +1 -0
  32. package/dist/src/core/types.d.ts +124 -0
  33. package/dist/src/core/types.d.ts.map +1 -1
  34. package/dist/src/core/types.js +120 -0
  35. package/dist/src/core/types.js.map +1 -1
  36. package/dist/src/index.d.ts +20 -4
  37. package/dist/src/index.d.ts.map +1 -1
  38. package/dist/src/index.js +28 -2
  39. package/dist/src/index.js.map +1 -1
  40. package/dist/src/insider-scan/index.d.ts +3 -0
  41. package/dist/src/insider-scan/index.d.ts.map +1 -0
  42. package/dist/src/insider-scan/index.js +3 -0
  43. package/dist/src/insider-scan/index.js.map +1 -0
  44. package/dist/src/insider-scan/insider-scan-service.d.ts +63 -0
  45. package/dist/src/insider-scan/insider-scan-service.d.ts.map +1 -0
  46. package/dist/src/insider-scan/insider-scan-service.js +153 -0
  47. package/dist/src/insider-scan/insider-scan-service.js.map +1 -0
  48. package/dist/src/insider-scan/types.d.ts +205 -0
  49. package/dist/src/insider-scan/types.d.ts.map +1 -0
  50. package/dist/src/insider-scan/types.js +7 -0
  51. package/dist/src/insider-scan/types.js.map +1 -0
  52. package/dist/src/services/ctf-detector.d.ts +215 -0
  53. package/dist/src/services/ctf-detector.d.ts.map +1 -0
  54. package/dist/src/services/ctf-detector.js +420 -0
  55. package/dist/src/services/ctf-detector.js.map +1 -0
  56. package/dist/src/services/ctf-manager.d.ts +202 -0
  57. package/dist/src/services/ctf-manager.d.ts.map +1 -0
  58. package/dist/src/services/ctf-manager.js +542 -0
  59. package/dist/src/services/ctf-manager.js.map +1 -0
  60. package/dist/src/services/market-service.d.ts +61 -0
  61. package/dist/src/services/market-service.d.ts.map +1 -1
  62. package/dist/src/services/market-service.js +58 -0
  63. package/dist/src/services/market-service.js.map +1 -1
  64. package/dist/src/services/onchain-service.d.ts +10 -2
  65. package/dist/src/services/onchain-service.d.ts.map +1 -1
  66. package/dist/src/services/onchain-service.js +8 -0
  67. package/dist/src/services/onchain-service.js.map +1 -1
  68. package/dist/src/services/order-manager.d.ts +281 -0
  69. package/dist/src/services/order-manager.d.ts.map +1 -0
  70. package/dist/src/services/order-manager.js +641 -0
  71. package/dist/src/services/order-manager.js.map +1 -0
  72. package/dist/src/services/order-manager.test.d.ts +8 -0
  73. package/dist/src/services/order-manager.test.d.ts.map +1 -0
  74. package/dist/src/services/order-manager.test.js +477 -0
  75. package/dist/src/services/order-manager.test.js.map +1 -0
  76. package/dist/src/services/smart-money-service.d.ts +420 -3
  77. package/dist/src/services/smart-money-service.d.ts.map +1 -1
  78. package/dist/src/services/smart-money-service.js +869 -3
  79. package/dist/src/services/smart-money-service.js.map +1 -1
  80. package/dist/src/services/trading-service.d.ts +94 -1
  81. package/dist/src/services/trading-service.d.ts.map +1 -1
  82. package/dist/src/services/trading-service.js +232 -1
  83. package/dist/src/services/trading-service.js.map +1 -1
  84. package/dist/src/services/wallet-service.d.ts +38 -2
  85. package/dist/src/services/wallet-service.d.ts.map +1 -1
  86. package/dist/src/services/wallet-service.js +72 -5
  87. package/dist/src/services/wallet-service.js.map +1 -1
  88. package/dist/src/signal/index.d.ts +8 -0
  89. package/dist/src/signal/index.d.ts.map +1 -0
  90. package/dist/src/signal/index.js +7 -0
  91. package/dist/src/signal/index.js.map +1 -0
  92. package/dist/src/signal/signal-service.d.ts +89 -0
  93. package/dist/src/signal/signal-service.d.ts.map +1 -0
  94. package/dist/src/signal/signal-service.js +226 -0
  95. package/dist/src/signal/signal-service.js.map +1 -0
  96. package/dist/src/signal/types.d.ts +280 -0
  97. package/dist/src/signal/types.d.ts.map +1 -0
  98. package/dist/src/signal/types.js +7 -0
  99. package/dist/src/signal/types.js.map +1 -0
  100. package/dist/src/wallet-report/index.d.ts +3 -0
  101. package/dist/src/wallet-report/index.d.ts.map +1 -0
  102. package/dist/src/wallet-report/index.js +3 -0
  103. package/dist/src/wallet-report/index.js.map +1 -0
  104. package/dist/src/wallet-report/types.d.ts +187 -0
  105. package/dist/src/wallet-report/types.d.ts.map +1 -0
  106. package/dist/src/wallet-report/types.js +7 -0
  107. package/dist/src/wallet-report/types.js.map +1 -0
  108. package/dist/src/wallet-report/wallet-report-service.d.ts +91 -0
  109. package/dist/src/wallet-report/wallet-report-service.d.ts.map +1 -0
  110. package/dist/src/wallet-report/wallet-report-service.js +208 -0
  111. package/dist/src/wallet-report/wallet-report-service.js.map +1 -0
  112. package/dist/src/wallets/hot-wallet-service.d.ts +162 -0
  113. package/dist/src/wallets/hot-wallet-service.d.ts.map +1 -0
  114. package/dist/src/wallets/hot-wallet-service.js +251 -0
  115. package/dist/src/wallets/hot-wallet-service.js.map +1 -0
  116. package/dist/src/wallets/index.d.ts +15 -0
  117. package/dist/src/wallets/index.d.ts.map +1 -0
  118. package/dist/src/wallets/index.js +26 -0
  119. package/dist/src/wallets/index.js.map +1 -0
  120. package/package.json +5 -5
  121. package/dist/__tests__/clob-api.test.d.ts +0 -5
  122. package/dist/__tests__/clob-api.test.d.ts.map +0 -1
  123. package/dist/__tests__/clob-api.test.js +0 -240
  124. package/dist/__tests__/clob-api.test.js.map +0 -1
  125. package/dist/__tests__/integration/arbitrage-service.integration.test.d.ts +0 -12
  126. package/dist/__tests__/integration/arbitrage-service.integration.test.d.ts.map +0 -1
  127. package/dist/__tests__/integration/arbitrage-service.integration.test.js +0 -267
  128. package/dist/__tests__/integration/arbitrage-service.integration.test.js.map +0 -1
  129. package/dist/__tests__/integration/bridge-client.integration.test.d.ts +0 -11
  130. package/dist/__tests__/integration/bridge-client.integration.test.d.ts.map +0 -1
  131. package/dist/__tests__/integration/bridge-client.integration.test.js +0 -260
  132. package/dist/__tests__/integration/bridge-client.integration.test.js.map +0 -1
  133. package/dist/__tests__/integration/clob-api.integration.test.d.ts +0 -13
  134. package/dist/__tests__/integration/clob-api.integration.test.d.ts.map +0 -1
  135. package/dist/__tests__/integration/clob-api.integration.test.js +0 -170
  136. package/dist/__tests__/integration/clob-api.integration.test.js.map +0 -1
  137. package/dist/__tests__/integration/ctf-client.integration.test.d.ts +0 -17
  138. package/dist/__tests__/integration/ctf-client.integration.test.d.ts.map +0 -1
  139. package/dist/__tests__/integration/ctf-client.integration.test.js +0 -234
  140. package/dist/__tests__/integration/ctf-client.integration.test.js.map +0 -1
  141. package/dist/__tests__/integration/data-api.integration.test.d.ts +0 -9
  142. package/dist/__tests__/integration/data-api.integration.test.d.ts.map +0 -1
  143. package/dist/__tests__/integration/data-api.integration.test.js +0 -164
  144. package/dist/__tests__/integration/data-api.integration.test.js.map +0 -1
  145. package/dist/__tests__/integration/gamma-api.integration.test.d.ts +0 -9
  146. package/dist/__tests__/integration/gamma-api.integration.test.d.ts.map +0 -1
  147. package/dist/__tests__/integration/gamma-api.integration.test.js +0 -170
  148. package/dist/__tests__/integration/gamma-api.integration.test.js.map +0 -1
  149. package/dist/__tests__/integration/market-service.integration.test.d.ts +0 -10
  150. package/dist/__tests__/integration/market-service.integration.test.d.ts.map +0 -1
  151. package/dist/__tests__/integration/market-service.integration.test.js +0 -173
  152. package/dist/__tests__/integration/market-service.integration.test.js.map +0 -1
  153. package/dist/__tests__/integration/realtime-service-v2.integration.test.d.ts +0 -10
  154. package/dist/__tests__/integration/realtime-service-v2.integration.test.d.ts.map +0 -1
  155. package/dist/__tests__/integration/realtime-service-v2.integration.test.js +0 -307
  156. package/dist/__tests__/integration/realtime-service-v2.integration.test.js.map +0 -1
  157. package/dist/__tests__/integration/trading-service.integration.test.d.ts +0 -10
  158. package/dist/__tests__/integration/trading-service.integration.test.d.ts.map +0 -1
  159. package/dist/__tests__/integration/trading-service.integration.test.js +0 -58
  160. package/dist/__tests__/integration/trading-service.integration.test.js.map +0 -1
  161. package/dist/__tests__/test-utils.d.ts +0 -92
  162. package/dist/__tests__/test-utils.d.ts.map +0 -1
  163. package/dist/__tests__/test-utils.js +0 -143
  164. package/dist/__tests__/test-utils.js.map +0 -1
  165. package/dist/clients/bridge-client.d.ts +0 -388
  166. package/dist/clients/bridge-client.d.ts.map +0 -1
  167. package/dist/clients/bridge-client.js +0 -587
  168. package/dist/clients/bridge-client.js.map +0 -1
  169. package/dist/clients/clob-api.d.ts +0 -391
  170. package/dist/clients/clob-api.d.ts.map +0 -1
  171. package/dist/clients/clob-api.js +0 -448
  172. package/dist/clients/clob-api.js.map +0 -1
  173. package/dist/clients/ctf-client.d.ts +0 -475
  174. package/dist/clients/ctf-client.d.ts.map +0 -1
  175. package/dist/clients/ctf-client.js +0 -915
  176. package/dist/clients/ctf-client.js.map +0 -1
  177. package/dist/clients/data-api.d.ts +0 -452
  178. package/dist/clients/data-api.d.ts.map +0 -1
  179. package/dist/clients/data-api.js +0 -637
  180. package/dist/clients/data-api.js.map +0 -1
  181. package/dist/clients/gamma-api.d.ts +0 -406
  182. package/dist/clients/gamma-api.d.ts.map +0 -1
  183. package/dist/clients/gamma-api.js +0 -354
  184. package/dist/clients/gamma-api.js.map +0 -1
  185. package/dist/clients/subgraph.d.ts +0 -196
  186. package/dist/clients/subgraph.d.ts.map +0 -1
  187. package/dist/clients/subgraph.js +0 -332
  188. package/dist/clients/subgraph.js.map +0 -1
  189. package/dist/clients/trading-client.d.ts +0 -252
  190. package/dist/clients/trading-client.d.ts.map +0 -1
  191. package/dist/clients/trading-client.js +0 -543
  192. package/dist/clients/trading-client.js.map +0 -1
  193. package/dist/clients/websocket-manager.d.ts +0 -103
  194. package/dist/clients/websocket-manager.d.ts.map +0 -1
  195. package/dist/clients/websocket-manager.js +0 -200
  196. package/dist/clients/websocket-manager.js.map +0 -1
  197. package/dist/core/cache-adapter-bridge.d.ts +0 -36
  198. package/dist/core/cache-adapter-bridge.d.ts.map +0 -1
  199. package/dist/core/cache-adapter-bridge.js +0 -81
  200. package/dist/core/cache-adapter-bridge.js.map +0 -1
  201. package/dist/core/cache.d.ts +0 -43
  202. package/dist/core/cache.d.ts.map +0 -1
  203. package/dist/core/cache.js +0 -76
  204. package/dist/core/cache.js.map +0 -1
  205. package/dist/core/errors.d.ts +0 -39
  206. package/dist/core/errors.d.ts.map +0 -1
  207. package/dist/core/errors.js +0 -86
  208. package/dist/core/errors.js.map +0 -1
  209. package/dist/core/rate-limiter.d.ts +0 -33
  210. package/dist/core/rate-limiter.d.ts.map +0 -1
  211. package/dist/core/rate-limiter.js +0 -82
  212. package/dist/core/rate-limiter.js.map +0 -1
  213. package/dist/core/types.d.ts +0 -506
  214. package/dist/core/types.d.ts.map +0 -1
  215. package/dist/core/types.js +0 -49
  216. package/dist/core/types.js.map +0 -1
  217. package/dist/core/types.test.d.ts +0 -7
  218. package/dist/core/types.test.d.ts.map +0 -1
  219. package/dist/core/types.test.js +0 -122
  220. package/dist/core/types.test.js.map +0 -1
  221. package/dist/core/unified-cache.d.ts +0 -63
  222. package/dist/core/unified-cache.d.ts.map +0 -1
  223. package/dist/core/unified-cache.js +0 -114
  224. package/dist/core/unified-cache.js.map +0 -1
  225. package/dist/index.d.ts +0 -159
  226. package/dist/index.d.ts.map +0 -1
  227. package/dist/index.js +0 -262
  228. package/dist/index.js.map +0 -1
  229. package/dist/services/arbitrage-service.d.ts +0 -409
  230. package/dist/services/arbitrage-service.d.ts.map +0 -1
  231. package/dist/services/arbitrage-service.js +0 -1450
  232. package/dist/services/arbitrage-service.js.map +0 -1
  233. package/dist/services/authorization-service.d.ts +0 -97
  234. package/dist/services/authorization-service.d.ts.map +0 -1
  235. package/dist/services/authorization-service.js +0 -279
  236. package/dist/services/authorization-service.js.map +0 -1
  237. package/dist/services/binance-service.d.ts +0 -154
  238. package/dist/services/binance-service.d.ts.map +0 -1
  239. package/dist/services/binance-service.js +0 -266
  240. package/dist/services/binance-service.js.map +0 -1
  241. package/dist/services/dip-arb-service.d.ts +0 -209
  242. package/dist/services/dip-arb-service.d.ts.map +0 -1
  243. package/dist/services/dip-arb-service.js +0 -1602
  244. package/dist/services/dip-arb-service.js.map +0 -1
  245. package/dist/services/dip-arb-types.d.ts +0 -553
  246. package/dist/services/dip-arb-types.d.ts.map +0 -1
  247. package/dist/services/dip-arb-types.js +0 -164
  248. package/dist/services/dip-arb-types.js.map +0 -1
  249. package/dist/services/market-service.d.ts +0 -367
  250. package/dist/services/market-service.d.ts.map +0 -1
  251. package/dist/services/market-service.js +0 -1187
  252. package/dist/services/market-service.js.map +0 -1
  253. package/dist/services/onchain-service.d.ts +0 -309
  254. package/dist/services/onchain-service.d.ts.map +0 -1
  255. package/dist/services/onchain-service.js +0 -417
  256. package/dist/services/onchain-service.js.map +0 -1
  257. package/dist/services/realtime-service-v2.d.ts +0 -362
  258. package/dist/services/realtime-service-v2.d.ts.map +0 -1
  259. package/dist/services/realtime-service-v2.js +0 -858
  260. package/dist/services/realtime-service-v2.js.map +0 -1
  261. package/dist/services/realtime-service.d.ts +0 -82
  262. package/dist/services/realtime-service.d.ts.map +0 -1
  263. package/dist/services/realtime-service.js +0 -182
  264. package/dist/services/realtime-service.js.map +0 -1
  265. package/dist/services/smart-money-service.d.ts +0 -352
  266. package/dist/services/smart-money-service.d.ts.map +0 -1
  267. package/dist/services/smart-money-service.js +0 -582
  268. package/dist/services/smart-money-service.js.map +0 -1
  269. package/dist/services/swap-service.d.ts +0 -217
  270. package/dist/services/swap-service.d.ts.map +0 -1
  271. package/dist/services/swap-service.js +0 -695
  272. package/dist/services/swap-service.js.map +0 -1
  273. package/dist/services/trading-service.d.ts +0 -177
  274. package/dist/services/trading-service.d.ts.map +0 -1
  275. package/dist/services/trading-service.js +0 -422
  276. package/dist/services/trading-service.js.map +0 -1
  277. package/dist/services/wallet-service.d.ts +0 -316
  278. package/dist/services/wallet-service.d.ts.map +0 -1
  279. package/dist/services/wallet-service.js +0 -681
  280. package/dist/services/wallet-service.js.map +0 -1
  281. package/dist/utils/price-utils.d.ts +0 -153
  282. package/dist/utils/price-utils.d.ts.map +0 -1
  283. package/dist/utils/price-utils.js +0 -236
  284. package/dist/utils/price-utils.js.map +0 -1
  285. package/dist/utils/price-utils.test.d.ts +0 -5
  286. package/dist/utils/price-utils.test.d.ts.map +0 -1
  287. package/dist/utils/price-utils.test.js +0 -192
  288. package/dist/utils/price-utils.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"swap-service.js","sourceRoot":"","sources":["../../src/services/swap-service.ts"],"names":[],"mappings":"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"}
@@ -1,177 +0,0 @@
1
- /**
2
- * TradingService
3
- *
4
- * Trading service using official @polymarket/clob-client.
5
- *
6
- * Provides:
7
- * - Order creation (limit, market)
8
- * - Order management (cancel, query)
9
- * - Rewards tracking
10
- * - Balance management
11
- *
12
- * Note: Market data methods have been moved to MarketService.
13
- */
14
- import { ClobClient, type TickSize } from '@polymarket/clob-client';
15
- import { Wallet } from 'ethers';
16
- import { RateLimiter } from '../core/rate-limiter.js';
17
- import type { UnifiedCache } from '../core/unified-cache.js';
18
- import type { Side } from '../core/types.js';
19
- export declare const POLYGON_MAINNET = 137;
20
- export declare const POLYGON_AMOY = 80002;
21
- /** Minimum order value in USDC (price * size >= MIN_ORDER_VALUE) */
22
- export declare const MIN_ORDER_VALUE_USDC = 1;
23
- /** Minimum order size in shares */
24
- export declare const MIN_ORDER_SIZE_SHARES = 5;
25
- export type { Side, OrderType } from '../core/types.js';
26
- export interface ApiCredentials {
27
- key: string;
28
- secret: string;
29
- passphrase: string;
30
- }
31
- export interface TradingServiceConfig {
32
- /** Private key for signing */
33
- privateKey: string;
34
- /** Chain ID (default: Polygon mainnet 137) */
35
- chainId?: number;
36
- /** Pre-generated API credentials (optional) */
37
- credentials?: ApiCredentials;
38
- }
39
- export interface LimitOrderParams {
40
- tokenId: string;
41
- side: Side;
42
- price: number;
43
- size: number;
44
- orderType?: 'GTC' | 'GTD';
45
- expiration?: number;
46
- }
47
- export interface MarketOrderParams {
48
- tokenId: string;
49
- side: Side;
50
- amount: number;
51
- price?: number;
52
- orderType?: 'FOK' | 'FAK';
53
- }
54
- export interface Order {
55
- id: string;
56
- status: string;
57
- tokenId: string;
58
- side: Side;
59
- price: number;
60
- originalSize: number;
61
- filledSize: number;
62
- remainingSize: number;
63
- associateTrades: string[];
64
- createdAt: number;
65
- }
66
- export interface OrderResult {
67
- success: boolean;
68
- orderId?: string;
69
- orderIds?: string[];
70
- errorMsg?: string;
71
- transactionHashes?: string[];
72
- }
73
- export interface TradeInfo {
74
- id: string;
75
- tokenId: string;
76
- side: Side;
77
- price: number;
78
- size: number;
79
- fee: number;
80
- timestamp: number;
81
- }
82
- export interface UserEarning {
83
- date: string;
84
- conditionId: string;
85
- assetAddress: string;
86
- makerAddress: string;
87
- earnings: number;
88
- assetRate: number;
89
- }
90
- export interface MarketReward {
91
- conditionId: string;
92
- question: string;
93
- marketSlug: string;
94
- eventSlug: string;
95
- rewardsMaxSpread: number;
96
- rewardsMinSize: number;
97
- tokens: Array<{
98
- tokenId: string;
99
- outcome: string;
100
- price: number;
101
- }>;
102
- rewardsConfig: Array<{
103
- assetAddress: string;
104
- startDate: string;
105
- endDate: string;
106
- ratePerDay: number;
107
- totalRewards: number;
108
- }>;
109
- }
110
- export declare class TradingService {
111
- private rateLimiter;
112
- private cache;
113
- private config;
114
- private clobClient;
115
- private wallet;
116
- private chainId;
117
- private credentials;
118
- private initialized;
119
- private tickSizeCache;
120
- private negRiskCache;
121
- constructor(rateLimiter: RateLimiter, cache: UnifiedCache, config: TradingServiceConfig);
122
- initialize(): Promise<void>;
123
- /**
124
- * Try to derive existing API key first, create new one if not exists.
125
- * This is the reverse of official createOrDeriveApiKey() to avoid
126
- * 400 "Could not create api key" error log for existing keys.
127
- */
128
- private deriveOrCreateApiKey;
129
- private ensureInitialized;
130
- /**
131
- * Get tick size for a token
132
- */
133
- getTickSize(tokenId: string): Promise<TickSize>;
134
- /**
135
- * Check if token is neg risk
136
- */
137
- isNegRisk(tokenId: string): Promise<boolean>;
138
- /**
139
- * Create and post a limit order
140
- *
141
- * Note: Polymarket enforces minimum order requirements:
142
- * - Minimum size: 5 shares (MIN_ORDER_SIZE_SHARES)
143
- * - Minimum value: $1 USDC (MIN_ORDER_VALUE_USDC)
144
- *
145
- * Orders below these limits will be rejected by the API.
146
- */
147
- createLimitOrder(params: LimitOrderParams): Promise<OrderResult>;
148
- /**
149
- * Create and post a market order
150
- *
151
- * Note: Polymarket enforces minimum order requirements:
152
- * - Minimum value: $1 USDC (MIN_ORDER_VALUE_USDC)
153
- *
154
- * Market orders below this limit will be rejected by the API.
155
- */
156
- createMarketOrder(params: MarketOrderParams): Promise<OrderResult>;
157
- cancelOrder(orderId: string): Promise<OrderResult>;
158
- cancelOrders(orderIds: string[]): Promise<OrderResult>;
159
- cancelAllOrders(): Promise<OrderResult>;
160
- getOpenOrders(marketId?: string): Promise<Order[]>;
161
- getTrades(marketId?: string): Promise<TradeInfo[]>;
162
- isOrderScoring(orderId: string): Promise<boolean>;
163
- areOrdersScoring(orderIds: string[]): Promise<Record<string, boolean>>;
164
- getEarningsForDay(date: string): Promise<UserEarning[]>;
165
- getCurrentRewards(): Promise<MarketReward[]>;
166
- getBalanceAllowance(assetType: 'COLLATERAL' | 'CONDITIONAL', tokenId?: string): Promise<{
167
- balance: string;
168
- allowance: string;
169
- }>;
170
- updateBalanceAllowance(assetType: 'COLLATERAL' | 'CONDITIONAL', tokenId?: string): Promise<void>;
171
- getAddress(): string;
172
- getWallet(): Wallet;
173
- getCredentials(): ApiCredentials | null;
174
- isInitialized(): boolean;
175
- getClobClient(): ClobClient | null;
176
- }
177
- //# sourceMappingURL=trading-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trading-service.d.ts","sourceRoot":"","sources":["../../src/services/trading-service.ts"],"names":[],"mappings":"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"}
@@ -1,422 +0,0 @@
1
- /**
2
- * TradingService
3
- *
4
- * Trading service using official @polymarket/clob-client.
5
- *
6
- * Provides:
7
- * - Order creation (limit, market)
8
- * - Order management (cancel, query)
9
- * - Rewards tracking
10
- * - Balance management
11
- *
12
- * Note: Market data methods have been moved to MarketService.
13
- */
14
- import { ClobClient, Side as ClobSide, OrderType as ClobOrderType, } from '@polymarket/clob-client';
15
- import { Wallet } from 'ethers';
16
- import { ApiType } from '../core/rate-limiter.js';
17
- import { PolymarketError, ErrorCode } from '../core/errors.js';
18
- // Chain IDs
19
- export const POLYGON_MAINNET = 137;
20
- export const POLYGON_AMOY = 80002;
21
- // CLOB Host
22
- const CLOB_HOST = 'https://clob.polymarket.com';
23
- // ============================================================================
24
- // Polymarket Order Minimums
25
- // ============================================================================
26
- // These are enforced by Polymarket's CLOB API. Orders below these limits will
27
- // be rejected with errors like:
28
- // - "invalid amount for a marketable BUY order ($X), min size: $1"
29
- // - "Size (X) lower than the minimum: 5"
30
- //
31
- // Strategies should ensure orders meet these requirements BEFORE sending.
32
- // ============================================================================
33
- /** Minimum order value in USDC (price * size >= MIN_ORDER_VALUE) */
34
- export const MIN_ORDER_VALUE_USDC = 1;
35
- /** Minimum order size in shares */
36
- export const MIN_ORDER_SIZE_SHARES = 5;
37
- // ============================================================================
38
- // TradingService Implementation
39
- // ============================================================================
40
- export class TradingService {
41
- rateLimiter;
42
- cache;
43
- config;
44
- clobClient = null;
45
- wallet;
46
- chainId;
47
- credentials = null;
48
- initialized = false;
49
- tickSizeCache = new Map();
50
- negRiskCache = new Map();
51
- constructor(rateLimiter, cache, config) {
52
- this.rateLimiter = rateLimiter;
53
- this.cache = cache;
54
- this.config = config;
55
- this.wallet = new Wallet(config.privateKey);
56
- this.chainId = (config.chainId || POLYGON_MAINNET);
57
- this.credentials = config.credentials || null;
58
- }
59
- // ============================================================================
60
- // Initialization
61
- // ============================================================================
62
- async initialize() {
63
- if (this.initialized)
64
- return;
65
- // Create CLOB client with L1 auth (wallet)
66
- this.clobClient = new ClobClient(CLOB_HOST, this.chainId, this.wallet);
67
- // Get or create API credentials
68
- // We use derive-first strategy (opposite of official createOrDeriveApiKey)
69
- // because most users already have a key, avoiding unnecessary 400 error logs.
70
- if (!this.credentials) {
71
- const creds = await this.deriveOrCreateApiKey();
72
- this.credentials = {
73
- key: creds.key,
74
- secret: creds.secret,
75
- passphrase: creds.passphrase,
76
- };
77
- }
78
- // Re-initialize with L2 auth (credentials)
79
- this.clobClient = new ClobClient(CLOB_HOST, this.chainId, this.wallet, {
80
- key: this.credentials.key,
81
- secret: this.credentials.secret,
82
- passphrase: this.credentials.passphrase,
83
- });
84
- this.initialized = true;
85
- }
86
- /**
87
- * Try to derive existing API key first, create new one if not exists.
88
- * This is the reverse of official createOrDeriveApiKey() to avoid
89
- * 400 "Could not create api key" error log for existing keys.
90
- */
91
- async deriveOrCreateApiKey() {
92
- // First try to derive existing key (most common case for existing users)
93
- const derived = await this.clobClient.deriveApiKey();
94
- if (derived.key) {
95
- return derived;
96
- }
97
- // Derive failed (key doesn't exist), create new key (first-time users)
98
- const created = await this.clobClient.createApiKey();
99
- if (!created.key) {
100
- throw new PolymarketError(ErrorCode.AUTH_FAILED, 'Failed to create or derive API key. Wallet may not be registered on Polymarket.');
101
- }
102
- return created;
103
- }
104
- async ensureInitialized() {
105
- if (!this.initialized || !this.clobClient) {
106
- await this.initialize();
107
- }
108
- return this.clobClient;
109
- }
110
- // ============================================================================
111
- // Trading Helpers
112
- // ============================================================================
113
- /**
114
- * Get tick size for a token
115
- */
116
- async getTickSize(tokenId) {
117
- if (this.tickSizeCache.has(tokenId)) {
118
- return this.tickSizeCache.get(tokenId);
119
- }
120
- const client = await this.ensureInitialized();
121
- const tickSize = await client.getTickSize(tokenId);
122
- this.tickSizeCache.set(tokenId, tickSize);
123
- return tickSize;
124
- }
125
- /**
126
- * Check if token is neg risk
127
- */
128
- async isNegRisk(tokenId) {
129
- if (this.negRiskCache.has(tokenId)) {
130
- return this.negRiskCache.get(tokenId);
131
- }
132
- const client = await this.ensureInitialized();
133
- const negRisk = await client.getNegRisk(tokenId);
134
- this.negRiskCache.set(tokenId, negRisk);
135
- return negRisk;
136
- }
137
- // ============================================================================
138
- // Order Creation
139
- // ============================================================================
140
- /**
141
- * Create and post a limit order
142
- *
143
- * Note: Polymarket enforces minimum order requirements:
144
- * - Minimum size: 5 shares (MIN_ORDER_SIZE_SHARES)
145
- * - Minimum value: $1 USDC (MIN_ORDER_VALUE_USDC)
146
- *
147
- * Orders below these limits will be rejected by the API.
148
- */
149
- async createLimitOrder(params) {
150
- // Validate minimum order requirements before sending to API
151
- if (params.size < MIN_ORDER_SIZE_SHARES) {
152
- return {
153
- success: false,
154
- errorMsg: `Order size (${params.size}) is below Polymarket minimum (${MIN_ORDER_SIZE_SHARES} shares)`,
155
- };
156
- }
157
- const orderValue = params.price * params.size;
158
- if (orderValue < MIN_ORDER_VALUE_USDC) {
159
- return {
160
- success: false,
161
- errorMsg: `Order value ($${orderValue.toFixed(2)}) is below Polymarket minimum ($${MIN_ORDER_VALUE_USDC})`,
162
- };
163
- }
164
- const client = await this.ensureInitialized();
165
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
166
- try {
167
- const [tickSize, negRisk] = await Promise.all([
168
- this.getTickSize(params.tokenId),
169
- this.isNegRisk(params.tokenId),
170
- ]);
171
- const orderType = params.orderType === 'GTD' ? ClobOrderType.GTD : ClobOrderType.GTC;
172
- const result = await client.createAndPostOrder({
173
- tokenID: params.tokenId,
174
- side: params.side === 'BUY' ? ClobSide.BUY : ClobSide.SELL,
175
- price: params.price,
176
- size: params.size,
177
- expiration: params.expiration || 0,
178
- }, { tickSize, negRisk }, orderType);
179
- const success = result.success === true ||
180
- (result.success !== false &&
181
- ((result.orderID !== undefined && result.orderID !== '') ||
182
- (result.transactionsHashes !== undefined && result.transactionsHashes.length > 0)));
183
- return {
184
- success,
185
- orderId: result.orderID,
186
- orderIds: result.orderIDs,
187
- errorMsg: result.errorMsg,
188
- transactionHashes: result.transactionsHashes,
189
- };
190
- }
191
- catch (error) {
192
- return {
193
- success: false,
194
- errorMsg: `Order failed: ${error instanceof Error ? error.message : String(error)}`,
195
- };
196
- }
197
- });
198
- }
199
- /**
200
- * Create and post a market order
201
- *
202
- * Note: Polymarket enforces minimum order requirements:
203
- * - Minimum value: $1 USDC (MIN_ORDER_VALUE_USDC)
204
- *
205
- * Market orders below this limit will be rejected by the API.
206
- */
207
- async createMarketOrder(params) {
208
- // Validate minimum order value before sending to API
209
- if (params.amount < MIN_ORDER_VALUE_USDC) {
210
- return {
211
- success: false,
212
- errorMsg: `Order amount ($${params.amount.toFixed(2)}) is below Polymarket minimum ($${MIN_ORDER_VALUE_USDC})`,
213
- };
214
- }
215
- const client = await this.ensureInitialized();
216
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
217
- try {
218
- const [tickSize, negRisk] = await Promise.all([
219
- this.getTickSize(params.tokenId),
220
- this.isNegRisk(params.tokenId),
221
- ]);
222
- const orderType = params.orderType === 'FAK' ? ClobOrderType.FAK : ClobOrderType.FOK;
223
- const result = await client.createAndPostMarketOrder({
224
- tokenID: params.tokenId,
225
- side: params.side === 'BUY' ? ClobSide.BUY : ClobSide.SELL,
226
- amount: params.amount,
227
- price: params.price,
228
- }, { tickSize, negRisk }, orderType);
229
- const success = result.success === true ||
230
- (result.success !== false &&
231
- ((result.orderID !== undefined && result.orderID !== '') ||
232
- (result.transactionsHashes !== undefined && result.transactionsHashes.length > 0)));
233
- return {
234
- success,
235
- orderId: result.orderID,
236
- orderIds: result.orderIDs,
237
- errorMsg: result.errorMsg,
238
- transactionHashes: result.transactionsHashes,
239
- };
240
- }
241
- catch (error) {
242
- return {
243
- success: false,
244
- errorMsg: `Market order failed: ${error instanceof Error ? error.message : String(error)}`,
245
- };
246
- }
247
- });
248
- }
249
- // ============================================================================
250
- // Order Management
251
- // ============================================================================
252
- async cancelOrder(orderId) {
253
- const client = await this.ensureInitialized();
254
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
255
- try {
256
- const result = await client.cancelOrder({ orderID: orderId });
257
- return { success: result.canceled ?? false, orderId };
258
- }
259
- catch (error) {
260
- throw new PolymarketError(ErrorCode.ORDER_FAILED, `Cancel failed: ${error instanceof Error ? error.message : String(error)}`);
261
- }
262
- });
263
- }
264
- async cancelOrders(orderIds) {
265
- const client = await this.ensureInitialized();
266
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
267
- try {
268
- const result = await client.cancelOrders(orderIds);
269
- return { success: result.canceled ?? false, orderIds };
270
- }
271
- catch (error) {
272
- throw new PolymarketError(ErrorCode.ORDER_FAILED, `Cancel orders failed: ${error instanceof Error ? error.message : String(error)}`);
273
- }
274
- });
275
- }
276
- async cancelAllOrders() {
277
- const client = await this.ensureInitialized();
278
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
279
- try {
280
- const result = await client.cancelAll();
281
- return { success: result.canceled ?? false };
282
- }
283
- catch (error) {
284
- throw new PolymarketError(ErrorCode.ORDER_FAILED, `Cancel all failed: ${error instanceof Error ? error.message : String(error)}`);
285
- }
286
- });
287
- }
288
- async getOpenOrders(marketId) {
289
- const client = await this.ensureInitialized();
290
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
291
- const orders = await client.getOpenOrders(marketId ? { market: marketId } : undefined);
292
- return orders.map((o) => {
293
- const originalSize = Number(o.original_size) || 0;
294
- const filledSize = Number(o.size_matched) || 0;
295
- return {
296
- id: o.id,
297
- status: o.status,
298
- tokenId: o.asset_id,
299
- side: o.side.toUpperCase(),
300
- price: Number(o.price) || 0,
301
- originalSize,
302
- filledSize,
303
- remainingSize: originalSize - filledSize,
304
- associateTrades: o.associate_trades || [],
305
- createdAt: o.created_at,
306
- };
307
- });
308
- });
309
- }
310
- async getTrades(marketId) {
311
- const client = await this.ensureInitialized();
312
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
313
- const trades = await client.getTrades(marketId ? { market: marketId } : undefined);
314
- return trades.map((t) => ({
315
- id: t.id,
316
- tokenId: t.asset_id,
317
- side: t.side,
318
- price: Number(t.price) || 0,
319
- size: Number(t.size) || 0,
320
- fee: Number(t.fee_rate_bps) || 0,
321
- timestamp: Number(t.match_time) || Date.now(),
322
- }));
323
- });
324
- }
325
- // ============================================================================
326
- // Rewards
327
- // ============================================================================
328
- async isOrderScoring(orderId) {
329
- const client = await this.ensureInitialized();
330
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
331
- const result = await client.isOrderScoring({ order_id: orderId });
332
- return result.scoring;
333
- });
334
- }
335
- async areOrdersScoring(orderIds) {
336
- const client = await this.ensureInitialized();
337
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
338
- return await client.areOrdersScoring({ orderIds });
339
- });
340
- }
341
- async getEarningsForDay(date) {
342
- const client = await this.ensureInitialized();
343
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
344
- const earnings = await client.getEarningsForUserForDay(date);
345
- return earnings.map(e => ({
346
- date: e.date,
347
- conditionId: e.condition_id,
348
- assetAddress: e.asset_address,
349
- makerAddress: e.maker_address,
350
- earnings: e.earnings,
351
- assetRate: e.asset_rate,
352
- }));
353
- });
354
- }
355
- async getCurrentRewards() {
356
- const client = await this.ensureInitialized();
357
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
358
- const rewards = await client.getCurrentRewards();
359
- return rewards.map(r => ({
360
- conditionId: r.condition_id,
361
- question: r.question,
362
- marketSlug: r.market_slug,
363
- eventSlug: r.event_slug,
364
- rewardsMaxSpread: r.rewards_max_spread,
365
- rewardsMinSize: r.rewards_min_size,
366
- tokens: r.tokens.map(t => ({
367
- tokenId: t.token_id,
368
- outcome: t.outcome,
369
- price: t.price,
370
- })),
371
- rewardsConfig: r.rewards_config.map(c => ({
372
- assetAddress: c.asset_address,
373
- startDate: c.start_date,
374
- endDate: c.end_date,
375
- ratePerDay: c.rate_per_day,
376
- totalRewards: c.total_rewards,
377
- })),
378
- }));
379
- });
380
- }
381
- // ============================================================================
382
- // Balance & Allowance
383
- // ============================================================================
384
- async getBalanceAllowance(assetType, tokenId) {
385
- const client = await this.ensureInitialized();
386
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
387
- const result = await client.getBalanceAllowance({
388
- asset_type: assetType,
389
- token_id: tokenId,
390
- });
391
- return { balance: result.balance, allowance: result.allowance };
392
- });
393
- }
394
- async updateBalanceAllowance(assetType, tokenId) {
395
- const client = await this.ensureInitialized();
396
- return this.rateLimiter.execute(ApiType.CLOB_API, async () => {
397
- await client.updateBalanceAllowance({
398
- asset_type: assetType,
399
- token_id: tokenId,
400
- });
401
- });
402
- }
403
- // ============================================================================
404
- // Account Info
405
- // ============================================================================
406
- getAddress() {
407
- return this.wallet.address;
408
- }
409
- getWallet() {
410
- return this.wallet;
411
- }
412
- getCredentials() {
413
- return this.credentials;
414
- }
415
- isInitialized() {
416
- return this.initialized;
417
- }
418
- getClobClient() {
419
- return this.clobClient;
420
- }
421
- }
422
- //# sourceMappingURL=trading-service.js.map