@drift-labs/common 1.0.16 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/lib/clients/DlobWebsocketClient.d.ts +6 -0
  2. package/lib/clients/DlobWebsocketClient.js +24 -4
  3. package/lib/clients/DlobWebsocketClient.js.map +1 -1
  4. package/lib/clients/candleClient.js +12 -0
  5. package/lib/clients/candleClient.js.map +1 -1
  6. package/lib/clients/redisClient.d.ts +1 -0
  7. package/lib/clients/swiftClient.d.ts +1 -0
  8. package/lib/clients/swiftClient.js +19 -5
  9. package/lib/clients/swiftClient.js.map +1 -1
  10. package/lib/clients/tvFeed.d.ts +4 -1
  11. package/lib/clients/tvFeed.js +29 -3
  12. package/lib/clients/tvFeed.js.map +1 -1
  13. package/lib/common-ui-utils/commonUiUtils.d.ts +2 -2
  14. package/lib/common-ui-utils/commonUiUtils.js +38 -3
  15. package/lib/common-ui-utils/commonUiUtils.js.map +1 -1
  16. package/lib/common-ui-utils/order.d.ts +1 -2
  17. package/lib/common-ui-utils/order.js +9 -10
  18. package/lib/common-ui-utils/order.js.map +1 -1
  19. package/lib/common-ui-utils/user.js +23 -20
  20. package/lib/common-ui-utils/user.js.map +1 -1
  21. package/lib/drift/Drift/clients/AuthorityDrift/DriftOperations/index.js +6 -0
  22. package/lib/drift/Drift/clients/AuthorityDrift/DriftOperations/index.js.map +1 -1
  23. package/lib/drift/Drift/clients/AuthorityDrift/DriftOperations/types.d.ts +1 -0
  24. package/lib/drift/Drift/clients/AuthorityDrift/DriftOperations/types.js.map +1 -1
  25. package/lib/drift/Drift/clients/CentralServerDrift/index.d.ts +17 -1
  26. package/lib/drift/Drift/clients/CentralServerDrift/index.js +50 -15
  27. package/lib/drift/Drift/clients/CentralServerDrift/index.js.map +1 -1
  28. package/lib/drift/base/actions/perp/settlePnl.d.ts +4 -3
  29. package/lib/drift/base/actions/perp/settlePnl.js +6 -3
  30. package/lib/drift/base/actions/perp/settlePnl.js.map +1 -1
  31. package/lib/drift/base/actions/spot/deposit.d.ts +10 -3
  32. package/lib/drift/base/actions/spot/deposit.js +22 -7
  33. package/lib/drift/base/actions/spot/deposit.js.map +1 -1
  34. package/lib/drift/base/actions/trade/editOrder.d.ts +2 -0
  35. package/lib/drift/base/actions/trade/editOrder.js +1 -0
  36. package/lib/drift/base/actions/trade/editOrder.js.map +1 -1
  37. package/lib/drift/base/actions/trade/openPerpOrder/auction.d.ts +4 -1
  38. package/lib/drift/base/actions/trade/openPerpOrder/auction.js +4 -4
  39. package/lib/drift/base/actions/trade/openPerpOrder/auction.js.map +1 -1
  40. package/lib/drift/base/actions/trade/openPerpOrder/dlobServer/index.d.ts +6 -4
  41. package/lib/drift/base/actions/trade/openPerpOrder/dlobServer/index.js +6 -5
  42. package/lib/drift/base/actions/trade/openPerpOrder/dlobServer/index.js.map +1 -1
  43. package/lib/drift/base/actions/trade/openPerpOrder/openPerpMarketOrder/index.d.ts +10 -5
  44. package/lib/drift/base/actions/trade/openPerpOrder/openPerpMarketOrder/index.js +18 -15
  45. package/lib/drift/base/actions/trade/openPerpOrder/openPerpMarketOrder/index.js.map +1 -1
  46. package/lib/drift/base/actions/trade/openPerpOrder/openPerpNonMarketOrder/index.d.ts +1 -4
  47. package/lib/drift/base/actions/trade/openPerpOrder/openPerpNonMarketOrder/index.js +9 -10
  48. package/lib/drift/base/actions/trade/openPerpOrder/openPerpNonMarketOrder/index.js.map +1 -1
  49. package/lib/drift/base/actions/trade/openPerpOrder/openSwiftOrder/index.d.ts +40 -11
  50. package/lib/drift/base/actions/trade/openPerpOrder/openSwiftOrder/index.js +49 -15
  51. package/lib/drift/base/actions/trade/openPerpOrder/openSwiftOrder/index.js.map +1 -1
  52. package/lib/drift/base/actions/trade/openPerpOrder/types.d.ts +5 -3
  53. package/lib/drift/base/actions/trade/openPerpOrder/types.js.map +1 -1
  54. package/lib/drift/base/actions/user/create.d.ts +3 -1
  55. package/lib/drift/base/actions/user/create.js +21 -7
  56. package/lib/drift/base/actions/user/create.js.map +1 -1
  57. package/lib/drift/cli.js +16 -2
  58. package/lib/drift/cli.js.map +1 -1
  59. package/lib/drift/utils/auctionParamsResponseMapper.d.ts +2 -1
  60. package/lib/drift/utils/auctionParamsResponseMapper.js +1 -1
  61. package/lib/drift/utils/auctionParamsResponseMapper.js.map +1 -1
  62. package/lib/drift/utils/orderParams.js +1 -1
  63. package/lib/drift/utils/orderParams.js.map +1 -1
  64. package/lib/utils/driftEvents.js +18 -2
  65. package/lib/utils/driftEvents.js.map +1 -1
  66. package/lib/utils/index.d.ts +1 -0
  67. package/lib/utils/logger.js +34 -3
  68. package/lib/utils/logger.js.map +1 -1
  69. package/lib/utils/signedMsgs.d.ts +1 -1
  70. package/lib/utils/signedMsgs.js +2 -2
  71. package/lib/utils/signedMsgs.js.map +1 -1
  72. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"driftEvents.js","sourceRoot":"","sources":["../../src/utils/driftEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventType, WrappedEvent } from '@drift-labs/sdk';\nimport { ENUM_UTILS } from '.';\n\n// Pick the relevant fields from OrderActionRecord that we care about for getDriftEventKey. This enables us to use UISerializableOrderActionRecord and OrderActionRecord interchangeably.\ntype UniqableOrderActionRecord = Pick<\n\tWrappedEvent<'OrderActionRecord'>,\n\t| 'eventType'\n\t| 'action'\n\t| 'marketIndex'\n\t| 'takerOrderId'\n\t| 'makerOrderId'\n\t| 'txSig'\n\t| 'fillRecordId'\n\t| 'taker'\n\t| 'maker'\n>;\n\n// Create a generic type using typescript transforms that allows any relevant order types to be used in getDriftEventKey.\nexport type UniqableDriftEvent =\n\t| WrappedEvent<Exclude<EventType, 'OrderActionRecord'>>\n\t| UniqableOrderActionRecord;\n\n/**\n * Utility method to get a unique key for any drift event.\n * @param event\n * @returns\n */\nexport const getDriftEventKey = (event: UniqableDriftEvent) => {\n\tconst _eventType = event.eventType;\n\tswitch (_eventType) {\n\t\tcase 'SwapRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SwapRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}_${_typedEvent.inMarketIndex}_${_typedEvent.outMarketIndex}`;\n\t\t}\n\t\tcase 'OrderRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'OrderRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.order.userOrderId\n\t\t\t}_${_typedEvent.order.orderId}`;\n\t\t}\n\t\tcase 'CurveRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'CurveRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${_typedEvent.recordId.toString()}`;\n\t\t}\n\t\tcase 'DeleteUserRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'DeleteUserRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}`;\n\t\t}\n\t\tcase 'DepositRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'DepositRecord'>;\n\t\t\treturn `${\n\t\t\t\t_typedEvent.eventType\n\t\t\t}_${_typedEvent.user.toString()}_${_typedEvent.depositRecordId.toString()}`;\n\t\t}\n\t\tcase 'FundingPaymentRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FundingPaymentRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}_${_typedEvent.marketIndex}`;\n\t\t}\n\t\tcase 'FuelSeasonRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FuelSeasonRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.authority.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}`;\n\t\t}\n\t\tcase 'FuelSweepRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FuelSweepRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.authority.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}`;\n\t\t}\n\t\tcase 'LiquidationRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'LiquidationRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.liquidationId\n\t\t\t}`;\n\t\t}\n\t\tcase 'FundingRateRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FundingRateRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${_typedEvent.recordId.toString()}`;\n\t\t}\n\t\tcase 'NewUserRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'NewUserRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}`;\n\t\t}\n\t\tcase 'InsuranceFundRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'InsuranceFundRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'InsuranceFundStakeRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'InsuranceFundStakeRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${ENUM_UTILS.toStr(\n\t\t\t\t_typedEvent.action\n\t\t\t)}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SpotMarketVaultDepositRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SpotMarketVaultDepositRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SpotInterestRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SpotInterestRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'LPRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'LPRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${ENUM_UTILS.toStr(_typedEvent.action)}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SettlePnlRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SettlePnlRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${_typedEvent.user.toString()}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SignedMsgOrderRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SignedMsgOrderRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.hash}`;\n\t\t}\n\t\tcase 'OrderActionRecord': {\n\t\t\tconst _typedEvent = event as UniqableOrderActionRecord;\n\t\t\tconst _actionStr = ENUM_UTILS.toStr(_typedEvent.action);\n\t\t\tswitch (_actionStr) {\n\t\t\t\tcase 'trigger': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${_typedEvent.marketIndex}_${_typedEvent.takerOrderId}_${_typedEvent.makerOrderId}_${_typedEvent.txSig}`;\n\t\t\t\t}\n\t\t\t\tcase 'fill': {\n\t\t\t\t\tconst orderId = _typedEvent.taker\n\t\t\t\t\t\t? _typedEvent.takerOrderId\n\t\t\t\t\t\t: _typedEvent.makerOrderId;\n\t\t\t\t\tconst pubkey = _typedEvent.taker\n\t\t\t\t\t\t? _typedEvent.taker\n\t\t\t\t\t\t: _typedEvent.maker;\n\n\t\t\t\t\treturn `${\n\t\t\t\t\t\t_typedEvent.eventType\n\t\t\t\t\t}_${pubkey.toString()}_${_typedEvent.marketIndex.toString()}_${orderId.toString()}_${\n\t\t\t\t\t\t_typedEvent.fillRecordId\n\t\t\t\t\t}_${ENUM_UTILS.toStr(\n\t\t\t\t\t\t_typedEvent.action\n\t\t\t\t\t)}_${_typedEvent.txSig.toString()}`;\n\t\t\t\t}\n\t\t\t\tcase 'expire': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${\n\t\t\t\t\t\t_typedEvent.marketIndex\n\t\t\t\t\t}_${_typedEvent.takerOrderId}_${\n\t\t\t\t\t\t_typedEvent.makerOrderId\n\t\t\t\t\t}_${_typedEvent.taker?.toString()}_${_typedEvent.maker?.toString()}_${\n\t\t\t\t\t\t_typedEvent.txSig\n\t\t\t\t\t}`;\n\t\t\t\t}\n\t\t\t\tcase 'place': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${\n\t\t\t\t\t\t_typedEvent.marketIndex\n\t\t\t\t\t}_${_typedEvent.takerOrderId}_${\n\t\t\t\t\t\t_typedEvent.makerOrderId\n\t\t\t\t\t}_${_typedEvent.taker?.toString()}_${_typedEvent.maker?.toString()}_${\n\t\t\t\t\t\t_typedEvent.txSig\n\t\t\t\t\t}`;\n\t\t\t\t}\n\t\t\t\tcase 'cancel': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${\n\t\t\t\t\t\t_typedEvent.marketIndex\n\t\t\t\t\t}_${_typedEvent.takerOrderId}_${\n\t\t\t\t\t\t_typedEvent.makerOrderId\n\t\t\t\t\t}_${_typedEvent.taker?.toString()}_${_typedEvent.maker?.toString()}_${\n\t\t\t\t\t\t_typedEvent.txSig\n\t\t\t\t\t}`;\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tthrow new Error(`Unhandled Order Action: ${_actionStr}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdefault: {\n\t\t\tconst _unhandledEvent: string = _eventType;\n\t\t\tthrow new Error(`Unhandled event type: ${_unhandledEvent}`);\n\t\t}\n\t}\n};\n"]}
