@agg-build/sdk 4.28.2 → 4.29.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/dist/{agg-websocket-BA8wCwM5.d.mts → agg-websocket-BpZ8ljCl.d.mts} +395 -279
- package/dist/agg-websocket-BpZ8ljCl.d.mts.map +1 -0
- package/dist/{agg-websocket-BA8wCwM5.d.ts → agg-websocket-BpZ8ljCl.d.ts} +395 -279
- package/dist/agg-websocket-BpZ8ljCl.d.ts.map +1 -0
- package/dist/{agg-websocket-DTHMujEm.js → agg-websocket-CVZ7laJ4.js} +153 -13
- package/dist/{agg-websocket-BrkWNijv.mjs → agg-websocket-ClGhhROZ.mjs} +154 -14
- package/dist/agg-websocket-ClGhhROZ.mjs.map +1 -0
- package/dist/browser.d.mts +1 -1
- package/dist/browser.d.mts.map +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +2 -2
- package/dist/browser.mjs +2 -2
- package/dist/browser.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +150 -26
- package/dist/index.mjs +141 -27
- package/dist/index.mjs.map +1 -1
- package/dist/market-data.d.mts +1 -1
- package/dist/market-data.d.ts +1 -1
- package/dist/market-data.js +6 -2
- package/dist/market-data.mjs +6 -2
- package/dist/market-data.mjs.map +1 -1
- package/package.json +4 -1
- package/dist/agg-websocket-BA8wCwM5.d.mts.map +0 -1
- package/dist/agg-websocket-BA8wCwM5.d.ts.map +0 -1
- package/dist/agg-websocket-BrkWNijv.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agg-websocket-BpZ8ljCl.d.ts","names":["TradeSide","TradeSide","WithdrawTokenSymbol","WithdrawalSourceTokenSymbol","WithdrawalSourceStatus","computeBestSplitsByAmount","TradeSide","_$__agg_websocket0.AggWebSocketOptions","_$__agg_websocket0.AggWebSocket","MarkSource","computeBestSplitsByAmountFromCommon","_$__0.AggWebSocketDiagnostics","_$__market_data_engine0.MarketView"],"sources":["../../common/src/enums/venue.ts","../../common/src/enums/image-size.ts","../../common/src/enums/account.ts","../../common/src/enums/chain.ts","../../common/src/enums/market-status.ts","../../common/src/enums/trading.ts","../../common/src/types-standalone.ts","../../common/src/typebox/schemas/errors.ts","../../common/src/typebox/schemas/hosted-venue-account.ts","../../common/src/utils/format-market-display.ts","../../common/src/utils/auth.ts","../../common/src/utils/validate.ts","../../common/src/utils/trading-splits.ts","../../common/src/utils/image-url.ts","../../common/src/utils/venue-market-cluster.ts","../../common/src/utils/sort-venues.ts","../../common/src/utils/venue-url.ts","../../common/src/utils/limit-price-ticks.ts","../../common/src/utils/balance-refill.ts","../../common/src/orderbook-checksum.ts","../src/types.ts","../src/client.ts","../src/best-split.ts","../src/ws-types.ts","../src/orderbook-utils.ts","../src/self-custody-signing.ts","../src/errors.ts","../src/candle-builder.ts","../src/eip55.ts","../src/market-aggregator.ts","../src/market-history.ts","../src/hosted-venue-funding.ts","../src/index.ts","../src/market-data/engine.ts","../src/agg-websocket.ts"],"mappings":"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AO;IACP;IACA,MAAMA;IACN;IACA;IACA;IACA;IACA;;;KAIQ;EACV;IAAU,OAAO;IAAO;MAAU;;;EAClC;IAAW;IAAiB,OAAO;;;KAGzB;EAAoB,OAAO;;KAE3B;EACV,OAAO;EACP;EACA;IAAY;IAA0C;;;KAG5C;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;EACA;EACA;EACA;EACA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;KAIQ;;;;;;;;;;;KAYA;KASA;EACV,OAAO;EACP;EACA;EACA;EACA;EACA,aAAa;EACb,aAAa;;KAGH;EACV;IACE;IACA;IACA;IACA;IACA;IACA;MACE;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MAEA;MACA;;MAEA,QAAQ;MACR;MACA;MACA;;MAEA;;;;;;MAMA;;;EAGJ;IACE,OAAO;IACP;IACA;IACA;IACA;;EAEF;IACE;IACA,mBAAmB;IACnB,OAAO;IACP;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;;;;;EAOF;IACE;IACA;IACA;;IAEA;IACA;;IAEA;;;KAIQ;EACV,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV;IACE,OAAO;IACP;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEF;EACA;;KAGU;EACV,OAAO;EACP;EACA;EACA;;KAGU;EACV,SAAS;EACT;EACA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;EACA;;KAGU;EACV;EACA;EACA;EACA;EACA;;EAEA;;EAEA;;KAGU;EACV;EACA;;;;;;EAMA;;EAEA;;EAEA;EACA,WAAW;EACX,WAAW;EACX,OAAO;EACP;EACA;EACA;EACA;EACA;EACA,aAAa;EACb;EACA,WAAW;EACX;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB,cAAc;;;;;;;;EAQd;EACA;EACA;EACA;;;;;;;EAOA;EACA;EACA;;EAEA;;;;;EAKA;EACA;;;;;;EAMA;;;;;;;;;;;EAWA;;;;;;IAOM;IACA;;MAEE;;MAEA;MACA;;IAEF;;MAEE;;MAEA;MACA;QACE;;QAEA;;QAEA;QACA;;MAEF;QACE;QACA;QACA;QACA;;;;EAKV;EACA;EACA;;EAEA;EACA;IACE;IACA;IACA;IACA;;EAEF;IAAsB;IAAe;;;KAG3B;EACV;IACE;IACA;IACA;IACA,QAAQ;IACR;MACE;MACA;MACA;MACA;MACA;QACE,mBAAmB;QACnB,OAAO;QACP;QACA;QACA;QACA;QACA;QACA;;MAEF;;MAEA;;;;;;;MAOA;MACA;MACA;MACA;;MAEA;MACA,aAAa;MACb,aAAa;;;EAGjB;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA,OAAO;EACP;EACA;IACE;;IAEA;IACA;IACA;IACA;IACA;IACA;;IAEA;;IAEA;;IAEA;;;;;IAKA;MAA+B;MAAuB;;;EAExD;EACA,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;EAMA;;;;EAIA;EACA;IAEM;IACA,OAAO;IACP;IACA;IACA,SAAS;IACT;IACA;IACA;IACA;IACA;IACA;MAEM;;MAEA;MACA;MACA;MACA;MACA;;MAEA;;MAEA;;IAGN;IACA;MAEM;MACA;MACA;MACA;QAEM;QACA;QACA;QACA;;;;;KAWR;EACV;EACA,OAAO;EACP;EACA;EACA;EACA;IACE;IACA;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;;EAGJ,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;;;;;;;EAOA;EACA;EACA;EACA,SAAS;EACT;EACA;;;;;;;;;EASA;EACA;;;;;;;EAOA;;EAEA;;EAEA;;EAEA;;EAEA,iBAAiB;;;;;;;EAOjB;;KAKU;EACV;IAAQ;IAAe;;EACvB;IAAQ;IAAe;;EACvB;;KAGU;EACV;EACA;EACA,QAAQ;;KAGE;EACV;IAAQ;IAAe;IAAc,QAAQ;;EAC7C;IAAQ;IAAe;IAAc,QAAQ;;;KAGnC;EACV;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV,OAAO;EACP;EACA;EACA;IACE;IACA;IACA;IACA;IACA;IACA;;;KAIQ;EACV;IACE,OAAO;IACP;IACA;IACA;MACE;MACA;MACA;MACA;MACA;MACA;;;;KAKM;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;;;;;KAQQ;EACV;EACA;;KAGU;EACV;;;;;;EAMA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;;EAEA;;;EAGA,6BAA6B;;KAGnB,wBAAwB;EAAe,cAAc;;KAErD,sBAAsB,KAAK;KAE3B,qBAAqB;EAC/B,cAAc;EACd;;;;;KAMU;EACV;EACA;EACA;EACA;;KAGU;EACV;EACA;;;EAGA;;;EAGA,WAAW;;KAGD;EACV;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;EACA;EACA;EACA;EACA,UAAU;EACV,SAAS;EACT;;KAGU;EACV,MAAMA;EACN;IAAc,OAAO;IAAO;;EAC5B;;KAGU;EACV;IACE,OAAO;IACP;IACA,MAAMA;IACN;IACA;IACA;IACA;IACA;;EAEF;EACA;;KAGU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EAAqB;EAAc;;KAEnC;EACV;EACA;EACA,UAAU;EACV;;KAGU;EACV;EACA,aAAa;;KAKH;EAA0B;;KAU1B;EACV;EACA;EACA;;KAWUC;KACAC,gCAA8BD;KAE9B;;EAEV;EACA,aAAaA;;EAEb;;EAEA;;KAWUE;KAuBA;EACV;EACA;EACA,aAAaD;;EAEb;;;;;;EAMA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQC;EACR;EACA;;;;;;EAMA;;;KAgCU;EACV;EACA;EACA;EACA;;KAkBU;EAAyB;;;;;;;;;;;;;cCloCxB,8CAAgB,oCAAA,yDAAA,uDAAA,gEAAA,yDAAA,6DAAA,2DAAA,0DAAA,8DAAA,4DAAA,2DAAA,oEAAA,+DAAA,8EAAA,oEAAA,+EAAA,sFAAA,mFAAA,qFAAA,8DAAA,2DAAA;KAiGjB,iBAAiB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ACT;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,QAAQ;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA,KAAK;EACL,MAAM;;UAGS;;;;;EAKf;;EAEA;;EAEA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA,YAAYA;EACZ;EACA,gBAAgB;;UAGD;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA,YAAY;;UAGG;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;EACZ;EACA;EACA;EACA;;KAGU;EACN;EAAqB;;EACrB;EAAoB;;EACpB;EAA6B,OAAO;EAAO;;EAE3C;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;;UAGD;EACf,OAAO;EACP;;UAGe,wCAAwC;EACvD;EACA;;UAGe;EACf,UAAU;EACV;EACA;EACA,kBAAkB;EAClB,UAAU;EACV,gBAAgB;EAChB,SAAS;;UAGM;EACf;EAMA;;UAGe;EACf;EACA;EACA,YAAY;;UAGG;EACf,QAAQ;EACR,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR,OAAO;;UAGQ;EACf,MAAM;EACN;EACA;;KAGU;UAEK;EACf,OAAO;EACP;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA;EACA,YAAY;;UAGG;EACf;EACA,KAAK;EACL,KAAK;EACL;EACA;EACA,SAAS;;UAGM;EACf,gBAAgB;EAChB;IACE,IAAI;IACJ,MAAM;;;UAIO;EACf,OAAO;EACP;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;;EAEA;;EAEA;EACA,UAAU;EACV,SAAS;EACT,YAAY;EACZ,gBAAgB;;UAGD;EACf;EACA;EACA;EACA,UAAU;EACV;EACA;EACA,QAAQ;EACR,SAAS;EACT,aAAa;;UAGE;EACf,MAAM;EACN;EACA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;EACV;;;;;;;EAOA;EACA,SAAS;;UAGM;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA,QAAQ;;UAGO;EACf;EACA;EACA;EACA,iBAAiB;;UAGF;EACf;;KAGU,2BACR,gCACA;UAEa;EACf;EACA;EACA;EACA,OAAO;EACP;EACA;;UAGe;EACf;EACA;EACA;;UAKe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAO;;KAEG,uBAAuB;EAAmB,OAAO;;KACjD,qBAAqB;KACrB;EAAyB;EAAiB,OAAO;;KACjD;UAWK;EACf;EACA;EACA;EACA;EACA;EACA,WAAW;EACX;EACA;;KAEU;KACA;UAOK;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;EAGA;;EAEA,MAAM;;EAEN;;EAEA,aAAa;;EAEb;;EAEA;IACE;IACA;IACA;IACA;;;UAGa;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAEe;EACf;EACA;EACA;EACA,cAAc;EACd;EACA;EACA;EACA,aAAa;EACb,OAAO;EACP,QAAQ;;;;;;;;EAQR,oBAAoB;;KAEV,0BAA0B;EAAsB,OAAO;;KACvD,yBAAyB;;KAEzB;KACA;EAA0B,OAAO;EAAe,UAAU;;KAC1D,0BAA0B;UAIrB;;EAEf;;UAGe;EACf;EACA;;UAGe,sCAAsC;EACrD;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;KAEA;UAEK;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,iBAAiB;EACjB;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;;UAGI;EACf,MAAM;EACN;EACA;;UAGe;EACf,MAAM;EACN;EACA;;UAGe;EACf,MAAM;EACN;EACA;;UAGe;EACf,SAAS;EACT,YAAY;;KAKF;UAEF;EACR;EACA;EACA;EACA;;UAGQ;EACR;EACA;EACA;EACA;;UAGQ;EACR;EACA;EACA;EACA;;UAGe,0BAA0B;EACzC;EACA;EACA;EACA;EACA;EACA;EACA,aAAa;EACb,oBAAoB;EACpB;EACA;;EAEA;;EAEA;;UAGe,+BAA+B;EAC9C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,2BAA2B;EAC1C;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,4BAA4B;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,2BAA2B;EAC1C;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aAAa;EACb,oBAAoB,KAAK;;UAGV,2BAA2B;EAC1C;EACA;EACA,MAAM;;KAGI,mBACR,oBACA,yBACA,qBACA,sBACA,qBACA;UAEa;EACf,OAAO;EACP;EACA;;;KAMU;UAEK;;EAEf;EACA;EACA,SAAS;;EAET;EACA;;EAEA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;EAMA;;UAGe;;EAEf;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;UAIe;;EAEf;;EAEA;EACA;EACA;;EAEA;;EAEA;;EAEA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,+BAA+B;;EAE9C;;EAEA;;EAEA;;UAGe;;EAEf;EACA;EACA;;EAEA,QAAQ;;EAER,QAAQ;;UAKO;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;KAIU;;UAgBK;EACf;EACA;EACA;;;UAIe;;EAEf;;EAEA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;;;;;;EAMA;;;;;;EAMA;;;EAGA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;;EAEA;EACA;;UAGe;EACf;EACA;;EAEA;;;;;;;;;EASA;EACA;EACA;;UAGe;EACf;IAAiB;IAAe;IAAc;;;;;;;;EAO9C;;EAEA;EACA;;;;;;;EAOA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;EAOA;EACA;;EAEA,OAAO;EACP,cAAc;EACd,cAAc;;;;;;;;;EASd,aAAa;;EAEb;;;;;;;;;;EAUA,eAAe;;;KAIL;;KAGA;;KAGA;;UAGK;EACf;;EAEA;;EAEA;;EAEA,OAAO;;EAEP,YAAY;;EAEZ,OAAO;EACP;;EAEA;EACA,gBAAgB;EAChB;EACA;;EAEA,gBAAgB;;;;;;;;;;;;EAYhB;;EAEA;;EAEA,oBAAoB;;EAEpB;;EAEA;;EAEA,yBAAyB;;EAEzB;;EAEA;;EAEA;;EAEA;;;;;;;;;EASA;;;UAIe;;;;;;;EAOf;EACA;;EAEA;;EAEA;;;EAGA;;;EAGA;;;UAIe;EACf;EACA;;;;;;;EAOA;;;;EAIA;EACA;EACA;EACA;;EAEA,aAAa;;EAEb;;;;;;;;;;;;EAYA;;EAEA;;EAEA,oBAAoB;;EAEpB;;EAEA;;EAEA;;EAEA,yBAAyB;;;UAIV;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;;;UAIG;;EAEf;;EAEA;;EAEA;;EAEA;;;UAIe;EACf;EACA;;UAGe;;EAEf,YAAY;IACV;IACA;IACA;IACA;IACA;;EAGF;EACA;IAAiB;IAAe;IAAc;;EAC9C;EACA;EACA;EACA;EACA;;;;;;EAMA;EACA,QAAQ;EACR,OAAO;EACP;EACA;EACA;EACA;EACA,gBAAgB;IAAQ;IAAe;;EACvC;EACA;EACA,iBAAiB;EACjB,WAAW;IAAQ;IAAe;IAA8B;;EAChE,kBAAkB;EAClB,cAAc;EACd,cAAc;;;;;;EAMd,WAAW;;;EAGX;;;EAGA;;;EAGA;;;;;EAKA;;;EAGA;;EAEA;;EAEA;;;;;EAKA,eAAe;;;;;;;;;;;EAWf;;IAEE;IACA;IACA;;IAEA,cAAc;;;EAGhB;IACE;;IAEA;;IAEA,iBAAiB;IACjB;IACA;;IAEA;IACA;;;;;;;;EAQF;IACE;IACA,qBAAqB;MACnB;MACA;MACA;MACA;;;;EAIJ,OAAO;EACP,kBAAkB;;UAGH;EACf;EACA;EACA;;KAGU;KAEA;UAEK;EACf;EACA,QAAQ;EACR;EACA;EACA;EACA;;UAGe;EACf;;;;;;EAMA,OAAO;;UAGQ;EACf;EACA,SAAS;;KAKC;UAEK;EACf;EACA;EACA,MAAM;EACN;;;;;;;EAOA,SAAS;EACT;EACA;;;;;;EAMA;;KAGU,eAAe;EACzB;IAAS;IAAoB;;EAC7B,MAAM;EACN,MAAM;EACN;EACA;;UAKe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;;UAGK;EACf,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAEF,SAAS;EACT;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;;UAGK;EACf,MAAM;EACN;EACA;;UAGe;EACf,MAAM;EACN;EACA;;UAGe;EACf,OAAO;IACL;IACA;IACA;;;UAIa;EACf;IAAY;IAAe;;EAC3B;IAAa;IAAe;;EAC5B,aAAa;IACX;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;;KAMQ;KACA;UAEK;EACf;EACA;EACA,MAAM;EACN,WAAW;EACX;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA,SAAS;;UAGM;EACf;IACE;IACA;IACA;;EAEF;IACE;IACA;IACA;;EAEF;IACE;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;;;UAIa;EACf;EACA;EACA,cAAc;EACd;EACA;EACA;EACA,aAAa;EACb;EACA;EACA;EACA,eAAe;EACf;EACA;;UAGe;EACf;EACA;EACA,aAAa;EACb;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,MAAM;EACN;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;;KAGU;EAEN;IAAU;IAAY;;IACpB;EAEF;IAAU;IAAY;;EACtB;EACA;;UAGW,0CAA0C;EACzD;IAAU;IAAY;;;;UAIP;EACf;EACA,OAAO;EACP,SAAS,kBAAkB;EAC3B;EACA;IAAc;IAAiD;;EAC/D;IAAa;IAAqB;;;;;KCvtF/B,qBAAqB;KACrB;EAAmB;EAAqB;EAAuB,MAAM;;cA6H7D;UACH;UACA;UACA;UACA;UACA;;UAEA;UACA;UACA;UACA;mBACS;;mBAEA;;UAET;;UAEA;UACA;UACA;UACA;UACA;WACC;mBACQ;UACT;UACA;UACA;;UAEA;;mBAES;EAEL,YAAA,SAAS;UAoBb;UAUA;UAIA;UAIA;UASA;UAQA;UAkBA;UA6BA;UAoBA;;EA+BR;;;;;;;;EAea,QAAQ,GACnB,cACA,OAAO;IAAgB,QAAQ;KAC/B,UAAU,UAAU,aAAa,QAAQ,KACxC,QAAQ;UA6BG;UA0CA;;;;;UAgDN;UASA;UAuBA;UAUM;;EASd,eAAe;;EASf,WAAW,SAAS;;EAyBpB;UAWQ;;;;;;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ACf;EACA;EACA;EACA;EACA;EACA;;;;;;;UAQe;EACf;EACA;EACA;;UAGe;EACf;;EAEA;;UAGe;EACf;EACA;EACA;;;;;;EAMA;;EAEA;;UAGe;EACf;EACA;EACA;;EAEA;;EAEA,UAAU;;EAEV;;;KAIU;UAoBK;EACf;;EAEA,OAAO;EACP;;EAEA;;EAEA;;EAEA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;;;;;;EAMA;EACA;;EAEA;;UAGe;EACf;EACA;EACA;EACA;;EAEA;;EAEA;;;;;;EAMA;EACA;;EAEA;;KAGU;UA0BK;EACf;EACA,OAAO;EACP;EACA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;;EAEA,YAAY;EACZ;EACA;;;;;;;;EAQA;EACA;EACA;EACA;;;EAGA;;;;;;;EAOA;;;;;;EAMA;EACA;EACA;EACA;;EAEA;;;;;;EAMA;EACA;;EAEA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;;;;;;EAMA;EACA;;EAEA;;;KAMU;KAQA;UAEK;EACf;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA;;EAEA;;;;;;UAOe;EACf;EACA;EACA;EACA,QAAQ;;EAER;;EAEA;;EAEA;;EAEA;;EAEA,MAAM;;EAEN,OAAO;;EAEP;EACA;;EAEA;;;;;;EAMA;EACA;;EAEA;;UAKe;EACf;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;;EAEA;EACA,SAAS;EACT;EACA;EACA;;KAGU,kBACR,sBACA,mBACA,UACA,eACA,iBACA,cACA,kBACA,cACA,mBACA,UACA,mBACA,kBACA,eACA,gBACA,6BACA,oBACA,iBACA,iBACA,gBACA,YACA;;;;;;KAOQ,eACP,KAAK;EAAmC;MACxC,KAAK;EAAkC;KACxC,gBACC,KAAK;EAAgC;KACtC;EACE;EAAgB;;KAIV;EACN;EAAqB;EAAiC;;EACtD;EAAuB;EAAiC;;EACxD;EAAsB;EAAsB;;EAC5C;EAAqB;EAAgB;;EACrC;EAAuB;EAAgB;;EACvC;EAAqB;;EACrB;EAAuB;;EACvB;EAAwB;EAAe;;EACvC;EAAqB;EAAuB;;EAC5C;EAAuB;;KAIjB;EACN;EAAiB;EAAkB;EAAmB;EAAkB;;EAExE;EACA;EACA;EACA;EACA;;EAEA;EAAmB;EAAiB;;;;EAEpC;EAA6B;EAAc;;EAC3C;EAA4B;;EAC5B;EAA0B;;EAE1B;EACA;;EAEA;EACA;EACA;;;;EAGA;EAA6B;;KAEvB,sBAAsB,OAAO;;;UChjBxB;EACf;EACA;EACA,QAAQ;;UAGO;EACf;EACA;;UAGe;;;;;;;;EAQf;;EAEA;EACA,MAAM;EACN,MAAM;EACN,iBAAiB;IAAiB,MAAM;IAAuB,MAAM;;EACrE,QAAQ,eAAe;EACvB;EACA;EACA;EACA;;EAEA;;;;;;;iBAYc,gBAAgB;EAAQ,MAAM;EAAkB,MAAM;;;;;;;;iBAmCtD,oBAAoB,UAAU,sBAAsB;;;;;iBAoBpD,oBACd,OAAO,gBACP,OAAO,mBACN;;;;;;;;;cC1GU,sBAAuB,WAAW;;cAOlC,iCAAkC;;cAIlC,uBACX,KAAK,KAAK;;;;;cAOC,uBACX,KAAK,KAAK,2CACV;;cAIW,kBAAmB,QAAQ;EAAgB;;;;;;;;;;;;;cAe3C,sBACX,kBAAkB,sBAClB;EAAsB;MACrB;;cASU,sBACX,kBAAkB,oBAClB;;;;;;;;;cAeW,qBACX,KAAK,kBACL;;iBASc,YAAY,GAAG,SAAS,QAAQ,IAAI,yBAAyB,QAAQ;;;;;;;;cCxFxE,gCAAgC;WAClC;EAEG,YAAA;;;UAQG;EACf;EACA;EACA;;EAEA;;EAEA;;;UAIe;EACf;EACA;;UAGe;EACf;EACA;;EAEA;EACA,SAAS;;;;;;;;;;;;;;;;;;cAmBE,oBAAoB;WACtB;WACA;WACA;WACA;WACA,SAAS;EAEN,YAAA,iBAAiB,gBAAgB,OAAM;;;iBAcrC,cAAc,iBAAiB,SAAS;;;KC7E5C;;UAaK;;EAEf;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;;;;;;cAOW;UACH;UACA;UACA;UACA;UACA;UACA;;;EASR,YAAY,kBAAkB;;EAU9B,SAAS,eAAe,cAAc;;EAUtC,WAAW,UAAU,iBAAiB;;EAKtC,UAAU,UAAU,iBAAiB;;EAKrC,YAAY,MAAM,OAAO;IAAkB,SAAS;IAAe,QAAQ;;;MAkBvE;;;;;;EASJ,SAAS;;EAQT;;EAUA;UAKQ;UA+CA;;;;;;;;;;;;;iBClDM,kBAAkB;;;;;;;;iBCnHlB,aAAa,UAAU,+BAA+B;;;;;iBAiCtD,mBAAmB,cAAc,aAAa;;iBAyB9C,kBAAkB;;;KC/DtB;EACV,UAAU;EACV,eAAe,WAAW;EAC1B,SAAS;;EAET,UAAU,OAAO,eAAe;;;iBA0CZ,uBACpB,UACA,OAAO,SACP,QACA,UACC,8BAA8B,QAAQ;;;;;UChDxB;EACf;EACA;EACA;EACA,SAAS;IAA0B;;EACnC;EACA;EACA;EACA;;UAGe;EACf;EACA;;EAEA;IACE,QAAQ;IACR,KAAK,QAAQ;;EAEf;;EAEA;EACA,cAAc;EACd;;KAGG,gBAAgB,KACnB;;;;;;;;;;;iBAwCoB,0BACpB,QAAQ,eACR,SAAS,4BACR;EAAU;EAAsB;EAAgB;;;;;iBAkJ7B,wBACpB,QAAQ,gBAAgB,KAAK,6BAC7B,SAAS,KAAK;EACZ,OAAO;EACP;EACA;EACA;IAED,QAAQ;;;iBC2FK,gBAAgB,SAAS,mBAAgB;;;KCrT7C;EACV;EACA;;KAEU,aAAa,OAAO;EAAkB,SAAS;EAAe,QAAQ;;UACjE;EACf;EACA;EACA;EACA,MAAM;EACN;EACA,SAAS;EACT,QAAQ;EACR;;UAEe;EACf;EACA,OAAO;EACP;;KAEU;EAAgB,YAAY;EAAuB;EAAiB;;UAC/D;EACf;EACA;EACA;EACA,UAAU;;;cAKC;UACH;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;EAQR,MACE,SAAS,KAAK,mCACd,QAAQ,OAAO;EAmEjB,aAAa,WAAW,OAAO,oBAAoB;EAInD,iBAAiB,eAAe,sBAAsB;EAuCtD,aAAa;EAGb,WAAW;EAGX;EAGA;EAGA;EAGA;;;;;;;;;YAtDgCC;;;;;;;EAyEhC,cAAc,kBAAkB;;EAK1B,iBAAiB,SAAS,sBAAsB,QAAQ;EAuBxD,mBACJ,aACA,oBACA,UAAU,uBACT,QAAQ;EAiBX,mBAAmB,aAAa;EAOhC;UAoBQ;UAQA;UAeA;UAOM;;;;UChPC;;EAEf,mBAAmB;;EAEnB,gBAAgB,MAJDC;;EAMf,cAAc,mBAAmB,MAAM;;EAEvC,WAAW,mBAAmB,MAAM;EACpC,WAAW,OAAO;;EAElB,cACE,mBACA;IAAQ;IAAyB;IAAmB;;EAEtD,eAAe,IAAI;EACnB,gBAAgB,KAAK;EACrB,kBAAkB,KAAK;EACvB,eAAe,KAAK;EACpB,mBAAmB,KAAK;EACxB,oBAAoB,KAAK;EACzB,WAAW,KAAK;EAChB,oBAAoB,KAAK;EACzB,mBAAmB,KAAK;EACxB,gBAAgB,KAAK;;EAErB,uBAAuB;IACrB;IACA,OAAO;IACP;IACA;IACA;;EAEF,iBAAiB,KAAK;EACtB,yBAAyB,KAAK;EAC9B,eAAe,KAAK;EACpB,aAAa,OAAO;;EAEpB,kBAAkB,KAAK;;EAEvB,iBAAiB,KAAK;;EAEtB,aAAa,KAAK;;EAElB,uBAAuB,KAAK;EAC5B,gBAAgB;EAChB,2BAA2B;;UAGZ;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAO;;;;;;UAOQ;;EAEf;;EAEA,UAAU;;EAEV;;EAEA;;;KAIU,4BAA4B,aAAa,kBAAkB;UAEtD;;EAEf;;;;;EAKA,gBAAgB;;;;;EAKhB,UAAU;;;;;EAKV;EACA,YAAY;;EAEZ;;EAEA;;EAEA;;EAEA,eAAe;;;;;cAeJ;UACH;mBACS;UACT;mBAGS;mBACA;mBACA;mBACA;mBAGA;mBACA;mBACA;mBACA;mBACA;mBACA;UACT;mBAGS;mBAIA;;mBAEA;mBAGA;mBACA;;mBAEA;mBAGA;;;;;;;mBAOA;;mBAEA;UACT;UACA;UACA;UAGA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UAEA;mBACS;mBACA;mBACA;mBACA;;mBAIA;UACT;mBACS;;UAET;mBACS;;UAET;EAEI,YAAA,SAAS;MAcjB;;EAKE,cAAc,kBAAkB,QAAQ;;EAKxC,YACJ,UAAU,sBACV;IAAY,SAAS;MACpB,QAAQ;;EAmBX,mBAAmB,iBAAiB;;EAKpC,kBAAkB;;EAkBlB,QAAQ,oBAAoB;;EAK5B,YAAY;;EAKZ,OAAO,mBAAmB;;;;;;EAS1B,aAAa,kBAAkB,KAAK,GAAG;;;;;;EAwCvC,iBAAiB,KAAK,GAAG;;;;;;;EAwBzB,UAAU,mBAAmB;;;;;;EA+D7B,gBAAgB;UAIR;;EAoDR,aAAa;;;;;;;;EAiBb,mBAAmB,KAAK,OAAO;UAavB;UASA;;EAMR,WAAW;;EASX;;EAMA;;EAcA;;EAmCA,aAAa,WAAW;UAMhB;UAOA;UAsFA;UAkBA;UASA;UAYA;UASA;;;;;UA+HA;;;;;;UA4EA;UAsBA;UAwBA;UA2EA;UAMA;UAKA;UAUA;UAKA;UAKA;;;;;;;;;;;;UAkBM;UA6EN;;;;;;UAoBA;UAqBA;UAsEA;UAIA;UAeA;UAQA;UAQA;UAIA;UAIA;UAQA;UAMA"}
|
|
@@ -486,6 +486,21 @@ var IndexedOrderbook = class {
|
|
|
486
486
|
*/
|
|
487
487
|
const RECONNECT_BASE_MS = 1e3;
|
|
488
488
|
const RECONNECT_MAX_MS = 3e4;
|
|
489
|
+
/** WebSocket.OPEN — a literal so environments without a global WebSocket still load. */
|
|
490
|
+
const WS_OPEN = 1;
|
|
491
|
+
/** Close codes for configuration errors that a retry cannot fix. */
|
|
492
|
+
const NON_RETRYABLE_CLOSE_CODES = /* @__PURE__ */ new Set([4001, 4003]);
|
|
493
|
+
/** Most ids sent in one frame; the server rejects frames over 1000. */
|
|
494
|
+
const MAX_IDS_PER_FRAME = 500;
|
|
495
|
+
/** Recent event ids remembered to drop resume duplicates. */
|
|
496
|
+
const SEEN_EVENT_IDS_MAX = 1e3;
|
|
497
|
+
const USER_EVENT_TYPES = /* @__PURE__ */ new Set([
|
|
498
|
+
"order_submitted",
|
|
499
|
+
"balance_update",
|
|
500
|
+
"order_event",
|
|
501
|
+
"redeem_event",
|
|
502
|
+
"withdrawal_lifecycle"
|
|
503
|
+
]);
|
|
489
504
|
const STALE_TIMEOUT_MS = 45e3;
|
|
490
505
|
const ORDERBOOK_DEBUG_TOP_LEVELS = 5;
|
|
491
506
|
const WATCHDOG_SILENCE_MS = 3e5;
|
|
@@ -529,8 +544,16 @@ var AggWebSocket = class {
|
|
|
529
544
|
this.lastMessageTime = 0;
|
|
530
545
|
this.destroyed = false;
|
|
531
546
|
this.historyControllers = /* @__PURE__ */ new Set();
|
|
547
|
+
this.lastEventId = {};
|
|
548
|
+
this.seenEventIds = /* @__PURE__ */ new Set();
|
|
549
|
+
this.hasConnected = false;
|
|
550
|
+
this.appEventCbs = /* @__PURE__ */ new Set();
|
|
551
|
+
this.rejected = false;
|
|
532
552
|
this.deferBookViews = options.deferBookViews ?? false;
|
|
533
553
|
this.url = options.url;
|
|
554
|
+
this.webSocketImpl = options.webSocketImpl;
|
|
555
|
+
this.headers = options.headers;
|
|
556
|
+
this.resumeEvents = options.resumeEvents ?? true;
|
|
534
557
|
this.callbacks = options.callbacks ?? {};
|
|
535
558
|
this.initialToken = options.initialToken;
|
|
536
559
|
this.enableLogs = options.enableLogs ?? false;
|
|
@@ -772,11 +795,47 @@ var AggWebSocket = class {
|
|
|
772
795
|
/** Send a JWT to authenticate (or re-authenticate) the connection. */
|
|
773
796
|
authenticate(token) {
|
|
774
797
|
this.initialToken = token;
|
|
775
|
-
if (this.ws?.readyState ===
|
|
798
|
+
if (this.ws?.readyState === WS_OPEN) this.send({
|
|
776
799
|
action: "authenticate",
|
|
777
800
|
token
|
|
778
801
|
});
|
|
779
802
|
}
|
|
803
|
+
/**
|
|
804
|
+
* Receive every user event of this app (orders, balances, redeems,
|
|
805
|
+
* withdrawals) — the server-side counterpart of a user session. Requires
|
|
806
|
+
* a connection opened with an `x-app-api-key` for this app (pass
|
|
807
|
+
* `webSocketImpl` + `headers`). Frames are raw: timestamps in ms. The
|
|
808
|
+
* stream resumes from the last `eventId` across reconnects.
|
|
809
|
+
*/
|
|
810
|
+
subscribeAppEvents(cb) {
|
|
811
|
+
const first = this.appEventCbs.size === 0;
|
|
812
|
+
this.appEventCbs.add(cb);
|
|
813
|
+
if (first && this._connected) this.sendAppEventsSubscribe();
|
|
814
|
+
this.ensureConnected();
|
|
815
|
+
return () => {
|
|
816
|
+
if (!this.appEventCbs.delete(cb)) return;
|
|
817
|
+
if (this.appEventCbs.size === 0 && this._connected) this.send({
|
|
818
|
+
action: "unsubscribe",
|
|
819
|
+
channel: "app-events"
|
|
820
|
+
});
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
sendAppEventsSubscribe() {
|
|
824
|
+
const resumeFrom = this.resumeEvents ? this.lastEventId.app : void 0;
|
|
825
|
+
this.send({
|
|
826
|
+
action: "subscribe",
|
|
827
|
+
channel: "app-events",
|
|
828
|
+
...resumeFrom ? { resumeFrom } : {}
|
|
829
|
+
});
|
|
830
|
+
}
|
|
831
|
+
authenticateMessage(token) {
|
|
832
|
+
const resumeFrom = this.resumeEvents && this.hasConnected ? this.lastEventId.user : void 0;
|
|
833
|
+
return {
|
|
834
|
+
action: "authenticate",
|
|
835
|
+
token,
|
|
836
|
+
...resumeFrom ? { resumeFrom } : {}
|
|
837
|
+
};
|
|
838
|
+
}
|
|
780
839
|
/** Request a fresh snapshot for one or more subscribed outcomes. */
|
|
781
840
|
resnapshot(outcomeIdOrIds) {
|
|
782
841
|
(Array.isArray(outcomeIdOrIds) ? outcomeIdOrIds : [outcomeIdOrIds]).forEach((outcomeId) => {
|
|
@@ -785,6 +844,7 @@ var AggWebSocket = class {
|
|
|
785
844
|
}
|
|
786
845
|
/** Connect (idempotent). Called automatically on first subscribe. */
|
|
787
846
|
connect() {
|
|
847
|
+
this.rejected = false;
|
|
788
848
|
this.ensureConnected();
|
|
789
849
|
}
|
|
790
850
|
/** Disconnect and clean up. Reusable — call connect() to reconnect. */
|
|
@@ -826,6 +886,8 @@ var AggWebSocket = class {
|
|
|
826
886
|
this.pendingFlushTradeUnsubs.clear();
|
|
827
887
|
this.arbSubs.clear();
|
|
828
888
|
this.arbFeedCbs.clear();
|
|
889
|
+
this.appEventCbs.clear();
|
|
890
|
+
this.seenEventIds.clear();
|
|
829
891
|
this.latestArb.clear();
|
|
830
892
|
this.pendingFlushArbSubs.clear();
|
|
831
893
|
this.pendingFlushArbUnsubs.clear();
|
|
@@ -837,23 +899,23 @@ var AggWebSocket = class {
|
|
|
837
899
|
}
|
|
838
900
|
ensureConnected() {
|
|
839
901
|
if (this.destroyed) return;
|
|
840
|
-
if (this.
|
|
902
|
+
if (this.rejected) return;
|
|
903
|
+
if (this.ws?.readyState === WS_OPEN || this.connecting) return;
|
|
841
904
|
this.doConnect();
|
|
842
905
|
}
|
|
843
906
|
doConnect() {
|
|
844
907
|
if (this.destroyed) return;
|
|
908
|
+
const Impl = this.webSocketImpl ?? globalThis.WebSocket;
|
|
909
|
+
if (!Impl) throw new Error("No WebSocket implementation available. Pass `webSocketImpl` (e.g. the `ws` package).");
|
|
845
910
|
this.connecting = true;
|
|
846
|
-
const ws = new
|
|
911
|
+
const ws = this.headers ? new Impl(this.url, { headers: this.headers }) : new Impl(this.url);
|
|
847
912
|
this.ws = ws;
|
|
848
913
|
ws.onopen = () => {
|
|
849
914
|
if (this.destroyed || this.ws !== ws) return;
|
|
850
915
|
this.connecting = false;
|
|
851
916
|
this.reconnectAttempts = 0;
|
|
852
917
|
this.resetStaleTimer();
|
|
853
|
-
if (this.initialToken) this.send(
|
|
854
|
-
action: "authenticate",
|
|
855
|
-
token: this.initialToken
|
|
856
|
-
});
|
|
918
|
+
if (this.initialToken) this.send(this.authenticateMessage(this.initialToken));
|
|
857
919
|
};
|
|
858
920
|
ws.onmessage = (event) => {
|
|
859
921
|
if (this.destroyed || this.ws !== ws) return;
|
|
@@ -865,20 +927,31 @@ var AggWebSocket = class {
|
|
|
865
927
|
this.handleMessage(raw);
|
|
866
928
|
} catch {}
|
|
867
929
|
};
|
|
868
|
-
ws.onclose = () => {
|
|
930
|
+
ws.onclose = (event) => {
|
|
869
931
|
this.ws = null;
|
|
870
932
|
this.connecting = false;
|
|
871
933
|
const wasConnected = this._connected;
|
|
872
934
|
this._connected = false;
|
|
873
935
|
this.cancelStaleTimer();
|
|
874
936
|
if (wasConnected) this.callbacks.onConnectionStateChange?.(false);
|
|
875
|
-
|
|
937
|
+
const code = event?.code ?? 0;
|
|
938
|
+
if (NON_RETRYABLE_CLOSE_CODES.has(code)) {
|
|
939
|
+
this.rejected = true;
|
|
940
|
+
this.emitDiagnostic({
|
|
941
|
+
type: "connection_rejected",
|
|
942
|
+
code,
|
|
943
|
+
reason: event?.reason ?? ""
|
|
944
|
+
});
|
|
945
|
+
return;
|
|
946
|
+
}
|
|
947
|
+
if (!this.destroyed && (this.subs.size > 0 || this.arbSubs.size > 0 || this.arbFeedCbs.size > 0 || this.appEventCbs.size > 0 || !!this.initialToken)) this.scheduleReconnect();
|
|
876
948
|
};
|
|
877
949
|
ws.onerror = () => {};
|
|
878
950
|
}
|
|
879
951
|
scheduleReconnect() {
|
|
880
952
|
this.cancelReconnect();
|
|
881
|
-
const
|
|
953
|
+
const step = Math.min(RECONNECT_BASE_MS * Math.pow(2, this.reconnectAttempts), RECONNECT_MAX_MS);
|
|
954
|
+
const delay = Math.round(step * (.5 + Math.random() * .5));
|
|
882
955
|
this.reconnectAttempts++;
|
|
883
956
|
this.emitDiagnostic({
|
|
884
957
|
type: "reconnect",
|
|
@@ -915,6 +988,7 @@ var AggWebSocket = class {
|
|
|
915
988
|
}
|
|
916
989
|
handleMessage(raw) {
|
|
917
990
|
const type = raw.type;
|
|
991
|
+
if (USER_EVENT_TYPES.has(type) && !this.acceptEvent(raw)) return;
|
|
918
992
|
if ([
|
|
919
993
|
"orderbook_snapshot",
|
|
920
994
|
"orderbook_delta",
|
|
@@ -949,9 +1023,31 @@ var AggWebSocket = class {
|
|
|
949
1023
|
case "connected":
|
|
950
1024
|
this.handleConnected(raw);
|
|
951
1025
|
break;
|
|
952
|
-
case "authenticated":
|
|
953
|
-
|
|
1026
|
+
case "authenticated": {
|
|
1027
|
+
const msg = raw;
|
|
1028
|
+
if (this.lastEventUserId && this.lastEventUserId !== msg.userId) this.lastEventId.user = void 0;
|
|
1029
|
+
this.lastEventUserId = msg.userId;
|
|
1030
|
+
this.callbacks.onAuthenticated?.(msg);
|
|
1031
|
+
break;
|
|
1032
|
+
}
|
|
1033
|
+
case "auth_expiring":
|
|
1034
|
+
this.callbacks.onAuthExpiring?.(raw);
|
|
1035
|
+
break;
|
|
1036
|
+
case "auth_expired":
|
|
1037
|
+
this.callbacks.onAuthExpired?.(raw);
|
|
954
1038
|
break;
|
|
1039
|
+
case "resumed":
|
|
1040
|
+
this.callbacks.onResumed?.(raw);
|
|
1041
|
+
break;
|
|
1042
|
+
case "stream_interrupted": {
|
|
1043
|
+
const msg = raw;
|
|
1044
|
+
this.emitDiagnostic({
|
|
1045
|
+
type: "stream_interrupted",
|
|
1046
|
+
channels: msg.channels
|
|
1047
|
+
});
|
|
1048
|
+
this.callbacks.onStreamInterrupted?.(msg);
|
|
1049
|
+
break;
|
|
1050
|
+
}
|
|
955
1051
|
case "market_resolved":
|
|
956
1052
|
this.handleMarketResolved(raw);
|
|
957
1053
|
break;
|
|
@@ -1008,6 +1104,7 @@ var AggWebSocket = class {
|
|
|
1008
1104
|
*/
|
|
1009
1105
|
handleConnected(msg) {
|
|
1010
1106
|
this._connected = true;
|
|
1107
|
+
this.hasConnected = true;
|
|
1011
1108
|
if (this.bookWatchdog && !this.watchdogTimer && !this.destroyed) this.watchdogTimer = setInterval(() => void this.checkSilentBooks(), this.bookWatchdog.checkIntervalMs ?? WATCHDOG_CHECK_INTERVAL_MS);
|
|
1012
1109
|
this.callbacks.onConnectionStateChange?.(true);
|
|
1013
1110
|
this.callbacks.onConnected?.(msg);
|
|
@@ -1054,6 +1151,31 @@ var AggWebSocket = class {
|
|
|
1054
1151
|
action: "subscribe",
|
|
1055
1152
|
channel: "arb-feed"
|
|
1056
1153
|
});
|
|
1154
|
+
if (this.appEventCbs.size > 0) this.sendAppEventsSubscribe();
|
|
1155
|
+
}
|
|
1156
|
+
/**
|
|
1157
|
+
* Track `eventId` per stream and drop duplicates a resume re-delivers.
|
|
1158
|
+
* App-stream frames go to `subscribeAppEvents` listeners only. Returns
|
|
1159
|
+
* false when the frame was consumed (duplicate or app event).
|
|
1160
|
+
*/
|
|
1161
|
+
acceptEvent(raw) {
|
|
1162
|
+
const stream = raw.stream === "app" ? "app" : "user";
|
|
1163
|
+
const eventId = typeof raw.eventId === "string" ? raw.eventId : void 0;
|
|
1164
|
+
if (eventId) {
|
|
1165
|
+
const key = `${stream}:${eventId}`;
|
|
1166
|
+
if (this.seenEventIds.has(key)) return false;
|
|
1167
|
+
this.seenEventIds.add(key);
|
|
1168
|
+
if (this.seenEventIds.size > SEEN_EVENT_IDS_MAX) {
|
|
1169
|
+
const oldest = this.seenEventIds.values().next().value;
|
|
1170
|
+
if (oldest !== void 0) this.seenEventIds.delete(oldest);
|
|
1171
|
+
}
|
|
1172
|
+
if (compareEventIds(eventId, this.lastEventId[stream]) > 0) this.lastEventId[stream] = eventId;
|
|
1173
|
+
}
|
|
1174
|
+
if (stream === "app") {
|
|
1175
|
+
for (const cb of this.appEventCbs) cb(raw);
|
|
1176
|
+
return false;
|
|
1177
|
+
}
|
|
1178
|
+
return true;
|
|
1057
1179
|
}
|
|
1058
1180
|
handleSnapshot(raw) {
|
|
1059
1181
|
if (!this.subs.has(raw.outcomeId)) return;
|
|
@@ -1387,7 +1509,18 @@ var AggWebSocket = class {
|
|
|
1387
1509
|
});
|
|
1388
1510
|
}
|
|
1389
1511
|
send(msg) {
|
|
1390
|
-
if (this.ws?.readyState
|
|
1512
|
+
if (this.ws?.readyState !== WS_OPEN) return;
|
|
1513
|
+
const m = msg;
|
|
1514
|
+
const key = m.outcomeIds ? "outcomeIds" : m.marketIds ? "marketIds" : void 0;
|
|
1515
|
+
const ids = key ? m[key] : void 0;
|
|
1516
|
+
if (key && ids && ids.length > MAX_IDS_PER_FRAME) {
|
|
1517
|
+
for (let i = 0; i < ids.length; i += MAX_IDS_PER_FRAME) this.ws.send(JSON.stringify({
|
|
1518
|
+
...m,
|
|
1519
|
+
[key]: ids.slice(i, i + MAX_IDS_PER_FRAME)
|
|
1520
|
+
}));
|
|
1521
|
+
return;
|
|
1522
|
+
}
|
|
1523
|
+
this.ws.send(JSON.stringify(msg));
|
|
1391
1524
|
}
|
|
1392
1525
|
activeOrderbookMarkets() {
|
|
1393
1526
|
const markets = [];
|
|
@@ -1423,6 +1556,13 @@ var AggWebSocket = class {
|
|
|
1423
1556
|
return this.enableLogs;
|
|
1424
1557
|
}
|
|
1425
1558
|
};
|
|
1559
|
+
/** Order server event ids ("<ms>-<seq>"); an absent id sorts first. */
|
|
1560
|
+
function compareEventIds(a, b) {
|
|
1561
|
+
if (b === void 0) return 1;
|
|
1562
|
+
const [am, as] = a.split("-").map(Number);
|
|
1563
|
+
const [bm, bs] = b.split("-").map(Number);
|
|
1564
|
+
return am - bm || as - bs;
|
|
1565
|
+
}
|
|
1426
1566
|
//#endregion
|
|
1427
1567
|
Object.defineProperty(exports, "AggWebSocket", {
|
|
1428
1568
|
enumerable: true,
|
|
@@ -486,6 +486,21 @@ var IndexedOrderbook = class {
|
|
|
486
486
|
*/
|
|
487
487
|
const RECONNECT_BASE_MS = 1e3;
|
|
488
488
|
const RECONNECT_MAX_MS = 3e4;
|
|
489
|
+
/** WebSocket.OPEN — a literal so environments without a global WebSocket still load. */
|
|
490
|
+
const WS_OPEN = 1;
|
|
491
|
+
/** Close codes for configuration errors that a retry cannot fix. */
|
|
492
|
+
const NON_RETRYABLE_CLOSE_CODES = /* @__PURE__ */ new Set([4001, 4003]);
|
|
493
|
+
/** Most ids sent in one frame; the server rejects frames over 1000. */
|
|
494
|
+
const MAX_IDS_PER_FRAME = 500;
|
|
495
|
+
/** Recent event ids remembered to drop resume duplicates. */
|
|
496
|
+
const SEEN_EVENT_IDS_MAX = 1e3;
|
|
497
|
+
const USER_EVENT_TYPES = /* @__PURE__ */ new Set([
|
|
498
|
+
"order_submitted",
|
|
499
|
+
"balance_update",
|
|
500
|
+
"order_event",
|
|
501
|
+
"redeem_event",
|
|
502
|
+
"withdrawal_lifecycle"
|
|
503
|
+
]);
|
|
489
504
|
const STALE_TIMEOUT_MS = 45e3;
|
|
490
505
|
const ORDERBOOK_DEBUG_TOP_LEVELS = 5;
|
|
491
506
|
const WATCHDOG_SILENCE_MS = 3e5;
|
|
@@ -529,8 +544,16 @@ var AggWebSocket = class {
|
|
|
529
544
|
this.lastMessageTime = 0;
|
|
530
545
|
this.destroyed = false;
|
|
531
546
|
this.historyControllers = /* @__PURE__ */ new Set();
|
|
547
|
+
this.lastEventId = {};
|
|
548
|
+
this.seenEventIds = /* @__PURE__ */ new Set();
|
|
549
|
+
this.hasConnected = false;
|
|
550
|
+
this.appEventCbs = /* @__PURE__ */ new Set();
|
|
551
|
+
this.rejected = false;
|
|
532
552
|
this.deferBookViews = options.deferBookViews ?? false;
|
|
533
553
|
this.url = options.url;
|
|
554
|
+
this.webSocketImpl = options.webSocketImpl;
|
|
555
|
+
this.headers = options.headers;
|
|
556
|
+
this.resumeEvents = options.resumeEvents ?? true;
|
|
534
557
|
this.callbacks = options.callbacks ?? {};
|
|
535
558
|
this.initialToken = options.initialToken;
|
|
536
559
|
this.enableLogs = options.enableLogs ?? false;
|
|
@@ -772,11 +795,47 @@ var AggWebSocket = class {
|
|
|
772
795
|
/** Send a JWT to authenticate (or re-authenticate) the connection. */
|
|
773
796
|
authenticate(token) {
|
|
774
797
|
this.initialToken = token;
|
|
775
|
-
if (this.ws?.readyState ===
|
|
798
|
+
if (this.ws?.readyState === WS_OPEN) this.send({
|
|
776
799
|
action: "authenticate",
|
|
777
800
|
token
|
|
778
801
|
});
|
|
779
802
|
}
|
|
803
|
+
/**
|
|
804
|
+
* Receive every user event of this app (orders, balances, redeems,
|
|
805
|
+
* withdrawals) — the server-side counterpart of a user session. Requires
|
|
806
|
+
* a connection opened with an `x-app-api-key` for this app (pass
|
|
807
|
+
* `webSocketImpl` + `headers`). Frames are raw: timestamps in ms. The
|
|
808
|
+
* stream resumes from the last `eventId` across reconnects.
|
|
809
|
+
*/
|
|
810
|
+
subscribeAppEvents(cb) {
|
|
811
|
+
const first = this.appEventCbs.size === 0;
|
|
812
|
+
this.appEventCbs.add(cb);
|
|
813
|
+
if (first && this._connected) this.sendAppEventsSubscribe();
|
|
814
|
+
this.ensureConnected();
|
|
815
|
+
return () => {
|
|
816
|
+
if (!this.appEventCbs.delete(cb)) return;
|
|
817
|
+
if (this.appEventCbs.size === 0 && this._connected) this.send({
|
|
818
|
+
action: "unsubscribe",
|
|
819
|
+
channel: "app-events"
|
|
820
|
+
});
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
sendAppEventsSubscribe() {
|
|
824
|
+
const resumeFrom = this.resumeEvents ? this.lastEventId.app : void 0;
|
|
825
|
+
this.send({
|
|
826
|
+
action: "subscribe",
|
|
827
|
+
channel: "app-events",
|
|
828
|
+
...resumeFrom ? { resumeFrom } : {}
|
|
829
|
+
});
|
|
830
|
+
}
|
|
831
|
+
authenticateMessage(token) {
|
|
832
|
+
const resumeFrom = this.resumeEvents && this.hasConnected ? this.lastEventId.user : void 0;
|
|
833
|
+
return {
|
|
834
|
+
action: "authenticate",
|
|
835
|
+
token,
|
|
836
|
+
...resumeFrom ? { resumeFrom } : {}
|
|
837
|
+
};
|
|
838
|
+
}
|
|
780
839
|
/** Request a fresh snapshot for one or more subscribed outcomes. */
|
|
781
840
|
resnapshot(outcomeIdOrIds) {
|
|
782
841
|
(Array.isArray(outcomeIdOrIds) ? outcomeIdOrIds : [outcomeIdOrIds]).forEach((outcomeId) => {
|
|
@@ -785,6 +844,7 @@ var AggWebSocket = class {
|
|
|
785
844
|
}
|
|
786
845
|
/** Connect (idempotent). Called automatically on first subscribe. */
|
|
787
846
|
connect() {
|
|
847
|
+
this.rejected = false;
|
|
788
848
|
this.ensureConnected();
|
|
789
849
|
}
|
|
790
850
|
/** Disconnect and clean up. Reusable — call connect() to reconnect. */
|
|
@@ -826,6 +886,8 @@ var AggWebSocket = class {
|
|
|
826
886
|
this.pendingFlushTradeUnsubs.clear();
|
|
827
887
|
this.arbSubs.clear();
|
|
828
888
|
this.arbFeedCbs.clear();
|
|
889
|
+
this.appEventCbs.clear();
|
|
890
|
+
this.seenEventIds.clear();
|
|
829
891
|
this.latestArb.clear();
|
|
830
892
|
this.pendingFlushArbSubs.clear();
|
|
831
893
|
this.pendingFlushArbUnsubs.clear();
|
|
@@ -837,23 +899,23 @@ var AggWebSocket = class {
|
|
|
837
899
|
}
|
|
838
900
|
ensureConnected() {
|
|
839
901
|
if (this.destroyed) return;
|
|
840
|
-
if (this.
|
|
902
|
+
if (this.rejected) return;
|
|
903
|
+
if (this.ws?.readyState === WS_OPEN || this.connecting) return;
|
|
841
904
|
this.doConnect();
|
|
842
905
|
}
|
|
843
906
|
doConnect() {
|
|
844
907
|
if (this.destroyed) return;
|
|
908
|
+
const Impl = this.webSocketImpl ?? globalThis.WebSocket;
|
|
909
|
+
if (!Impl) throw new Error("No WebSocket implementation available. Pass `webSocketImpl` (e.g. the `ws` package).");
|
|
845
910
|
this.connecting = true;
|
|
846
|
-
const ws = new
|
|
911
|
+
const ws = this.headers ? new Impl(this.url, { headers: this.headers }) : new Impl(this.url);
|
|
847
912
|
this.ws = ws;
|
|
848
913
|
ws.onopen = () => {
|
|
849
914
|
if (this.destroyed || this.ws !== ws) return;
|
|
850
915
|
this.connecting = false;
|
|
851
916
|
this.reconnectAttempts = 0;
|
|
852
917
|
this.resetStaleTimer();
|
|
853
|
-
if (this.initialToken) this.send(
|
|
854
|
-
action: "authenticate",
|
|
855
|
-
token: this.initialToken
|
|
856
|
-
});
|
|
918
|
+
if (this.initialToken) this.send(this.authenticateMessage(this.initialToken));
|
|
857
919
|
};
|
|
858
920
|
ws.onmessage = (event) => {
|
|
859
921
|
if (this.destroyed || this.ws !== ws) return;
|
|
@@ -865,20 +927,31 @@ var AggWebSocket = class {
|
|
|
865
927
|
this.handleMessage(raw);
|
|
866
928
|
} catch {}
|
|
867
929
|
};
|
|
868
|
-
ws.onclose = () => {
|
|
930
|
+
ws.onclose = (event) => {
|
|
869
931
|
this.ws = null;
|
|
870
932
|
this.connecting = false;
|
|
871
933
|
const wasConnected = this._connected;
|
|
872
934
|
this._connected = false;
|
|
873
935
|
this.cancelStaleTimer();
|
|
874
936
|
if (wasConnected) this.callbacks.onConnectionStateChange?.(false);
|
|
875
|
-
|
|
937
|
+
const code = event?.code ?? 0;
|
|
938
|
+
if (NON_RETRYABLE_CLOSE_CODES.has(code)) {
|
|
939
|
+
this.rejected = true;
|
|
940
|
+
this.emitDiagnostic({
|
|
941
|
+
type: "connection_rejected",
|
|
942
|
+
code,
|
|
943
|
+
reason: event?.reason ?? ""
|
|
944
|
+
});
|
|
945
|
+
return;
|
|
946
|
+
}
|
|
947
|
+
if (!this.destroyed && (this.subs.size > 0 || this.arbSubs.size > 0 || this.arbFeedCbs.size > 0 || this.appEventCbs.size > 0 || !!this.initialToken)) this.scheduleReconnect();
|
|
876
948
|
};
|
|
877
949
|
ws.onerror = () => {};
|
|
878
950
|
}
|
|
879
951
|
scheduleReconnect() {
|
|
880
952
|
this.cancelReconnect();
|
|
881
|
-
const
|
|
953
|
+
const step = Math.min(RECONNECT_BASE_MS * Math.pow(2, this.reconnectAttempts), RECONNECT_MAX_MS);
|
|
954
|
+
const delay = Math.round(step * (.5 + Math.random() * .5));
|
|
882
955
|
this.reconnectAttempts++;
|
|
883
956
|
this.emitDiagnostic({
|
|
884
957
|
type: "reconnect",
|
|
@@ -915,6 +988,7 @@ var AggWebSocket = class {
|
|
|
915
988
|
}
|
|
916
989
|
handleMessage(raw) {
|
|
917
990
|
const type = raw.type;
|
|
991
|
+
if (USER_EVENT_TYPES.has(type) && !this.acceptEvent(raw)) return;
|
|
918
992
|
if ([
|
|
919
993
|
"orderbook_snapshot",
|
|
920
994
|
"orderbook_delta",
|
|
@@ -949,9 +1023,31 @@ var AggWebSocket = class {
|
|
|
949
1023
|
case "connected":
|
|
950
1024
|
this.handleConnected(raw);
|
|
951
1025
|
break;
|
|
952
|
-
case "authenticated":
|
|
953
|
-
|
|
1026
|
+
case "authenticated": {
|
|
1027
|
+
const msg = raw;
|
|
1028
|
+
if (this.lastEventUserId && this.lastEventUserId !== msg.userId) this.lastEventId.user = void 0;
|
|
1029
|
+
this.lastEventUserId = msg.userId;
|
|
1030
|
+
this.callbacks.onAuthenticated?.(msg);
|
|
1031
|
+
break;
|
|
1032
|
+
}
|
|
1033
|
+
case "auth_expiring":
|
|
1034
|
+
this.callbacks.onAuthExpiring?.(raw);
|
|
1035
|
+
break;
|
|
1036
|
+
case "auth_expired":
|
|
1037
|
+
this.callbacks.onAuthExpired?.(raw);
|
|
954
1038
|
break;
|
|
1039
|
+
case "resumed":
|
|
1040
|
+
this.callbacks.onResumed?.(raw);
|
|
1041
|
+
break;
|
|
1042
|
+
case "stream_interrupted": {
|
|
1043
|
+
const msg = raw;
|
|
1044
|
+
this.emitDiagnostic({
|
|
1045
|
+
type: "stream_interrupted",
|
|
1046
|
+
channels: msg.channels
|
|
1047
|
+
});
|
|
1048
|
+
this.callbacks.onStreamInterrupted?.(msg);
|
|
1049
|
+
break;
|
|
1050
|
+
}
|
|
955
1051
|
case "market_resolved":
|
|
956
1052
|
this.handleMarketResolved(raw);
|
|
957
1053
|
break;
|
|
@@ -1008,6 +1104,7 @@ var AggWebSocket = class {
|
|
|
1008
1104
|
*/
|
|
1009
1105
|
handleConnected(msg) {
|
|
1010
1106
|
this._connected = true;
|
|
1107
|
+
this.hasConnected = true;
|
|
1011
1108
|
if (this.bookWatchdog && !this.watchdogTimer && !this.destroyed) this.watchdogTimer = setInterval(() => void this.checkSilentBooks(), this.bookWatchdog.checkIntervalMs ?? WATCHDOG_CHECK_INTERVAL_MS);
|
|
1012
1109
|
this.callbacks.onConnectionStateChange?.(true);
|
|
1013
1110
|
this.callbacks.onConnected?.(msg);
|
|
@@ -1054,6 +1151,31 @@ var AggWebSocket = class {
|
|
|
1054
1151
|
action: "subscribe",
|
|
1055
1152
|
channel: "arb-feed"
|
|
1056
1153
|
});
|
|
1154
|
+
if (this.appEventCbs.size > 0) this.sendAppEventsSubscribe();
|
|
1155
|
+
}
|
|
1156
|
+
/**
|
|
1157
|
+
* Track `eventId` per stream and drop duplicates a resume re-delivers.
|
|
1158
|
+
* App-stream frames go to `subscribeAppEvents` listeners only. Returns
|
|
1159
|
+
* false when the frame was consumed (duplicate or app event).
|
|
1160
|
+
*/
|
|
1161
|
+
acceptEvent(raw) {
|
|
1162
|
+
const stream = raw.stream === "app" ? "app" : "user";
|
|
1163
|
+
const eventId = typeof raw.eventId === "string" ? raw.eventId : void 0;
|
|
1164
|
+
if (eventId) {
|
|
1165
|
+
const key = `${stream}:${eventId}`;
|
|
1166
|
+
if (this.seenEventIds.has(key)) return false;
|
|
1167
|
+
this.seenEventIds.add(key);
|
|
1168
|
+
if (this.seenEventIds.size > SEEN_EVENT_IDS_MAX) {
|
|
1169
|
+
const oldest = this.seenEventIds.values().next().value;
|
|
1170
|
+
if (oldest !== void 0) this.seenEventIds.delete(oldest);
|
|
1171
|
+
}
|
|
1172
|
+
if (compareEventIds(eventId, this.lastEventId[stream]) > 0) this.lastEventId[stream] = eventId;
|
|
1173
|
+
}
|
|
1174
|
+
if (stream === "app") {
|
|
1175
|
+
for (const cb of this.appEventCbs) cb(raw);
|
|
1176
|
+
return false;
|
|
1177
|
+
}
|
|
1178
|
+
return true;
|
|
1057
1179
|
}
|
|
1058
1180
|
handleSnapshot(raw) {
|
|
1059
1181
|
if (!this.subs.has(raw.outcomeId)) return;
|
|
@@ -1387,7 +1509,18 @@ var AggWebSocket = class {
|
|
|
1387
1509
|
});
|
|
1388
1510
|
}
|
|
1389
1511
|
send(msg) {
|
|
1390
|
-
if (this.ws?.readyState
|
|
1512
|
+
if (this.ws?.readyState !== WS_OPEN) return;
|
|
1513
|
+
const m = msg;
|
|
1514
|
+
const key = m.outcomeIds ? "outcomeIds" : m.marketIds ? "marketIds" : void 0;
|
|
1515
|
+
const ids = key ? m[key] : void 0;
|
|
1516
|
+
if (key && ids && ids.length > MAX_IDS_PER_FRAME) {
|
|
1517
|
+
for (let i = 0; i < ids.length; i += MAX_IDS_PER_FRAME) this.ws.send(JSON.stringify({
|
|
1518
|
+
...m,
|
|
1519
|
+
[key]: ids.slice(i, i + MAX_IDS_PER_FRAME)
|
|
1520
|
+
}));
|
|
1521
|
+
return;
|
|
1522
|
+
}
|
|
1523
|
+
this.ws.send(JSON.stringify(msg));
|
|
1391
1524
|
}
|
|
1392
1525
|
activeOrderbookMarkets() {
|
|
1393
1526
|
const markets = [];
|
|
@@ -1423,7 +1556,14 @@ var AggWebSocket = class {
|
|
|
1423
1556
|
return this.enableLogs;
|
|
1424
1557
|
}
|
|
1425
1558
|
};
|
|
1559
|
+
/** Order server event ids ("<ms>-<seq>"); an absent id sorts first. */
|
|
1560
|
+
function compareEventIds(a, b) {
|
|
1561
|
+
if (b === void 0) return 1;
|
|
1562
|
+
const [am, as] = a.split("-").map(Number);
|
|
1563
|
+
const [bm, bs] = b.split("-").map(Number);
|
|
1564
|
+
return am - bm || as - bs;
|
|
1565
|
+
}
|
|
1426
1566
|
//#endregion
|
|
1427
1567
|
export { loadImmutableHistory as a, orderbookCrc32 as c, snapshotToOrderbook as i, projectedOrderbookChecksum as l, applyOrderbookDelta as n, decodeChartHistory as o, computeChecksum as r, readChartHistoryText as s, AggWebSocket as t };
|
|
1428
1568
|
|
|
1429
|
-
//# sourceMappingURL=agg-websocket-
|
|
1569
|
+
//# sourceMappingURL=agg-websocket-ClGhhROZ.mjs.map
|