@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.
- package/README.md +8 -1
- package/README.zh-CN.md +2 -0
- package/dist/src/__tests__/integration/data-api.integration.test.js +21 -18
- package/dist/src/__tests__/integration/data-api.integration.test.js.map +1 -1
- package/dist/src/catalyst/catalyst-query-service.d.ts +109 -0
- package/dist/src/catalyst/catalyst-query-service.d.ts.map +1 -0
- package/dist/src/catalyst/catalyst-query-service.js +141 -0
- package/dist/src/catalyst/catalyst-query-service.js.map +1 -0
- package/dist/src/catalyst/catalyst-realtime-service.d.ts +40 -0
- package/dist/src/catalyst/catalyst-realtime-service.d.ts.map +1 -0
- package/dist/src/catalyst/catalyst-realtime-service.js +125 -0
- package/dist/src/catalyst/catalyst-realtime-service.js.map +1 -0
- package/dist/src/catalyst/index.d.ts +4 -0
- package/dist/src/catalyst/index.d.ts.map +1 -0
- package/dist/src/catalyst/index.js +4 -0
- package/dist/src/catalyst/index.js.map +1 -0
- package/dist/src/catalyst/types.d.ts +178 -0
- package/dist/src/catalyst/types.d.ts.map +1 -0
- package/dist/src/catalyst/types.js +2 -0
- package/dist/src/catalyst/types.js.map +1 -0
- package/dist/src/clients/data-api.d.ts +75 -14
- package/dist/src/clients/data-api.d.ts.map +1 -1
- package/dist/src/clients/data-api.js +40 -18
- package/dist/src/clients/data-api.js.map +1 -1
- package/dist/src/clients/gamma-api.d.ts +54 -0
- package/dist/src/clients/gamma-api.d.ts.map +1 -1
- package/dist/src/clients/gamma-api.js.map +1 -1
- package/dist/src/core/order-status.d.ts +159 -0
- package/dist/src/core/order-status.d.ts.map +1 -0
- package/dist/src/core/order-status.js +254 -0
- package/dist/src/core/order-status.js.map +1 -0
- package/dist/src/core/types.d.ts +124 -0
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +120 -0
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/index.d.ts +20 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/insider-scan/index.d.ts +3 -0
- package/dist/src/insider-scan/index.d.ts.map +1 -0
- package/dist/src/insider-scan/index.js +3 -0
- package/dist/src/insider-scan/index.js.map +1 -0
- package/dist/src/insider-scan/insider-scan-service.d.ts +63 -0
- package/dist/src/insider-scan/insider-scan-service.d.ts.map +1 -0
- package/dist/src/insider-scan/insider-scan-service.js +153 -0
- package/dist/src/insider-scan/insider-scan-service.js.map +1 -0
- package/dist/src/insider-scan/types.d.ts +205 -0
- package/dist/src/insider-scan/types.d.ts.map +1 -0
- package/dist/src/insider-scan/types.js +7 -0
- package/dist/src/insider-scan/types.js.map +1 -0
- package/dist/src/services/ctf-detector.d.ts +215 -0
- package/dist/src/services/ctf-detector.d.ts.map +1 -0
- package/dist/src/services/ctf-detector.js +420 -0
- package/dist/src/services/ctf-detector.js.map +1 -0
- package/dist/src/services/ctf-manager.d.ts +202 -0
- package/dist/src/services/ctf-manager.d.ts.map +1 -0
- package/dist/src/services/ctf-manager.js +542 -0
- package/dist/src/services/ctf-manager.js.map +1 -0
- package/dist/src/services/market-service.d.ts +61 -0
- package/dist/src/services/market-service.d.ts.map +1 -1
- package/dist/src/services/market-service.js +58 -0
- package/dist/src/services/market-service.js.map +1 -1
- package/dist/src/services/onchain-service.d.ts +10 -2
- package/dist/src/services/onchain-service.d.ts.map +1 -1
- package/dist/src/services/onchain-service.js +8 -0
- package/dist/src/services/onchain-service.js.map +1 -1
- package/dist/src/services/order-manager.d.ts +281 -0
- package/dist/src/services/order-manager.d.ts.map +1 -0
- package/dist/src/services/order-manager.js +641 -0
- package/dist/src/services/order-manager.js.map +1 -0
- package/dist/src/services/order-manager.test.d.ts +8 -0
- package/dist/src/services/order-manager.test.d.ts.map +1 -0
- package/dist/src/services/order-manager.test.js +477 -0
- package/dist/src/services/order-manager.test.js.map +1 -0
- package/dist/src/services/smart-money-service.d.ts +420 -3
- package/dist/src/services/smart-money-service.d.ts.map +1 -1
- package/dist/src/services/smart-money-service.js +869 -3
- package/dist/src/services/smart-money-service.js.map +1 -1
- package/dist/src/services/trading-service.d.ts +94 -1
- package/dist/src/services/trading-service.d.ts.map +1 -1
- package/dist/src/services/trading-service.js +232 -1
- package/dist/src/services/trading-service.js.map +1 -1
- package/dist/src/services/wallet-service.d.ts +38 -2
- package/dist/src/services/wallet-service.d.ts.map +1 -1
- package/dist/src/services/wallet-service.js +72 -5
- package/dist/src/services/wallet-service.js.map +1 -1
- package/dist/src/signal/index.d.ts +8 -0
- package/dist/src/signal/index.d.ts.map +1 -0
- package/dist/src/signal/index.js +7 -0
- package/dist/src/signal/index.js.map +1 -0
- package/dist/src/signal/signal-service.d.ts +89 -0
- package/dist/src/signal/signal-service.d.ts.map +1 -0
- package/dist/src/signal/signal-service.js +226 -0
- package/dist/src/signal/signal-service.js.map +1 -0
- package/dist/src/signal/types.d.ts +280 -0
- package/dist/src/signal/types.d.ts.map +1 -0
- package/dist/src/signal/types.js +7 -0
- package/dist/src/signal/types.js.map +1 -0
- package/dist/src/wallet-report/index.d.ts +3 -0
- package/dist/src/wallet-report/index.d.ts.map +1 -0
- package/dist/src/wallet-report/index.js +3 -0
- package/dist/src/wallet-report/index.js.map +1 -0
- package/dist/src/wallet-report/types.d.ts +187 -0
- package/dist/src/wallet-report/types.d.ts.map +1 -0
- package/dist/src/wallet-report/types.js +7 -0
- package/dist/src/wallet-report/types.js.map +1 -0
- package/dist/src/wallet-report/wallet-report-service.d.ts +91 -0
- package/dist/src/wallet-report/wallet-report-service.d.ts.map +1 -0
- package/dist/src/wallet-report/wallet-report-service.js +208 -0
- package/dist/src/wallet-report/wallet-report-service.js.map +1 -0
- package/dist/src/wallets/hot-wallet-service.d.ts +162 -0
- package/dist/src/wallets/hot-wallet-service.d.ts.map +1 -0
- package/dist/src/wallets/hot-wallet-service.js +251 -0
- package/dist/src/wallets/hot-wallet-service.js.map +1 -0
- package/dist/src/wallets/index.d.ts +15 -0
- package/dist/src/wallets/index.d.ts.map +1 -0
- package/dist/src/wallets/index.js +26 -0
- package/dist/src/wallets/index.js.map +1 -0
- package/package.json +5 -5
- package/dist/__tests__/clob-api.test.d.ts +0 -5
- package/dist/__tests__/clob-api.test.d.ts.map +0 -1
- package/dist/__tests__/clob-api.test.js +0 -240
- package/dist/__tests__/clob-api.test.js.map +0 -1
- package/dist/__tests__/integration/arbitrage-service.integration.test.d.ts +0 -12
- package/dist/__tests__/integration/arbitrage-service.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/arbitrage-service.integration.test.js +0 -267
- package/dist/__tests__/integration/arbitrage-service.integration.test.js.map +0 -1
- package/dist/__tests__/integration/bridge-client.integration.test.d.ts +0 -11
- package/dist/__tests__/integration/bridge-client.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/bridge-client.integration.test.js +0 -260
- package/dist/__tests__/integration/bridge-client.integration.test.js.map +0 -1
- package/dist/__tests__/integration/clob-api.integration.test.d.ts +0 -13
- package/dist/__tests__/integration/clob-api.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/clob-api.integration.test.js +0 -170
- package/dist/__tests__/integration/clob-api.integration.test.js.map +0 -1
- package/dist/__tests__/integration/ctf-client.integration.test.d.ts +0 -17
- package/dist/__tests__/integration/ctf-client.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/ctf-client.integration.test.js +0 -234
- package/dist/__tests__/integration/ctf-client.integration.test.js.map +0 -1
- package/dist/__tests__/integration/data-api.integration.test.d.ts +0 -9
- package/dist/__tests__/integration/data-api.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/data-api.integration.test.js +0 -164
- package/dist/__tests__/integration/data-api.integration.test.js.map +0 -1
- package/dist/__tests__/integration/gamma-api.integration.test.d.ts +0 -9
- package/dist/__tests__/integration/gamma-api.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/gamma-api.integration.test.js +0 -170
- package/dist/__tests__/integration/gamma-api.integration.test.js.map +0 -1
- package/dist/__tests__/integration/market-service.integration.test.d.ts +0 -10
- package/dist/__tests__/integration/market-service.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/market-service.integration.test.js +0 -173
- package/dist/__tests__/integration/market-service.integration.test.js.map +0 -1
- package/dist/__tests__/integration/realtime-service-v2.integration.test.d.ts +0 -10
- package/dist/__tests__/integration/realtime-service-v2.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/realtime-service-v2.integration.test.js +0 -307
- package/dist/__tests__/integration/realtime-service-v2.integration.test.js.map +0 -1
- package/dist/__tests__/integration/trading-service.integration.test.d.ts +0 -10
- package/dist/__tests__/integration/trading-service.integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration/trading-service.integration.test.js +0 -58
- package/dist/__tests__/integration/trading-service.integration.test.js.map +0 -1
- package/dist/__tests__/test-utils.d.ts +0 -92
- package/dist/__tests__/test-utils.d.ts.map +0 -1
- package/dist/__tests__/test-utils.js +0 -143
- package/dist/__tests__/test-utils.js.map +0 -1
- package/dist/clients/bridge-client.d.ts +0 -388
- package/dist/clients/bridge-client.d.ts.map +0 -1
- package/dist/clients/bridge-client.js +0 -587
- package/dist/clients/bridge-client.js.map +0 -1
- package/dist/clients/clob-api.d.ts +0 -391
- package/dist/clients/clob-api.d.ts.map +0 -1
- package/dist/clients/clob-api.js +0 -448
- package/dist/clients/clob-api.js.map +0 -1
- package/dist/clients/ctf-client.d.ts +0 -475
- package/dist/clients/ctf-client.d.ts.map +0 -1
- package/dist/clients/ctf-client.js +0 -915
- package/dist/clients/ctf-client.js.map +0 -1
- package/dist/clients/data-api.d.ts +0 -452
- package/dist/clients/data-api.d.ts.map +0 -1
- package/dist/clients/data-api.js +0 -637
- package/dist/clients/data-api.js.map +0 -1
- package/dist/clients/gamma-api.d.ts +0 -406
- package/dist/clients/gamma-api.d.ts.map +0 -1
- package/dist/clients/gamma-api.js +0 -354
- package/dist/clients/gamma-api.js.map +0 -1
- package/dist/clients/subgraph.d.ts +0 -196
- package/dist/clients/subgraph.d.ts.map +0 -1
- package/dist/clients/subgraph.js +0 -332
- package/dist/clients/subgraph.js.map +0 -1
- package/dist/clients/trading-client.d.ts +0 -252
- package/dist/clients/trading-client.d.ts.map +0 -1
- package/dist/clients/trading-client.js +0 -543
- package/dist/clients/trading-client.js.map +0 -1
- package/dist/clients/websocket-manager.d.ts +0 -103
- package/dist/clients/websocket-manager.d.ts.map +0 -1
- package/dist/clients/websocket-manager.js +0 -200
- package/dist/clients/websocket-manager.js.map +0 -1
- package/dist/core/cache-adapter-bridge.d.ts +0 -36
- package/dist/core/cache-adapter-bridge.d.ts.map +0 -1
- package/dist/core/cache-adapter-bridge.js +0 -81
- package/dist/core/cache-adapter-bridge.js.map +0 -1
- package/dist/core/cache.d.ts +0 -43
- package/dist/core/cache.d.ts.map +0 -1
- package/dist/core/cache.js +0 -76
- package/dist/core/cache.js.map +0 -1
- package/dist/core/errors.d.ts +0 -39
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -86
- package/dist/core/errors.js.map +0 -1
- package/dist/core/rate-limiter.d.ts +0 -33
- package/dist/core/rate-limiter.d.ts.map +0 -1
- package/dist/core/rate-limiter.js +0 -82
- package/dist/core/rate-limiter.js.map +0 -1
- package/dist/core/types.d.ts +0 -506
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -49
- package/dist/core/types.js.map +0 -1
- package/dist/core/types.test.d.ts +0 -7
- package/dist/core/types.test.d.ts.map +0 -1
- package/dist/core/types.test.js +0 -122
- package/dist/core/types.test.js.map +0 -1
- package/dist/core/unified-cache.d.ts +0 -63
- package/dist/core/unified-cache.d.ts.map +0 -1
- package/dist/core/unified-cache.js +0 -114
- package/dist/core/unified-cache.js.map +0 -1
- package/dist/index.d.ts +0 -159
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -262
- package/dist/index.js.map +0 -1
- package/dist/services/arbitrage-service.d.ts +0 -409
- package/dist/services/arbitrage-service.d.ts.map +0 -1
- package/dist/services/arbitrage-service.js +0 -1450
- package/dist/services/arbitrage-service.js.map +0 -1
- package/dist/services/authorization-service.d.ts +0 -97
- package/dist/services/authorization-service.d.ts.map +0 -1
- package/dist/services/authorization-service.js +0 -279
- package/dist/services/authorization-service.js.map +0 -1
- package/dist/services/binance-service.d.ts +0 -154
- package/dist/services/binance-service.d.ts.map +0 -1
- package/dist/services/binance-service.js +0 -266
- package/dist/services/binance-service.js.map +0 -1
- package/dist/services/dip-arb-service.d.ts +0 -209
- package/dist/services/dip-arb-service.d.ts.map +0 -1
- package/dist/services/dip-arb-service.js +0 -1602
- package/dist/services/dip-arb-service.js.map +0 -1
- package/dist/services/dip-arb-types.d.ts +0 -553
- package/dist/services/dip-arb-types.d.ts.map +0 -1
- package/dist/services/dip-arb-types.js +0 -164
- package/dist/services/dip-arb-types.js.map +0 -1
- package/dist/services/market-service.d.ts +0 -367
- package/dist/services/market-service.d.ts.map +0 -1
- package/dist/services/market-service.js +0 -1187
- package/dist/services/market-service.js.map +0 -1
- package/dist/services/onchain-service.d.ts +0 -309
- package/dist/services/onchain-service.d.ts.map +0 -1
- package/dist/services/onchain-service.js +0 -417
- package/dist/services/onchain-service.js.map +0 -1
- package/dist/services/realtime-service-v2.d.ts +0 -362
- package/dist/services/realtime-service-v2.d.ts.map +0 -1
- package/dist/services/realtime-service-v2.js +0 -858
- package/dist/services/realtime-service-v2.js.map +0 -1
- package/dist/services/realtime-service.d.ts +0 -82
- package/dist/services/realtime-service.d.ts.map +0 -1
- package/dist/services/realtime-service.js +0 -182
- package/dist/services/realtime-service.js.map +0 -1
- package/dist/services/smart-money-service.d.ts +0 -352
- package/dist/services/smart-money-service.d.ts.map +0 -1
- package/dist/services/smart-money-service.js +0 -582
- package/dist/services/smart-money-service.js.map +0 -1
- package/dist/services/swap-service.d.ts +0 -217
- package/dist/services/swap-service.d.ts.map +0 -1
- package/dist/services/swap-service.js +0 -695
- package/dist/services/swap-service.js.map +0 -1
- package/dist/services/trading-service.d.ts +0 -177
- package/dist/services/trading-service.d.ts.map +0 -1
- package/dist/services/trading-service.js +0 -422
- package/dist/services/trading-service.js.map +0 -1
- package/dist/services/wallet-service.d.ts +0 -316
- package/dist/services/wallet-service.d.ts.map +0 -1
- package/dist/services/wallet-service.js +0 -681
- package/dist/services/wallet-service.js.map +0 -1
- package/dist/utils/price-utils.d.ts +0 -153
- package/dist/utils/price-utils.d.ts.map +0 -1
- package/dist/utils/price-utils.js +0 -236
- package/dist/utils/price-utils.js.map +0 -1
- package/dist/utils/price-utils.test.d.ts +0 -5
- package/dist/utils/price-utils.test.d.ts.map +0 -1
- package/dist/utils/price-utils.test.js +0 -192
- package/dist/utils/price-utils.test.js.map +0 -1
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InsiderScan Service Types
|
|
3
|
+
*
|
|
4
|
+
* Types for querying the InsiderScanWorker API
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Market type
|
|
8
|
+
*/
|
|
9
|
+
export type MarketType = 'political' | 'crypto' | 'sports' | 'other';
|
|
10
|
+
/**
|
|
11
|
+
* Insider suspicion level
|
|
12
|
+
*/
|
|
13
|
+
export type InsiderLevel = 'critical' | 'high' | 'medium' | 'low';
|
|
14
|
+
/**
|
|
15
|
+
* Insider characteristics details
|
|
16
|
+
*/
|
|
17
|
+
export interface InsiderCharacteristics {
|
|
18
|
+
isNewWallet: boolean;
|
|
19
|
+
hasNoHistory: boolean;
|
|
20
|
+
singleSidedBet: boolean;
|
|
21
|
+
largePosition: boolean;
|
|
22
|
+
timingSensitive: boolean;
|
|
23
|
+
shortDepositWindow: boolean;
|
|
24
|
+
lowPriceSensitivity: boolean;
|
|
25
|
+
twoPhasePattern: boolean;
|
|
26
|
+
walletAgeDays: number;
|
|
27
|
+
totalTradeCount: number;
|
|
28
|
+
maxSingleTradeUsd: number;
|
|
29
|
+
yesBetRatio: number;
|
|
30
|
+
hoursBeforeEvent?: number;
|
|
31
|
+
depositToTradeMinutes?: number;
|
|
32
|
+
priceStandardDeviation?: number;
|
|
33
|
+
hasFailedTrades?: boolean;
|
|
34
|
+
successAfterFailure?: boolean;
|
|
35
|
+
returnMultiple: number;
|
|
36
|
+
marketType: MarketType;
|
|
37
|
+
crossChainCorrelation?: number;
|
|
38
|
+
domainCount?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Suspicious trade record
|
|
42
|
+
*/
|
|
43
|
+
export interface SuspiciousTrade {
|
|
44
|
+
txHash?: string;
|
|
45
|
+
timestamp: number;
|
|
46
|
+
conditionId: string;
|
|
47
|
+
marketTitle: string;
|
|
48
|
+
side: 'BUY' | 'SELL';
|
|
49
|
+
outcome: string;
|
|
50
|
+
size: number;
|
|
51
|
+
price: number;
|
|
52
|
+
usdcValue: number;
|
|
53
|
+
suspiciousReasons: string[];
|
|
54
|
+
potentialReturn: number;
|
|
55
|
+
returnMultiple: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Health response from InsiderScanWorker
|
|
59
|
+
*/
|
|
60
|
+
export interface InsiderScanHealthResponse {
|
|
61
|
+
status: string;
|
|
62
|
+
service: string;
|
|
63
|
+
version: string;
|
|
64
|
+
now: number;
|
|
65
|
+
stats: {
|
|
66
|
+
totalCandidates: number;
|
|
67
|
+
criticalCount: number;
|
|
68
|
+
highCount: number;
|
|
69
|
+
mediumCount: number;
|
|
70
|
+
lowCount: number;
|
|
71
|
+
lastScanAt: number | null;
|
|
72
|
+
totalScans: number;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Candidate summary (list view)
|
|
77
|
+
*/
|
|
78
|
+
export interface InsiderCandidateSummary {
|
|
79
|
+
address: string;
|
|
80
|
+
displayName?: string;
|
|
81
|
+
insiderScore: number;
|
|
82
|
+
level: InsiderLevel;
|
|
83
|
+
levelColor: string;
|
|
84
|
+
levelDescription: string;
|
|
85
|
+
totalVolume: number;
|
|
86
|
+
potentialProfit: number;
|
|
87
|
+
markets: number;
|
|
88
|
+
walletAgeDays: number;
|
|
89
|
+
analyzedAt: number;
|
|
90
|
+
tags: string[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Full candidate details
|
|
94
|
+
*/
|
|
95
|
+
export interface InsiderCandidateDetails extends InsiderCandidateSummary {
|
|
96
|
+
characteristics: InsiderCharacteristics;
|
|
97
|
+
suspiciousTrades: SuspiciousTrade[];
|
|
98
|
+
marketsList: string[];
|
|
99
|
+
firstSeen: number;
|
|
100
|
+
lastActivity: number;
|
|
101
|
+
analyzedBy: 'scanner' | 'manual' | 'agent';
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get candidates response
|
|
105
|
+
*/
|
|
106
|
+
export interface GetCandidatesResponse {
|
|
107
|
+
candidates: InsiderCandidateSummary[];
|
|
108
|
+
pagination: {
|
|
109
|
+
limit: number;
|
|
110
|
+
offset: number;
|
|
111
|
+
total: number;
|
|
112
|
+
};
|
|
113
|
+
filters: {
|
|
114
|
+
minScore: number;
|
|
115
|
+
maxScore: number;
|
|
116
|
+
level?: InsiderLevel;
|
|
117
|
+
market?: string;
|
|
118
|
+
sortBy: string;
|
|
119
|
+
sortOrder: string;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Scan result
|
|
124
|
+
*/
|
|
125
|
+
export interface ScanMarketResponse {
|
|
126
|
+
conditionId: string;
|
|
127
|
+
marketTitle: string;
|
|
128
|
+
tradesAnalyzed: number;
|
|
129
|
+
walletsScanned: number;
|
|
130
|
+
candidatesFound: number;
|
|
131
|
+
highScoreCount: number;
|
|
132
|
+
durationMs: number;
|
|
133
|
+
candidates: Array<{
|
|
134
|
+
address: string;
|
|
135
|
+
insiderScore: number;
|
|
136
|
+
level: InsiderLevel;
|
|
137
|
+
levelColor: string;
|
|
138
|
+
totalVolume: number;
|
|
139
|
+
potentialProfit: number;
|
|
140
|
+
}>;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Scan history record
|
|
144
|
+
*/
|
|
145
|
+
export interface ScanHistoryItem {
|
|
146
|
+
id: string;
|
|
147
|
+
conditionId: string;
|
|
148
|
+
marketTitle: string;
|
|
149
|
+
tradesAnalyzed: number;
|
|
150
|
+
walletsScanned: number;
|
|
151
|
+
candidatesFound: number;
|
|
152
|
+
highScoreCount: number;
|
|
153
|
+
durationMs: number;
|
|
154
|
+
scannedAt: number;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Scan history response
|
|
158
|
+
*/
|
|
159
|
+
export interface GetScanHistoryResponse {
|
|
160
|
+
history: ScanHistoryItem[];
|
|
161
|
+
pagination: {
|
|
162
|
+
limit: number;
|
|
163
|
+
offset: number;
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Statistics response
|
|
168
|
+
*/
|
|
169
|
+
export interface InsiderStatsResponse {
|
|
170
|
+
candidates: {
|
|
171
|
+
total: number;
|
|
172
|
+
byLevel: {
|
|
173
|
+
critical: number;
|
|
174
|
+
high: number;
|
|
175
|
+
medium: number;
|
|
176
|
+
low: number;
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
scans: {
|
|
180
|
+
total: number;
|
|
181
|
+
lastScanAt: number | null;
|
|
182
|
+
};
|
|
183
|
+
thresholds: {
|
|
184
|
+
critical: number;
|
|
185
|
+
high: number;
|
|
186
|
+
medium: number;
|
|
187
|
+
low: number;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export interface GetCandidatesParams {
|
|
191
|
+
minScore?: number;
|
|
192
|
+
maxScore?: number;
|
|
193
|
+
level?: InsiderLevel;
|
|
194
|
+
market?: string;
|
|
195
|
+
sortBy?: 'score' | 'analyzedAt' | 'potentialProfit' | 'totalVolume';
|
|
196
|
+
sortOrder?: 'asc' | 'desc';
|
|
197
|
+
limit?: number;
|
|
198
|
+
offset?: number;
|
|
199
|
+
}
|
|
200
|
+
export interface GetScanHistoryParams {
|
|
201
|
+
conditionId?: string;
|
|
202
|
+
limit?: number;
|
|
203
|
+
offset?: number;
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/insider-scan/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/insider-scan/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CTF Detector
|
|
3
|
+
*
|
|
4
|
+
* Monitors Conditional Token Framework (CTF) operations:
|
|
5
|
+
* - Split: USDC → YES + NO tokens
|
|
6
|
+
* - Merge: YES + NO tokens → USDC
|
|
7
|
+
* - Redeem: Winning token → USDC (after market resolution)
|
|
8
|
+
*
|
|
9
|
+
* Detection Methods:
|
|
10
|
+
* - WebSocket: ERC1155 Transfer events (primary, low-latency)
|
|
11
|
+
* - Polling: Balance changes (backup, reliable)
|
|
12
|
+
*
|
|
13
|
+
* ERC1155 Transfer Event Patterns:
|
|
14
|
+
* - Split: Transfer(from=0x0, to=user, tokenId=YES/NO, amount)
|
|
15
|
+
* - Merge: Transfer(from=user, to=0x0, tokenId=YES/NO, amount)
|
|
16
|
+
* - Redeem: Transfer(from=user, to=0x0, tokenId=winningToken, amount)
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* ```ts
|
|
20
|
+
* const detector = new CTFDetector({
|
|
21
|
+
* privateKey: '0x...',
|
|
22
|
+
* market: { conditionId, primaryTokenId, secondaryTokenId },
|
|
23
|
+
* mode: 'hybrid',
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* detector.on('split', (operation) => console.log('Split detected:', operation));
|
|
27
|
+
* detector.on('merge', (operation) => console.log('Merge detected:', operation));
|
|
28
|
+
* detector.on('redeem', (operation) => console.log('Redeem detected:', operation));
|
|
29
|
+
*
|
|
30
|
+
* await detector.start();
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
import { EventEmitter } from 'events';
|
|
34
|
+
/**
|
|
35
|
+
* Detection mode
|
|
36
|
+
*/
|
|
37
|
+
export type DetectionMode = 'websocket' | 'polling' | 'hybrid';
|
|
38
|
+
/**
|
|
39
|
+
* CTF operation types
|
|
40
|
+
*/
|
|
41
|
+
export type CTFOperationType = 'split' | 'merge' | 'redeem';
|
|
42
|
+
/**
|
|
43
|
+
* CTF operation event base
|
|
44
|
+
*/
|
|
45
|
+
interface CTFOperationBase {
|
|
46
|
+
/** Operation type */
|
|
47
|
+
type: CTFOperationType;
|
|
48
|
+
/** User address */
|
|
49
|
+
userAddress: string;
|
|
50
|
+
/** Market condition ID */
|
|
51
|
+
conditionId: string;
|
|
52
|
+
/** Amount of tokens involved */
|
|
53
|
+
amount: string;
|
|
54
|
+
/** Timestamp */
|
|
55
|
+
timestamp: number;
|
|
56
|
+
/** Transaction hash (if available) */
|
|
57
|
+
transactionHash?: string;
|
|
58
|
+
/** Block number (if available) */
|
|
59
|
+
blockNumber?: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Split operation event
|
|
63
|
+
* USDC → YES + NO tokens
|
|
64
|
+
*/
|
|
65
|
+
export interface SplitOperation extends CTFOperationBase {
|
|
66
|
+
type: 'split';
|
|
67
|
+
/** Primary (YES) token ID */
|
|
68
|
+
primaryTokenId: string;
|
|
69
|
+
/** Secondary (NO) token ID */
|
|
70
|
+
secondaryTokenId: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Merge operation event
|
|
74
|
+
* YES + NO tokens → USDC
|
|
75
|
+
*/
|
|
76
|
+
export interface MergeOperation extends CTFOperationBase {
|
|
77
|
+
type: 'merge';
|
|
78
|
+
/** Primary (YES) token ID */
|
|
79
|
+
primaryTokenId: string;
|
|
80
|
+
/** Secondary (NO) token ID */
|
|
81
|
+
secondaryTokenId: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Redeem operation event
|
|
85
|
+
* Winning token → USDC (after market resolution)
|
|
86
|
+
*/
|
|
87
|
+
export interface RedeemOperation extends CTFOperationBase {
|
|
88
|
+
type: 'redeem';
|
|
89
|
+
/** Winning token ID */
|
|
90
|
+
winningTokenId: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* CTF operation union type
|
|
94
|
+
*/
|
|
95
|
+
export type CTFOperation = SplitOperation | MergeOperation | RedeemOperation;
|
|
96
|
+
/**
|
|
97
|
+
* CTF detector configuration
|
|
98
|
+
*/
|
|
99
|
+
export interface CTFDetectorConfig {
|
|
100
|
+
/** Private key for wallet */
|
|
101
|
+
privateKey: string;
|
|
102
|
+
/** Market info (conditionId, token IDs) */
|
|
103
|
+
market: {
|
|
104
|
+
conditionId: string;
|
|
105
|
+
primaryTokenId: string;
|
|
106
|
+
secondaryTokenId: string;
|
|
107
|
+
};
|
|
108
|
+
/** RPC URL for Polygon network (optional) */
|
|
109
|
+
rpcUrl?: string;
|
|
110
|
+
/** Detection mode (default: 'hybrid') */
|
|
111
|
+
mode?: 'websocket' | 'polling' | 'hybrid';
|
|
112
|
+
/** Polling interval in ms (default: 10000) */
|
|
113
|
+
pollInterval?: number;
|
|
114
|
+
/** Polling fallback delay in ms (default: 60000) */
|
|
115
|
+
pollFallbackDelay?: number;
|
|
116
|
+
/** Chain ID (default: 137 Polygon mainnet) */
|
|
117
|
+
chainId?: number;
|
|
118
|
+
/** Enable debug logging (default: false) */
|
|
119
|
+
debug?: boolean;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* CTF Detector
|
|
123
|
+
*
|
|
124
|
+
* Features:
|
|
125
|
+
* - WebSocket for low-latency detection (ERC1155 Transfer events)
|
|
126
|
+
* - Polling for reliability (balance changes)
|
|
127
|
+
* - Deduplication to prevent duplicate events
|
|
128
|
+
* - Hybrid mode for best reliability
|
|
129
|
+
*/
|
|
130
|
+
export declare class CTFDetector extends EventEmitter {
|
|
131
|
+
private config;
|
|
132
|
+
private tradingService;
|
|
133
|
+
private ctfClient;
|
|
134
|
+
private realtimeService;
|
|
135
|
+
private rateLimiter;
|
|
136
|
+
private subscription;
|
|
137
|
+
private pollTimer;
|
|
138
|
+
private fallbackTimer;
|
|
139
|
+
private running;
|
|
140
|
+
private lastBalanceSnapshot;
|
|
141
|
+
private processedOperations;
|
|
142
|
+
private lastWebSocketUpdate;
|
|
143
|
+
private websocketConnected;
|
|
144
|
+
constructor(config: CTFDetectorConfig);
|
|
145
|
+
/**
|
|
146
|
+
* Start CTF operation detection
|
|
147
|
+
*/
|
|
148
|
+
start(): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Stop CTF operation detection
|
|
151
|
+
*/
|
|
152
|
+
stop(): void;
|
|
153
|
+
/**
|
|
154
|
+
* Start WebSocket subscription
|
|
155
|
+
*
|
|
156
|
+
* Note: Currently poly-sdk RealtimeServiceV2 supports user_order and user_trade events.
|
|
157
|
+
* ERC1155 Transfer events would require additional WebSocket channel support.
|
|
158
|
+
* For now, this is a placeholder for future implementation.
|
|
159
|
+
*/
|
|
160
|
+
private startWebSocket;
|
|
161
|
+
/**
|
|
162
|
+
* Wait for WebSocket connection
|
|
163
|
+
*/
|
|
164
|
+
private waitForConnection;
|
|
165
|
+
/**
|
|
166
|
+
* Start polling
|
|
167
|
+
*/
|
|
168
|
+
private startPolling;
|
|
169
|
+
/**
|
|
170
|
+
* Schedule fallback polling
|
|
171
|
+
*
|
|
172
|
+
* In hybrid mode, start polling after a delay if WebSocket hasn't received updates
|
|
173
|
+
*/
|
|
174
|
+
private scheduleFallbackPolling;
|
|
175
|
+
/**
|
|
176
|
+
* Poll for CTF operations by checking balance changes
|
|
177
|
+
*/
|
|
178
|
+
private pollForCTFOperations;
|
|
179
|
+
/**
|
|
180
|
+
* Update balance snapshot
|
|
181
|
+
*/
|
|
182
|
+
private updateBalanceSnapshot;
|
|
183
|
+
/**
|
|
184
|
+
* Detect split operation
|
|
185
|
+
*/
|
|
186
|
+
private detectSplit;
|
|
187
|
+
/**
|
|
188
|
+
* Detect merge operation
|
|
189
|
+
*/
|
|
190
|
+
private detectMerge;
|
|
191
|
+
/**
|
|
192
|
+
* Detect redeem operation
|
|
193
|
+
*/
|
|
194
|
+
private detectRedeem;
|
|
195
|
+
/**
|
|
196
|
+
* Get statistics
|
|
197
|
+
*/
|
|
198
|
+
getStats(): {
|
|
199
|
+
websocketConnected: boolean;
|
|
200
|
+
lastWebSocketUpdate: number;
|
|
201
|
+
lastBalanceCheck: number | null;
|
|
202
|
+
mode: DetectionMode;
|
|
203
|
+
processedOperations: number;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Log message (if debug enabled)
|
|
207
|
+
*/
|
|
208
|
+
private log;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Factory function to create CTFDetector
|
|
212
|
+
*/
|
|
213
|
+
export declare function createCTFDetector(config: CTFDetectorConfig): CTFDetector;
|
|
214
|
+
export {};
|
|
215
|
+
//# sourceMappingURL=ctf-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ctf-detector.d.ts","sourceRoot":"","sources":["../../../src/services/ctf-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAOtC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D;;GAEG;AACH,UAAU,gBAAgB;IACxB,qBAAqB;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,IAAI,EAAE,OAAO,CAAC;IACd,6BAA6B;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,IAAI,EAAE,OAAO,CAAC;IACd,6BAA6B;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1C,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,mBAAmB,CAAgC;IAG3D,OAAO,CAAC,mBAAmB,CAA0B;IAGrD,OAAO,CAAC,mBAAmB,CAAc;IAGzC,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,MAAM,EAAE,iBAAiB;IAqCrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B;;OAEG;IACH,IAAI,IAAI,IAAI;IA2BZ;;;;;;OAMG;YACW,cAAc;IAyC5B;;OAEG;YACW,iBAAiB;IA4B/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;YACW,oBAAoB;IAmDlC;;OAEG;YACW,qBAAqB;IA0BnC;;OAEG;YACW,WAAW;IA+BzB;;OAEG;YACW,WAAW;IAyBzB;;OAEG;YACW,YAAY;IA8B1B;;OAEG;IACH,QAAQ,IAAI;QACV,kBAAkB,EAAE,OAAO,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,IAAI,EAAE,aAAa,CAAC;QACpB,mBAAmB,EAAE,MAAM,CAAC;KAC7B;IAYD;;OAEG;IACH,OAAO,CAAC,GAAG;CAKZ;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAExE"}
|