@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,227 @@
1
+ /**
2
+ * Abstract Cache Service Base Class
3
+ *
4
+ * Provides generic cache management functionality for all cache implementations.
5
+ * Eliminates duplication across BridgeableTokenCache, WrappableTokenCache, and TokenMetadataCache
6
+ * by providing a common interface and lifecycle management.
7
+ *
8
+ * ## Architecture
9
+ * - **Generic K/V types**: Supports any key/value structure
10
+ * - **Key normalization**: Abstract method for consistent key generation
11
+ * - **Common operations**: Get, set, has, clear, stats, dump
12
+ * - **Logging support**: Integrated with LoggerBase for debug output
13
+ *
14
+ * ## Subclass Responsibilities
15
+ * - Implement `normalizeKey()` for domain-specific key normalization
16
+ * - Override specific methods if custom behavior needed (e.g., merge, multiple indices)
17
+ * - Implement typed statistics interface extending `BaseCacheStats`
18
+ *
19
+ * @category Services
20
+ * @since 3.34.0
21
+ * @template K - Key type (string, number, etc.)
22
+ * @template V - Value type (token, metadata, etc.)
23
+ */
24
+ import { LoggerBase } from './BaseService.js';
25
+ /**
26
+ * Base cache statistics interface
27
+ *
28
+ * All cache implementations should extend this with domain-specific stats.
29
+ */
30
+ export interface BaseCacheStats {
31
+ /** Total number of items in cache */
32
+ totalItems: number;
33
+ }
34
+ /**
35
+ * Abstract cache service with generic key/value support
36
+ *
37
+ * Provides reusable cache lifecycle management for all cache implementations.
38
+ * Subclasses implement domain-specific normalization and optional enhancements.
39
+ *
40
+ * @template K - Key type for cache lookups
41
+ * @template V - Value type stored in cache
42
+ * @template S - Statistics type (must extend BaseCacheStats)
43
+ *
44
+ * @example Implementing a simple cache
45
+ * ```typescript
46
+ * import { normalizeTokenKey } from '../utils/tokenNameNormalizer';
47
+ *
48
+ * interface UserData {
49
+ * id: string;
50
+ * name: string;
51
+ * }
52
+ *
53
+ * interface UserCacheStats extends BaseCacheStats {
54
+ * userCount: number;
55
+ * lastUpdated: number;
56
+ * }
57
+ *
58
+ * class UserCache extends AbstractCacheService<string, UserData, UserCacheStats> {
59
+ * private lastUpdated = 0;
60
+ *
61
+ * protected normalizeKey(key: string): string {
62
+ * // Use normalizeTokenKey() for case-insensitive cache lookups
63
+ * return normalizeTokenKey(key);
64
+ * }
65
+ *
66
+ * getStats(): UserCacheStats {
67
+ * return {
68
+ * totalItems: this.cache.size,
69
+ * userCount: this.cache.size,
70
+ * lastUpdated: this.lastUpdated,
71
+ * };
72
+ * }
73
+ * }
74
+ * ```
75
+ */
76
+ export declare abstract class AbstractCacheService<K, V, S extends BaseCacheStats = BaseCacheStats> extends LoggerBase {
77
+ /** Primary cache storage */
78
+ protected cache: Map<string, V>;
79
+ constructor(debugMode?: boolean);
80
+ /**
81
+ * Normalize a key for consistent cache lookups
82
+ *
83
+ * Subclasses MUST implement this to handle domain-specific normalization.
84
+ * Use provided utilities from tokenNameNormalizer.ts for consistency:
85
+ * - `normalizeTokenKey()`: Trim + uppercase (for symbols, tokenIds, cache keys)
86
+ * - `normalizeTokenName()`: Trim + lowercase (for launchpad token names)
87
+ *
88
+ * @param key - Raw key to normalize
89
+ * @returns Normalized key string for Map lookups
90
+ *
91
+ * @example Token cache (symbols/tokenIds) - use normalizeTokenKey()
92
+ * ```typescript
93
+ * import { normalizeTokenKey } from '../utils/tokenNameNormalizer';
94
+ *
95
+ * protected normalizeKey(key: string): string {
96
+ * // For cache keys: uppercase for case-insensitive lookups
97
+ * return normalizeTokenKey(key);
98
+ * }
99
+ * ```
100
+ *
101
+ * @example Token name cache (backend format) - use normalizeTokenName()
102
+ * ```typescript
103
+ * import { normalizeTokenName } from '../utils/tokenNameNormalizer';
104
+ *
105
+ * protected normalizeKey(tokenName: string): string {
106
+ * // For launchpad token names: lowercase to match backend storage
107
+ * return normalizeTokenName(tokenName);
108
+ * }
109
+ * ```
110
+ */
111
+ protected abstract normalizeKey(key: K): string;
112
+ /**
113
+ * Get a value from cache
114
+ *
115
+ * @param key - Key to look up (normalized internally)
116
+ * @returns Value if found, undefined if not cached
117
+ *
118
+ * @example Basic retrieval
119
+ * ```typescript
120
+ * const token = cache.get('ethereum');
121
+ * if (token) {
122
+ * console.log('Found:', token);
123
+ * }
124
+ * ```
125
+ */
126
+ get(key: K): V | undefined;
127
+ /**
128
+ * Set a value in cache
129
+ *
130
+ * @param key - Key to store under (normalized internally)
131
+ * @param value - Value to cache
132
+ *
133
+ * @example Basic storage
134
+ * ```typescript
135
+ * cache.set('ethereum', ethereumTokens);
136
+ * ```
137
+ */
138
+ set(key: K, value: V): void;
139
+ /**
140
+ * Check if a key exists in cache
141
+ *
142
+ * @param key - Key to check (normalized internally)
143
+ * @returns True if key exists and has a value
144
+ *
145
+ * @example Existence check
146
+ * ```typescript
147
+ * if (cache.has('ethereum')) {
148
+ * const tokens = cache.get('ethereum');
149
+ * }
150
+ * ```
151
+ */
152
+ has(key: K): boolean;
153
+ /**
154
+ * Clear entire cache
155
+ *
156
+ * Resets all stored values. Override in subclasses for additional cleanup
157
+ * (e.g., clearing secondary indices, resetting timestamps).
158
+ *
159
+ * @example Clear cache
160
+ * ```typescript
161
+ * cache.clear();
162
+ * ```
163
+ */
164
+ clear(): void;
165
+ /**
166
+ * Get cache statistics
167
+ *
168
+ * Subclasses MUST implement this to return domain-specific statistics.
169
+ * Always include totalItems for monitoring purposes.
170
+ *
171
+ * @returns Statistics object with cache metrics
172
+ *
173
+ * @example Retrieving stats
174
+ * ```typescript
175
+ * const stats = cache.getStats();
176
+ * console.log(`Cached ${stats.totalItems} items`);
177
+ * ```
178
+ */
179
+ abstract getStats(): S;
180
+ /**
181
+ * Export entire cache contents
182
+ *
183
+ * Returns a Map of all cached key/value pairs. Useful for debugging,
184
+ * monitoring, and testing. Does not include secondary indices.
185
+ *
186
+ * @returns Shallow copy of cache contents
187
+ *
188
+ * @example Export cache
189
+ * ```typescript
190
+ * const contents = cache.dump();
191
+ * console.log('Cache contents:', Array.from(contents.entries()));
192
+ * ```
193
+ */
194
+ dump(): Map<string, V>;
195
+ /**
196
+ * Get number of items in cache
197
+ *
198
+ * @returns Count of cached items
199
+ */
200
+ size(): number;
201
+ /**
202
+ * Check if cache is empty
203
+ *
204
+ * @returns True if no items are cached
205
+ */
206
+ isEmpty(): boolean;
207
+ /**
208
+ * Build base statistics (helper for subclasses)
209
+ *
210
+ * Provides the common totalItems field that all caches need.
211
+ * Subclasses can extend this with domain-specific stats.
212
+ *
213
+ * @returns Base statistics with totalItems
214
+ *
215
+ * @example Extending in subclass
216
+ * ```typescript
217
+ * public getStats(): MyCacheStats {
218
+ * return {
219
+ * ...this.buildBaseStats(),
220
+ * customMetric: this.calculateCustomMetric(),
221
+ * };
222
+ * }
223
+ * ```
224
+ */
225
+ protected buildBaseStats(): BaseCacheStats;
226
+ }
227
+ //# sourceMappingURL=AbstractCacheService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractCacheService.d.ts","sourceRoot":"","sources":["../../../src/services/AbstractCacheService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,8BAAsB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,UAAU;IAC5G,4BAA4B;IAC5B,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAa;gBAEhC,SAAS,GAAE,OAAe;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM;IAE/C;;;;;;;;;;;;;OAaG;IACI,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAKjC;;;;;;;;;;OAUG;IACI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAKlC;;;;;;;;;;;;OAYG;IACI,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAK3B;;;;;;;;;;OAUG;IACI,KAAK,IAAI,IAAI;IAKpB;;;;;;;;;;;;;OAaG;aACa,QAAQ,IAAI,CAAC;IAE7B;;;;;;;;;;;;;OAaG;IACI,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAI7B;;;;OAIG;IACI,IAAI,IAAI,MAAM;IAIrB;;;;OAIG;IACI,OAAO,IAAI,OAAO;IAIzB;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,cAAc,IAAI,cAAc;CAK3C"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Abstract Token Fetch Service Base Class
3
+ *
4
+ * Provides common patterns for services that fetch and cache token data
5
+ * from the DEX API with pagination support.
6
+ *
7
+ * ## Features
8
+ * - Paginated fetch with offset/limit
9
+ * - Auto-pagination via autoPaginateOffset
10
+ * - Cache integration (via subclass-provided cache)
11
+ * - Response transformation abstraction
12
+ * - Common error handling
13
+ *
14
+ * ## Subclass Responsibilities
15
+ * - Implement `buildApiParams()` for API-specific parameters
16
+ * - Implement `transformApiResponse()` for response transformation
17
+ * - Implement cache-specific methods (network-keyed or simple)
18
+ * - Provide domain-specific public API methods
19
+ *
20
+ * ## Key Pattern
21
+ * This base class consolidates ~150 lines of duplicate code between
22
+ * BridgeableTokenService and WrappableTokenService by abstracting:
23
+ * - API request structure
24
+ * - Pagination handling
25
+ * - Cache warming patterns
26
+ * - Error handling
27
+ *
28
+ * @category Services
29
+ * @since 5.11.0
30
+ * @template TApiResponse - Raw API response item type
31
+ * @template TToken - Transformed token type for SDK use
32
+ */
33
+ import { HttpClient } from '../utils/http.js';
34
+ import { Logger } from '../utils/Logger.js';
35
+ import type { OffsetPaginationFetchResult } from '../utils/auto-pagination.js';
36
+ /** Maximum tokens per API request (backend limit) */
37
+ export declare const DEFAULT_MAX_LIMIT = 1000;
38
+ /** Default limit for paginated requests */
39
+ export declare const DEFAULT_LIMIT = 1000;
40
+ /**
41
+ * Base options for paginated token fetches
42
+ */
43
+ export interface BaseTokenFetchOptions {
44
+ /** Offset for pagination (default: 0) */
45
+ offset?: number;
46
+ /** Limit per page (default: 1000, max: 1000) */
47
+ limit?: number;
48
+ }
49
+ /**
50
+ * Base result for paginated token fetches
51
+ */
52
+ export interface BaseTokenFetchResult<T> {
53
+ /** Array of transformed tokens */
54
+ tokens: T[];
55
+ /** Timestamp when data was fetched */
56
+ fetchedAt: number;
57
+ /** Number of tokens returned */
58
+ tokenCount: number;
59
+ }
60
+ /**
61
+ * API response wrapper type (tokens array in response)
62
+ */
63
+ export interface TokensApiResponse<TApiResponse> {
64
+ tokens: TApiResponse[];
65
+ }
66
+ /**
67
+ * Abstract base class for token fetch services
68
+ *
69
+ * Consolidates common patterns for fetching and caching token data
70
+ * from the DEX API. Subclasses provide API-specific parameters and
71
+ * transformation logic.
72
+ *
73
+ * @template TApiResponse - Raw API response item type
74
+ * @template TToken - Transformed token type for SDK use
75
+ */
76
+ export declare abstract class AbstractTokenFetchService<TApiResponse, TToken> {
77
+ protected readonly dexApiHttp: HttpClient;
78
+ protected readonly logger: Logger;
79
+ constructor(dexApiHttp: HttpClient, debugMode?: boolean, loggerContext?: string);
80
+ /**
81
+ * Build API request parameters
82
+ *
83
+ * Subclasses implement this to add API-specific query parameters.
84
+ * The context parameter allows passing request-specific data (e.g., network)
85
+ * to avoid race conditions with mutable instance state.
86
+ *
87
+ * @param context - Optional context for building parameters (e.g., { network: 'ETHEREUM' })
88
+ * @returns Record of query parameters for the API request
89
+ */
90
+ protected abstract buildApiParams(context?: Record<string, unknown>): Record<string, string | number | boolean>;
91
+ /**
92
+ * Transform API response items to SDK format
93
+ *
94
+ * Subclasses implement this to convert raw API responses to typed SDK objects.
95
+ *
96
+ * @param apiTokens - Raw API response tokens
97
+ * @returns Array of transformed tokens
98
+ */
99
+ protected abstract transformApiResponse(apiTokens: TApiResponse[]): TToken[];
100
+ /**
101
+ * Get the API endpoint URL
102
+ *
103
+ * @returns API endpoint path (default: /v1/tokens)
104
+ */
105
+ protected getApiEndpoint(): string;
106
+ /**
107
+ * Get the maximum limit for API requests
108
+ *
109
+ * @returns Maximum items per request
110
+ */
111
+ protected getMaxLimit(): number;
112
+ /**
113
+ * Get the default limit for API requests
114
+ *
115
+ * @returns Default items per request
116
+ */
117
+ protected getDefaultLimit(): number;
118
+ /**
119
+ * Execute a paginated API request
120
+ *
121
+ * Core method that performs the HTTP request with pagination parameters.
122
+ * Used by both single-page and auto-paginated fetches.
123
+ *
124
+ * @param offset - Offset for pagination
125
+ * @param limit - Number of items to fetch
126
+ * @param context - Optional context for building parameters (e.g., { network: 'ETHEREUM' })
127
+ * @returns Promise resolving to transformed tokens
128
+ * @throws ValidationError if API response structure is invalid
129
+ */
130
+ protected executePaginatedRequest(offset: number, limit: number, context?: Record<string, unknown>): Promise<OffsetPaginationFetchResult<TToken>>;
131
+ /**
132
+ * Auto-paginate through all API results
133
+ *
134
+ * Fetches all pages of results automatically.
135
+ * Subclasses call this from their fetchAll methods.
136
+ *
137
+ * @param context - Optional context for building parameters (e.g., { network: 'ETHEREUM' })
138
+ * @returns Promise resolving to all transformed tokens
139
+ */
140
+ protected autoPaginateFetch(context?: Record<string, unknown>): Promise<TToken[]>;
141
+ /**
142
+ * Handle API errors consistently
143
+ *
144
+ * @param error - Error from API call
145
+ * @param message - Error message prefix
146
+ * @throws Transformed error with proper type
147
+ */
148
+ protected handleError(error: unknown, message: string): never;
149
+ }
150
+ //# sourceMappingURL=AbstractTokenFetchService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractTokenFetchService.d.ts","sourceRoot":"","sources":["../../../src/services/AbstractTokenFetchService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAK5C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE/E,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,2CAA2C;AAC3C,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,kCAAkC;IAClC,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,YAAY;IAC7C,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,8BAAsB,yBAAyB,CAAC,YAAY,EAAE,MAAM;IAIhE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IAH3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGb,UAAU,EAAE,UAAU,EACzC,SAAS,GAAE,OAAe,EAC1B,aAAa,CAAC,EAAE,MAAM;IAQxB;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE;IAE5E;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC;;;;OAIG;IACH,SAAS,CAAC,WAAW,IAAI,MAAM;IAI/B;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC;;;;;;;;;;;OAWG;cACa,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IA+B/C;;;;;;;;OAQG;cACa,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOvF;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK;CAG9D"}
@@ -0,0 +1,205 @@
1
+ /**
2
+ * API Key Service
3
+ *
4
+ * Handles all API key management operations including creating, listing,
5
+ * updating, and revoking user-managed API keys with role-based permissions.
6
+ *
7
+ * API keys enable delegation of specific permissions to third-party services
8
+ * or automated systems without sharing full account access.
9
+ *
10
+ * @category Services
11
+ * @since 5.6.0
12
+ */
13
+ import { HttpClient } from '../utils/http';
14
+ import { BaseService } from './BaseService';
15
+ import type { JwtAuth } from '../auth/JwtAuth';
16
+ import { CreateApiKeyOptions, UpdateApiKeyOptions, ListApiKeysOptions, CreateApiKeyResponse, ApiKeyData, ApiKeyListResponse } from '../types/api-key.dto';
17
+ /**
18
+ * API Key Service Class
19
+ *
20
+ * Provides methods for managing user API keys:
21
+ * - Create new API keys with role-based permissions
22
+ * - List all API keys (paginated)
23
+ * - Get single API key details
24
+ * - Update API key metadata and permissions
25
+ * - Revoke (soft delete) API keys
26
+ *
27
+ * **CRITICAL**: Raw API keys are ONLY returned on creation and cannot be
28
+ * retrieved again. Store them securely immediately after creation.
29
+ *
30
+ * All endpoints require JWT authentication - only the key owner can manage
31
+ * their API keys.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * const apiKeyService = new ApiKeyService(httpClient, jwtAuth, true);
36
+ *
37
+ * // Create a moderator key for specific tokens
38
+ * const result = await apiKeyService.create({
39
+ * role: 'MODERATOR',
40
+ * description: 'Chat moderation bot',
41
+ * tokenNames: ['mytoken', 'othertoken']
42
+ * });
43
+ * console.log('SAVE THIS KEY:', result.rawKey); // Only shown once!
44
+ *
45
+ * // List all keys
46
+ * const keys = await apiKeyService.findAll({ page: 1, limit: 20 });
47
+ *
48
+ * // Revoke a key
49
+ * await apiKeyService.revoke(keyId);
50
+ * ```
51
+ */
52
+ export declare class ApiKeyService extends BaseService {
53
+ constructor(http: HttpClient, jwtAuth?: JwtAuth, debugMode?: boolean);
54
+ /**
55
+ * Extract data from API response wrapper.
56
+ * @throws Error if response indicates failure or has no data
57
+ */
58
+ private extractData;
59
+ /**
60
+ * Validate API key ID parameter.
61
+ * @throws ValidationError if ID is not a positive integer
62
+ */
63
+ private validateApiKeyId;
64
+ /**
65
+ * Create a new API key
66
+ *
67
+ * **CRITICAL**: The `rawKey` in the response is ONLY shown once!
68
+ * Store it securely immediately - it cannot be retrieved again.
69
+ *
70
+ * @param options - API key creation options
71
+ * @returns Created API key with raw key (shown only once)
72
+ * @throws ValidationError if options are invalid
73
+ * @throws ConfigurationError if JWT auth is not configured
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // Create a moderator key for specific tokens
78
+ * const result = await apiKeyService.create({
79
+ * role: 'MODERATOR',
80
+ * description: 'Twitch chat bot integration',
81
+ * delegateAllTokens: false,
82
+ * tokenNames: ['mytoken', 'othertoken'],
83
+ * expiresAt: '2025-12-31T23:59:59Z'
84
+ * });
85
+ *
86
+ * // CRITICAL: Save this immediately!
87
+ * console.log('API Key:', result.rawKey);
88
+ * // Format: glp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
89
+ * ```
90
+ */
91
+ create(options: CreateApiKeyOptions): Promise<CreateApiKeyResponse>;
92
+ /**
93
+ * List all API keys for the authenticated user
94
+ *
95
+ * Returns paginated list of API keys. Raw keys are never included in
96
+ * list responses.
97
+ *
98
+ * @param options - Optional pagination options
99
+ * @returns Paginated list of API keys
100
+ * @throws ConfigurationError if JWT auth is not configured
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * // Get first page
105
+ * const page1 = await apiKeyService.findAll();
106
+ *
107
+ * // Get specific page with custom limit
108
+ * const page2 = await apiKeyService.findAll({ page: 2, limit: 10 });
109
+ *
110
+ * // Iterate through all keys
111
+ * for (const key of page2.apiKeys) {
112
+ * console.log(`${key.keyPrefix} - ${key.role} - ${key.description}`);
113
+ * }
114
+ * ```
115
+ */
116
+ findAll(options?: ListApiKeysOptions): Promise<ApiKeyListResponse>;
117
+ /**
118
+ * Get a single API key by ID
119
+ *
120
+ * Returns the API key metadata. Raw key is never included.
121
+ *
122
+ * @param id - API key ID
123
+ * @returns API key data
124
+ * @throws ValidationError if ID is invalid
125
+ * @throws ConfigurationError if JWT auth is not configured
126
+ * @throws Error if API key not found (404)
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * const key = await apiKeyService.findOne(123);
131
+ * console.log(`Key ${key.keyPrefix}: ${key.role}`);
132
+ * console.log(`Last used: ${key.lastUsedAt || 'Never'}`);
133
+ * console.log(`Expires: ${key.expiresAt || 'Never'}`);
134
+ * ```
135
+ */
136
+ findOne(id: number): Promise<ApiKeyData>;
137
+ /**
138
+ * Update an API key's metadata and permissions
139
+ *
140
+ * Cannot change the key itself, only metadata and permissions.
141
+ * At least one field must be provided.
142
+ *
143
+ * @param id - API key ID
144
+ * @param options - Fields to update
145
+ * @returns Updated API key data
146
+ * @throws ValidationError if ID or options are invalid
147
+ * @throws ConfigurationError if JWT auth is not configured
148
+ * @throws Error if API key not found (404)
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Update description
153
+ * await apiKeyService.update(123, {
154
+ * description: 'Updated description'
155
+ * });
156
+ *
157
+ * // Upgrade role and extend expiration
158
+ * await apiKeyService.update(123, {
159
+ * role: 'MANAGER',
160
+ * expiresAt: '2026-12-31T23:59:59Z'
161
+ * });
162
+ *
163
+ * // Delegate all tokens
164
+ * await apiKeyService.update(123, {
165
+ * delegateAllTokens: true
166
+ * });
167
+ * ```
168
+ */
169
+ update(id: number, options: UpdateApiKeyOptions): Promise<ApiKeyData>;
170
+ /**
171
+ * Revoke an API key
172
+ *
173
+ * This performs a soft delete - the key becomes immediately unusable
174
+ * but is retained for audit purposes.
175
+ *
176
+ * @param id - API key ID to revoke
177
+ * @throws ValidationError if ID is invalid
178
+ * @throws ConfigurationError if JWT auth is not configured
179
+ * @throws Error if API key not found (404)
180
+ *
181
+ * @example
182
+ * ```typescript
183
+ * // Revoke a key
184
+ * await apiKeyService.revoke(123);
185
+ * console.log('API key revoked');
186
+ *
187
+ * // Key is now unusable
188
+ * // Attempts to use it will fail with 401 Unauthorized
189
+ * ```
190
+ */
191
+ revoke(id: number): Promise<void>;
192
+ /**
193
+ * Get all valid API key roles
194
+ *
195
+ * @returns Array of valid role strings
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * const roles = apiKeyService.getRoles();
200
+ * // ['MODERATOR', 'TECHNICAL_PRODUCER', 'MANAGER', 'OWNER']
201
+ * ```
202
+ */
203
+ getRoles(): string[];
204
+ }
205
+ //# sourceMappingURL=ApiKeyService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiKeyService.d.ts","sourceRoot":"","sources":["../../../src/services/ApiKeyService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAKnB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,GAAE,OAAe;IAI3E;;;OAGG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsCzE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuC5E;;;;;;;;;;;;;;;;;;OAkBG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAc9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAqC3E;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevC;;;;;;;;;;OAUG;IACH,QAAQ,IAAI,MAAM,EAAE;CAGrB"}