@metaflux-dex/client 0.0.5 → 0.0.6
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ws/ws.d.ts +14 -1
- package/dist/ws/ws.d.ts.map +1 -1
- package/dist/ws/ws.js +16 -5
- package/dist/ws/ws.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/ws/ws.ts +61 -10
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { MTF_CHAIN_ID, MTF_MAINNET_CHAIN_ID, MTF_TESTNET_CHAIN_ID, nativeActionD
|
|
|
5
5
|
export { buildNativeOrderAction, buildNativeCancelAction, buildNativeCancelByCloidAction, buildNativeModifyAction, buildNativeBatchModifyAction, buildNativeBatchOrderAction, buildNativeBatchCancelAction, buildNativeScheduleCancelAction, buildNativeCancelAllOrdersAction, buildNativeSetPositionModeAction, buildNativeTwapOrderAction, buildNativeTwapCancelAction, buildNativeUpdateLeverageAction, buildNativeUpdateIsolatedMarginAction, buildNativeTopUpIsolatedOnlyMarginAction, buildNativeUserPortfolioMarginAction, buildNativeSetDisplayNameAction, buildNativeSetReferrerAction, buildNativeApproveAgentAction, buildNativeApproveBuilderFeeAction, buildNativeConvertToMultiSigUserAction, buildNativeUserDexAbstractionAction, buildNativeUserSetAbstractionAction, buildNativeAgentSetAbstractionAction, buildNativePriorityBidAction, buildNativeTokenDelegateAction, buildNativeClaimRewardsAction, buildNativeLinkStakingUserAction, buildNativeSubmitEncryptedOrderAction, buildNativeCreateVaultAction, buildNativeVaultTransferAction, buildNativeVaultModifyAction, buildNativeVaultWithdrawAction, buildNativeMbWithdrawAction, buildNativeSetMetaliquidityWhitelistAction, buildNativeRegisterMetaliquidityOperatorAction, buildNativeSpotOrderAction, buildNativeSpotCancelAction, buildNativeSpotMarginDepositAction, buildNativeSpotMarginWithdrawAction, buildNativeSpotMarginOpenAction, buildNativeSpotMarginCloseAction, buildNativeEarnDepositAction, buildNativeEarnWithdrawAction, } from './native/actions.js';
|
|
6
6
|
export { InfoApi, type AccountRef, } from './rest/info.js';
|
|
7
7
|
export type { NodeInfo, AccountState, AccountPosition, Balances, Tier, MarginMode, MarketInfo, Funding, VaultState, StakingState, Delegation, PendingUnstake, FeeSchedule, FeeTier, OpenOrders, OpenOrder, L2Book, L2Level, RecentTrades, UserFills, FundingHistory, FundingSample, BlockInfo, Agents, AgentEntry, SubAccounts, SubAccountEntry, Mip3ActiveBids, Mip3Bid, SpotMeta, SpotPair, SpotToken, SpotClearinghouseState, SpotBalance, ExchangeStatus, FrontendOpenOrders, FrontendOpenOrder, OrderTrigger, Liquidatable, LiquidatableAccount, ActiveAssetData, MaxMarketOrderNtls, MaxMarketOrderNtl, VaultSummaries, VaultSummary, UserVaultEquities, VaultEquity, LeadingVaults, UserRateLimit, SpotDeployState, DelegatorSummary, MaxBuilderFee, UserToMultiSigSigners, UserRole, PerpsAtOpenInterestCap, ValidatorL1Votes, ValidatorL1Vote, MarginTable, MarginTier, PerpDexs, PerpDex, ValidatorSummaries, ValidatorSummary, GossipRootIps, WebData2, WebData2Clearinghouse, WebData2Position, } from './types/info/index.js';
|
|
8
|
-
export { WsClient, WS_CHANNELS, type WsChannel, type WsSubscription, type WsFrame, type WsMessageHandler, type WsConfig, } from './ws/ws.js';
|
|
8
|
+
export { WsClient, WS_CHANNELS, type WsChannel, type WsSubscription, type WsFrame, type WsMessageHandler, type WsConfig, type AllMids, type ActiveAssetCtx, } from './ws/ws.js';
|
|
9
9
|
export { WasmNotBuiltError, WasmCallError, keccak256, signSecp256k1, recoverPubkey, eip712TypedDataHash, encodeLimitOrder, deriveAddressFromPubkey, } from './wallet/wasm.js';
|
|
10
10
|
export type { Order, Builder, SignedOrder, OrderAck, Market, Position, Side, Tif, ErrorEnvelope, NativeOrder, NativeCancel, NativeBuilder, NativeSide, NativePositionSide, NativeOrderKind, NativeTif, NativeStpMode, NativeSetPositionMode, NativeSpotOrder, NativeSpotCancel, NativeSpotMarginDeposit, NativeSpotMarginWithdraw, NativeSpotMarginOpen, NativeSpotMarginClose, NativeEarnDeposit, NativeEarnWithdraw, NativeSignedAction, NativeExchangeAck, OrderGrouping, Modify, BatchModify, BatchOrder, BatchCancel, CancelByCloid, ScheduleCancel, CancelAllOrders, UpdateLeverage, UpdateIsolatedMargin, TopUpIsolatedOnlyMargin, UserPortfolioMargin, SetDisplayName, SetReferrer, ApproveAgent, ApproveBuilderFee, ConvertToMultiSigUser, UserDexAbstraction, UserSetAbstraction, AgentSetAbstraction, PriorityBid, TwapOrder, TwapCancel, TokenDelegate, ClaimRewards, LinkStakingUser, SubmitEncryptedOrder, VaultKind, CreateVault, VaultTransfer, VaultModify, VaultWithdraw, MbChain, MbWithdraw, SetMetaliquidityWhitelist, RegisterMetaliquidityOperator, } from './types/index.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAGL,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,qCAAqC,EACrC,wCAAwC,EACxC,oCAAoC,EACpC,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,kCAAkC,EAClC,sCAAsC,EACtC,mCAAmC,EACnC,mCAAmC,EACnC,oCAAoC,EACpC,4BAA4B,EAC5B,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,qCAAqC,EACrC,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAC3B,0CAA0C,EAC1C,8CAA8C,EAE9C,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,mCAAmC,EACnC,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,OAAO,EACP,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAIV,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,OAAO,EACP,YAAY,EACZ,SAAS,EACT,cAAc,EACd,aAAa,EACb,SAAS,EACT,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,OAAO,EAEP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,UAAU,EACV,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,QAAQ,EACR,WAAW,EACX,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,+EAA+E;AAC/E,uCAAuC;AACvC,EAAE;AACF,iEAAiE;AAEjE,OAAO,EAAE,MAAM,EAAmB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AACjE,OAAO;AACL,6EAA6E;AAC7E,sCAAsC;AACtC,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO;AACL,gEAAgE;AAChE,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,qCAAqC,EACrC,wCAAwC,EACxC,oCAAoC,EACpC,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,kCAAkC,EAClC,sCAAsC,EACtC,mCAAmC,EACnC,mCAAmC,EACnC,oCAAoC,EACpC,4BAA4B,EAC5B,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,qCAAqC,EACrC,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAC3B,0CAA0C,EAC1C,8CAA8C;AAC9C,kEAAkE;AAClE,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,mCAAmC,EACnC,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO;AACL,8EAA8E;AAC9E,OAAO,GAER,MAAM,gBAAgB,CAAC;AA0ExB,OAAO;AACL,4DAA4D;AAC5D,QAAQ,EACR,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,+EAA+E;AAC/E,uCAAuC;AACvC,EAAE;AACF,iEAAiE;AAEjE,OAAO,EAAE,MAAM,EAAmB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AACjE,OAAO;AACL,6EAA6E;AAC7E,sCAAsC;AACtC,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO;AACL,gEAAgE;AAChE,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,qCAAqC,EACrC,wCAAwC,EACxC,oCAAoC,EACpC,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,kCAAkC,EAClC,sCAAsC,EACtC,mCAAmC,EACnC,mCAAmC,EACnC,oCAAoC,EACpC,4BAA4B,EAC5B,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,qCAAqC,EACrC,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAC3B,0CAA0C,EAC1C,8CAA8C;AAC9C,kEAAkE;AAClE,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,mCAAmC,EACnC,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO;AACL,8EAA8E;AAC9E,OAAO,GAER,MAAM,gBAAgB,CAAC;AA0ExB,OAAO;AACL,4DAA4D;AAC5D,QAAQ,EACR,WAAW,GAQZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,aAAa;AACb,gEAAgE;AAChE,+DAA+D;AAC/D,wCAAwC;AACxC,SAAS,EACT,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
|
package/dist/ws/ws.d.ts
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Funding } from '../types/info/core.js';
|
|
2
|
+
export type WsChannel = 'l2_book' | 'bbo' | 'trades' | 'active_asset_ctx' | 'all_mids' | 'candles' | 'fills' | 'user_events' | 'order_updates' | 'notifications' | 'ledger_updates' | 'user_fundings' | 'user_twap_slice_fills' | 'user_twap_history' | 'active_asset_data';
|
|
2
3
|
export declare const WS_CHANNELS: readonly WsChannel[];
|
|
3
4
|
export interface WsSubscription {
|
|
4
5
|
type: WsChannel;
|
|
5
6
|
coin?: string;
|
|
7
|
+
user?: string;
|
|
8
|
+
interval?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AllMids {
|
|
11
|
+
mids: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
export interface ActiveAssetCtx {
|
|
14
|
+
coin: string;
|
|
15
|
+
mark_px: string;
|
|
16
|
+
oracle_px: string;
|
|
17
|
+
funding: Funding | null;
|
|
18
|
+
open_interest: string;
|
|
6
19
|
}
|
|
7
20
|
export interface WsFrame {
|
|
8
21
|
channel: string;
|
package/dist/ws/ws.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/ws/ws.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/ws/ws.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIrD,MAAM,MAAM,SAAS,GAEjB,SAAS,GACT,KAAK,GACL,QAAQ,GACR,kBAAkB,GAElB,UAAU,GAEV,SAAS,GAET,OAAO,GACP,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,uBAAuB,GACvB,mBAAmB,GAEnB,mBAAmB,CAAC;AAGxB,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAgBlC,CAAC;AAWX,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAOD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAGD,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAGxD,MAAM,WAAW,QAAQ;IAEvB,cAAc,EAAE,MAAM,CAAC;IAEvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,YAAY,EAAE,MAAM,CAAC;IAErB,aAAa,EAAE,OAAO,CAAC;CACxB;AA+BD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,MAAM,CAAS;gBAEX,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAM;IAWvD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAW1C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAID,KAAK,IAAI,IAAI;IAeb,OAAO,CAAC,QAAQ;IAuChB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,SAAS;CAMlB"}
|
package/dist/ws/ws.js
CHANGED
|
@@ -23,11 +23,20 @@
|
|
|
23
23
|
/// All known channels — handy for callers that want to subscribe broadly.
|
|
24
24
|
export const WS_CHANNELS = [
|
|
25
25
|
'l2_book',
|
|
26
|
-
'trades',
|
|
27
26
|
'bbo',
|
|
28
|
-
'
|
|
27
|
+
'trades',
|
|
28
|
+
'active_asset_ctx',
|
|
29
|
+
'all_mids',
|
|
29
30
|
'candles',
|
|
31
|
+
'fills',
|
|
30
32
|
'user_events',
|
|
33
|
+
'order_updates',
|
|
34
|
+
'notifications',
|
|
35
|
+
'ledger_updates',
|
|
36
|
+
'user_fundings',
|
|
37
|
+
'user_twap_slice_fills',
|
|
38
|
+
'user_twap_history',
|
|
39
|
+
'active_asset_data',
|
|
31
40
|
];
|
|
32
41
|
const DEFAULT_CONFIG = {
|
|
33
42
|
pingIntervalMs: 30_000,
|
|
@@ -35,10 +44,12 @@ const DEFAULT_CONFIG = {
|
|
|
35
44
|
maxBackoffMs: 30_000,
|
|
36
45
|
autoReconnect: true,
|
|
37
46
|
};
|
|
38
|
-
/// Subscription set equality key — `(channel, coin)` is the
|
|
39
|
-
/// key, so two subscriptions are identical iff
|
|
47
|
+
/// Subscription set equality key — `(channel, coin, user, interval)` is the
|
|
48
|
+
/// server's routing key, so two subscriptions are identical iff all match
|
|
49
|
+
/// (e.g. `candles` `1m` vs `5m`, or `fills` for two different users, are
|
|
50
|
+
/// distinct subscriptions).
|
|
40
51
|
function subKey(s) {
|
|
41
|
-
return `${s.type}:${s.coin ?? ''}`;
|
|
52
|
+
return `${s.type}:${s.coin ?? ''}:${s.user ?? ''}:${s.interval ?? ''}`;
|
|
42
53
|
}
|
|
43
54
|
/// MTF-native WebSocket client.
|
|
44
55
|
///
|
package/dist/ws/ws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/ws/ws.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,EAAE;AACF,gFAAgF;AAChF,qEAAqE;AACrE,iEAAiE;AACjE,EAAE;AACF,qBAAqB;AACrB,4EAA4E;AAC5E,gEAAgE;AAChE,wBAAwB;AACxB,qBAAqB;AACrB,4FAA4F;AAC5F,sFAAsF;AACtF,EAAE;AACF,iFAAiF;AACjF,iFAAiF;AACjF,6EAA6E;AAC7E,mFAAmF;AACnF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,yCAAyC;
|
|
1
|
+
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/ws/ws.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
package/src/ws/ws.ts
CHANGED
|
@@ -21,32 +21,81 @@
|
|
|
21
21
|
// it globally, which is the SDK's floor). No `ws` npm dependency — keeping the
|
|
22
22
|
// SDK dependency-free for both runtimes.
|
|
23
23
|
|
|
24
|
+
import type { Funding } from '../types/info/core.js';
|
|
25
|
+
|
|
24
26
|
/// Channel names exactly as the server's `Channel::from_wire` accepts them
|
|
25
27
|
/// (snake_case MTF-native).
|
|
26
28
|
export type WsChannel =
|
|
29
|
+
// per-market (require `coin`)
|
|
27
30
|
| 'l2_book'
|
|
28
|
-
| 'trades'
|
|
29
31
|
| 'bbo'
|
|
30
|
-
| '
|
|
32
|
+
| 'trades'
|
|
33
|
+
| 'active_asset_ctx'
|
|
34
|
+
// global (no params)
|
|
35
|
+
| 'all_mids'
|
|
36
|
+
// per-market + interval (`candles` needs `coin` + `interval`)
|
|
31
37
|
| 'candles'
|
|
32
|
-
|
|
38
|
+
// per-account (require `user`)
|
|
39
|
+
| 'fills'
|
|
40
|
+
| 'user_events'
|
|
41
|
+
| 'order_updates'
|
|
42
|
+
| 'notifications'
|
|
43
|
+
| 'ledger_updates'
|
|
44
|
+
| 'user_fundings'
|
|
45
|
+
| 'user_twap_slice_fills'
|
|
46
|
+
| 'user_twap_history'
|
|
47
|
+
// per-account + market (`active_asset_data` needs `user` + `coin`)
|
|
48
|
+
| 'active_asset_data';
|
|
33
49
|
|
|
34
50
|
/// All known channels — handy for callers that want to subscribe broadly.
|
|
35
51
|
export const WS_CHANNELS: readonly WsChannel[] = [
|
|
36
52
|
'l2_book',
|
|
37
|
-
'trades',
|
|
38
53
|
'bbo',
|
|
39
|
-
'
|
|
54
|
+
'trades',
|
|
55
|
+
'active_asset_ctx',
|
|
56
|
+
'all_mids',
|
|
40
57
|
'candles',
|
|
58
|
+
'fills',
|
|
41
59
|
'user_events',
|
|
60
|
+
'order_updates',
|
|
61
|
+
'notifications',
|
|
62
|
+
'ledger_updates',
|
|
63
|
+
'user_fundings',
|
|
64
|
+
'user_twap_slice_fills',
|
|
65
|
+
'user_twap_history',
|
|
66
|
+
'active_asset_data',
|
|
42
67
|
] as const;
|
|
43
68
|
|
|
44
69
|
/// A subscription request body — the inner `subscription` object of a
|
|
45
|
-
/// subscribe / unsubscribe frame.
|
|
46
|
-
///
|
|
70
|
+
/// subscribe / unsubscribe frame. The routing key is the combination of the
|
|
71
|
+
/// fields a channel uses:
|
|
72
|
+
/// - `coin` — per-market channels (`l2_book`, `bbo`, `trades`,
|
|
73
|
+
/// `active_asset_ctx`, `candles`, `active_asset_data`)
|
|
74
|
+
/// - `user` — per-account channels (`fills`, `user_events`,
|
|
75
|
+
/// `order_updates`, `active_asset_data`, …); the 0x address
|
|
76
|
+
/// - `interval` — `candles` only (`1m`/`5m`/`15m`/`1h`/`4h`/`1d`)
|
|
77
|
+
/// Global channels (`all_mids`) take none.
|
|
47
78
|
export interface WsSubscription {
|
|
48
79
|
type: WsChannel;
|
|
49
80
|
coin?: string;
|
|
81
|
+
user?: string;
|
|
82
|
+
interval?: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/// `all_mids` payload — every market's tick-snapped whole-USDC mark, keyed by
|
|
86
|
+
/// coin (same plane as the REST `markets` read; no 1e8 scaling).
|
|
87
|
+
export interface AllMids {
|
|
88
|
+
mids: Record<string, string>;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/// `active_asset_ctx` payload — one market's mark/oracle/funding/OI, in the
|
|
92
|
+
/// whole-USDC plane. `funding` is `null` for an unknown market.
|
|
93
|
+
export interface ActiveAssetCtx {
|
|
94
|
+
coin: string;
|
|
95
|
+
mark_px: string;
|
|
96
|
+
oracle_px: string;
|
|
97
|
+
funding: Funding | null;
|
|
98
|
+
open_interest: string;
|
|
50
99
|
}
|
|
51
100
|
|
|
52
101
|
/// A typed inbound frame `{channel, data}`. `data` is left as `unknown` because
|
|
@@ -81,10 +130,12 @@ const DEFAULT_CONFIG: WsConfig = {
|
|
|
81
130
|
autoReconnect: true,
|
|
82
131
|
};
|
|
83
132
|
|
|
84
|
-
/// Subscription set equality key — `(channel, coin)` is the
|
|
85
|
-
/// key, so two subscriptions are identical iff
|
|
133
|
+
/// Subscription set equality key — `(channel, coin, user, interval)` is the
|
|
134
|
+
/// server's routing key, so two subscriptions are identical iff all match
|
|
135
|
+
/// (e.g. `candles` `1m` vs `5m`, or `fills` for two different users, are
|
|
136
|
+
/// distinct subscriptions).
|
|
86
137
|
function subKey(s: WsSubscription): string {
|
|
87
|
-
return `${s.type}:${s.coin ?? ''}`;
|
|
138
|
+
return `${s.type}:${s.coin ?? ''}:${s.user ?? ''}:${s.interval ?? ''}`;
|
|
88
139
|
}
|
|
89
140
|
|
|
90
141
|
/// MTF-native WebSocket client.
|