1
+ {"version":3,"file":"driftEvents.js","sourceRoot":"","sources":["../../src/utils/driftEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventType, WrappedEvent } from '@drift-labs/sdk';\nimport { ENUM_UTILS } from '.';\n\n// Cache for event ID string patterns to reduce repeated concatenation\nconst eventIdCache = new Map<string, string>();\nconst MAX_EVENT_ID_CACHE_SIZE = 5000;\n\n// Helper function to create cached event IDs\nfunction createEventId(\n\ttemplate: string,\n\t...values: (string | number)[]\n): string {\n\tconst cacheKey = `${template}:${values.join(':')}`;\n\n\tif (eventIdCache.has(cacheKey)) {\n\t\treturn eventIdCache.get(cacheKey)!;\n\t}\n\n\tconst result = values.join('_');\n\n\t// Cache if not too large\n\tif (eventIdCache.size < MAX_EVENT_ID_CACHE_SIZE) {\n\t\teventIdCache.set(cacheKey, result);\n\t}\n\n\treturn result;\n}\n\n// Pick the relevant fields from OrderActionRecord that we care about for getDriftEventKey. This enables us to use UISerializableOrderActionRecord and OrderActionRecord interchangeably.\ntype UniqableOrderActionRecord = Pick<\n\tWrappedEvent<'OrderActionRecord'>,\n\t| 'eventType'\n\t| 'action'\n\t| 'marketIndex'\n\t| 'takerOrderId'\n\t| 'makerOrderId'\n\t| 'txSig'\n\t| 'fillRecordId'\n\t| 'taker'\n\t| 'maker'\n>;\n\n// Create a generic type using typescript transforms that allows any relevant order types to be used in getDriftEventKey.\nexport type UniqableDriftEvent =\n\t| WrappedEvent<Exclude<EventType, 'OrderActionRecord'>>\n\t| UniqableOrderActionRecord;\n\n/**\n * Utility method to get a unique key for any drift event.\n * @param event\n * @returns\n */\nexport const getDriftEventKey = (event: UniqableDriftEvent) => {\n\tconst _eventType = event.eventType;\n\tswitch (_eventType) {\n\t\tcase 'SwapRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SwapRecord'>;\n\t\t\treturn createEventId(\n\t\t\t\t'SwapRecord',\n\t\t\t\t_typedEvent.eventType,\n\t\t\t\t_typedEvent.user.toString(),\n\t\t\t\t_typedEvent.txSig,\n\t\t\t\t_typedEvent.inMarketIndex,\n\t\t\t\t_typedEvent.outMarketIndex\n\t\t\t);\n\t\t}\n\t\tcase 'OrderRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'OrderRecord'>;\n\t\t\treturn createEventId(\n\t\t\t\t'OrderRecord',\n\t\t\t\t_typedEvent.eventType,\n\t\t\t\t_typedEvent.user.toString(),\n\t\t\t\t_typedEvent.order.userOrderId,\n\t\t\t\t_typedEvent.order.orderId\n\t\t\t);\n\t\t}\n\t\tcase 'CurveRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'CurveRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${_typedEvent.recordId.toString()}`;\n\t\t}\n\t\tcase 'DeleteUserRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'DeleteUserRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}`;\n\t\t}\n\t\tcase 'DepositRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'DepositRecord'>;\n\t\t\treturn `${\n\t\t\t\t_typedEvent.eventType\n\t\t\t}_${_typedEvent.user.toString()}_${_typedEvent.depositRecordId.toString()}`;\n\t\t}\n\t\tcase 'FundingPaymentRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FundingPaymentRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}_${_typedEvent.marketIndex}`;\n\t\t}\n\t\tcase 'FuelSeasonRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FuelSeasonRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.authority.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}`;\n\t\t}\n\t\tcase 'FuelSweepRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FuelSweepRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.authority.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}`;\n\t\t}\n\t\tcase 'LiquidationRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'LiquidationRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.liquidationId\n\t\t\t}`;\n\t\t}\n\t\tcase 'FundingRateRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'FundingRateRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${_typedEvent.recordId.toString()}`;\n\t\t}\n\t\tcase 'NewUserRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'NewUserRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${\n\t\t\t\t_typedEvent.txSig\n\t\t\t}`;\n\t\t}\n\t\tcase 'InsuranceFundRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'InsuranceFundRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'InsuranceFundStakeRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'InsuranceFundStakeRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${ENUM_UTILS.toStr(\n\t\t\t\t_typedEvent.action\n\t\t\t)}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SpotMarketVaultDepositRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SpotMarketVaultDepositRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SpotInterestRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SpotInterestRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'LPRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'LPRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${ENUM_UTILS.toStr(_typedEvent.action)}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SettlePnlRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SettlePnlRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${\n\t\t\t\t_typedEvent.marketIndex\n\t\t\t}_${_typedEvent.user.toString()}_${_typedEvent.txSig}`;\n\t\t}\n\t\tcase 'SignedMsgOrderRecord': {\n\t\t\tconst _typedEvent = event as WrappedEvent<'SignedMsgOrderRecord'>;\n\t\t\treturn `${_typedEvent.eventType}_${_typedEvent.hash}`;\n\t\t}\n\t\tcase 'OrderActionRecord': {\n\t\t\tconst _typedEvent = event as UniqableOrderActionRecord;\n\t\t\tconst _actionStr = ENUM_UTILS.toStr(_typedEvent.action);\n\t\t\tswitch (_actionStr) {\n\t\t\t\tcase 'trigger': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${_typedEvent.marketIndex}_${_typedEvent.takerOrderId}_${_typedEvent.makerOrderId}_${_typedEvent.txSig}`;\n\t\t\t\t}\n\t\t\t\tcase 'fill': {\n\t\t\t\t\tconst orderId = _typedEvent.taker\n\t\t\t\t\t\t? _typedEvent.takerOrderId\n\t\t\t\t\t\t: _typedEvent.makerOrderId;\n\t\t\t\t\tconst pubkey = _typedEvent.taker\n\t\t\t\t\t\t? _typedEvent.taker\n\t\t\t\t\t\t: _typedEvent.maker;\n\n\t\t\t\t\treturn `${\n\t\t\t\t\t\t_typedEvent.eventType\n\t\t\t\t\t}_${pubkey.toString()}_${_typedEvent.marketIndex.toString()}_${orderId.toString()}_${\n\t\t\t\t\t\t_typedEvent.fillRecordId\n\t\t\t\t\t}_${ENUM_UTILS.toStr(\n\t\t\t\t\t\t_typedEvent.action\n\t\t\t\t\t)}_${_typedEvent.txSig.toString()}`;\n\t\t\t\t}\n\t\t\t\tcase 'expire': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${\n\t\t\t\t\t\t_typedEvent.marketIndex\n\t\t\t\t\t}_${_typedEvent.takerOrderId}_${\n\t\t\t\t\t\t_typedEvent.makerOrderId\n\t\t\t\t\t}_${_typedEvent.taker?.toString()}_${_typedEvent.maker?.toString()}_${\n\t\t\t\t\t\t_typedEvent.txSig\n\t\t\t\t\t}`;\n\t\t\t\t}\n\t\t\t\tcase 'place': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${\n\t\t\t\t\t\t_typedEvent.marketIndex\n\t\t\t\t\t}_${_typedEvent.takerOrderId}_${\n\t\t\t\t\t\t_typedEvent.makerOrderId\n\t\t\t\t\t}_${_typedEvent.taker?.toString()}_${_typedEvent.maker?.toString()}_${\n\t\t\t\t\t\t_typedEvent.txSig\n\t\t\t\t\t}`;\n\t\t\t\t}\n\t\t\t\tcase 'cancel': {\n\t\t\t\t\treturn `${_typedEvent.eventType}_${_actionStr}_${\n\t\t\t\t\t\t_typedEvent.marketIndex\n\t\t\t\t\t}_${_typedEvent.takerOrderId}_${\n\t\t\t\t\t\t_typedEvent.makerOrderId\n\t\t\t\t\t}_${_typedEvent.taker?.toString()}_${_typedEvent.maker?.toString()}_${\n\t\t\t\t\t\t_typedEvent.txSig\n\t\t\t\t\t}`;\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tthrow new Error(`Unhandled Order Action: ${_actionStr}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdefault: {\n\t\t\tconst _unhandledEvent: string = _eventType;\n\t\t\tthrow new Error(`Unhandled event type: ${_unhandledEvent}`);\n\t\t}\n\t}\n};\n"]}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { BN, Event, OrderActionRecord, OrderRecord, PublicKey, BigNum, MarketType, DriftClient, SpotMarketConfig } from '@drift-labs/sdk';
3
4
  import { UIMatchedOrderRecordAndAction, UISerializableOrderActionRecord } from '../serializableTypes';
