@gala-chain/launchpad-sdk 5.0.3 → 5.0.4-beta.1

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 (406) hide show
  1. package/EXAMPLES.md +141 -7
  2. package/README.md +68 -36
  3. package/dist/ai-docs.json +7357 -0
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.d.ts +70 -11
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.esm.js +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/src/LaunchpadSDK.d.ts +3288 -214
  10. package/dist/src/LaunchpadSDK.d.ts.map +1 -1
  11. package/dist/src/api/LaunchpadAPI.d.ts +21 -41
  12. package/dist/src/api/LaunchpadAPI.d.ts.map +1 -1
  13. package/dist/src/api/dto/BurnTokensDto.d.ts.map +1 -1
  14. package/dist/src/api/dto/LockTokenDto.d.ts.map +1 -1
  15. package/dist/src/api/dto/TransferTokenDto.d.ts.map +1 -1
  16. package/dist/src/api/dto/UnlockTokenDto.d.ts.map +1 -1
  17. package/dist/src/auth/JwtAuth.d.ts +145 -0
  18. package/dist/src/auth/JwtAuth.d.ts.map +1 -0
  19. package/dist/src/auth/SessionAuthService.d.ts +146 -0
  20. package/dist/src/auth/SessionAuthService.d.ts.map +1 -0
  21. package/dist/src/auth/SignatureAuth.d.ts.map +1 -1
  22. package/dist/src/bridge/BridgeService.d.ts.map +1 -1
  23. package/dist/src/bridge/GalaConnectClient.d.ts.map +1 -1
  24. package/dist/src/bridge/constants/tokens.d.ts +4 -3
  25. package/dist/src/bridge/constants/tokens.d.ts.map +1 -1
  26. package/dist/src/bridge/index.d.ts +1 -0
  27. package/dist/src/bridge/index.d.ts.map +1 -1
  28. package/dist/src/bridge/strategies/BridgeStrategy.d.ts.map +1 -1
  29. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts +1 -38
  30. package/dist/src/bridge/strategies/EthereumBridgeStrategy.d.ts.map +1 -1
  31. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts +1 -21
  32. package/dist/src/bridge/strategies/SolanaBridgeStrategy.d.ts.map +1 -1
  33. package/dist/src/bridge/types/bridge.dto.d.ts +15 -2
  34. package/dist/src/bridge/types/bridge.dto.d.ts.map +1 -1
  35. package/dist/src/bridge/utils/RateLimiter.d.ts +1 -1
  36. package/dist/src/bridge/utils/RateLimiter.d.ts.map +1 -1
  37. package/dist/src/bridge/utils/address-formatter.d.ts +25 -0
  38. package/dist/src/bridge/utils/address-formatter.d.ts.map +1 -0
  39. package/dist/src/bridge/utils/addressValidation.d.ts +200 -0
  40. package/dist/src/bridge/utils/addressValidation.d.ts.map +1 -0
  41. package/dist/src/bridge/utils/balanceHelpers.d.ts +215 -0
  42. package/dist/src/bridge/utils/balanceHelpers.d.ts.map +1 -0
  43. package/dist/src/bridge/utils/bridgeErrors.d.ts +98 -0
  44. package/dist/src/bridge/utils/bridgeErrors.d.ts.map +1 -0
  45. package/dist/src/bridge/utils/bridgeOutHelpers.d.ts +68 -0
  46. package/dist/src/bridge/utils/bridgeOutHelpers.d.ts.map +1 -0
  47. package/dist/src/bridge/utils/bridgePayload.d.ts +107 -0
  48. package/dist/src/bridge/utils/bridgePayload.d.ts.map +1 -0
  49. package/dist/src/bridge/utils/bridgeStatusParser.d.ts +75 -0
  50. package/dist/src/bridge/utils/bridgeStatusParser.d.ts.map +1 -0
  51. package/dist/src/bridge/utils/eip712Helpers.d.ts +66 -0
  52. package/dist/src/bridge/utils/eip712Helpers.d.ts.map +1 -0
  53. package/dist/src/bridge/utils/index.d.ts +9 -0
  54. package/dist/src/bridge/utils/index.d.ts.map +1 -1
  55. package/dist/src/bridge/utils/retry.d.ts +16 -0
  56. package/dist/src/bridge/utils/retry.d.ts.map +1 -1
  57. package/dist/src/bridge/utils/strategyDelegation.d.ts +69 -0
  58. package/dist/src/bridge/utils/strategyDelegation.d.ts.map +1 -0
  59. package/dist/src/bridge/utils/tokenIdUtils.d.ts +7 -0
  60. package/dist/src/bridge/utils/tokenIdUtils.d.ts.map +1 -1
  61. package/dist/src/bridge/utils/tokenMath.d.ts.map +1 -1
  62. package/dist/src/bridge/utils/tokenMetadataResolver.d.ts +97 -0
  63. package/dist/src/bridge/utils/tokenMetadataResolver.d.ts.map +1 -0
  64. package/dist/src/constants/endpoints.d.ts +453 -0
  65. package/dist/src/constants/endpoints.d.ts.map +1 -1
  66. package/dist/src/constants/error-messages.d.ts +1 -1
  67. package/dist/src/constants/error-messages.d.ts.map +1 -1
  68. package/dist/src/constants/jwt.d.ts +41 -0
  69. package/dist/src/constants/jwt.d.ts.map +1 -0
  70. package/dist/src/constants/sdk-defaults.d.ts +37 -0
  71. package/dist/src/constants/sdk-defaults.d.ts.map +1 -0
  72. package/dist/src/constants/version.generated.d.ts +1 -1
  73. package/dist/src/constants/version.generated.d.ts.map +1 -1
  74. package/dist/src/helpers/sdk.d.ts.map +1 -1
  75. package/dist/src/helpers/wallet.d.ts +4 -3
  76. package/dist/src/helpers/wallet.d.ts.map +1 -1
  77. package/dist/src/index.d.ts +70 -11
  78. package/dist/src/index.d.ts.map +1 -1
  79. package/dist/src/schemas/files.d.ts +2 -2
  80. package/dist/src/schemas/launchpad.d.ts +40 -8
  81. package/dist/src/schemas/launchpad.d.ts.map +1 -1
  82. package/dist/src/schemas/pagination.d.ts +7 -7
  83. package/dist/src/schemas/primitives.d.ts.map +1 -1
  84. package/dist/src/schemas/trade.d.ts +6 -6
  85. package/dist/src/schemas/user.d.ts +4 -4
  86. package/dist/src/schemas/validators.d.ts +15 -7
  87. package/dist/src/schemas/validators.d.ts.map +1 -1
  88. package/dist/src/services/AbstractCacheService.d.ts +227 -0
  89. package/dist/src/services/AbstractCacheService.d.ts.map +1 -0
  90. package/dist/src/services/AbstractTokenFetchService.d.ts +150 -0
  91. package/dist/src/services/AbstractTokenFetchService.d.ts.map +1 -0
  92. package/dist/src/services/ApiKeyService.d.ts +205 -0
  93. package/dist/src/services/ApiKeyService.d.ts.map +1 -0
  94. package/dist/src/services/BanService.d.ts +195 -0
  95. package/dist/src/services/BanService.d.ts.map +1 -0
  96. package/dist/src/services/BaseService.d.ts +50 -3
  97. package/dist/src/services/BaseService.d.ts.map +1 -1
  98. package/dist/src/services/BatchedCacheService.d.ts +132 -0
  99. package/dist/src/services/BatchedCacheService.d.ts.map +1 -0
  100. package/dist/src/services/BridgeableTokenCache.d.ts +32 -98
  101. package/dist/src/services/BridgeableTokenCache.d.ts.map +1 -1
  102. package/dist/src/services/BridgeableTokenService.d.ts +18 -13
  103. package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
  104. package/dist/src/services/BundleService.d.ts.map +1 -1
  105. package/dist/src/services/BundlerClientFactory.d.ts +32 -0
  106. package/dist/src/services/BundlerClientFactory.d.ts.map +1 -0
  107. package/dist/src/services/ChatMessagesService.d.ts +152 -0
  108. package/dist/src/services/ChatMessagesService.d.ts.map +1 -0
  109. package/dist/src/services/CommentService.d.ts +119 -0
  110. package/dist/src/services/CommentService.d.ts.map +1 -0
  111. package/dist/src/services/CommentsService.d.ts +155 -0
  112. package/dist/src/services/CommentsService.d.ts.map +1 -0
  113. package/dist/src/services/ContentFlagService.d.ts +212 -0
  114. package/dist/src/services/ContentFlagService.d.ts.map +1 -0
  115. package/dist/src/services/ContentReactionService.d.ts +175 -0
  116. package/dist/src/services/ContentReactionService.d.ts.map +1 -0
  117. package/dist/src/services/DexBackendClient.d.ts.map +1 -1
  118. package/dist/src/services/DexPoolService.d.ts +3 -3
  119. package/dist/src/services/DexPoolService.d.ts.map +1 -1
  120. package/dist/src/services/DexQuoteService.d.ts.map +1 -1
  121. package/dist/src/services/DexService.d.ts +2 -5
  122. package/dist/src/services/DexService.d.ts.map +1 -1
  123. package/dist/src/services/GSwapAssetService.d.ts +80 -0
  124. package/dist/src/services/GSwapAssetService.d.ts.map +1 -0
  125. package/dist/src/services/GSwapLiquidityMutationService.d.ts +140 -0
  126. package/dist/src/services/GSwapLiquidityMutationService.d.ts.map +1 -0
  127. package/dist/src/services/GSwapLiquidityQueryService.d.ts +87 -0
  128. package/dist/src/services/GSwapLiquidityQueryService.d.ts.map +1 -0
  129. package/dist/src/services/GSwapPoolCalculationService.d.ts +200 -0
  130. package/dist/src/services/GSwapPoolCalculationService.d.ts.map +1 -0
  131. package/dist/src/services/GSwapPoolQueryService.d.ts +116 -0
  132. package/dist/src/services/GSwapPoolQueryService.d.ts.map +1 -0
  133. package/dist/src/services/GSwapService.d.ts +14 -0
  134. package/dist/src/services/GSwapService.d.ts.map +1 -1
  135. package/dist/src/services/GSwapSwapService.d.ts +68 -0
  136. package/dist/src/services/GSwapSwapService.d.ts.map +1 -0
  137. package/dist/src/services/GalaChainBalanceService.d.ts +155 -0
  138. package/dist/src/services/GalaChainBalanceService.d.ts.map +1 -0
  139. package/dist/src/services/GalaChainGatewayClient.d.ts +32 -1
  140. package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -1
  141. package/dist/src/services/GalaChainLockService.d.ts +144 -0
  142. package/dist/src/services/GalaChainLockService.d.ts.map +1 -0
  143. package/dist/src/services/GalaChainService.d.ts +23 -106
  144. package/dist/src/services/GalaChainService.d.ts.map +1 -1
  145. package/dist/src/services/GalaChainTokenService.d.ts +108 -0
  146. package/dist/src/services/GalaChainTokenService.d.ts.map +1 -0
  147. package/dist/src/services/GalaChainTransferService.d.ts +205 -0
  148. package/dist/src/services/GalaChainTransferService.d.ts.map +1 -0
  149. package/dist/src/services/ImageService.d.ts +24 -8
  150. package/dist/src/services/ImageService.d.ts.map +1 -1
  151. package/dist/src/services/LaunchpadService.d.ts +77 -5
  152. package/dist/src/services/LaunchpadService.d.ts.map +1 -1
  153. package/dist/src/services/ModeratorService.d.ts +269 -0
  154. package/dist/src/services/ModeratorService.d.ts.map +1 -0
  155. package/dist/src/services/MultiPoolStateManager.d.ts +4 -6
  156. package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -1
  157. package/dist/src/services/NetworkKeyedCacheService.d.ts +185 -0
  158. package/dist/src/services/NetworkKeyedCacheService.d.ts.map +1 -0
  159. package/dist/src/services/OverseerService.d.ts +322 -0
  160. package/dist/src/services/OverseerService.d.ts.map +1 -0
  161. package/dist/src/services/PoolCacheManager.d.ts +2 -2
  162. package/dist/src/services/PoolCacheManager.d.ts.map +1 -1
  163. package/dist/src/services/PoolService.d.ts +61 -7
  164. package/dist/src/services/PoolService.d.ts.map +1 -1
  165. package/dist/src/services/PoolStateManager.d.ts +2 -2
  166. package/dist/src/services/PoolStateManager.d.ts.map +1 -1
  167. package/dist/src/services/PriceHistoryService.d.ts.map +1 -1
  168. package/dist/src/services/SignatureService.d.ts.map +1 -1
  169. package/dist/src/services/StreamChatService.d.ts +378 -0
  170. package/dist/src/services/StreamChatService.d.ts.map +1 -0
  171. package/dist/src/services/StreamTokenServiceBase.d.ts +371 -0
  172. package/dist/src/services/StreamTokenServiceBase.d.ts.map +1 -0
  173. package/dist/src/services/StreamWebSocketService.d.ts +268 -0
  174. package/dist/src/services/StreamWebSocketService.d.ts.map +1 -0
  175. package/dist/src/services/StreamingEventService.d.ts +431 -0
  176. package/dist/src/services/StreamingEventService.d.ts.map +1 -0
  177. package/dist/src/services/StreamingService.d.ts +547 -0
  178. package/dist/src/services/StreamingService.d.ts.map +1 -0
  179. package/dist/src/services/SwapEventQueue.d.ts +2 -2
  180. package/dist/src/services/SwapEventQueue.d.ts.map +1 -1
  181. package/dist/src/services/TokenBanService.d.ts +214 -0
  182. package/dist/src/services/TokenBanService.d.ts.map +1 -0
  183. package/dist/src/services/TokenClassKeyService.d.ts.map +1 -1
  184. package/dist/src/services/TokenMetadataCache.d.ts +36 -27
  185. package/dist/src/services/TokenMetadataCache.d.ts.map +1 -1
  186. package/dist/src/services/TokenMetadataService.d.ts +24 -4
  187. package/dist/src/services/TokenMetadataService.d.ts.map +1 -1
  188. package/dist/src/services/TokenResolverService.d.ts.map +1 -1
  189. package/dist/src/services/TradeService.d.ts +73 -0
  190. package/dist/src/services/TradeService.d.ts.map +1 -1
  191. package/dist/src/services/UserService.d.ts +56 -3
  192. package/dist/src/services/UserService.d.ts.map +1 -1
  193. package/dist/src/services/WebSocketService.d.ts +3 -3
  194. package/dist/src/services/WebSocketService.d.ts.map +1 -1
  195. package/dist/src/services/WrapService.d.ts +18 -5
  196. package/dist/src/services/WrapService.d.ts.map +1 -1
  197. package/dist/src/services/WrappableTokenCache.d.ts +8 -36
  198. package/dist/src/services/WrappableTokenCache.d.ts.map +1 -1
  199. package/dist/src/services/WrappableTokenService.d.ts +18 -12
  200. package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
  201. package/dist/src/services/shared/cache-helpers.d.ts +188 -0
  202. package/dist/src/services/shared/cache-helpers.d.ts.map +1 -0
  203. package/dist/src/services/shared/http-helpers.d.ts +146 -0
  204. package/dist/src/services/shared/http-helpers.d.ts.map +1 -0
  205. package/dist/src/services/shared/pagination-helpers.d.ts +157 -0
  206. package/dist/src/services/shared/pagination-helpers.d.ts.map +1 -0
  207. package/dist/src/services/shared/service-validators.d.ts +137 -0
  208. package/dist/src/services/shared/service-validators.d.ts.map +1 -0
  209. package/dist/src/services/shared/websocket-helpers.d.ts +158 -0
  210. package/dist/src/services/shared/websocket-helpers.d.ts.map +1 -0
  211. package/dist/src/test-constants.d.ts +29 -0
  212. package/dist/src/test-constants.d.ts.map +1 -0
  213. package/dist/src/types/api-key.dto.d.ts +300 -0
  214. package/dist/src/types/api-key.dto.d.ts.map +1 -0
  215. package/dist/src/types/backend-responses.d.ts +12 -0
  216. package/dist/src/types/backend-responses.d.ts.map +1 -1
  217. package/dist/src/types/ban.dto.d.ts +413 -0
  218. package/dist/src/types/ban.dto.d.ts.map +1 -0
  219. package/dist/src/types/burn.dto.d.ts +21 -0
  220. package/dist/src/types/burn.dto.d.ts.map +1 -1
  221. package/dist/src/types/chat-messages.dto.d.ts +193 -0
  222. package/dist/src/types/chat-messages.dto.d.ts.map +1 -0
  223. package/dist/src/types/comment.dto.d.ts +180 -0
  224. package/dist/src/types/comment.dto.d.ts.map +1 -0
  225. package/dist/src/types/comments.dto.d.ts +210 -0
  226. package/dist/src/types/comments.dto.d.ts.map +1 -0
  227. package/dist/src/types/common.d.ts +369 -0
  228. package/dist/src/types/common.d.ts.map +1 -1
  229. package/dist/src/types/constraints.d.ts +374 -0
  230. package/dist/src/types/constraints.d.ts.map +1 -0
  231. package/dist/src/types/content-flag.dto.d.ts +310 -0
  232. package/dist/src/types/content-flag.dto.d.ts.map +1 -0
  233. package/dist/src/types/content-reactions.dto.d.ts +132 -0
  234. package/dist/src/types/content-reactions.dto.d.ts.map +1 -0
  235. package/dist/src/types/dex-pool.dto.d.ts +13 -37
  236. package/dist/src/types/dex-pool.dto.d.ts.map +1 -1
  237. package/dist/src/types/dto.d.ts +8 -0
  238. package/dist/src/types/dto.d.ts.map +1 -1
  239. package/dist/src/types/galachain-api.types.d.ts +30 -0
  240. package/dist/src/types/galachain-api.types.d.ts.map +1 -1
  241. package/dist/src/types/gswap-responses.types.d.ts.map +1 -1
  242. package/dist/src/types/launchpad.dto.d.ts +234 -131
  243. package/dist/src/types/launchpad.dto.d.ts.map +1 -1
  244. package/dist/src/types/launchpad.validation.d.ts.map +1 -1
  245. package/dist/src/types/lock.dto.d.ts +20 -35
  246. package/dist/src/types/lock.dto.d.ts.map +1 -1
  247. package/dist/src/types/moderator.dto.d.ts +581 -0
  248. package/dist/src/types/moderator.dto.d.ts.map +1 -0
  249. package/dist/src/types/options.dto.d.ts +25 -115
  250. package/dist/src/types/options.dto.d.ts.map +1 -1
  251. package/dist/src/types/overseer.dto.d.ts +420 -0
  252. package/dist/src/types/overseer.dto.d.ts.map +1 -0
  253. package/dist/src/types/pool.dto.d.ts +106 -0
  254. package/dist/src/types/pool.dto.d.ts.map +1 -0
  255. package/dist/src/types/result.types.d.ts +3 -2
  256. package/dist/src/types/result.types.d.ts.map +1 -1
  257. package/dist/src/types/session-auth.dto.d.ts +91 -0
  258. package/dist/src/types/session-auth.dto.d.ts.map +1 -0
  259. package/dist/src/types/stream-chat.dto.d.ts +815 -0
  260. package/dist/src/types/stream-chat.dto.d.ts.map +1 -0
  261. package/dist/src/types/streaming-events.dto.d.ts +586 -0
  262. package/dist/src/types/streaming-events.dto.d.ts.map +1 -0
  263. package/dist/src/types/streaming.dto.d.ts +1141 -0
  264. package/dist/src/types/streaming.dto.d.ts.map +1 -0
  265. package/dist/src/types/token-ban.dto.d.ts +195 -0
  266. package/dist/src/types/token-ban.dto.d.ts.map +1 -0
  267. package/dist/src/types/trade.dto.d.ts +21 -61
  268. package/dist/src/types/trade.dto.d.ts.map +1 -1
  269. package/dist/src/types/trades-query.dto.d.ts +127 -0
  270. package/dist/src/types/trades-query.dto.d.ts.map +1 -0
  271. package/dist/src/types/transfer.dto.d.ts +20 -15
  272. package/dist/src/types/transfer.dto.d.ts.map +1 -1
  273. package/dist/src/types/user.dto.d.ts +185 -73
  274. package/dist/src/types/user.dto.d.ts.map +1 -1
  275. package/dist/src/types/wrappable-token.dto.d.ts +6 -2
  276. package/dist/src/types/wrappable-token.dto.d.ts.map +1 -1
  277. package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -1
  278. package/dist/src/utils/Logger.d.ts.map +1 -1
  279. package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -1
  280. package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -1
  281. package/dist/src/utils/ReconnectionManager.d.ts +142 -0
  282. package/dist/src/utils/ReconnectionManager.d.ts.map +1 -0
  283. package/dist/src/utils/SignatureHelper.d.ts +9 -0
  284. package/dist/src/utils/SignatureHelper.d.ts.map +1 -1
  285. package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -1
  286. package/dist/src/utils/adapters.d.ts.map +1 -1
  287. package/dist/src/utils/address-formatter.d.ts +317 -0
  288. package/dist/src/utils/address-formatter.d.ts.map +1 -0
  289. package/dist/src/utils/agent-config.d.ts.map +1 -1
  290. package/dist/src/utils/amount-validator.d.ts +268 -0
  291. package/dist/src/utils/amount-validator.d.ts.map +1 -0
  292. package/dist/src/utils/api-patterns.d.ts +347 -0
  293. package/dist/src/utils/api-patterns.d.ts.map +1 -0
  294. package/dist/src/utils/array-helpers.d.ts +115 -0
  295. package/dist/src/utils/array-helpers.d.ts.map +1 -0
  296. package/dist/src/utils/async-patterns.d.ts +272 -0
  297. package/dist/src/utils/async-patterns.d.ts.map +1 -0
  298. package/dist/src/utils/auto-pagination.d.ts +195 -2
  299. package/dist/src/utils/auto-pagination.d.ts.map +1 -1
  300. package/dist/src/utils/bignumber-helpers.d.ts +119 -13
  301. package/dist/src/utils/bignumber-helpers.d.ts.map +1 -1
  302. package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -1
  303. package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -1
  304. package/dist/src/utils/cacheWarmingHelpers.d.ts +2 -2
  305. package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -1
  306. package/dist/src/utils/data-transform-patterns.d.ts +393 -0
  307. package/dist/src/utils/data-transform-patterns.d.ts.map +1 -0
  308. package/dist/src/utils/date-utils.d.ts +166 -0
  309. package/dist/src/utils/date-utils.d.ts.map +1 -1
  310. package/dist/src/utils/delimiter-parser.d.ts +139 -0
  311. package/dist/src/utils/delimiter-parser.d.ts.map +1 -0
  312. package/dist/src/utils/error-factories.d.ts +346 -1
  313. package/dist/src/utils/error-factories.d.ts.map +1 -1
  314. package/dist/src/utils/error-handling-patterns.d.ts +390 -0
  315. package/dist/src/utils/error-handling-patterns.d.ts.map +1 -0
  316. package/dist/src/utils/error-patterns.d.ts +360 -0
  317. package/dist/src/utils/error-patterns.d.ts.map +1 -0
  318. package/dist/src/utils/error-utils.d.ts +250 -0
  319. package/dist/src/utils/error-utils.d.ts.map +1 -1
  320. package/dist/src/utils/error-wrapper.d.ts +208 -0
  321. package/dist/src/utils/error-wrapper.d.ts.map +1 -0
  322. package/dist/src/utils/errors.d.ts +70 -0
  323. package/dist/src/utils/errors.d.ts.map +1 -1
  324. package/dist/src/utils/http-factory.d.ts +36 -0
  325. package/dist/src/utils/http-factory.d.ts.map +1 -0
  326. package/dist/src/utils/http.d.ts.map +1 -1
  327. package/dist/src/utils/load-env.d.ts.map +1 -1
  328. package/dist/src/utils/multipart.d.ts.map +1 -1
  329. package/dist/src/utils/numeric-patterns.d.ts +289 -0
  330. package/dist/src/utils/numeric-patterns.d.ts.map +1 -0
  331. package/dist/src/utils/numeric-wrappers.d.ts +146 -0
  332. package/dist/src/utils/numeric-wrappers.d.ts.map +1 -0
  333. package/dist/src/utils/object-extractors.d.ts +115 -0
  334. package/dist/src/utils/object-extractors.d.ts.map +1 -0
  335. package/dist/src/utils/object-patterns.d.ts +81 -0
  336. package/dist/src/utils/object-patterns.d.ts.map +1 -0
  337. package/dist/src/utils/pagination-helpers.d.ts +230 -0
  338. package/dist/src/utils/pagination-helpers.d.ts.map +1 -0
  339. package/dist/src/utils/pool-pair-parser.d.ts +3 -1
  340. package/dist/src/utils/pool-pair-parser.d.ts.map +1 -1
  341. package/dist/src/utils/pool-state-validator.d.ts.map +1 -1
  342. package/dist/src/utils/position-filters.d.ts +1 -2
  343. package/dist/src/utils/position-filters.d.ts.map +1 -1
  344. package/dist/src/utils/query-params.d.ts +0 -16
  345. package/dist/src/utils/query-params.d.ts.map +1 -1
  346. package/dist/src/utils/response-handlers.d.ts +149 -20
  347. package/dist/src/utils/response-handlers.d.ts.map +1 -1
  348. package/dist/src/utils/response-helpers.d.ts +28 -0
  349. package/dist/src/utils/response-helpers.d.ts.map +1 -0
  350. package/dist/src/utils/response-normalizers.d.ts +27 -49
  351. package/dist/src/utils/response-normalizers.d.ts.map +1 -1
  352. package/dist/src/utils/safe-parsers.d.ts +487 -0
  353. package/dist/src/utils/safe-parsers.d.ts.map +1 -0
  354. package/dist/src/utils/service-validators.d.ts +268 -0
  355. package/dist/src/utils/service-validators.d.ts.map +1 -0
  356. package/dist/src/utils/slippage-utils.d.ts.map +1 -1
  357. package/dist/src/utils/string-patterns.d.ts +404 -0
  358. package/dist/src/utils/string-patterns.d.ts.map +1 -0
  359. package/dist/src/utils/string-transforms.d.ts +89 -0
  360. package/dist/src/utils/string-transforms.d.ts.map +1 -0
  361. package/dist/src/utils/string-utils.d.ts +108 -0
  362. package/dist/src/utils/string-utils.d.ts.map +1 -0
  363. package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -1
  364. package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -1
  365. package/dist/src/utils/token-format-converter.d.ts +22 -8
  366. package/dist/src/utils/token-format-converter.d.ts.map +1 -1
  367. package/dist/src/utils/token-parser.d.ts +2 -2
  368. package/dist/src/utils/token-parser.d.ts.map +1 -1
  369. package/dist/src/utils/token-stringification.d.ts +168 -0
  370. package/dist/src/utils/token-stringification.d.ts.map +1 -0
  371. package/dist/src/utils/tokenNameNormalizer.d.ts +96 -0
  372. package/dist/src/utils/tokenNameNormalizer.d.ts.map +1 -0
  373. package/dist/src/utils/tokenNormalizer.d.ts +8 -45
  374. package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
  375. package/dist/src/utils/transfer-validation.d.ts +1 -1
  376. package/dist/src/utils/transfer-validation.d.ts.map +1 -1
  377. package/dist/src/utils/type-guard-factory.d.ts +260 -0
  378. package/dist/src/utils/type-guard-factory.d.ts.map +1 -0
  379. package/dist/src/utils/unique-key-generator.d.ts +148 -0
  380. package/dist/src/utils/unique-key-generator.d.ts.map +1 -0
  381. package/dist/src/utils/validation-helpers.d.ts +906 -183
  382. package/dist/src/utils/validation-helpers.d.ts.map +1 -1
  383. package/dist/src/utils/validation-patterns.d.ts +745 -0
  384. package/dist/src/utils/validation-patterns.d.ts.map +1 -0
  385. package/dist/src/utils/validation.d.ts +2 -30
  386. package/dist/src/utils/validation.d.ts.map +1 -1
  387. package/dist/src/utils/wallet.d.ts +12 -1
  388. package/dist/src/utils/wallet.d.ts.map +1 -1
  389. package/dist/src/utils/websocket-patterns.d.ts +681 -0
  390. package/dist/src/utils/websocket-patterns.d.ts.map +1 -0
  391. package/dist/src/utils/websocket-validators.d.ts.map +1 -1
  392. package/package.json +86 -19
  393. package/dist/src/bridge/strategies/index.d.ts +0 -9
  394. package/dist/src/bridge/strategies/index.d.ts.map +0 -1
  395. package/dist/src/constants/counts.d.ts +0 -66
  396. package/dist/src/constants/counts.d.ts.map +0 -1
  397. package/dist/src/services/WebSocketManager.d.ts +0 -99
  398. package/dist/src/services/WebSocketManager.d.ts.map +0 -1
  399. package/dist/src/types/eip712-types.d.ts +0 -140
  400. package/dist/src/types/eip712-types.d.ts.map +0 -1
  401. package/dist/src/types/pool-state-manager-config.dto.d.ts +0 -103
  402. package/dist/src/types/pool-state-manager-config.dto.d.ts.map +0 -1
  403. package/dist/src/utils/number-utils.d.ts +0 -94
  404. package/dist/src/utils/number-utils.d.ts.map +0 -1
  405. package/dist/src/utils/precision-math.d.ts +0 -37
  406. package/dist/src/utils/precision-math.d.ts.map +0 -1
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Moderator Invite Service
3
+ *
4
+ * Handles all moderator invite operations including creating/revoking invites,
5
+ * claiming invites, listing invites, and managing moderated tokens.
6
+ *
7
+ * @category Services
8
+ * @since 5.7.0
9
+ */
10
+ import { HttpClient } from '../utils/http';
11
+ import { StreamTokenServiceBase } from './StreamTokenServiceBase';
12
+ import type { JwtAuth } from '../auth/JwtAuth';
13
+ import { CreateModeratorInviteOptions, ClaimModeratorInviteOptions, ListModeratorInvitesOptions, GetModeratedTokensOptions, UpdateInviteRoleOptions, CreateModeratorInviteResult, ClaimModeratorInviteResult, ModeratorInviteListResult, ModeratedTokensResult, UpdateInviteRoleResult, PublicInviteInfo } from '../types/moderator.dto';
14
+ /**
15
+ * Moderator Invite Service Class
16
+ *
17
+ * Provides methods for:
18
+ * - Creating and revoking moderator invites (token owner)
19
+ * - Claiming invites (moderators)
20
+ * - Listing invites for a token (owner)
21
+ * - Getting tokens a user moderates (moderator /studio dashboard)
22
+ * - Getting invite details by code (public - for claim page)
23
+ *
24
+ * All endpoints require JWT authentication except getInviteByCode which is public.
25
+ *
26
+ * @remarks
27
+ * **Case Normalization**: Token names are automatically normalized to lowercase
28
+ * in all requests and responses for consistency.
29
+ *
30
+ * **Security**: This service uses JWT authentication via Authorization header.
31
+ * When using from browser clients, ensure tokens are stored securely
32
+ * (e.g., in memory, not localStorage) to prevent XSS token theft.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const moderatorService = new ModeratorService(httpClient, undefined, jwtAuth, true);
37
+ *
38
+ * // Create an invite (as token owner)
39
+ * const invite = await moderatorService.createInvite({
40
+ * tokenName: 'mytoken',
41
+ * role: 'MODERATOR',
42
+ * description: 'John - Friday shows'
43
+ * });
44
+ * console.log('Share this link:', invite.invite.inviteUrl);
45
+ *
46
+ * // Claim an invite (as moderator)
47
+ * const claimed = await moderatorService.claimInvite({
48
+ * inviteCode: 'abc123...'
49
+ * });
50
+ * console.log('Now moderating:', claimed.token.tokenName);
51
+ *
52
+ * // Get tokens user moderates (for /studio dashboard)
53
+ * const moderated = await moderatorService.getModeratedTokens({ page: 1, limit: 20 });
54
+ * console.log('Moderating', moderated.tokens.length, 'tokens');
55
+ * ```
56
+ */
57
+ export declare class ModeratorService extends StreamTokenServiceBase {
58
+ constructor(http: HttpClient, adminApiKey?: string, jwtAuth?: JwtAuth, debugMode?: boolean);
59
+ /**
60
+ * Validate moderator role
61
+ */
62
+ private validateRole;
63
+ /**
64
+ * Validate invite code format
65
+ */
66
+ private validateInviteCodeFormat;
67
+ /**
68
+ * Validate invite scope
69
+ */
70
+ private validateInviteScope;
71
+ /**
72
+ * Create a moderator invite for a token
73
+ *
74
+ * JWT-authenticated endpoint - requires the authenticated user to be the token owner.
75
+ *
76
+ * Supports two invite scopes:
77
+ * - **TOKEN** (default): Access to a specific token only. `tokenName` is required.
78
+ * - **ALL_OWNER_TOKENS**: Blanket access to ALL tokens owned by the inviter.
79
+ * The moderator gains access to current and future tokens. `tokenName` should be omitted.
80
+ *
81
+ * @param options Create options including inviteScope, tokenName (for TOKEN scope), role, and optional description/expiration
82
+ * @returns Created invite data including the invite URL for sharing
83
+ * @throws ValidationError if parameters are invalid
84
+ * @throws ConfigurationError if JWT is not configured
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * // Create a moderator invite for a specific token (TOKEN scope - default)
89
+ * const result = await moderatorService.createInvite({
90
+ * tokenName: 'mytoken',
91
+ * role: 'MODERATOR',
92
+ * description: 'John - Friday evening shows'
93
+ * });
94
+ * console.log('Share link:', result.invite.inviteUrl);
95
+ *
96
+ * // Create a blanket invite for ALL tokens (ALL_OWNER_TOKENS scope)
97
+ * const blanketResult = await moderatorService.createInvite({
98
+ * inviteScope: 'ALL_OWNER_TOKENS',
99
+ * role: 'MANAGER',
100
+ * description: 'Production team - full access'
101
+ * });
102
+ *
103
+ * // Create invite with expiration
104
+ * const result = await moderatorService.createInvite({
105
+ * tokenName: 'mytoken',
106
+ * role: 'TECHNICAL_PRODUCER',
107
+ * expiresAt: '2025-12-31T23:59:59Z'
108
+ * });
109
+ * ```
110
+ */
111
+ createInvite(options: CreateModeratorInviteOptions): Promise<CreateModeratorInviteResult>;
112
+ /**
113
+ * List all invites for a token (owner only)
114
+ *
115
+ * JWT-authenticated endpoint - requires the authenticated user to be the token owner.
116
+ *
117
+ * @param options List options including tokenName and optional status filter/pagination
118
+ * @returns Paginated list of invites
119
+ * @throws ValidationError if token name is invalid
120
+ * @throws ConfigurationError if JWT is not configured
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * // Get all invites
125
+ * const result = await moderatorService.listInvites({
126
+ * tokenName: 'mytoken'
127
+ * });
128
+ * console.log('Total invites:', result.meta.totalItems);
129
+ *
130
+ * // Filter by status
131
+ * const pending = await moderatorService.listInvites({
132
+ * tokenName: 'mytoken',
133
+ * status: 'PENDING'
134
+ * });
135
+ *
136
+ * // Paginate
137
+ * const page2 = await moderatorService.listInvites({
138
+ * tokenName: 'mytoken',
139
+ * page: 2,
140
+ * limit: 10
141
+ * });
142
+ * ```
143
+ */
144
+ listInvites(options: ListModeratorInvitesOptions): Promise<ModeratorInviteListResult>;
145
+ /**
146
+ * Revoke a moderator invite (owner only)
147
+ *
148
+ * JWT-authenticated endpoint - requires the authenticated user to be the token owner.
149
+ * This revokes the invite, preventing it from being claimed. If already claimed,
150
+ * the moderator loses access.
151
+ *
152
+ * @param inviteId The ID of the invite to revoke
153
+ * @throws ValidationError if invite ID is invalid
154
+ * @throws ConfigurationError if JWT is not configured
155
+ * @throws Error if invite not found (404) or not authorized (403)
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * await moderatorService.revokeInvite(123);
160
+ * console.log('Invite revoked');
161
+ * ```
162
+ */
163
+ revokeInvite(inviteId: number): Promise<void>;
164
+ /**
165
+ * Update the role of a moderator invite (owner only)
166
+ *
167
+ * JWT-authenticated endpoint - requires the authenticated user to be the token owner.
168
+ * This changes the role granted by the invite. For claimed invites, the moderator's
169
+ * effective permissions change immediately (enforced at runtime).
170
+ *
171
+ * @param options Update options including inviteId and new role
172
+ * @returns Updated invite data
173
+ * @throws ValidationError if parameters are invalid
174
+ * @throws ConfigurationError if JWT is not configured
175
+ * @throws Error if invite not found (404) or not authorized (403)
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * // Upgrade a moderator to manager
180
+ * const result = await moderatorService.updateInviteRole({
181
+ * inviteId: 123,
182
+ * role: 'MANAGER'
183
+ * });
184
+ * console.log('Updated role:', result.invite.role);
185
+ *
186
+ * // Downgrade a manager to moderator
187
+ * await moderatorService.updateInviteRole({
188
+ * inviteId: 456,
189
+ * role: 'MODERATOR'
190
+ * });
191
+ * ```
192
+ */
193
+ updateInviteRole(options: UpdateInviteRoleOptions): Promise<UpdateInviteRoleResult>;
194
+ /**
195
+ * Claim a moderator invite
196
+ *
197
+ * JWT-authenticated endpoint - requires the user to be logged in.
198
+ * The authenticated user's wallet becomes the moderator for the token(s).
199
+ *
200
+ * Returns different result structure based on invite scope:
201
+ * - **TOKEN** scope: Returns `{ token }` with the specific token details
202
+ * - **ALL_OWNER_TOKENS** scope: Returns `{ blanketAccess }` with scope/role info
203
+ *
204
+ * @param options Claim options including the invite code
205
+ * @returns For TOKEN scope: `{ token }`. For ALL_OWNER_TOKENS: `{ blanketAccess }`
206
+ * @throws ValidationError if invite code is invalid or invite already claimed/revoked/expired
207
+ * @throws ConfigurationError if JWT is not configured
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * const result = await moderatorService.claimInvite({
212
+ * inviteCode: 'abc123def456...'
213
+ * });
214
+ *
215
+ * // Check which type of invite was claimed
216
+ * if (result.token) {
217
+ * // TOKEN scope - specific token access
218
+ * console.log('Now moderating:', result.token.tokenName);
219
+ * console.log('Role:', result.token.role);
220
+ * } else if (result.blanketAccess) {
221
+ * // ALL_OWNER_TOKENS scope - blanket access to all owner's tokens
222
+ * console.log('Granted blanket access as:', result.blanketAccess.role);
223
+ * }
224
+ * ```
225
+ */
226
+ claimInvite(options: ClaimModeratorInviteOptions): Promise<ClaimModeratorInviteResult>;
227
+ /**
228
+ * Get all tokens the current user moderates
229
+ *
230
+ * JWT-authenticated endpoint. Returns all tokens where the authenticated
231
+ * user has claimed a moderator invite and has active access.
232
+ * Used for the /studio dashboard.
233
+ *
234
+ * @param options Optional pagination options
235
+ * @returns Paginated list of moderated tokens
236
+ * @throws ConfigurationError if JWT is not configured
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const result = await moderatorService.getModeratedTokens();
241
+ * console.log('Moderating', result.meta.totalItems, 'tokens');
242
+ *
243
+ * for (const token of result.tokens) {
244
+ * console.log(`- ${token.tokenName} (${token.role})`);
245
+ * }
246
+ * ```
247
+ */
248
+ getModeratedTokens(options?: GetModeratedTokensOptions): Promise<ModeratedTokensResult>;
249
+ /**
250
+ * Get invite details by code (public endpoint)
251
+ *
252
+ * This is a public endpoint used by the frontend claim page to display
253
+ * invite information before the user logs in to claim.
254
+ *
255
+ * @param inviteCode The invite code from the magic link URL
256
+ * @returns Public invite information (token name, role, inviter info)
257
+ * @throws ValidationError if invite code format is invalid
258
+ * @throws Error if invite not found (404)
259
+ *
260
+ * @example
261
+ * ```typescript
262
+ * const info = await moderatorService.getInviteByCode('abc123def456...');
263
+ * console.log(`Invited to moderate ${info.tokenName} as ${info.role}`);
264
+ * console.log(`Invited by: ${info.invitedBy.fullName || info.invitedBy.address}`);
265
+ * ```
266
+ */
267
+ getInviteByCode(inviteCode: string): Promise<PublicInviteInfo>;
268
+ }
269
+ //# sourceMappingURL=ModeratorService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeratorService.d.ts","sourceRoot":"","sources":["../../../src/services/ModeratorService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAiBjB,MAAM,wBAAwB,CAAC;AAOhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,gBAAiB,SAAQ,sBAAsB;gBAExD,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,EACjB,SAAS,GAAE,OAAe;IAK5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAuD/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAmC3F;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAenD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2BzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA2B5F;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2B7F;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAYrE"}
@@ -21,6 +21,7 @@ import type { Socket } from 'socket.io-client';
21
21
  import type { SwapEventCallback, SubscribeSwapOptions, SwapMonitorConfig, SwapMonitorHealth, CleanupFunction } from '../types/swap-monitor.dto';
