@catalyst-team/poly-sdk 0.3.0 → 0.4.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 (224) hide show
  1. package/README.md +125 -0
  2. package/dist/clients/ctf-client.d.ts +6 -4
  3. package/dist/clients/ctf-client.d.ts.map +1 -1
  4. package/dist/clients/ctf-client.js.map +1 -1
  5. package/dist/clients/data-api.d.ts +19 -6
  6. package/dist/clients/data-api.d.ts.map +1 -1
  7. package/dist/clients/data-api.js +79 -34
  8. package/dist/clients/data-api.js.map +1 -1
  9. package/dist/clients/gamma-api.d.ts +5 -0
  10. package/dist/clients/gamma-api.d.ts.map +1 -1
  11. package/dist/clients/gamma-api.js +2 -0
  12. package/dist/clients/gamma-api.js.map +1 -1
  13. package/dist/core/cache.d.ts +2 -0
  14. package/dist/core/cache.d.ts.map +1 -1
  15. package/dist/core/cache.js +4 -0
  16. package/dist/core/cache.js.map +1 -1
  17. package/dist/core/rate-limiter.d.ts +2 -1
  18. package/dist/core/rate-limiter.d.ts.map +1 -1
  19. package/dist/core/rate-limiter.js +7 -0
  20. package/dist/core/rate-limiter.js.map +1 -1
  21. package/dist/core/types.d.ts +105 -1
  22. package/dist/core/types.d.ts.map +1 -1
  23. package/dist/core/types.js +30 -0
  24. package/dist/core/types.js.map +1 -1
  25. package/dist/index.d.ts +11 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +16 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/scripts/dip-arb/auto-trade.d.ts +20 -0
  30. package/dist/scripts/dip-arb/auto-trade.d.ts.map +1 -0
  31. package/dist/scripts/dip-arb/auto-trade.js +373 -0
  32. package/dist/scripts/dip-arb/auto-trade.js.map +1 -0
  33. package/dist/scripts/dip-arb/example-basic.d.ts +30 -0
  34. package/dist/scripts/dip-arb/example-basic.d.ts.map +1 -0
  35. package/dist/scripts/dip-arb/example-basic.js +222 -0
  36. package/dist/scripts/dip-arb/example-basic.js.map +1 -0
  37. package/dist/scripts/dip-arb/redeem-positions.d.ts +11 -0
  38. package/dist/scripts/dip-arb/redeem-positions.d.ts.map +1 -0
  39. package/dist/scripts/dip-arb/redeem-positions.js +201 -0
  40. package/dist/scripts/dip-arb/redeem-positions.js.map +1 -0
  41. package/dist/scripts/dip-arb/scan-markets.d.ts +6 -0
  42. package/dist/scripts/dip-arb/scan-markets.d.ts.map +1 -0
  43. package/dist/scripts/dip-arb/scan-markets.js +73 -0
  44. package/dist/scripts/dip-arb/scan-markets.js.map +1 -0
  45. package/dist/services/arbitrage-service.d.ts.map +1 -1
  46. package/dist/services/arbitrage-service.js +14 -4
  47. package/dist/services/arbitrage-service.js.map +1 -1
  48. package/dist/services/binance-service.d.ts +154 -0
  49. package/dist/services/binance-service.d.ts.map +1 -0
  50. package/dist/services/binance-service.js +266 -0
  51. package/dist/services/binance-service.js.map +1 -0
  52. package/dist/services/dip-arb-service.d.ts +209 -0
  53. package/dist/services/dip-arb-service.d.ts.map +1 -0
  54. package/dist/services/dip-arb-service.js +1602 -0
  55. package/dist/services/dip-arb-service.js.map +1 -0
  56. package/dist/services/dip-arb-types.d.ts +553 -0
  57. package/dist/services/dip-arb-types.d.ts.map +1 -0
  58. package/dist/services/dip-arb-types.js +164 -0
  59. package/dist/services/dip-arb-types.js.map +1 -0
  60. package/dist/services/market-service.d.ts +162 -3
  61. package/dist/services/market-service.d.ts.map +1 -1
  62. package/dist/services/market-service.js +427 -14
  63. package/dist/services/market-service.js.map +1 -1
  64. package/dist/services/realtime-service-v2.d.ts +1 -0
  65. package/dist/services/realtime-service-v2.d.ts.map +1 -1
  66. package/dist/services/realtime-service-v2.js +20 -2
  67. package/dist/services/realtime-service-v2.js.map +1 -1
  68. package/dist/services/smart-money-service.d.ts +157 -1
  69. package/dist/services/smart-money-service.d.ts.map +1 -1
  70. package/dist/services/smart-money-service.js +224 -0
  71. package/dist/services/smart-money-service.js.map +1 -1
  72. package/dist/services/trading-service.d.ts +21 -0
  73. package/dist/services/trading-service.d.ts.map +1 -1
  74. package/dist/services/trading-service.js +67 -1
  75. package/dist/services/trading-service.js.map +1 -1
  76. package/dist/services/wallet-service.d.ts +43 -2
  77. package/dist/services/wallet-service.d.ts.map +1 -1
  78. package/dist/services/wallet-service.js +54 -3
  79. package/dist/services/wallet-service.js.map +1 -1
  80. package/dist/src/__tests__/integration/arbitrage-service.integration.test.d.ts +12 -0
  81. package/dist/src/__tests__/integration/arbitrage-service.integration.test.d.ts.map +1 -0
  82. package/dist/src/__tests__/integration/arbitrage-service.integration.test.js +267 -0
  83. package/dist/src/__tests__/integration/arbitrage-service.integration.test.js.map +1 -0
  84. package/dist/src/__tests__/integration/bridge-client.integration.test.d.ts +11 -0
  85. package/dist/src/__tests__/integration/bridge-client.integration.test.d.ts.map +1 -0
  86. package/dist/src/__tests__/integration/bridge-client.integration.test.js +260 -0
  87. package/dist/src/__tests__/integration/bridge-client.integration.test.js.map +1 -0
  88. package/dist/src/__tests__/integration/ctf-client.integration.test.d.ts +17 -0
  89. package/dist/src/__tests__/integration/ctf-client.integration.test.d.ts.map +1 -0
  90. package/dist/src/__tests__/integration/ctf-client.integration.test.js +234 -0
  91. package/dist/src/__tests__/integration/ctf-client.integration.test.js.map +1 -0
  92. package/dist/src/__tests__/integration/data-api.integration.test.d.ts +9 -0
  93. package/dist/src/__tests__/integration/data-api.integration.test.d.ts.map +1 -0
  94. package/dist/src/__tests__/integration/data-api.integration.test.js +164 -0
  95. package/dist/src/__tests__/integration/data-api.integration.test.js.map +1 -0
  96. package/dist/src/__tests__/integration/gamma-api.integration.test.d.ts +9 -0
  97. package/dist/src/__tests__/integration/gamma-api.integration.test.d.ts.map +1 -0
  98. package/dist/src/__tests__/integration/gamma-api.integration.test.js +170 -0
  99. package/dist/src/__tests__/integration/gamma-api.integration.test.js.map +1 -0
  100. package/dist/src/__tests__/integration/market-service.integration.test.d.ts +10 -0
  101. package/dist/src/__tests__/integration/market-service.integration.test.d.ts.map +1 -0
  102. package/dist/src/__tests__/integration/market-service.integration.test.js +180 -0
  103. package/dist/src/__tests__/integration/market-service.integration.test.js.map +1 -0
  104. package/dist/src/__tests__/integration/realtime-service-v2.integration.test.d.ts +10 -0
  105. package/dist/src/__tests__/integration/realtime-service-v2.integration.test.d.ts.map +1 -0
  106. package/dist/src/__tests__/integration/realtime-service-v2.integration.test.js +307 -0
  107. package/dist/src/__tests__/integration/realtime-service-v2.integration.test.js.map +1 -0
  108. package/dist/src/__tests__/integration/trading-service.integration.test.d.ts +10 -0
  109. package/dist/src/__tests__/integration/trading-service.integration.test.d.ts.map +1 -0
  110. package/dist/src/__tests__/integration/trading-service.integration.test.js +58 -0
  111. package/dist/src/__tests__/integration/trading-service.integration.test.js.map +1 -0
  112. package/dist/src/__tests__/test-utils.d.ts +92 -0
  113. package/dist/src/__tests__/test-utils.d.ts.map +1 -0
  114. package/dist/src/__tests__/test-utils.js +143 -0
  115. package/dist/src/__tests__/test-utils.js.map +1 -0
  116. package/dist/src/clients/bridge-client.d.ts +388 -0
  117. package/dist/src/clients/bridge-client.d.ts.map +1 -0
  118. package/dist/src/clients/bridge-client.js +587 -0
  119. package/dist/src/clients/bridge-client.js.map +1 -0
  120. package/dist/src/clients/ctf-client.d.ts +475 -0
  121. package/dist/src/clients/ctf-client.d.ts.map +1 -0
  122. package/dist/src/clients/ctf-client.js +915 -0
  123. package/dist/src/clients/ctf-client.js.map +1 -0
  124. package/dist/src/clients/data-api.d.ts +452 -0
  125. package/dist/src/clients/data-api.d.ts.map +1 -0
  126. package/dist/src/clients/data-api.js +637 -0
  127. package/dist/src/clients/data-api.js.map +1 -0
  128. package/dist/src/clients/gamma-api.d.ts +421 -0
  129. package/dist/src/clients/gamma-api.d.ts.map +1 -0
  130. package/dist/src/clients/gamma-api.js +359 -0
  131. package/dist/src/clients/gamma-api.js.map +1 -0
  132. package/dist/src/clients/subgraph.d.ts +196 -0
  133. package/dist/src/clients/subgraph.d.ts.map +1 -0
  134. package/dist/src/clients/subgraph.js +332 -0
  135. package/dist/src/clients/subgraph.js.map +1 -0
  136. package/dist/src/core/cache-adapter-bridge.d.ts +36 -0
  137. package/dist/src/core/cache-adapter-bridge.d.ts.map +1 -0
  138. package/dist/src/core/cache-adapter-bridge.js +81 -0
  139. package/dist/src/core/cache-adapter-bridge.js.map +1 -0
  140. package/dist/src/core/cache.d.ts +43 -0
  141. package/dist/src/core/cache.d.ts.map +1 -0
  142. package/dist/src/core/cache.js +76 -0
  143. package/dist/src/core/cache.js.map +1 -0
  144. package/dist/src/core/errors.d.ts +39 -0
  145. package/dist/src/core/errors.d.ts.map +1 -0
  146. package/dist/src/core/errors.js +86 -0
  147. package/dist/src/core/errors.js.map +1 -0
  148. package/dist/src/core/rate-limiter.d.ts +33 -0
  149. package/dist/src/core/rate-limiter.d.ts.map +1 -0
  150. package/dist/src/core/rate-limiter.js +82 -0
  151. package/dist/src/core/rate-limiter.js.map +1 -0
  152. package/dist/src/core/types.d.ts +506 -0
  153. package/dist/src/core/types.d.ts.map +1 -0
  154. package/dist/src/core/types.js +49 -0
  155. package/dist/src/core/types.js.map +1 -0
  156. package/dist/src/core/types.test.d.ts +7 -0
  157. package/dist/src/core/types.test.d.ts.map +1 -0
  158. package/dist/src/core/types.test.js +122 -0
  159. package/dist/src/core/types.test.js.map +1 -0
  160. package/dist/src/core/unified-cache.d.ts +63 -0
  161. package/dist/src/core/unified-cache.d.ts.map +1 -0
  162. package/dist/src/core/unified-cache.js +114 -0
  163. package/dist/src/core/unified-cache.js.map +1 -0
  164. package/dist/src/index.d.ts +159 -0
  165. package/dist/src/index.d.ts.map +1 -0
  166. package/dist/src/index.js +262 -0
  167. package/dist/src/index.js.map +1 -0
  168. package/dist/src/services/arbitrage-service.d.ts +409 -0
  169. package/dist/src/services/arbitrage-service.d.ts.map +1 -0
  170. package/dist/src/services/arbitrage-service.js +1450 -0
  171. package/dist/src/services/arbitrage-service.js.map +1 -0
  172. package/dist/src/services/authorization-service.d.ts +97 -0
  173. package/dist/src/services/authorization-service.d.ts.map +1 -0
  174. package/dist/src/services/authorization-service.js +279 -0
  175. package/dist/src/services/authorization-service.js.map +1 -0
  176. package/dist/src/services/binance-service.d.ts +154 -0
  177. package/dist/src/services/binance-service.d.ts.map +1 -0
  178. package/dist/src/services/binance-service.js +266 -0
  179. package/dist/src/services/binance-service.js.map +1 -0
  180. package/dist/src/services/dip-arb-service.d.ts +245 -0
  181. package/dist/src/services/dip-arb-service.d.ts.map +1 -0
  182. package/dist/src/services/dip-arb-service.js +1865 -0
  183. package/dist/src/services/dip-arb-service.js.map +1 -0
  184. package/dist/src/services/dip-arb-types.d.ts +553 -0
  185. package/dist/src/services/dip-arb-types.d.ts.map +1 -0
  186. package/dist/src/services/dip-arb-types.js +164 -0
  187. package/dist/src/services/dip-arb-types.js.map +1 -0
  188. package/dist/src/services/market-service.d.ts +370 -0
  189. package/dist/src/services/market-service.d.ts.map +1 -0
  190. package/dist/src/services/market-service.js +1200 -0
  191. package/dist/src/services/market-service.js.map +1 -0
  192. package/dist/src/services/onchain-service.d.ts +309 -0
  193. package/dist/src/services/onchain-service.d.ts.map +1 -0
  194. package/dist/src/services/onchain-service.js +417 -0
  195. package/dist/src/services/onchain-service.js.map +1 -0
  196. package/dist/src/services/realtime-service-v2.d.ts +367 -0
  197. package/dist/src/services/realtime-service-v2.d.ts.map +1 -0
  198. package/dist/src/services/realtime-service-v2.js +876 -0
  199. package/dist/src/services/realtime-service-v2.js.map +1 -0
  200. package/dist/src/services/smart-money-service.d.ts +352 -0
  201. package/dist/src/services/smart-money-service.d.ts.map +1 -0
  202. package/dist/src/services/smart-money-service.js +582 -0
  203. package/dist/src/services/smart-money-service.js.map +1 -0
  204. package/dist/src/services/swap-service.d.ts +217 -0
  205. package/dist/src/services/swap-service.d.ts.map +1 -0
  206. package/dist/src/services/swap-service.js +695 -0
  207. package/dist/src/services/swap-service.js.map +1 -0
  208. package/dist/src/services/trading-service.d.ts +177 -0
  209. package/dist/src/services/trading-service.d.ts.map +1 -0
  210. package/dist/src/services/trading-service.js +422 -0
  211. package/dist/src/services/trading-service.js.map +1 -0
  212. package/dist/src/services/wallet-service.d.ts +316 -0
  213. package/dist/src/services/wallet-service.d.ts.map +1 -0
  214. package/dist/src/services/wallet-service.js +681 -0
  215. package/dist/src/services/wallet-service.js.map +1 -0
  216. package/dist/src/utils/price-utils.d.ts +153 -0
  217. package/dist/src/utils/price-utils.d.ts.map +1 -0
  218. package/dist/src/utils/price-utils.js +236 -0
  219. package/dist/src/utils/price-utils.js.map +1 -0
  220. package/dist/src/utils/price-utils.test.d.ts +5 -0
  221. package/dist/src/utils/price-utils.test.d.ts.map +1 -0
  222. package/dist/src/utils/price-utils.test.js +192 -0
  223. package/dist/src/utils/price-utils.test.js.map +1 -0
  224. package/package.json +3 -3
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * DipArb Auto Trading - 15m Crypto Markets
4
+ *
5
+ * 策略原理:
6
+ * 1. 检测 10 秒内 5% 以上的瞬时暴跌
7
+ * 2. 买入暴跌侧 (Leg1)
8
+ * 3. 等待对侧价格下降,满足 sumTarget 后买入 (Leg2)
9
+ * 4. 双持仓锁定利润:UP + DOWN = $1
10
+ *
11
+ * 日志:每个市场单独一个日志文件,存放在 /tmp/dip-arb-logs/
12
+ *
13
+ * Run with:
14
+ * npx tsx scripts/dip-arb/auto-trade.ts --eth
15
+ * npx tsx scripts/dip-arb/auto-trade.ts --btc
16
+ * npx tsx scripts/dip-arb/auto-trade.ts --sol
17
+ * npx tsx scripts/dip-arb/auto-trade.ts --xrp
18
+ */
19
+ export {};
20
+ //# sourceMappingURL=auto-trade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-trade.d.ts","sourceRoot":"","sources":["../../../scripts/dip-arb/auto-trade.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG"}
@@ -0,0 +1,373 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * DipArb Auto Trading - 15m Crypto Markets
4
+ *
5
+ * 策略原理:
6
+ * 1. 检测 10 秒内 5% 以上的瞬时暴跌
7
+ * 2. 买入暴跌侧 (Leg1)
8
+ * 3. 等待对侧价格下降,满足 sumTarget 后买入 (Leg2)
9
+ * 4. 双持仓锁定利润:UP + DOWN = $1
10
+ *
11
+ * 日志:每个市场单独一个日志文件,存放在 /tmp/dip-arb-logs/
12
+ *
13
+ * Run with:
14
+ * npx tsx scripts/dip-arb/auto-trade.ts --eth
15
+ * npx tsx scripts/dip-arb/auto-trade.ts --btc
16
+ * npx tsx scripts/dip-arb/auto-trade.ts --sol
17
+ * npx tsx scripts/dip-arb/auto-trade.ts --xrp
18
+ */
19
+ import * as fs from 'fs';
20
+ import * as path from 'path';
21
+ import { PolymarketSDK } from '../../src/index.js';
22
+ function parseArgs() {
23
+ const args = process.argv.slice(2);
24
+ // 解析币种
25
+ let coin = 'ETH';
26
+ if (args.includes('--btc') || args.includes('-b'))
27
+ coin = 'BTC';
28
+ else if (args.includes('--eth') || args.includes('-e'))
29
+ coin = 'ETH';
30
+ else if (args.includes('--sol') || args.includes('-s'))
31
+ coin = 'SOL';
32
+ else if (args.includes('--xrp') || args.includes('-x'))
33
+ coin = 'XRP';
34
+ // 解析数值参数
35
+ const getArgValue = (name, defaultVal) => {
36
+ const arg = args.find(a => a.startsWith(`--${name}=`));
37
+ if (arg) {
38
+ const val = parseFloat(arg.split('=')[1]);
39
+ return isNaN(val) ? defaultVal : val;
40
+ }
41
+ return defaultVal;
42
+ };
43
+ // 币种默认参数
44
+ const coinDefaults = {
45
+ XRP: { dipThreshold: 0.40, slidingWindowMs: 3000, leg2TimeoutSeconds: 60, sumTarget: 0.85 },
46
+ SOL: { dipThreshold: 0.40, slidingWindowMs: 3000, leg2TimeoutSeconds: 60, sumTarget: 0.85 },
47
+ ETH: { dipThreshold: 0.30, slidingWindowMs: 5000, leg2TimeoutSeconds: 60, sumTarget: 0.93 },
48
+ BTC: { dipThreshold: 0.20, slidingWindowMs: 5000, leg2TimeoutSeconds: 60, sumTarget: 0.95 },
49
+ };
50
+ const defaults = coinDefaults[coin];
51
+ return {
52
+ coin,
53
+ dipThreshold: getArgValue('dip', defaults.dipThreshold),
54
+ slidingWindowMs: getArgValue('window', defaults.slidingWindowMs),
55
+ leg2TimeoutSeconds: getArgValue('timeout', defaults.leg2TimeoutSeconds),
56
+ sumTarget: getArgValue('target', defaults.sumTarget),
57
+ shares: getArgValue('shares', 25),
58
+ };
59
+ }
60
+ const CLI_ARGS = parseArgs();
61
+ const SELECTED_COIN = CLI_ARGS.coin;
62
+ // Config
63
+ const PRIVATE_KEY = process.env.PRIVATE_KEY || '';
64
+ const MONITOR_DURATION_MS = 60 * 60 * 1000; // 1 hour
65
+ const LOG_DIR = '/tmp/dip-arb-logs';
66
+ if (!PRIVATE_KEY) {
67
+ console.error('Error: PRIVATE_KEY environment variable is required');
68
+ process.exit(1);
69
+ }
70
+ // Ensure log directory exists
71
+ if (!fs.existsSync(LOG_DIR)) {
72
+ fs.mkdirSync(LOG_DIR, { recursive: true });
73
+ }
74
+ // ========================================
75
+ // Per-Market Logging
76
+ // ========================================
77
+ let currentMarketSlug = null;
78
+ let currentLogs = [];
79
+ let currentLogPath = null;
80
+ function getLogFilename(marketSlug) {
81
+ const date = new Date().toISOString().slice(0, 10); // YYYY-MM-DD
82
+ const time = new Date().toISOString().slice(11, 19).replace(/:/g, ''); // HHMMSS
83
+ return path.join(LOG_DIR, `${date}_${time}_${marketSlug}.log`);
84
+ }
85
+ function log(msg) {
86
+ const timestamp = new Date().toISOString().slice(11, 19);
87
+ const line = `[${timestamp}] ${msg}`;
88
+ console.log(line);
89
+ currentLogs.push(line);
90
+ }
91
+ function sdkLogHandler(message) {
92
+ const timestamp = new Date().toISOString().slice(11, 19);
93
+ const line = `[${timestamp}] ${message}`;
94
+ console.log(line);
95
+ currentLogs.push(line);
96
+ }
97
+ function saveCurrentLog(suffix) {
98
+ if (currentLogs.length === 0)
99
+ return;
100
+ const logPath = currentLogPath || path.join(LOG_DIR, `unknown_${Date.now()}.log`);
101
+ const finalPath = suffix ? logPath.replace('.log', `_${suffix}.log`) : logPath;
102
+ fs.writeFileSync(finalPath, currentLogs.join('\n'));
103
+ console.log(`📁 Log saved: ${finalPath} (${currentLogs.length} lines)`);
104
+ }
105
+ function startNewMarketLog(marketSlug) {
106
+ // Save previous market log if exists
107
+ if (currentLogs.length > 0 && currentMarketSlug) {
108
+ saveCurrentLog();
109
+ }
110
+ // Start new log
111
+ currentMarketSlug = marketSlug;
112
+ currentLogs = [];
113
+ currentLogPath = getLogFilename(marketSlug);
114
+ log(`📝 New log file: ${currentLogPath}`);
115
+ }
116
+ // ========================================
117
+ // Main
118
+ // ========================================
119
+ async function main() {
120
+ // ========================================
121
+ // Configuration
122
+ // ========================================
123
+ const config = {
124
+ // 交易参数 (支持命令行覆盖)
125
+ shares: CLI_ARGS.shares, // --shares=25
126
+ sumTarget: CLI_ARGS.sumTarget, // --target=0.95
127
+ // 订单拆分参数
128
+ splitOrders: 1, // 单笔下单,避免份额不匹配
129
+ orderIntervalMs: 500, // 订单间隔 500ms (仅在 splitOrders > 1 时使用)
130
+ // 信号检测参数 (支持命令行覆盖)
131
+ slidingWindowMs: CLI_ARGS.slidingWindowMs, // --window=10000 (毫秒)
132
+ dipThreshold: CLI_ARGS.dipThreshold, // --dip=0.30 (30%)
133
+ windowMinutes: 14, // 轮次开始后 14 分钟内可交易
134
+ // 执行参数
135
+ maxSlippage: 0.02, // 2% 滑点
136
+ autoExecute: true, // 自动执行
137
+ executionCooldown: 500, // 冷却时间 500ms
138
+ // 其他
139
+ enableSurge: false, // 禁用暴涨检测
140
+ autoMerge: true, // 自动 merge
141
+ leg2TimeoutSeconds: CLI_ARGS.leg2TimeoutSeconds, // --timeout=60 (秒)
142
+ debug: true, // 调试日志
143
+ // 日志处理器 - 将 SDK 日志也写入当前 market 的 logs 数组
144
+ logHandler: sdkLogHandler,
145
+ };
146
+ // 计算预期利润率
147
+ const expectedProfit = ((1 - config.sumTarget) / config.sumTarget * 100).toFixed(1);
148
+ // Start initial log
149
+ startNewMarketLog('init');
150
+ log('');
151
+ log('╔══════════════════════════════════════════════════════════╗');
152
+ log(`║ DipArb Auto Trading - ${SELECTED_COIN} Markets ║`);
153
+ log('╠══════════════════════════════════════════════════════════╣');
154
+ log(`║ Dip Threshold: ${(config.dipThreshold * 100).toFixed(0)}% in ${config.slidingWindowMs / 1000}s window ║`);
155
+ log(`║ Sum Target: ${config.sumTarget} (profit >= ${expectedProfit}%) ║`);
156
+ log(`║ Stop Loss: ${config.leg2TimeoutSeconds}s after Leg1 ║`);
157
+ log(`║ Shares/Trade: ${config.shares} ║`);
158
+ log(`║ Order Type: Market Order (Leg1 + Leg2 + Exit) ║`);
159
+ log(`║ Log Directory: ${LOG_DIR}`);
160
+ log('╚══════════════════════════════════════════════════════════╝');
161
+ log('');
162
+ log('Usage: npx tsx auto-trade.ts --xrp [--dip=0.40] [--window=3000] [--timeout=60] [--shares=25] [--target=0.95]');
163
+ log('');
164
+ // Initialize SDK
165
+ log('Initializing SDK...');
166
+ const sdk = new PolymarketSDK({
167
+ privateKey: PRIVATE_KEY,
168
+ });
169
+ sdk.dipArb.updateConfig(config);
170
+ // ========================================
171
+ // Event Listeners
172
+ // ========================================
173
+ sdk.dipArb.on('started', (market) => {
174
+ // Start new log for this market
175
+ startNewMarketLog(market.slug || market.conditionId.slice(0, 20));
176
+ log('');
177
+ log('┌──────────────────────────────────────────────────────────┐');
178
+ log('│ MARKET STARTED │');
179
+ log('├──────────────────────────────────────────────────────────┤');
180
+ log(`│ ${market.name.slice(0, 56)}`);
181
+ log(`│ ${market.underlying} ${market.durationMinutes}m`);
182
+ log(`│ End Time: ${market.endTime.toISOString()}`);
183
+ log(`│ Condition: ${market.conditionId.slice(0, 30)}...`);
184
+ log('└──────────────────────────────────────────────────────────┘');
185
+ });
186
+ sdk.dipArb.on('stopped', () => {
187
+ log('>>> SERVICE STOPPED');
188
+ });
189
+ sdk.dipArb.on('newRound', (event) => {
190
+ const sum = event.upOpen + event.downOpen;
191
+ log(`>>> NEW ROUND | UP: ${event.upOpen.toFixed(3)} | DOWN: ${event.downOpen.toFixed(3)} | Sum: ${sum.toFixed(3)}`);
192
+ });
193
+ sdk.dipArb.on('signal', (signal) => {
194
+ log('');
195
+ log('╔══════════════════════════════════════════════════════════╗');
196
+ if (signal.type === 'leg1') {
197
+ log(`║ LEG1 SIGNAL: Buy ${signal.dipSide} @ ${signal.currentPrice.toFixed(4)}`);
198
+ log(`║ Drop: ${(signal.dropPercent * 100).toFixed(1)}% | Opposite: ${signal.oppositeAsk.toFixed(4)}`);
199
+ }
200
+ else {
201
+ log(`║ LEG2 SIGNAL: Buy ${signal.hedgeSide} @ ${signal.currentPrice.toFixed(4)}`);
202
+ log(`║ Total Cost: ${signal.totalCost.toFixed(4)} | Profit: ${(signal.expectedProfitRate * 100).toFixed(2)}%`);
203
+ }
204
+ log('╚══════════════════════════════════════════════════════════╝');
205
+ });
206
+ sdk.dipArb.on('execution', (result) => {
207
+ if (result.success) {
208
+ log(`✅ ${result.leg.toUpperCase()} FILLED: ${result.side} @ ${result.price?.toFixed(4)} x${result.shares}`);
209
+ }
210
+ else {
211
+ log(`❌ ${result.leg.toUpperCase()} FAILED: ${result.error}`);
212
+ }
213
+ });
214
+ sdk.dipArb.on('roundComplete', (result) => {
215
+ log('');
216
+ log('┌──────────────────────────────────────────────────────────┐');
217
+ log(`│ ROUND ${result.status.toUpperCase()}`);
218
+ if (result.profit !== undefined) {
219
+ log(`│ Profit: $${result.profit.toFixed(4)} (${(result.profitRate * 100).toFixed(2)}%)`);
220
+ }
221
+ log('└──────────────────────────────────────────────────────────┘');
222
+ });
223
+ sdk.dipArb.on('rotate', (event) => {
224
+ // Save current market log before rotation
225
+ log('');
226
+ log('╔══════════════════════════════════════════════════════════╗');
227
+ log(`║ 🔄 MARKET ROTATION ║`);
228
+ log(`║ Reason: ${event.reason}`);
229
+ log(`║ Previous: ${event.previousMarket?.slice(0, 40) || 'none'}...`);
230
+ log(`║ New: ${event.newMarket.slice(0, 40)}...`);
231
+ log('╚══════════════════════════════════════════════════════════╝');
232
+ // Save old log and start new one
233
+ // Note: 'started' event will be triggered after rotate, which will start new log
234
+ });
235
+ sdk.dipArb.on('settled', (result) => {
236
+ log(`>>> SETTLED: ${result.strategy} | Success: ${result.success}`);
237
+ if (result.amountReceived) {
238
+ log(` Amount: $${result.amountReceived.toFixed(2)}`);
239
+ }
240
+ if (result.error) {
241
+ log(` Error: ${result.error}`);
242
+ }
243
+ });
244
+ sdk.dipArb.on('error', (error) => {
245
+ log(`[ERROR] ${error.message}`);
246
+ });
247
+ // ========================================
248
+ // Scan and Start
249
+ // ========================================
250
+ log(`Scanning for ${SELECTED_COIN} 15m markets...`);
251
+ const markets = await sdk.dipArb.scanUpcomingMarkets({
252
+ coin: SELECTED_COIN,
253
+ duration: '15m',
254
+ limit: 5,
255
+ });
256
+ log(`Found ${markets.length} markets:`);
257
+ for (const m of markets) {
258
+ const endIn = Math.round((m.endTime.getTime() - Date.now()) / 60000);
259
+ const status = endIn <= 0 ? '(ENDED)' : `(ends in ${endIn}m)`;
260
+ log(` - ${m.name.slice(0, 50)} ${status}`);
261
+ log(` Condition: ${m.conditionId.slice(0, 30)}...`);
262
+ log(` End: ${m.endTime.toISOString()}`);
263
+ }
264
+ if (markets.length === 0) {
265
+ log('No markets found. Exiting.');
266
+ saveCurrentLog('no-markets');
267
+ return;
268
+ }
269
+ // Filter out already ended markets
270
+ const activeMarkets = markets.filter(m => m.endTime.getTime() > Date.now());
271
+ if (activeMarkets.length === 0) {
272
+ log('All markets have ended. Waiting for new markets...');
273
+ }
274
+ else {
275
+ log(`Active markets: ${activeMarkets.length}`);
276
+ }
277
+ // Start
278
+ const market = await sdk.dipArb.findAndStart({
279
+ coin: SELECTED_COIN,
280
+ preferDuration: '15m',
281
+ });
282
+ if (!market) {
283
+ log('Failed to start. Exiting.');
284
+ saveCurrentLog('failed');
285
+ return;
286
+ }
287
+ log(`Selected market ends at: ${market.endTime.toISOString()}`);
288
+ const timeUntilEnd = Math.round((market.endTime.getTime() - Date.now()) / 1000);
289
+ log(`Time until market end: ${timeUntilEnd}s (${Math.round(timeUntilEnd / 60)}m)`);
290
+ // Enable auto-rotate with redeem strategy
291
+ sdk.dipArb.enableAutoRotate({
292
+ enabled: true,
293
+ underlyings: [SELECTED_COIN],
294
+ duration: '15m',
295
+ settleStrategy: 'redeem', // 等待市场结算后赎回 (5分钟后)
296
+ autoSettle: true,
297
+ preloadMinutes: 2,
298
+ redeemWaitMinutes: 5, // 市场结束后等待 5 分钟再赎回
299
+ redeemRetryIntervalSeconds: 30, // 每 30 秒检查一次
300
+ });
301
+ log(`Auto-rotate enabled for ${SELECTED_COIN} (with background redemption)`);
302
+ log('');
303
+ log('═══════════════════════════════════════════════════════════');
304
+ log(' AUTO TRADING ACTIVE - Press Ctrl+C to stop');
305
+ log('═══════════════════════════════════════════════════════════');
306
+ log('');
307
+ // Status update every 30 seconds (more frequent to catch rotation)
308
+ let statusCount = 0;
309
+ const statusInterval = setInterval(() => {
310
+ const stats = sdk.dipArb.getStats();
311
+ const round = sdk.dipArb.getCurrentRound();
312
+ const currentMarket = sdk.dipArb.getMarket();
313
+ statusCount++;
314
+ // Check if market has ended
315
+ if (currentMarket) {
316
+ const timeLeft = Math.round((currentMarket.endTime.getTime() - Date.now()) / 1000);
317
+ const timeLeftStr = timeLeft > 0 ? `${timeLeft}s left` : `ENDED ${-timeLeft}s ago`;
318
+ log(`[Status #${statusCount}] Market: ${currentMarket.underlying} | ${timeLeftStr} | Signals: ${stats.signalsDetected} | L1: ${stats.leg1Filled} | L2: ${stats.leg2Filled}`);
319
+ }
320
+ else {
321
+ log(`[Status #${statusCount}] No market active | Signals: ${stats.signalsDetected}`);
322
+ }
323
+ // Show current position
324
+ if (round) {
325
+ if (round.phase === 'leg1_filled' && round.leg1) {
326
+ log(` 📊 Position: ${round.leg1.shares}x ${round.leg1.side} @ ${round.leg1.price.toFixed(4)} | Waiting for Leg2...`);
327
+ }
328
+ else if (round.phase === 'completed' && round.leg1 && round.leg2) {
329
+ const totalCost = round.leg1.price + round.leg2.price;
330
+ const profit = (1 - totalCost) * round.leg1.shares;
331
+ log(` 📊 Position: ${round.leg1.shares}x UP + ${round.leg2.shares}x DOWN | Cost: ${totalCost.toFixed(4)} | Profit: $${profit.toFixed(2)}`);
332
+ }
333
+ else if (round.phase === 'waiting') {
334
+ log(` 📊 Position: None (waiting for signal)`);
335
+ }
336
+ }
337
+ }, 30000);
338
+ // Wait
339
+ await new Promise(resolve => setTimeout(resolve, MONITOR_DURATION_MS));
340
+ // Cleanup
341
+ clearInterval(statusInterval);
342
+ // Final stats
343
+ const stats = sdk.dipArb.getStats();
344
+ log('');
345
+ log('╔══════════════════════════════════════════════════════════╗');
346
+ log('║ FINAL STATS ║');
347
+ log('╠══════════════════════════════════════════════════════════╣');
348
+ log(`║ Running Time: ${Math.round(stats.runningTimeMs / 1000)}s`);
349
+ log(`║ Rounds Monitored: ${stats.roundsMonitored}`);
350
+ log(`║ Signals Detected: ${stats.signalsDetected}`);
351
+ log(`║ Leg1 Filled: ${stats.leg1Filled}`);
352
+ log(`║ Leg2 Filled: ${stats.leg2Filled}`);
353
+ log(`║ Total Profit: $${stats.totalProfit.toFixed(2)}`);
354
+ log('╚══════════════════════════════════════════════════════════╝');
355
+ await sdk.dipArb.stop();
356
+ sdk.stop();
357
+ // Save final log
358
+ saveCurrentLog('final');
359
+ }
360
+ // Handle Ctrl+C
361
+ process.on('SIGINT', async () => {
362
+ log('');
363
+ log('Interrupted. Saving logs...');
364
+ saveCurrentLog('interrupted');
365
+ process.exit(0);
366
+ });
367
+ main().catch((err) => {
368
+ log(`Fatal error: ${err.message}`);
369
+ console.error(err);
370
+ saveCurrentLog('error');
371
+ process.exit(1);
372
+ });
373
+ //# sourceMappingURL=auto-trade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-trade.js","sourceRoot":"","sources":["../../../scripts/dip-arb/auto-trade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * Example 14: DipArbService - Dip Arbitrage for 15m/5m UP/DOWN Markets
4
+ *
5
+ * Demonstrates the dip arbitrage workflow for Polymarket's short-term crypto markets:
6
+ * 1. Scan for upcoming BTC/ETH/SOL/XRP UP/DOWN markets
7
+ * 2. Auto-select and start monitoring a market
8
+ * 3. Detect dip signals (price drops > threshold)
9
+ * 4. Execute Leg1 + Leg2 trades for risk-free profit
10
+ * 5. Auto-rotate to next market when current ends
11
+ *
12
+ * Strategy Overview:
13
+ * - Leg1: Buy the dipped side when price drops >= dipThreshold (default 15%)
14
+ * - Leg2: Buy the opposite side when combined cost < sumTarget (default 0.95)
15
+ * - Profit: Total cost < $1 means guaranteed profit at settlement
16
+ *
17
+ * Environment variables:
18
+ * POLY_PRIVKEY - Private key for trading (required for execution)
19
+ *
20
+ * Run with:
21
+ * pnpm example:dip-arb
22
+ *
23
+ * Or monitor-only (no trading):
24
+ * npx tsx examples/14-dip-arb-service.ts --monitor-only
25
+ *
26
+ * With auto-rotate:
27
+ * npx tsx examples/14-dip-arb-service.ts --auto-rotate
28
+ */
29
+ export {};
30
+ //# sourceMappingURL=example-basic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-basic.d.ts","sourceRoot":"","sources":["../../../scripts/dip-arb/example-basic.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG"}