4
5
  import { AccountInfo, Connection } from '@solana/web3.js';
@@ -7,6 +7,27 @@ exports.allEnvDlog = exports.setLogLevel = exports.logger = void 0;
7
7
  const winston_1 = require("winston");
8
8
  const winston_slack_webhook_transport_1 = __importDefault(require("winston-slack-webhook-transport"));
9
9
  const bypassAlert = process.env.RUNNING_LOCAL === 'true';
10
+ // Cache for log message templates to reduce string concatenation overhead
11
+ const logTemplateCache = new Map();
12
+ const MAX_TEMPLATE_CACHE_SIZE = 100;
13
+ // Optimized log formatter that caches common template patterns
14
+ function formatLogMessage(timestamp, level, message) {
15
+ const upperLevel = level.toUpperCase();
16
+ const templateKey = `${upperLevel}_template`;
17
+ if (logTemplateCache.has(templateKey)) {
18
+ const template = logTemplateCache.get(templateKey);
19
+ return template
20
+ .replace('{{timestamp}}', timestamp)
21
+ .replace('{{message}}', message);
22
+ }
23
+ const template = '[{{timestamp}}] ' + upperLevel + ': {{message}}';
24
+ if (logTemplateCache.size < MAX_TEMPLATE_CACHE_SIZE) {
25
+ logTemplateCache.set(templateKey, template);
26
+ }
27
+ return template
28
+ .replace('{{timestamp}}', timestamp)
29
+ .replace('{{message}}', message);
30
+ }
10
31
  const loggerTransports = [
11
32
  new winston_1.transports.Console({
12
33
  level: 'info',
@@ -18,7 +39,7 @@ if (!bypassAlert) {
18
39
  level: 'alert',
19
40
  formatter: ({ timestamp, level, message }) => {
20
41
  return {
21
- text: `[${timestamp}] ${level.toUpperCase()}: ${message}`,
42
+ text: formatLogMessage(timestamp, level, message),
22
43
  };
23
44
  },
24
45
  }));
@@ -37,7 +58,7 @@ exports.logger = (0, winston_1.createLogger)({
37
58
  level: 'info',
38
59
  transports: loggerTransports,
39
60
  format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.printf(({ timestamp, level, message }) => {
40
- return `[${timestamp}] ${level.toUpperCase()}: ${message}`;
61
+ return formatLogMessage(String(timestamp), String(level), String(message));
41
62
  })),
42
63
  });
