@catalyst-team/poly-sdk 0.2.1 → 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.
- package/README.md +665 -807
- package/README.zh-CN.md +645 -342
- package/dist/__tests__/integration/arbitrage-service.integration.test.d.ts +12 -0
- package/dist/__tests__/integration/arbitrage-service.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/arbitrage-service.integration.test.js +267 -0
- package/dist/__tests__/integration/arbitrage-service.integration.test.js.map +1 -0
- package/dist/__tests__/integration/data-api.integration.test.js +6 -3
- package/dist/__tests__/integration/data-api.integration.test.js.map +1 -1
- package/dist/__tests__/integration/market-service.integration.test.d.ts +10 -0
- package/dist/__tests__/integration/market-service.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/market-service.integration.test.js +173 -0
- package/dist/__tests__/integration/market-service.integration.test.js.map +1 -0
- package/dist/__tests__/integration/realtime-service-v2.integration.test.d.ts +10 -0
- package/dist/__tests__/integration/realtime-service-v2.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/realtime-service-v2.integration.test.js +307 -0
- package/dist/__tests__/integration/realtime-service-v2.integration.test.js.map +1 -0
- package/dist/__tests__/integration/trading-service.integration.test.d.ts +10 -0
- package/dist/__tests__/integration/trading-service.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/trading-service.integration.test.js +58 -0
- package/dist/__tests__/integration/trading-service.integration.test.js.map +1 -0
- package/dist/clients/clob-api.d.ts +73 -0
- package/dist/clients/clob-api.d.ts.map +1 -1
- package/dist/clients/clob-api.js +60 -0
- package/dist/clients/clob-api.js.map +1 -1
- package/dist/clients/ctf-client.d.ts +6 -4
- package/dist/clients/ctf-client.d.ts.map +1 -1
- package/dist/clients/ctf-client.js.map +1 -1
- package/dist/clients/data-api.d.ts +333 -15
- package/dist/clients/data-api.d.ts.map +1 -1
- package/dist/clients/data-api.js +398 -26
- package/dist/clients/data-api.js.map +1 -1
- package/dist/clients/gamma-api.d.ts +5 -0
- package/dist/clients/gamma-api.d.ts.map +1 -1
- package/dist/clients/gamma-api.js +2 -0
- package/dist/clients/gamma-api.js.map +1 -1
- package/dist/clients/subgraph.d.ts +196 -0
- package/dist/clients/subgraph.d.ts.map +1 -0
- package/dist/clients/subgraph.js +332 -0
- package/dist/clients/subgraph.js.map +1 -0
- package/dist/clients/websocket-manager.d.ts +3 -0
- package/dist/clients/websocket-manager.d.ts.map +1 -1
- package/dist/clients/websocket-manager.js +10 -3
- package/dist/clients/websocket-manager.js.map +1 -1
- package/dist/core/cache.d.ts +3 -0
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +5 -0
- package/dist/core/cache.js.map +1 -1
- package/dist/core/errors.d.ts +2 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +2 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/rate-limiter.d.ts +3 -1
- package/dist/core/rate-limiter.d.ts.map +1 -1
- package/dist/core/rate-limiter.js +12 -0
- package/dist/core/rate-limiter.js.map +1 -1
- package/dist/core/types.d.ts +205 -13
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +30 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/types.test.d.ts +7 -0
- package/dist/core/types.test.d.ts.map +1 -0
- package/dist/core/types.test.js +122 -0
- package/dist/core/types.test.js.map +1 -0
- package/dist/index.d.ts +84 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +139 -132
- package/dist/index.js.map +1 -1
- package/dist/scripts/dip-arb/auto-trade.d.ts +20 -0
- package/dist/scripts/dip-arb/auto-trade.d.ts.map +1 -0
- package/dist/scripts/dip-arb/auto-trade.js +373 -0
- package/dist/scripts/dip-arb/auto-trade.js.map +1 -0
- package/dist/scripts/dip-arb/example-basic.d.ts +30 -0
- package/dist/scripts/dip-arb/example-basic.d.ts.map +1 -0
- package/dist/scripts/dip-arb/example-basic.js +222 -0
- package/dist/scripts/dip-arb/example-basic.js.map +1 -0
- package/dist/scripts/dip-arb/redeem-positions.d.ts +11 -0
- package/dist/scripts/dip-arb/redeem-positions.d.ts.map +1 -0
- package/dist/scripts/dip-arb/redeem-positions.js +201 -0
- package/dist/scripts/dip-arb/redeem-positions.js.map +1 -0
- package/dist/scripts/dip-arb/scan-markets.d.ts +6 -0
- package/dist/scripts/dip-arb/scan-markets.d.ts.map +1 -0
- package/dist/scripts/dip-arb/scan-markets.js +73 -0
- package/dist/scripts/dip-arb/scan-markets.js.map +1 -0
- package/dist/services/arbitrage-service.d.ts +3 -2
- package/dist/services/arbitrage-service.d.ts.map +1 -1
- package/dist/services/arbitrage-service.js +71 -43
- package/dist/services/arbitrage-service.js.map +1 -1
- package/dist/services/binance-service.d.ts +154 -0
- package/dist/services/binance-service.d.ts.map +1 -0
- package/dist/services/binance-service.js +266 -0
- package/dist/services/binance-service.js.map +1 -0
- package/dist/services/dip-arb-service.d.ts +209 -0
- package/dist/services/dip-arb-service.d.ts.map +1 -0
- package/dist/services/dip-arb-service.js +1602 -0
- package/dist/services/dip-arb-service.js.map +1 -0
- package/dist/services/dip-arb-types.d.ts +553 -0
- package/dist/services/dip-arb-types.d.ts.map +1 -0
- package/dist/services/dip-arb-types.js +164 -0
- package/dist/services/dip-arb-types.js.map +1 -0
- package/dist/services/market-service.d.ts +267 -8
- package/dist/services/market-service.d.ts.map +1 -1
- package/dist/services/market-service.js +771 -42
- package/dist/services/market-service.js.map +1 -1
- package/dist/services/onchain-service.d.ts +309 -0
- package/dist/services/onchain-service.d.ts.map +1 -0
- package/dist/services/onchain-service.js +417 -0
- package/dist/services/onchain-service.js.map +1 -0
- package/dist/services/realtime-service-v2.d.ts +362 -0
- package/dist/services/realtime-service-v2.d.ts.map +1 -0
- package/dist/services/realtime-service-v2.js +858 -0
- package/dist/services/realtime-service-v2.js.map +1 -0
- package/dist/services/realtime-service.d.ts +17 -17
- package/dist/services/realtime-service.d.ts.map +1 -1
- package/dist/services/realtime-service.js +91 -59
- package/dist/services/realtime-service.js.map +1 -1
- package/dist/services/smart-money-service.d.ts +352 -0
- package/dist/services/smart-money-service.d.ts.map +1 -0
- package/dist/services/smart-money-service.js +582 -0
- package/dist/services/smart-money-service.js.map +1 -0
- package/dist/services/trading-service.d.ts +177 -0
- package/dist/services/trading-service.d.ts.map +1 -0
- package/dist/services/trading-service.js +422 -0
- package/dist/services/trading-service.js.map +1 -0
- package/dist/services/wallet-service.d.ts +225 -3
- package/dist/services/wallet-service.d.ts.map +1 -1
- package/dist/services/wallet-service.js +511 -3
- package/dist/services/wallet-service.js.map +1 -1
- package/dist/src/__tests__/integration/arbitrage-service.integration.test.d.ts +12 -0
- package/dist/src/__tests__/integration/arbitrage-service.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/arbitrage-service.integration.test.js +267 -0
- package/dist/src/__tests__/integration/arbitrage-service.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/bridge-client.integration.test.d.ts +11 -0
- package/dist/src/__tests__/integration/bridge-client.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/bridge-client.integration.test.js +260 -0
- package/dist/src/__tests__/integration/bridge-client.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/ctf-client.integration.test.d.ts +17 -0
- package/dist/src/__tests__/integration/ctf-client.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/ctf-client.integration.test.js +234 -0
- package/dist/src/__tests__/integration/ctf-client.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/data-api.integration.test.d.ts +9 -0
- package/dist/src/__tests__/integration/data-api.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/data-api.integration.test.js +164 -0
- package/dist/src/__tests__/integration/data-api.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/gamma-api.integration.test.d.ts +9 -0
- package/dist/src/__tests__/integration/gamma-api.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/gamma-api.integration.test.js +170 -0
- package/dist/src/__tests__/integration/gamma-api.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/market-service.integration.test.d.ts +10 -0
- package/dist/src/__tests__/integration/market-service.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/market-service.integration.test.js +180 -0
- package/dist/src/__tests__/integration/market-service.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/realtime-service-v2.integration.test.d.ts +10 -0
- package/dist/src/__tests__/integration/realtime-service-v2.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/realtime-service-v2.integration.test.js +307 -0
- package/dist/src/__tests__/integration/realtime-service-v2.integration.test.js.map +1 -0
- package/dist/src/__tests__/integration/trading-service.integration.test.d.ts +10 -0
- package/dist/src/__tests__/integration/trading-service.integration.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/trading-service.integration.test.js +58 -0
- package/dist/src/__tests__/integration/trading-service.integration.test.js.map +1 -0
- package/dist/src/__tests__/test-utils.d.ts +92 -0
- package/dist/src/__tests__/test-utils.d.ts.map +1 -0
- package/dist/src/__tests__/test-utils.js +143 -0
- package/dist/src/__tests__/test-utils.js.map +1 -0
- package/dist/src/clients/bridge-client.d.ts +388 -0
- package/dist/src/clients/bridge-client.d.ts.map +1 -0
- package/dist/src/clients/bridge-client.js +587 -0
- package/dist/src/clients/bridge-client.js.map +1 -0
- package/dist/src/clients/ctf-client.d.ts +475 -0
- package/dist/src/clients/ctf-client.d.ts.map +1 -0
- package/dist/src/clients/ctf-client.js +915 -0
- package/dist/src/clients/ctf-client.js.map +1 -0
- package/dist/src/clients/data-api.d.ts +452 -0
- package/dist/src/clients/data-api.d.ts.map +1 -0
- package/dist/src/clients/data-api.js +637 -0
- package/dist/src/clients/data-api.js.map +1 -0
- package/dist/src/clients/gamma-api.d.ts +421 -0
- package/dist/src/clients/gamma-api.d.ts.map +1 -0
- package/dist/src/clients/gamma-api.js +359 -0
- package/dist/src/clients/gamma-api.js.map +1 -0
- package/dist/src/clients/subgraph.d.ts +196 -0
- package/dist/src/clients/subgraph.d.ts.map +1 -0
- package/dist/src/clients/subgraph.js +332 -0
- package/dist/src/clients/subgraph.js.map +1 -0
- package/dist/src/core/cache-adapter-bridge.d.ts +36 -0
- package/dist/src/core/cache-adapter-bridge.d.ts.map +1 -0
- package/dist/src/core/cache-adapter-bridge.js +81 -0
- package/dist/src/core/cache-adapter-bridge.js.map +1 -0
- package/dist/src/core/cache.d.ts +43 -0
- package/dist/src/core/cache.d.ts.map +1 -0
- package/dist/src/core/cache.js +76 -0
- package/dist/src/core/cache.js.map +1 -0
- package/dist/src/core/errors.d.ts +39 -0
- package/dist/src/core/errors.d.ts.map +1 -0
- package/dist/src/core/errors.js +86 -0
- package/dist/src/core/errors.js.map +1 -0
- package/dist/src/core/rate-limiter.d.ts +33 -0
- package/dist/src/core/rate-limiter.d.ts.map +1 -0
- package/dist/src/core/rate-limiter.js +82 -0
- package/dist/src/core/rate-limiter.js.map +1 -0
- package/dist/src/core/types.d.ts +506 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +49 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/core/types.test.d.ts +7 -0
- package/dist/src/core/types.test.d.ts.map +1 -0
- package/dist/src/core/types.test.js +122 -0
- package/dist/src/core/types.test.js.map +1 -0
- package/dist/src/core/unified-cache.d.ts +63 -0
- package/dist/src/core/unified-cache.d.ts.map +1 -0
- package/dist/src/core/unified-cache.js +114 -0
- package/dist/src/core/unified-cache.js.map +1 -0
- package/dist/src/index.d.ts +159 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +262 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/services/arbitrage-service.d.ts +409 -0
- package/dist/src/services/arbitrage-service.d.ts.map +1 -0
- package/dist/src/services/arbitrage-service.js +1450 -0
- package/dist/src/services/arbitrage-service.js.map +1 -0
- package/dist/src/services/authorization-service.d.ts +97 -0
- package/dist/src/services/authorization-service.d.ts.map +1 -0
- package/dist/src/services/authorization-service.js +279 -0
- package/dist/src/services/authorization-service.js.map +1 -0
- package/dist/src/services/binance-service.d.ts +154 -0
- package/dist/src/services/binance-service.d.ts.map +1 -0
- package/dist/src/services/binance-service.js +266 -0
- package/dist/src/services/binance-service.js.map +1 -0
- package/dist/src/services/dip-arb-service.d.ts +245 -0
- package/dist/src/services/dip-arb-service.d.ts.map +1 -0
- package/dist/src/services/dip-arb-service.js +1865 -0
- package/dist/src/services/dip-arb-service.js.map +1 -0
- package/dist/src/services/dip-arb-types.d.ts +553 -0
- package/dist/src/services/dip-arb-types.d.ts.map +1 -0
- package/dist/src/services/dip-arb-types.js +164 -0
- package/dist/src/services/dip-arb-types.js.map +1 -0
- package/dist/src/services/market-service.d.ts +370 -0
- package/dist/src/services/market-service.d.ts.map +1 -0
- package/dist/src/services/market-service.js +1200 -0
- package/dist/src/services/market-service.js.map +1 -0
- package/dist/src/services/onchain-service.d.ts +309 -0
- package/dist/src/services/onchain-service.d.ts.map +1 -0
- package/dist/src/services/onchain-service.js +417 -0
- package/dist/src/services/onchain-service.js.map +1 -0
- package/dist/src/services/realtime-service-v2.d.ts +367 -0
- package/dist/src/services/realtime-service-v2.d.ts.map +1 -0
- package/dist/src/services/realtime-service-v2.js +876 -0
- package/dist/src/services/realtime-service-v2.js.map +1 -0
- package/dist/src/services/smart-money-service.d.ts +352 -0
- package/dist/src/services/smart-money-service.d.ts.map +1 -0
- package/dist/src/services/smart-money-service.js +582 -0
- package/dist/src/services/smart-money-service.js.map +1 -0
- package/dist/src/services/swap-service.d.ts +217 -0
- package/dist/src/services/swap-service.d.ts.map +1 -0
- package/dist/src/services/swap-service.js +695 -0
- package/dist/src/services/swap-service.js.map +1 -0
- package/dist/src/services/trading-service.d.ts +177 -0
- package/dist/src/services/trading-service.d.ts.map +1 -0
- package/dist/src/services/trading-service.js +422 -0
- package/dist/src/services/trading-service.js.map +1 -0
- package/dist/src/services/wallet-service.d.ts +316 -0
- package/dist/src/services/wallet-service.d.ts.map +1 -0
- package/dist/src/services/wallet-service.js +681 -0
- package/dist/src/services/wallet-service.js.map +1 -0
- package/dist/src/utils/price-utils.d.ts +153 -0
- package/dist/src/utils/price-utils.d.ts.map +1 -0
- package/dist/src/utils/price-utils.js +236 -0
- package/dist/src/utils/price-utils.js.map +1 -0
- package/dist/src/utils/price-utils.test.d.ts +5 -0
- package/dist/src/utils/price-utils.test.d.ts.map +1 -0
- package/dist/src/utils/price-utils.test.js +192 -0
- package/dist/src/utils/price-utils.test.js.map +1 -0
- package/dist/utils/price-utils.test.d.ts +5 -0
- package/dist/utils/price-utils.test.d.ts.map +1 -0
- package/dist/utils/price-utils.test.js +192 -0
- package/dist/utils/price-utils.test.js.map +1 -0
- package/package.json +6 -5
- package/README.en.md +0 -502
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dip-arb-types.d.ts","sourceRoot":"","sources":["../../src/services/dip-arb-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,GAAG;IACrF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,oBAiBpC,CAAC;AAIF,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,WAAW;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,UAAU,EAAE,gBAAgB,CAAC;IAC7B,eAAe;IACf,eAAe,EAAE,cAAc,CAAC;IAChC,aAAa;IACb,OAAO,EAAE,IAAI,CAAC;CACf;AAID,WAAW;AACX,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,UAAU;AACV,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU;IACV,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,WAAW;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,OAAO,EAAE,UAAU,CAAC;IACpB,WAAW;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY;IACZ,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW;IACX,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC;IACvC,uBAAuB;IACvB,OAAO,CAAC,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,SAAS,EAAE,UAAU,CAAC;IACtB,cAAc;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,WAAW;AACX,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAI/D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc;IACd,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS;IACT,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,cAAc;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,cAAc;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC3C;AAID;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,WAAW,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;CACH;AAID;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACnD,aAAa,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,WAAW,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACrD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAID;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa;IACb,IAAI,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;IAChC,WAAW;IACX,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC,iBAAiB;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,cAAc;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,YAAY;IACZ,cAAc,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB;IAChB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,YAAY;IACZ,QAAQ,EAAE,IAAI,GAAG,KAAK,CAAC;IACvB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,sBAAsB,CASvE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,WAAW;IACX,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW;IACX,MAAM,EAAE,kBAAkB,CAAC;IAC3B,mBAAmB;IACnB,KAAK,EAAE,gBAAgB,CAAC;IACxB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,MAAM,EAAE,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAID;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAetD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,eAAe,GAAE,MAAW,GAC3B,gBAAgB,CAalB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAWnF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAOtE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAIlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI,gBAAgB,CAEnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI,gBAAgB,CAEnF"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dip Arbitrage Service Types
|
|
3
|
+
*
|
|
4
|
+
* 暴跌套利服务类型定义
|
|
5
|
+
*
|
|
6
|
+
* 策略原理:
|
|
7
|
+
* 在 Polymarket 的 BTC/ETH/SOL/XRP UP/DOWN 短期市场中:
|
|
8
|
+
*
|
|
9
|
+
* 1. 每个市场有一个 "price to beat"(开盘时的 Chainlink 价格)
|
|
10
|
+
* 2. 结算规则:
|
|
11
|
+
* - UP 赢:结束时价格 >= price to beat
|
|
12
|
+
* - DOWN 赢:结束时价格 < price to beat
|
|
13
|
+
*
|
|
14
|
+
* 3. 套利流程:
|
|
15
|
+
* - Leg1:检测暴跌 → 买入暴跌侧
|
|
16
|
+
* - Leg2:等待对冲条件 → 买入另一侧
|
|
17
|
+
* - 利润:总成本 < $1 时获得无风险利润
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* 默认配置
|
|
21
|
+
*/
|
|
22
|
+
export const DEFAULT_DIP_ARB_CONFIG = {
|
|
23
|
+
shares: 20,
|
|
24
|
+
sumTarget: 0.95,
|
|
25
|
+
dipThreshold: 0.15,
|
|
26
|
+
windowMinutes: 2,
|
|
27
|
+
slidingWindowMs: 3000, // 3秒滑动窗口 - 核心参数!
|
|
28
|
+
maxSlippage: 0.02,
|
|
29
|
+
minProfitRate: 0.03,
|
|
30
|
+
leg2TimeoutSeconds: 300,
|
|
31
|
+
enableSurge: true,
|
|
32
|
+
surgeThreshold: 0.15,
|
|
33
|
+
autoMerge: true,
|
|
34
|
+
autoExecute: false,
|
|
35
|
+
executionCooldown: 3000,
|
|
36
|
+
splitOrders: 1, // 默认不拆分
|
|
37
|
+
orderIntervalMs: 500, // 拆分订单间隔 500ms
|
|
38
|
+
debug: false,
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* 默认自动轮换配置
|
|
42
|
+
*/
|
|
43
|
+
export const DEFAULT_AUTO_ROTATE_CONFIG = {
|
|
44
|
+
enabled: false,
|
|
45
|
+
underlyings: ['BTC'],
|
|
46
|
+
duration: '15m',
|
|
47
|
+
preloadMinutes: 2,
|
|
48
|
+
autoSettle: true,
|
|
49
|
+
settleStrategy: 'redeem',
|
|
50
|
+
redeemWaitMinutes: 5,
|
|
51
|
+
redeemRetryIntervalSeconds: 30,
|
|
52
|
+
};
|
|
53
|
+
// ============= Helper Functions =============
|
|
54
|
+
/**
|
|
55
|
+
* 创建初始统计
|
|
56
|
+
*/
|
|
57
|
+
export function createDipArbInitialStats() {
|
|
58
|
+
return {
|
|
59
|
+
startTime: Date.now(),
|
|
60
|
+
runningTimeMs: 0,
|
|
61
|
+
roundsMonitored: 0,
|
|
62
|
+
roundsCompleted: 0,
|
|
63
|
+
roundsSuccessful: 0,
|
|
64
|
+
roundsExpired: 0,
|
|
65
|
+
signalsDetected: 0,
|
|
66
|
+
leg1Filled: 0,
|
|
67
|
+
leg2Filled: 0,
|
|
68
|
+
totalSpent: 0,
|
|
69
|
+
totalProfit: 0,
|
|
70
|
+
avgProfitRate: 0,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 创建新轮次状态
|
|
75
|
+
*/
|
|
76
|
+
export function createDipArbRoundState(roundId, priceToBeat, upPrice, downPrice, durationMinutes = 15) {
|
|
77
|
+
const now = Date.now();
|
|
78
|
+
return {
|
|
79
|
+
roundId,
|
|
80
|
+
startTime: now,
|
|
81
|
+
endTime: now + durationMinutes * 60 * 1000,
|
|
82
|
+
priceToBeat,
|
|
83
|
+
openPrices: {
|
|
84
|
+
up: upPrice,
|
|
85
|
+
down: downPrice,
|
|
86
|
+
},
|
|
87
|
+
phase: 'waiting',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 计算利润率
|
|
92
|
+
*/
|
|
93
|
+
export function calculateDipArbProfitRate(totalCost) {
|
|
94
|
+
if (totalCost >= 1 || totalCost <= 0)
|
|
95
|
+
return 0;
|
|
96
|
+
return (1 - totalCost) / totalCost;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 计算基于底层资产价格变化的"真实"胜率
|
|
100
|
+
*
|
|
101
|
+
* @param currentPrice - 当前价格
|
|
102
|
+
* @param priceToBeat - 开盘价格
|
|
103
|
+
* @returns UP 的真实胜率估计 (0-1)
|
|
104
|
+
*/
|
|
105
|
+
export function estimateUpWinRate(currentPrice, priceToBeat) {
|
|
106
|
+
if (priceToBeat <= 0)
|
|
107
|
+
return 0.5;
|
|
108
|
+
const priceChange = (currentPrice - priceToBeat) / priceToBeat;
|
|
109
|
+
// 简单模型:价格变化 1% 对应胜率变化约 10%
|
|
110
|
+
const sensitivity = 10;
|
|
111
|
+
const winRateShift = priceChange * sensitivity;
|
|
112
|
+
// 限制在 [0.05, 0.95] 范围内
|
|
113
|
+
return Math.max(0.05, Math.min(0.95, 0.5 + winRateShift));
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* 检测定价偏差
|
|
117
|
+
*
|
|
118
|
+
* @param tokenPrice - token 当前价格(隐含胜率)
|
|
119
|
+
* @param estimatedWinRate - 基于价格估计的真实胜率
|
|
120
|
+
* @returns 偏差程度(正数 = 被低估,负数 = 被高估)
|
|
121
|
+
*/
|
|
122
|
+
export function detectMispricing(tokenPrice, estimatedWinRate) {
|
|
123
|
+
return estimatedWinRate - tokenPrice;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* 从 slug 解析底层资产
|
|
127
|
+
* e.g., 'btc-updown-15m-1767165300' → 'BTC'
|
|
128
|
+
*/
|
|
129
|
+
export function parseUnderlyingFromSlug(slug) {
|
|
130
|
+
const lower = slug.toLowerCase();
|
|
131
|
+
if (lower.startsWith('btc'))
|
|
132
|
+
return 'BTC';
|
|
133
|
+
if (lower.startsWith('eth'))
|
|
134
|
+
return 'ETH';
|
|
135
|
+
if (lower.startsWith('sol'))
|
|
136
|
+
return 'SOL';
|
|
137
|
+
if (lower.startsWith('xrp'))
|
|
138
|
+
return 'XRP';
|
|
139
|
+
return 'BTC'; // default
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* 从 slug 解析时长
|
|
143
|
+
* e.g., 'btc-updown-15m-1767165300' → 15
|
|
144
|
+
*/
|
|
145
|
+
export function parseDurationFromSlug(slug) {
|
|
146
|
+
if (slug.includes('-5m-'))
|
|
147
|
+
return 5;
|
|
148
|
+
if (slug.includes('-15m-'))
|
|
149
|
+
return 15;
|
|
150
|
+
return 15; // default
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* 类型守卫:检查是否为 Leg1 信号
|
|
154
|
+
*/
|
|
155
|
+
export function isDipArbLeg1Signal(signal) {
|
|
156
|
+
return signal.type === 'leg1';
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* 类型守卫:检查是否为 Leg2 信号
|
|
160
|
+
*/
|
|
161
|
+
export function isDipArbLeg2Signal(signal) {
|
|
162
|
+
return signal.type === 'leg2';
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=dip-arb-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dip-arb-types.js","sourceRoot":"","sources":["../../src/services/dip-arb-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,123 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Market Service
|
|
3
3
|
*
|
|
4
|
-
* Provides
|
|
4
|
+
* Provides market data and analysis:
|
|
5
|
+
* - Market info and discovery
|
|
6
|
+
* - Orderbook data and analysis
|
|
5
7
|
* - K-Line aggregation from trade data
|
|
6
|
-
* - Dual token K-Lines (YES + NO)
|
|
7
8
|
* - Spread analysis
|
|
8
|
-
* -
|
|
9
|
+
* - Arbitrage detection
|
|
9
10
|
*/
|
|
10
11
|
import { DataApiClient } from '../clients/data-api.js';
|
|
11
12
|
import { GammaApiClient, GammaMarket } from '../clients/gamma-api.js';
|
|
12
|
-
import { ClobApiClient } from '../clients/clob-api.js';
|
|
13
13
|
import type { UnifiedCache } from '../core/unified-cache.js';
|
|
14
|
-
import
|
|
14
|
+
import { RateLimiter } from '../core/rate-limiter.js';
|
|
15
|
+
import type { UnifiedMarket, ProcessedOrderbook, ArbitrageOpportunity, KLineInterval, KLineCandle, DualKLineData, RealtimeSpreadAnalysis, Side, Orderbook, UnderlyingAsset, TokenUnderlyingCorrelation } from '../core/types.js';
|
|
16
|
+
import type { BinanceService } from './binance-service.js';
|
|
17
|
+
export declare const POLYGON_MAINNET = 137;
|
|
18
|
+
export type { Side, Orderbook } from '../core/types.js';
|
|
19
|
+
export type PriceHistoryIntervalString = '1h' | '6h' | '1d' | '1w' | 'max';
|
|
20
|
+
export interface PriceHistoryParams {
|
|
21
|
+
tokenId: string;
|
|
22
|
+
interval?: PriceHistoryIntervalString;
|
|
23
|
+
startTs?: number;
|
|
24
|
+
endTs?: number;
|
|
25
|
+
fidelity?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface PricePoint {
|
|
28
|
+
timestamp: number;
|
|
29
|
+
price: number;
|
|
30
|
+
}
|
|
31
|
+
export interface MarketServiceConfig {
|
|
32
|
+
/** Private key for CLOB client auth (optional, for authenticated endpoints) */
|
|
33
|
+
privateKey?: string;
|
|
34
|
+
/** Chain ID (default: Polygon mainnet 137) */
|
|
35
|
+
chainId?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* CLOB Market type (from CLOB API)
|
|
39
|
+
*
|
|
40
|
+
* This represents the raw market data from the CLOB API.
|
|
41
|
+
* For merged market data with volume/liquidity, use UnifiedMarket from core/types.ts.
|
|
42
|
+
*/
|
|
43
|
+
export interface Market {
|
|
44
|
+
conditionId: string;
|
|
45
|
+
questionId?: string;
|
|
46
|
+
marketSlug: string;
|
|
47
|
+
question: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
tokens: MarketToken[];
|
|
50
|
+
active: boolean;
|
|
51
|
+
closed: boolean;
|
|
52
|
+
acceptingOrders: boolean;
|
|
53
|
+
endDateIso?: string | null;
|
|
54
|
+
negRisk?: boolean;
|
|
55
|
+
minimumOrderSize?: number;
|
|
56
|
+
minimumTickSize?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Token in a CLOB market
|
|
60
|
+
* Same structure as MarketToken in core/types.ts
|
|
61
|
+
*/
|
|
62
|
+
export interface MarketToken {
|
|
63
|
+
tokenId: string;
|
|
64
|
+
outcome: string;
|
|
65
|
+
price: number;
|
|
66
|
+
winner?: boolean;
|
|
67
|
+
}
|
|
15
68
|
export declare class MarketService {
|
|
16
69
|
private gammaApi;
|
|
17
|
-
private clobApi;
|
|
18
70
|
private dataApi;
|
|
71
|
+
private rateLimiter;
|
|
19
72
|
private cache;
|
|
20
|
-
|
|
73
|
+
private config?;
|
|
74
|
+
private binanceService?;
|
|
75
|
+
private clobClient;
|
|
76
|
+
private initialized;
|
|
77
|
+
constructor(gammaApi: GammaApiClient | undefined, dataApi: DataApiClient | undefined, rateLimiter: RateLimiter, cache: UnifiedCache, config?: MarketServiceConfig | undefined, binanceService?: BinanceService | undefined);
|
|
78
|
+
private ensureInitialized;
|
|
79
|
+
/**
|
|
80
|
+
* Get market from CLOB by condition ID
|
|
81
|
+
*/
|
|
82
|
+
getClobMarket(conditionId: string): Promise<Market | null>;
|
|
83
|
+
/**
|
|
84
|
+
* Get multiple markets from CLOB
|
|
85
|
+
*/
|
|
86
|
+
getClobMarkets(nextCursor?: string): Promise<{
|
|
87
|
+
markets: Market[];
|
|
88
|
+
nextCursor: string;
|
|
89
|
+
}>;
|
|
90
|
+
/**
|
|
91
|
+
* Get orderbook for a single token
|
|
92
|
+
*/
|
|
93
|
+
getTokenOrderbook(tokenId: string): Promise<Orderbook>;
|
|
94
|
+
/**
|
|
95
|
+
* Get orderbooks for multiple tokens
|
|
96
|
+
*/
|
|
97
|
+
getTokenOrderbooks(params: Array<{
|
|
98
|
+
tokenId: string;
|
|
99
|
+
side: Side;
|
|
100
|
+
}>): Promise<Map<string, Orderbook>>;
|
|
101
|
+
/**
|
|
102
|
+
* Get processed orderbook with arbitrage analysis for a market
|
|
103
|
+
*/
|
|
104
|
+
getProcessedOrderbook(conditionId: string): Promise<ProcessedOrderbook>;
|
|
105
|
+
/**
|
|
106
|
+
* Get price history for a token
|
|
107
|
+
*/
|
|
108
|
+
getPricesHistory(params: PriceHistoryParams): Promise<PricePoint[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Get midpoint price for a token
|
|
111
|
+
*/
|
|
112
|
+
getMidpoint(tokenId: string): Promise<number>;
|
|
113
|
+
/**
|
|
114
|
+
* Get spread for a token
|
|
115
|
+
*/
|
|
116
|
+
getSpread(tokenId: string): Promise<number>;
|
|
117
|
+
/**
|
|
118
|
+
* Get last trade price for a token
|
|
119
|
+
*/
|
|
120
|
+
getLastTradePrice(tokenId: string): Promise<number>;
|
|
21
121
|
/**
|
|
22
122
|
* Get market by slug or condition ID
|
|
23
123
|
*/
|
|
@@ -26,18 +126,109 @@ export declare class MarketService {
|
|
|
26
126
|
private getMarketByConditionId;
|
|
27
127
|
/**
|
|
28
128
|
* Get K-Line candles for a market (single token)
|
|
129
|
+
*
|
|
130
|
+
* @param conditionId - Market condition ID
|
|
131
|
+
* @param interval - K-line interval (1s, 5s, 15s, 30s, 1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d)
|
|
132
|
+
* @param options - Query options
|
|
133
|
+
* @param options.limit - Maximum number of trades to fetch for aggregation (default: 1000)
|
|
134
|
+
* @param options.tokenId - Filter by specific token ID
|
|
135
|
+
* @param options.outcomeIndex - Filter by outcome index (0 = primary, 1 = secondary)
|
|
136
|
+
* @param options.startTimestamp - Start timestamp (Unix ms) - filter trades after this time
|
|
137
|
+
* @param options.endTimestamp - End timestamp (Unix ms) - filter trades before this time
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* // Get 5s candles for the last 15 minutes
|
|
142
|
+
* const now = Date.now();
|
|
143
|
+
* const candles = await sdk.markets.getKLines(conditionId, '5s', {
|
|
144
|
+
* startTimestamp: now - 15 * 60 * 1000,
|
|
145
|
+
* endTimestamp: now,
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
29
148
|
*/
|
|
30
149
|
getKLines(conditionId: string, interval: KLineInterval, options?: {
|
|
31
150
|
limit?: number;
|
|
32
151
|
tokenId?: string;
|
|
33
152
|
outcomeIndex?: number;
|
|
153
|
+
startTimestamp?: number;
|
|
154
|
+
endTimestamp?: number;
|
|
34
155
|
}): Promise<KLineCandle[]>;
|
|
35
156
|
/**
|
|
36
157
|
* Get dual K-Lines (YES + NO tokens)
|
|
158
|
+
*
|
|
159
|
+
* @param conditionId - Market condition ID
|
|
160
|
+
* @param interval - K-line interval (1s, 5s, 15s, 30s, 1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d)
|
|
161
|
+
* @param options - Query options
|
|
162
|
+
* @param options.limit - Maximum number of trades to fetch for aggregation (default: 1000)
|
|
163
|
+
* @param options.startTimestamp - Start timestamp (Unix ms) - filter trades after this time
|
|
164
|
+
* @param options.endTimestamp - End timestamp (Unix ms) - filter trades before this time
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* // Get 15s dual K-lines for a 15-minute market
|
|
169
|
+
* const now = Date.now();
|
|
170
|
+
* const data = await sdk.markets.getDualKLines(conditionId, '15s', {
|
|
171
|
+
* startTimestamp: now - 15 * 60 * 1000,
|
|
172
|
+
* endTimestamp: now,
|
|
173
|
+
* });
|
|
174
|
+
* console.log(`Up candles: ${data.yes.length}, Down candles: ${data.no.length}`);
|
|
175
|
+
* ```
|
|
37
176
|
*/
|
|
38
177
|
getDualKLines(conditionId: string, interval: KLineInterval, options?: {
|
|
39
178
|
limit?: number;
|
|
179
|
+
startTimestamp?: number;
|
|
180
|
+
endTimestamp?: number;
|
|
40
181
|
}): Promise<DualKLineData>;
|
|
182
|
+
/**
|
|
183
|
+
* Get aligned K-line data for token and underlying asset
|
|
184
|
+
*
|
|
185
|
+
* This method fetches K-line data from both Polymarket (token prices)
|
|
186
|
+
* and Binance (underlying asset prices), aligns them by timestamp,
|
|
187
|
+
* and optionally calculates Pearson correlation coefficients.
|
|
188
|
+
*
|
|
189
|
+
* @param conditionId - Market condition ID
|
|
190
|
+
* @param underlying - Underlying asset (BTC, ETH, SOL)
|
|
191
|
+
* @param interval - K-line interval (must be supported by both Poly and Binance)
|
|
192
|
+
* @param options - Optional parameters
|
|
193
|
+
* @returns Aligned data with optional correlation coefficients
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```typescript
|
|
197
|
+
* const data = await marketService.getTokenUnderlyingData(
|
|
198
|
+
* '0x123...',
|
|
199
|
+
* 'BTC',
|
|
200
|
+
* '1h',
|
|
201
|
+
* { limit: 100, calculateCorrelation: true }
|
|
202
|
+
* );
|
|
203
|
+
*
|
|
204
|
+
* // Access aligned data
|
|
205
|
+
* for (const point of data.data) {
|
|
206
|
+
* console.log(`${point.timestamp}: Up=${point.upPrice}, BTC=${point.underlyingPrice}`);
|
|
207
|
+
* }
|
|
208
|
+
*
|
|
209
|
+
* // Check correlation
|
|
210
|
+
* if (data.correlation) {
|
|
211
|
+
* console.log(`Correlation: ${data.correlation.upVsUnderlying}`);
|
|
212
|
+
* }
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
getTokenUnderlyingData(conditionId: string, underlying: UnderlyingAsset, interval: KLineInterval, options?: {
|
|
216
|
+
limit?: number;
|
|
217
|
+
calculateCorrelation?: boolean;
|
|
218
|
+
}): Promise<TokenUnderlyingCorrelation>;
|
|
219
|
+
/**
|
|
220
|
+
* Find the nearest available price for a timestamp
|
|
221
|
+
*/
|
|
222
|
+
private findNearestPrice;
|
|
223
|
+
/**
|
|
224
|
+
* Calculate Pearson correlation coefficients
|
|
225
|
+
*/
|
|
226
|
+
private calculatePearsonCorrelation;
|
|
227
|
+
/**
|
|
228
|
+
* Calculate Pearson correlation coefficient between two arrays
|
|
229
|
+
* Returns a value between -1 and 1
|
|
230
|
+
*/
|
|
231
|
+
private pearson;
|
|
41
232
|
/**
|
|
42
233
|
* Aggregate trades into K-Line candles
|
|
43
234
|
*/
|
|
@@ -68,7 +259,7 @@ export declare class MarketService {
|
|
|
68
259
|
*/
|
|
69
260
|
getRealtimeSpread(conditionId: string): Promise<RealtimeSpreadAnalysis>;
|
|
70
261
|
/**
|
|
71
|
-
* Get processed orderbook with analytics
|
|
262
|
+
* Get processed orderbook with analytics (alias for getProcessedOrderbook)
|
|
72
263
|
*/
|
|
73
264
|
getOrderbook(conditionId: string): Promise<ProcessedOrderbook>;
|
|
74
265
|
/**
|
|
@@ -92,6 +283,72 @@ export declare class MarketService {
|
|
|
92
283
|
offset?: number;
|
|
93
284
|
order?: string;
|
|
94
285
|
}): Promise<GammaMarket[]>;
|
|
286
|
+
/**
|
|
287
|
+
* Scan for short-term crypto markets (Up/Down markets ending soon)
|
|
288
|
+
*
|
|
289
|
+
* ## Market Types
|
|
290
|
+
* Polymarket has short-term crypto markets in two durations:
|
|
291
|
+
* - **5-minute markets**: slug pattern `{coin}-updown-5m-{timestamp}`
|
|
292
|
+
* - **15-minute markets**: slug pattern `{coin}-updown-15m-{timestamp}`
|
|
293
|
+
*
|
|
294
|
+
* ## Slug Pattern
|
|
295
|
+
* The timestamp in the slug is the START time of the time window:
|
|
296
|
+
* - 15-minute markets: `{coin}-updown-15m-{Math.floor(startTime / 900) * 900}`
|
|
297
|
+
* - 5-minute markets: `{coin}-updown-5m-{Math.floor(startTime / 300) * 300}`
|
|
298
|
+
*
|
|
299
|
+
* Example: `btc-updown-15m-1767456000` starts at 1767456000 (16:00:00 UTC)
|
|
300
|
+
* and ends 15 minutes later at 1767456900 (16:15:00 UTC)
|
|
301
|
+
*
|
|
302
|
+
* ## Supported Coins
|
|
303
|
+
* - BTC (Bitcoin)
|
|
304
|
+
* - ETH (Ethereum)
|
|
305
|
+
* - SOL (Solana)
|
|
306
|
+
* - XRP (Ripple)
|
|
307
|
+
*
|
|
308
|
+
* ## Market Lifecycle Rules
|
|
309
|
+
* 1. Markets are created ahead of time (before they become tradeable)
|
|
310
|
+
* 2. New markets may not have prices yet (show 0.5/0.5)
|
|
311
|
+
* 3. When one market ends, the next one is already open for trading
|
|
312
|
+
* 4. A market ending doesn't mean no price - it means resolution is pending
|
|
313
|
+
*
|
|
314
|
+
* ## Outcomes
|
|
315
|
+
* All crypto short-term markets have:
|
|
316
|
+
* - outcomes: ["Up", "Down"]
|
|
317
|
+
* - Resolution based on price movement during the time window
|
|
318
|
+
*
|
|
319
|
+
* @param options - Scan options
|
|
320
|
+
* @param options.minMinutesUntilEnd - Minimum minutes until market ends (default: 5)
|
|
321
|
+
* @param options.maxMinutesUntilEnd - Maximum minutes until market ends (default: 60)
|
|
322
|
+
* @param options.limit - Maximum number of markets to return (default: 20)
|
|
323
|
+
* @param options.sortBy - Sort field: 'endDate' | 'volume' | 'liquidity' (default: 'endDate')
|
|
324
|
+
* @param options.duration - Filter by duration: '5m' | '15m' | 'all' (default: 'all')
|
|
325
|
+
* @param options.coin - Filter by coin: 'BTC' | 'ETH' | 'SOL' | 'XRP' | 'all' (default: 'all')
|
|
326
|
+
* @returns Array of crypto short-term markets
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```typescript
|
|
330
|
+
* // Find all 15-minute markets ending in 5-30 minutes
|
|
331
|
+
* const markets = await sdk.markets.scanCryptoShortTermMarkets({
|
|
332
|
+
* minMinutesUntilEnd: 5,
|
|
333
|
+
* maxMinutesUntilEnd: 30,
|
|
334
|
+
* duration: '15m',
|
|
335
|
+
* });
|
|
336
|
+
*
|
|
337
|
+
* // Find BTC 5-minute markets only
|
|
338
|
+
* const btcMarkets = await sdk.markets.scanCryptoShortTermMarkets({
|
|
339
|
+
* coin: 'BTC',
|
|
340
|
+
* duration: '5m',
|
|
341
|
+
* });
|
|
342
|
+
* ```
|
|
343
|
+
*/
|
|
344
|
+
scanCryptoShortTermMarkets(options?: {
|
|
345
|
+
minMinutesUntilEnd?: number;
|
|
346
|
+
maxMinutesUntilEnd?: number;
|
|
347
|
+
limit?: number;
|
|
348
|
+
sortBy?: 'endDate' | 'volume' | 'liquidity';
|
|
349
|
+
duration?: '5m' | '15m' | 'all';
|
|
350
|
+
coin?: 'BTC' | 'ETH' | 'SOL' | 'XRP' | 'all';
|
|
351
|
+
}): Promise<GammaMarket[]>;
|
|
95
352
|
/**
|
|
96
353
|
* Detect market signals (volume surge, depth imbalance, whale trades)
|
|
97
354
|
*/
|
|
@@ -100,6 +357,8 @@ export declare class MarketService {
|
|
|
100
357
|
severity: 'low' | 'medium' | 'high';
|
|
101
358
|
details: Record<string, unknown>;
|
|
102
359
|
}>>;
|
|
360
|
+
private normalizeClobMarket;
|
|
361
|
+
private processOrderbooks;
|
|
103
362
|
private mergeMarkets;
|
|
104
363
|
private fromGammaMarket;
|
|
105
364
|
private fromClobMarket;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-service.d.ts","sourceRoot":"","sources":["../../src/services/market-service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"market-service.d.ts","sourceRoot":"","sources":["../../src/services/market-service.ts"],"names":[],"mappings":"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"}
|