22
22
  import type { CompositePoolDataResult } from '../types/composite-pool.dto';
23
23
  import { Logger } from '../utils/Logger';
24
+ import { LoggerBase } from './BaseService';
24
25
  import type { DexQuoteService } from './DexQuoteService';
25
26
  /**
26
27
  * Manages real-time DEX swap monitoring across multiple pools
@@ -30,11 +31,10 @@ import type { DexQuoteService } from './DexQuoteService';
30
31
  *
31
32
  * @internal
32
33
  */
33
- export declare class MultiPoolStateManager {
34
+ export declare class MultiPoolStateManager extends LoggerBase {
34
35
  private socket;
35
36
  private socketReady;
36
37
  private readonly config;
37
- private readonly logger;
38
38
  private readonly metrics;
39
39
  private readonly eventExtractor;
40
40
  private readonly quoteService;
@@ -50,10 +50,8 @@ export declare class MultiPoolStateManager {
50
50
  private handleSwapEvent;
51
51
  /** Background warming loop interval handle */
52
52
  private warmingIntervalHandle;
53
- /** Reconnection state tracking */
54
- private reconnectAttempts;
55
- private maxReconnectAttempts;
56
- private reconnectDelayMs;
53
+ /** Reconnection manager for handling connection failures */
54
+ private reconnectionManager;
57
55
  constructor(socket: Socket | Promise<Socket>, fetchPoolFn: (poolKey: string) => Promise<CompositePoolDataResult>, quoteService: DexQuoteService, config?: SwapMonitorConfig, logger?: Logger);
58
56
  /**
59
57
  * Subscribe to swap events for real-time monitoring
@@ -1 +1 @@
1
- {"version":3,"file":"MultiPoolStateManager.d.ts","sourceRoot":"","sources":["../../../src/services/MultiPoolStateManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiPoolStateManager.d.ts","sourceRoot":"","sources":["../../../src/services/MultiPoolStateManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Network-Keyed Cache Service Base Class
3
+ *
4
+ * Abstraction for caches that store items partitioned by network key
5
+ * (e.g., 'ETHEREUM', 'SOLANA'). Extends BatchedCacheService patterns
6
+ * for network-partitioned storage with dual O(1) indices.
7
+ *
8
+ * ## Features
9
+ * - Network-partitioned storage (Map<Network, Map<Key, Item>>)
10
+ * - Primary index by symbol/key + secondary index by tokenId
11
+ * - Batch operations per network (set, merge)
12
+ * - Timestamp tracking per network
13
+ * - Common normalization via normalizeTokenKey()
14
+ *
15
+ * ## Subclass Responsibilities
16
+ * - Implement `extractPrimaryKey()` for primary index (e.g., symbol)
17
+ * - Implement `extractSecondaryKey()` for secondary index (e.g., tokenId)
18
+ * - Implement `getStats()` for domain-specific statistics
19
+ *
20
+ * @category Services
21
+ * @since 5.12.0
22
+ * @template V - Value type stored in cache
23
+ * @template K - Network key type (e.g., 'ETHEREUM' | 'SOLANA')
24
+ * @template S - Statistics type
25
+ */
26
+ import { LoggerBase } from './BaseService.js';
27
+ /**
28
+ * Base cache statistics for network-keyed caches
29
+ */
30
+ export interface NetworkKeyedCacheStats<K extends string = string> {
31
+ /** Networks with cached data */
32
+ networks: K[];
33
+ /** Total items across all networks */
34
+ totalItems: number;
35
+ /** Item count per network */
36
+ itemsByNetwork: Record<K, number>;
37
+ /** Fetch timestamps per network */
38
+ fetchTimestamps: Record<K, number>;
39
+ }
40
+ /**
41
+ * Network-keyed cache service with dual O(1) indices
42
+ *
43
+ * Provides reusable cache operations for network-partitioned token data.
44
+ * Uses dual Map indices for efficient lookups by both symbol and tokenId.
45
+ *
46
+ * @template V - Value type stored in cache
47
+ * @template K - Network key type (e.g., 'ETHEREUM' | 'SOLANA')
48
+ * @template S - Statistics type extending NetworkKeyedCacheStats
49
+ */
50
+ export declare abstract class NetworkKeyedCacheService<V, K extends string = string, S extends NetworkKeyedCacheStats<K> = NetworkKeyedCacheStats<K>> extends LoggerBase {
51
+ /** Primary index: network -> (primaryKey -> item) */
52
+ protected readonly primaryIndex: Map<K, Map<string, V>>;
53
+ /** Secondary index: network -> (secondaryKey -> item) */
54
+ protected readonly secondaryIndex: Map<K, Map<string, V>>;
55
+ /** Fetch timestamps per network */
56
+ protected readonly fetchTimestamps: Map<K, number>;
57
+ constructor(debugMode?: boolean);
58
+ /**
59
+ * Normalize key for consistent cache lookups
60
+ *
61
+ * Uses common tokenNameNormalizer for uppercase, trimmed keys.
62
+ *
63
+ * @param key - Raw key to normalize
64
+ * @returns Normalized key string
65
+ */
66
+ protected normalizeKey(key: string): string;
67
+ /**
68
+ * Extract the primary key from an item (e.g., symbol)
69
+ *
70
+ * @param item - Item to extract primary key from
71
+ * @returns Primary key string
72
+ */
73
+ protected abstract extractPrimaryKey(item: V): string;
74
+ /**
75
+ * Extract the secondary key from an item (e.g., stringifiedTokenClassKey)
76
+ *
77
+ * @param item - Item to extract secondary key from
78
+ * @returns Secondary key string
79
+ */
80
+ protected abstract extractSecondaryKey(item: V): string;
81
+ /**
82
+ * Check if cache has data for a network
83
+ *
84
+ * @param network - Network to check
85
+ * @returns True if network has cached items
86
+ */
87
+ has(network: K): boolean;
88
+ /**
89
+ * Get all items for a network
90
+ *
91
+ * @param network - Network to get items for
92
+ * @returns Array of cached items (empty if not cached)
93
+ */
94
+ getAll(network: K): V[];
95
+ /**
96
+ * Get item by primary key (e.g., symbol)
97
+ *
98
+ * @param network - Network to search
99
+ * @param key - Primary key (case-insensitive)
100
+ * @returns Item or undefined if not found
101
+ */
102
+ getByPrimaryKey(network: K, key: string): V | undefined;
103
+ /**
104
+ * Get item by secondary key (e.g., tokenId)
105
+ *
106
+ * Uses the secondary index for O(1) lookup performance.
107
+ *
108
+ * @param network - Network to search
109
+ * @param key - Secondary key (case-insensitive)
110
+ * @returns Item or undefined if not found
111
+ */
112
+ getBySecondaryKey(network: K, key: string): V | undefined;
113
+ /**
114
+ * Set items for a network (replaces all existing items)
115
+ *
116
+ * @param network - Network to set items for
117
+ * @param items - Array of items to cache
118
+ */
119
+ set(network: K, items: V[]): void;
120
+ /**
121
+ * Add items to a network cache (merges with existing)
122
+ *
123
+ * Used for pagination - adds new items without replacing existing.
124
+ *
125
+ * @param network - Network to add items to
126
+ * @param items - Array of items to add
127
+ */
128
+ merge(network: K, items: V[]): void;
129
+ /**
130
+ * Get fetch timestamp for a network
131
+ *
132
+ * @param network - Network to get timestamp for
133
+ * @returns Timestamp when network was last fetched, or undefined
134
+ */
135
+ getFetchTimestamp(network: K): number | undefined;
136
+ /**
137
+ * Get cache statistics
138
+ *
139
+ * Subclasses may override to add domain-specific statistics.
140
+ *
141
+ * @returns Cache statistics
142
+ */
143
+ abstract getStats(): S;
144
+ /**
145
+ * Build base statistics (helper for subclasses)
146
+ *
147
+ * @param defaultNetworks - Default networks to include in stats
148
+ * @returns Base statistics object
149
+ */
150
+ protected buildBaseStats(defaultNetworks: K[]): NetworkKeyedCacheStats<K>;
151
+ /**
152
+ * Clear cache for a network or all networks
153
+ *
154
+ * @param network - Optional network to clear (clears all if not provided)
155
+ */
156
+ clear(network?: K): void;
157
+ /**
158
+ * Get item count for a network
159
+ *
160
+ * @param network - Network to count items for
161
+ * @returns Number of cached items
162
+ */
163
+ size(network: K): number;
164
+ /**
165
+ * Check if item exists by primary key
166
+ *
167
+ * @param network - Network to check
168
+ * @param key - Primary key (case-insensitive)
169
+ * @returns True if item is cached
170
+ */
171
+ hasByPrimaryKey(network: K, key: string): boolean;
172
+ /**
173
+ * Get all cached networks
174
+ *
175
+ * @returns Array of networks with cached items
176
+ */
177
+ getCachedNetworks(): K[];
178
+ /**
179
+ * Dump entire cache contents
180
+ *
181
+ * @returns Full cache contents for all cached networks
182
+ */
183
+ dump(): Record<K, V[]>;
184
+ }
185
+ //# sourceMappingURL=NetworkKeyedCacheService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkKeyedCacheService.d.ts","sourceRoot":"","sources":["../../../src/services/NetworkKeyedCacheService.ts"],"names":[],"mappings":"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"}