43
64
  const setLogLevel = (logLevel) => {
@@ -47,7 +68,17 @@ exports.setLogLevel = setLogLevel;
47
68
  //@ts-ignore
48
69
  exports.logger.alert = (message) => exports.logger.log('alert', message);
49
70
  const allEnvDlog = (key, message, ...optionalParams) => {
50
- console.debug(`🔧::${key}::\n${message}`, ...optionalParams);
71
+ // Cache debug message format to reduce string concatenation
72
+ const debugKey = `debug_${key}`;
73
+ let cachedFormat = logTemplateCache.get(debugKey);
74
+ if (!cachedFormat) {
75
+ cachedFormat = `🔧::${key}::\n{{message}}`;
76
+ if (logTemplateCache.size < MAX_TEMPLATE_CACHE_SIZE) {
77
+ logTemplateCache.set(debugKey, cachedFormat);
78
+ }
79
+ }
80
+ const formattedMessage = cachedFormat.replace('{{message}}', String(message));
81
+ console.debug(formattedMessage, ...optionalParams);
51
82
  };
52
83
  exports.allEnvDlog = allEnvDlog;
53
84
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;AAAA,qCAKiB;AACjB,sGAAoE;AAGpE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;AAEzD,MAAM,gBAAgB,GAAsB;IAC3C,IAAI,oBAAU,CAAC,OAAO,CAAC;QACtB,KAAK,EAAE,MAAM;KACb,CAAC;CACF,CAAC;AAEF,IAAI,CAAC,WAAW,EAAE,CAAC;IAClB,gBAAgB,CAAC,IAAI,CACpB,IAAI,yCAAqB,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;QACnC,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC5C,OAAO;gBACN,IAAI,EAAE,IAAI,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;aACzD,CAAC;QACH,CAAC;KACD,CAAC,CACF,CAAC;AACH,CAAC;AAEY,QAAA,MAAM,GAAG,IAAA,sBAAY,EAAC;IAClC,MAAM,EAAE;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;KACR;IACD,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,gBAAM,CAAC,OAAO,CACrB,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;IAC5D,CAAC,CAAC,CACF;CACD,CAAC,CAAC;AAEI,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC/C,cAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AACzB,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEF,YAAY;AACZ,cAAM,CAAC,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,cAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAI1D,MAAM,UAAU,GAAG,CACzB,GAAW,EACX,OAAY,EACZ,GAAG,cAAqB,EACvB,EAAE;IACH,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,OAAO,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC;AAC9D,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB","sourcesContent":["import {\n\tcreateLogger,\n\ttransports,\n\tformat,\n\tLogger as WinstonLogger,\n} from 'winston';\nimport SlackWebhookTransport from 'winston-slack-webhook-transport';\nimport TransportStream from 'winston-transport';\n\nconst bypassAlert = process.env.RUNNING_LOCAL === 'true';\n\nconst loggerTransports: TransportStream[] = [\n\tnew transports.Console({\n\t\tlevel: 'info',\n\t}),\n];\n\nif (!bypassAlert) {\n\tloggerTransports.push(\n\t\tnew SlackWebhookTransport({\n\t\t\twebhookUrl: process.env.WEBHOOK_URL,\n\t\t\tlevel: 'alert',\n\t\t\tformatter: ({ timestamp, level, message }) => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: `[${timestamp}] ${level.toUpperCase()}: ${message}`,\n\t\t\t\t};\n\t\t\t},\n\t\t})\n\t);\n}\n\nexport const logger = createLogger({\n\tlevels: {\n\t\temerg: 0,\n\t\talert: 1,\n\t\tcrit: 2,\n\t\terror: 3,\n\t\twarning: 4,\n\t\tnotice: 5,\n\t\tinfo: 6,\n\t\tdebug: 7,\n\t},\n\tlevel: 'info',\n\ttransports: loggerTransports,\n\tformat: format.combine(\n\t\tformat.timestamp(),\n\t\tformat.printf(({ timestamp, level, message }) => {\n\t\t\treturn `[${timestamp}] ${level.toUpperCase()}: ${message}`;\n\t\t})\n\t),\n});\n\nexport const setLogLevel = (logLevel: string) => {\n\tlogger.level = logLevel;\n};\n\n//@ts-ignore\nlogger.alert = (message: string) => logger.log('alert', message);\n\nexport type Logger = WinstonLogger;\n\nexport const allEnvDlog = (\n\tkey: string,\n\tmessage: any,\n\t...optionalParams: any[]\n) => {\n\tconsole.debug(`🔧::${key}::\\n${message}`, ...optionalParams);\n};\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tcreateLogger,\n\ttransports,\n\tformat,\n\tLogger as WinstonLogger,\n} from 'winston';\nimport SlackWebhookTransport from 'winston-slack-webhook-transport';\nimport TransportStream from 'winston-transport';\n\nconst bypassAlert = process.env.RUNNING_LOCAL === 'true';\n\n// Cache for log message templates to reduce string concatenation overhead\nconst logTemplateCache = new Map<string, string>();\nconst MAX_TEMPLATE_CACHE_SIZE = 100;\n\n// Optimized log formatter that caches common template patterns\nfunction formatLogMessage(\n\ttimestamp: string,\n\tlevel: string,\n\tmessage: string\n): string {\n\tconst upperLevel = level.toUpperCase();\n\tconst templateKey = `${upperLevel}_template`;\n\n\tif (logTemplateCache.has(templateKey)) {\n\t\tconst template = logTemplateCache.get(templateKey)!;\n\t\treturn template\n\t\t\t.replace('{{timestamp}}', timestamp)\n\t\t\t.replace('{{message}}', message);\n\t}\n\n\tconst template = '[{{timestamp}}] ' + upperLevel + ': {{message}}';\n\n\tif (logTemplateCache.size < MAX_TEMPLATE_CACHE_SIZE) {\n\t\tlogTemplateCache.set(templateKey, template);\n\t}\n\n\treturn template\n\t\t.replace('{{timestamp}}', timestamp)\n\t\t.replace('{{message}}', message);\n}\n\nconst loggerTransports: TransportStream[] = [\n\tnew transports.Console({\n\t\tlevel: 'info',\n\t}),\n];\n\nif (!bypassAlert) {\n\tloggerTransports.push(\n\t\tnew SlackWebhookTransport({\n\t\t\twebhookUrl: process.env.WEBHOOK_URL,\n\t\t\tlevel: 'alert',\n\t\t\tformatter: ({ timestamp, level, message }) => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: formatLogMessage(timestamp, level, message),\n\t\t\t\t};\n\t\t\t},\n\t\t})\n\t);\n}\n\nexport const logger = createLogger({\n\tlevels: {\n\t\temerg: 0,\n\t\talert: 1,\n\t\tcrit: 2,\n\t\terror: 3,\n\t\twarning: 4,\n\t\tnotice: 5,\n\t\tinfo: 6,\n\t\tdebug: 7,\n\t},\n\tlevel: 'info',\n\ttransports: loggerTransports,\n\tformat: format.combine(\n\t\tformat.timestamp(),\n\t\tformat.printf(({ timestamp, level, message }) => {\n\t\t\treturn formatLogMessage(\n\t\t\t\tString(timestamp),\n\t\t\t\tString(level),\n\t\t\t\tString(message)\n\t\t\t);\n\t\t})\n\t),\n});\n\nexport const setLogLevel = (logLevel: string) => {\n\tlogger.level = logLevel;\n};\n\n//@ts-ignore\nlogger.alert = (message: string) => logger.log('alert', message);\n\nexport type Logger = WinstonLogger;\n\nexport const allEnvDlog = (\n\tkey: string,\n\tmessage: any,\n\t...optionalParams: any[]\n) => {\n\t// Cache debug message format to reduce string concatenation\n\tconst debugKey = `debug_${key}`;\n\tlet cachedFormat = logTemplateCache.get(debugKey);\n\n\tif (!cachedFormat) {\n\t\tcachedFormat = `🔧::${key}::\\n{{message}}`;\n\t\tif (logTemplateCache.size < MAX_TEMPLATE_CACHE_SIZE) {\n\t\t\tlogTemplateCache.set(debugKey, cachedFormat);\n\t\t}\n\t}\n\n\tconst formattedMessage = cachedFormat.replace('{{message}}', String(message));\n\tconsole.debug(formattedMessage, ...optionalParams);\n};\n"]}
@@ -1 +1 @@
1
- export declare function getSwiftConfirmationTimeoutMs(auctionDurationSlots: number, multiplier?: number): number;
1
+ export declare function getSwiftConfirmationTimeoutMs(slotsTillAuctionEnd: number, multiplier?: number): number;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSwiftConfirmationTimeoutMs = void 0;
4
4
  const sdk_1 = require("@drift-labs/sdk");
5
- function getSwiftConfirmationTimeoutMs(auctionDurationSlots, multiplier) {
6
- const baseMs = ((auctionDurationSlots !== null && auctionDurationSlots !== void 0 ? auctionDurationSlots : 0) + 15) * sdk_1.SLOT_TIME_ESTIMATE_MS;
5
+ function getSwiftConfirmationTimeoutMs(slotsTillAuctionEnd, multiplier) {
6
+ const baseMs = ((slotsTillAuctionEnd !== null && slotsTillAuctionEnd !== void 0 ? slotsTillAuctionEnd : 0) + 15) * sdk_1.SLOT_TIME_ESTIMATE_MS;
7
7
  return baseMs * (multiplier !== null && multiplier !== void 0 ? multiplier : 1);
8
8
  }
9
9
  exports.getSwiftConfirmationTimeoutMs = getSwiftConfirmationTimeoutMs;
@@ -1 +1 @@
1
- {"version":3,"file":"signedMsgs.js","sourceRoot":"","sources":["../../src/utils/signedMsgs.ts"],"names":[],"mappings":";;;AAAA,yCAAwD;AAExD,SAAgB,6BAA6B,CAC5C,oBAA4B,EAC5B,UAAmB;IAEnB,MAAM,MAAM,GAAG,CAAC,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,2BAAqB,CAAC;IAC1E,OAAO,MAAM,GAAG,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAND,sEAMC","sourcesContent":["import { SLOT_TIME_ESTIMATE_MS } from '@drift-labs/sdk';\n\nexport function getSwiftConfirmationTimeoutMs(\n\tauctionDurationSlots: number,\n\tmultiplier?: number\n): number {\n\tconst baseMs = ((auctionDurationSlots ?? 0) + 15) * SLOT_TIME_ESTIMATE_MS;\n\treturn baseMs * (multiplier ?? 1);\n}\n"]}
1
+ {"version":3,"file":"signedMsgs.js","sourceRoot":"","sources":["../../src/utils/signedMsgs.ts"],"names":[],"mappings":";;;AAAA,yCAAwD;AAExD,SAAgB,6BAA6B,CAC5C,mBAA2B,EAC3B,UAAmB;IAEnB,MAAM,MAAM,GAAG,CAAC,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,2BAAqB,CAAC;IACzE,OAAO,MAAM,GAAG,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAND,sEAMC","sourcesContent":["import { SLOT_TIME_ESTIMATE_MS } from '@drift-labs/sdk';\n\nexport function getSwiftConfirmationTimeoutMs(\n\tslotsTillAuctionEnd: number,\n\tmultiplier?: number\n): number {\n\tconst baseMs = ((slotsTillAuctionEnd ?? 0) + 15) * SLOT_TIME_ESTIMATE_MS;\n\treturn baseMs * (multiplier ?? 1);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/common",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "Common functions for Drift",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -64,10 +64,10 @@
64
64
  "lib"
65
65
  ],
66
66
  "engines": {
67
- "node": ">=14"
67
+ "node": ">=22.14.0"
68
68
  },
69
69
  "devDependencies": {
70
- "@drift-labs/sdk": "file:../protocol/sdk",
70
+ "@coral-xyz/anchor": "0.29.0",
71
71
  "@jest/globals": "29.3.1",
72
72
  "@types/mocha": "10.0.4",
73
73
  "@types/sinon": "^17.0.4",