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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) 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/helpers/sdk.d.ts.map +1 -1
  74. package/dist/src/helpers/wallet.d.ts +4 -3
  75. package/dist/src/helpers/wallet.d.ts.map +1 -1
  76. package/dist/src/index.d.ts +70 -11
  77. package/dist/src/index.d.ts.map +1 -1
  78. package/dist/src/schemas/files.d.ts +2 -2
  79. package/dist/src/schemas/launchpad.d.ts +40 -8
  80. package/dist/src/schemas/launchpad.d.ts.map +1 -1
  81. package/dist/src/schemas/pagination.d.ts +7 -7
  82. package/dist/src/schemas/primitives.d.ts.map +1 -1
  83. package/dist/src/schemas/trade.d.ts +6 -6
  84. package/dist/src/schemas/user.d.ts +4 -4
  85. package/dist/src/schemas/validators.d.ts +15 -7
  86. package/dist/src/schemas/validators.d.ts.map +1 -1
  87. package/dist/src/services/AbstractCacheService.d.ts +227 -0
  88. package/dist/src/services/AbstractCacheService.d.ts.map +1 -0
  89. package/dist/src/services/AbstractTokenFetchService.d.ts +150 -0
  90. package/dist/src/services/AbstractTokenFetchService.d.ts.map +1 -0
  91. package/dist/src/services/ApiKeyService.d.ts +205 -0
  92. package/dist/src/services/ApiKeyService.d.ts.map +1 -0
  93. package/dist/src/services/BanService.d.ts +195 -0
  94. package/dist/src/services/BanService.d.ts.map +1 -0
  95. package/dist/src/services/BaseService.d.ts +50 -3
  96. package/dist/src/services/BaseService.d.ts.map +1 -1
  97. package/dist/src/services/BatchedCacheService.d.ts +132 -0
  98. package/dist/src/services/BatchedCacheService.d.ts.map +1 -0
  99. package/dist/src/services/BridgeableTokenCache.d.ts +32 -98
  100. package/dist/src/services/BridgeableTokenCache.d.ts.map +1 -1
  101. package/dist/src/services/BridgeableTokenService.d.ts +18 -13
  102. package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
  103. package/dist/src/services/BundleService.d.ts.map +1 -1
  104. package/dist/src/services/BundlerClientFactory.d.ts +32 -0
  105. package/dist/src/services/BundlerClientFactory.d.ts.map +1 -0
  106. package/dist/src/services/ChatMessagesService.d.ts +152 -0
  107. package/dist/src/services/ChatMessagesService.d.ts.map +1 -0
  108. package/dist/src/services/CommentService.d.ts +119 -0
  109. package/dist/src/services/CommentService.d.ts.map +1 -0
  110. package/dist/src/services/CommentsService.d.ts +155 -0
  111. package/dist/src/services/CommentsService.d.ts.map +1 -0
  112. package/dist/src/services/ContentFlagService.d.ts +212 -0
  113. package/dist/src/services/ContentFlagService.d.ts.map +1 -0
  114. package/dist/src/services/ContentReactionService.d.ts +175 -0
  115. package/dist/src/services/ContentReactionService.d.ts.map +1 -0
  116. package/dist/src/services/DexBackendClient.d.ts.map +1 -1
  117. package/dist/src/services/DexPoolService.d.ts +3 -3
  118. package/dist/src/services/DexPoolService.d.ts.map +1 -1
  119. package/dist/src/services/DexQuoteService.d.ts.map +1 -1
  120. package/dist/src/services/DexService.d.ts +2 -5
  121. package/dist/src/services/DexService.d.ts.map +1 -1
  122. package/dist/src/services/GSwapAssetService.d.ts +80 -0
  123. package/dist/src/services/GSwapAssetService.d.ts.map +1 -0
  124. package/dist/src/services/GSwapLiquidityMutationService.d.ts +140 -0
  125. package/dist/src/services/GSwapLiquidityMutationService.d.ts.map +1 -0
  126. package/dist/src/services/GSwapLiquidityQueryService.d.ts +87 -0
  127. package/dist/src/services/GSwapLiquidityQueryService.d.ts.map +1 -0
  128. package/dist/src/services/GSwapPoolCalculationService.d.ts +200 -0
  129. package/dist/src/services/GSwapPoolCalculationService.d.ts.map +1 -0
  130. package/dist/src/services/GSwapPoolQueryService.d.ts +116 -0
  131. package/dist/src/services/GSwapPoolQueryService.d.ts.map +1 -0
  132. package/dist/src/services/GSwapService.d.ts +14 -0
  133. package/dist/src/services/GSwapService.d.ts.map +1 -1
  134. package/dist/src/services/GSwapSwapService.d.ts +68 -0
  135. package/dist/src/services/GSwapSwapService.d.ts.map +1 -0
  136. package/dist/src/services/GalaChainBalanceService.d.ts +155 -0
  137. package/dist/src/services/GalaChainBalanceService.d.ts.map +1 -0
  138. package/dist/src/services/GalaChainGatewayClient.d.ts +32 -1
  139. package/dist/src/services/GalaChainGatewayClient.d.ts.map +1 -1
  140. package/dist/src/services/GalaChainLockService.d.ts +144 -0
  141. package/dist/src/services/GalaChainLockService.d.ts.map +1 -0
  142. package/dist/src/services/GalaChainService.d.ts +23 -106
  143. package/dist/src/services/GalaChainService.d.ts.map +1 -1
  144. package/dist/src/services/GalaChainTokenService.d.ts +108 -0
  145. package/dist/src/services/GalaChainTokenService.d.ts.map +1 -0
  146. package/dist/src/services/GalaChainTransferService.d.ts +205 -0
  147. package/dist/src/services/GalaChainTransferService.d.ts.map +1 -0
  148. package/dist/src/services/ImageService.d.ts +24 -8
  149. package/dist/src/services/ImageService.d.ts.map +1 -1
  150. package/dist/src/services/LaunchpadService.d.ts +77 -5
  151. package/dist/src/services/LaunchpadService.d.ts.map +1 -1
  152. package/dist/src/services/ModeratorService.d.ts +269 -0
  153. package/dist/src/services/ModeratorService.d.ts.map +1 -0
  154. package/dist/src/services/MultiPoolStateManager.d.ts +4 -6
  155. package/dist/src/services/MultiPoolStateManager.d.ts.map +1 -1
  156. package/dist/src/services/NetworkKeyedCacheService.d.ts +185 -0
  157. package/dist/src/services/NetworkKeyedCacheService.d.ts.map +1 -0
  158. package/dist/src/services/OverseerService.d.ts +322 -0
  159. package/dist/src/services/OverseerService.d.ts.map +1 -0
  160. package/dist/src/services/PoolCacheManager.d.ts +2 -2
  161. package/dist/src/services/PoolCacheManager.d.ts.map +1 -1
  162. package/dist/src/services/PoolService.d.ts +61 -7
  163. package/dist/src/services/PoolService.d.ts.map +1 -1
  164. package/dist/src/services/PoolStateManager.d.ts +2 -2
  165. package/dist/src/services/PoolStateManager.d.ts.map +1 -1
  166. package/dist/src/services/PriceHistoryService.d.ts.map +1 -1
  167. package/dist/src/services/SignatureService.d.ts.map +1 -1
  168. package/dist/src/services/StreamChatService.d.ts +378 -0
  169. package/dist/src/services/StreamChatService.d.ts.map +1 -0
  170. package/dist/src/services/StreamTokenServiceBase.d.ts +371 -0
  171. package/dist/src/services/StreamTokenServiceBase.d.ts.map +1 -0
  172. package/dist/src/services/StreamWebSocketService.d.ts +268 -0
  173. package/dist/src/services/StreamWebSocketService.d.ts.map +1 -0
  174. package/dist/src/services/StreamingEventService.d.ts +431 -0
  175. package/dist/src/services/StreamingEventService.d.ts.map +1 -0
  176. package/dist/src/services/StreamingService.d.ts +547 -0
  177. package/dist/src/services/StreamingService.d.ts.map +1 -0
  178. package/dist/src/services/SwapEventQueue.d.ts +2 -2
  179. package/dist/src/services/SwapEventQueue.d.ts.map +1 -1
  180. package/dist/src/services/TokenBanService.d.ts +214 -0
  181. package/dist/src/services/TokenBanService.d.ts.map +1 -0
  182. package/dist/src/services/TokenClassKeyService.d.ts.map +1 -1
  183. package/dist/src/services/TokenMetadataCache.d.ts +36 -27
  184. package/dist/src/services/TokenMetadataCache.d.ts.map +1 -1
  185. package/dist/src/services/TokenMetadataService.d.ts +24 -4
  186. package/dist/src/services/TokenMetadataService.d.ts.map +1 -1
  187. package/dist/src/services/TokenResolverService.d.ts.map +1 -1
  188. package/dist/src/services/TradeService.d.ts +73 -0
  189. package/dist/src/services/TradeService.d.ts.map +1 -1
  190. package/dist/src/services/UserService.d.ts +56 -3
  191. package/dist/src/services/UserService.d.ts.map +1 -1
  192. package/dist/src/services/WebSocketService.d.ts +3 -3
  193. package/dist/src/services/WebSocketService.d.ts.map +1 -1
  194. package/dist/src/services/WrapService.d.ts +18 -5
  195. package/dist/src/services/WrapService.d.ts.map +1 -1
  196. package/dist/src/services/WrappableTokenCache.d.ts +8 -36
  197. package/dist/src/services/WrappableTokenCache.d.ts.map +1 -1
  198. package/dist/src/services/WrappableTokenService.d.ts +18 -12
  199. package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
  200. package/dist/src/services/shared/cache-helpers.d.ts +188 -0
  201. package/dist/src/services/shared/cache-helpers.d.ts.map +1 -0
  202. package/dist/src/services/shared/http-helpers.d.ts +146 -0
  203. package/dist/src/services/shared/http-helpers.d.ts.map +1 -0
  204. package/dist/src/services/shared/pagination-helpers.d.ts +157 -0
  205. package/dist/src/services/shared/pagination-helpers.d.ts.map +1 -0
  206. package/dist/src/services/shared/service-validators.d.ts +137 -0
  207. package/dist/src/services/shared/service-validators.d.ts.map +1 -0
  208. package/dist/src/services/shared/websocket-helpers.d.ts +158 -0
  209. package/dist/src/services/shared/websocket-helpers.d.ts.map +1 -0
  210. package/dist/src/test-constants.d.ts +29 -0
  211. package/dist/src/test-constants.d.ts.map +1 -0
  212. package/dist/src/types/api-key.dto.d.ts +300 -0
  213. package/dist/src/types/api-key.dto.d.ts.map +1 -0
  214. package/dist/src/types/backend-responses.d.ts +12 -0
  215. package/dist/src/types/backend-responses.d.ts.map +1 -1
  216. package/dist/src/types/ban.dto.d.ts +413 -0
  217. package/dist/src/types/ban.dto.d.ts.map +1 -0
  218. package/dist/src/types/burn.dto.d.ts +21 -0
  219. package/dist/src/types/burn.dto.d.ts.map +1 -1
  220. package/dist/src/types/chat-messages.dto.d.ts +193 -0
  221. package/dist/src/types/chat-messages.dto.d.ts.map +1 -0
  222. package/dist/src/types/comment.dto.d.ts +180 -0
  223. package/dist/src/types/comment.dto.d.ts.map +1 -0
  224. package/dist/src/types/comments.dto.d.ts +210 -0
  225. package/dist/src/types/comments.dto.d.ts.map +1 -0
  226. package/dist/src/types/common.d.ts +369 -0
  227. package/dist/src/types/common.d.ts.map +1 -1
  228. package/dist/src/types/constraints.d.ts +374 -0
  229. package/dist/src/types/constraints.d.ts.map +1 -0
  230. package/dist/src/types/content-flag.dto.d.ts +310 -0
  231. package/dist/src/types/content-flag.dto.d.ts.map +1 -0
  232. package/dist/src/types/content-reactions.dto.d.ts +132 -0
  233. package/dist/src/types/content-reactions.dto.d.ts.map +1 -0
  234. package/dist/src/types/dex-pool.dto.d.ts +13 -37
  235. package/dist/src/types/dex-pool.dto.d.ts.map +1 -1
  236. package/dist/src/types/dto.d.ts +8 -0
  237. package/dist/src/types/dto.d.ts.map +1 -1
  238. package/dist/src/types/galachain-api.types.d.ts +30 -0
  239. package/dist/src/types/galachain-api.types.d.ts.map +1 -1
  240. package/dist/src/types/gswap-responses.types.d.ts.map +1 -1
  241. package/dist/src/types/launchpad.dto.d.ts +234 -131
  242. package/dist/src/types/launchpad.dto.d.ts.map +1 -1
  243. package/dist/src/types/launchpad.validation.d.ts.map +1 -1
  244. package/dist/src/types/lock.dto.d.ts +20 -35
  245. package/dist/src/types/lock.dto.d.ts.map +1 -1
  246. package/dist/src/types/moderator.dto.d.ts +581 -0
  247. package/dist/src/types/moderator.dto.d.ts.map +1 -0
  248. package/dist/src/types/options.dto.d.ts +25 -115
  249. package/dist/src/types/options.dto.d.ts.map +1 -1
  250. package/dist/src/types/overseer.dto.d.ts +420 -0
  251. package/dist/src/types/overseer.dto.d.ts.map +1 -0
  252. package/dist/src/types/pool.dto.d.ts +106 -0
  253. package/dist/src/types/pool.dto.d.ts.map +1 -0
  254. package/dist/src/types/result.types.d.ts +3 -2
  255. package/dist/src/types/result.types.d.ts.map +1 -1
  256. package/dist/src/types/session-auth.dto.d.ts +91 -0
  257. package/dist/src/types/session-auth.dto.d.ts.map +1 -0
  258. package/dist/src/types/stream-chat.dto.d.ts +815 -0
  259. package/dist/src/types/stream-chat.dto.d.ts.map +1 -0
  260. package/dist/src/types/streaming-events.dto.d.ts +586 -0
  261. package/dist/src/types/streaming-events.dto.d.ts.map +1 -0
  262. package/dist/src/types/streaming.dto.d.ts +1141 -0
  263. package/dist/src/types/streaming.dto.d.ts.map +1 -0
  264. package/dist/src/types/token-ban.dto.d.ts +195 -0
  265. package/dist/src/types/token-ban.dto.d.ts.map +1 -0
  266. package/dist/src/types/trade.dto.d.ts +21 -61
  267. package/dist/src/types/trade.dto.d.ts.map +1 -1
  268. package/dist/src/types/trades-query.dto.d.ts +127 -0
  269. package/dist/src/types/trades-query.dto.d.ts.map +1 -0
  270. package/dist/src/types/transfer.dto.d.ts +20 -15
  271. package/dist/src/types/transfer.dto.d.ts.map +1 -1
  272. package/dist/src/types/user.dto.d.ts +185 -73
  273. package/dist/src/types/user.dto.d.ts.map +1 -1
  274. package/dist/src/types/wrappable-token.dto.d.ts +6 -2
  275. package/dist/src/types/wrappable-token.dto.d.ts.map +1 -1
  276. package/dist/src/utils/LiquidityEventExtractor.d.ts.map +1 -1
  277. package/dist/src/utils/Logger.d.ts.map +1 -1
  278. package/dist/src/utils/MonitoringMetrics.d.ts.map +1 -1
  279. package/dist/src/utils/PoolKeyNormalizer.d.ts.map +1 -1
  280. package/dist/src/utils/ReconnectionManager.d.ts +142 -0
  281. package/dist/src/utils/ReconnectionManager.d.ts.map +1 -0
  282. package/dist/src/utils/SignatureHelper.d.ts +9 -0
  283. package/dist/src/utils/SignatureHelper.d.ts.map +1 -1
  284. package/dist/src/utils/SwapEventExtractor.d.ts.map +1 -1
  285. package/dist/src/utils/adapters.d.ts.map +1 -1
  286. package/dist/src/utils/address-formatter.d.ts +317 -0
  287. package/dist/src/utils/address-formatter.d.ts.map +1 -0
  288. package/dist/src/utils/agent-config.d.ts.map +1 -1
  289. package/dist/src/utils/amount-validator.d.ts +268 -0
  290. package/dist/src/utils/amount-validator.d.ts.map +1 -0
  291. package/dist/src/utils/api-patterns.d.ts +347 -0
  292. package/dist/src/utils/api-patterns.d.ts.map +1 -0
  293. package/dist/src/utils/array-helpers.d.ts +115 -0
  294. package/dist/src/utils/array-helpers.d.ts.map +1 -0
  295. package/dist/src/utils/async-patterns.d.ts +272 -0
  296. package/dist/src/utils/async-patterns.d.ts.map +1 -0
  297. package/dist/src/utils/auto-pagination.d.ts +195 -2
  298. package/dist/src/utils/auto-pagination.d.ts.map +1 -1
  299. package/dist/src/utils/bignumber-helpers.d.ts +119 -13
  300. package/dist/src/utils/bignumber-helpers.d.ts.map +1 -1
  301. package/dist/src/utils/bignumber-pool-cache.d.ts.map +1 -1
  302. package/dist/src/utils/bondingCurveCalculations.d.ts.map +1 -1
  303. package/dist/src/utils/cacheWarmingHelpers.d.ts +2 -2
  304. package/dist/src/utils/cacheWarmingHelpers.d.ts.map +1 -1
  305. package/dist/src/utils/data-transform-patterns.d.ts +393 -0
  306. package/dist/src/utils/data-transform-patterns.d.ts.map +1 -0
  307. package/dist/src/utils/date-utils.d.ts +166 -0
  308. package/dist/src/utils/date-utils.d.ts.map +1 -1
  309. package/dist/src/utils/delimiter-parser.d.ts +139 -0
  310. package/dist/src/utils/delimiter-parser.d.ts.map +1 -0
  311. package/dist/src/utils/error-factories.d.ts +346 -1
  312. package/dist/src/utils/error-factories.d.ts.map +1 -1
  313. package/dist/src/utils/error-handling-patterns.d.ts +390 -0
  314. package/dist/src/utils/error-handling-patterns.d.ts.map +1 -0
  315. package/dist/src/utils/error-patterns.d.ts +360 -0
  316. package/dist/src/utils/error-patterns.d.ts.map +1 -0
  317. package/dist/src/utils/error-utils.d.ts +250 -0
  318. package/dist/src/utils/error-utils.d.ts.map +1 -1
  319. package/dist/src/utils/error-wrapper.d.ts +208 -0
  320. package/dist/src/utils/error-wrapper.d.ts.map +1 -0
  321. package/dist/src/utils/errors.d.ts +70 -0
  322. package/dist/src/utils/errors.d.ts.map +1 -1
  323. package/dist/src/utils/http-factory.d.ts +36 -0
  324. package/dist/src/utils/http-factory.d.ts.map +1 -0
  325. package/dist/src/utils/http.d.ts.map +1 -1
  326. package/dist/src/utils/load-env.d.ts.map +1 -1
  327. package/dist/src/utils/multipart.d.ts.map +1 -1
  328. package/dist/src/utils/numeric-patterns.d.ts +289 -0
  329. package/dist/src/utils/numeric-patterns.d.ts.map +1 -0
  330. package/dist/src/utils/numeric-wrappers.d.ts +146 -0
  331. package/dist/src/utils/numeric-wrappers.d.ts.map +1 -0
  332. package/dist/src/utils/object-extractors.d.ts +115 -0
  333. package/dist/src/utils/object-extractors.d.ts.map +1 -0
  334. package/dist/src/utils/object-patterns.d.ts +81 -0
  335. package/dist/src/utils/object-patterns.d.ts.map +1 -0
  336. package/dist/src/utils/pagination-helpers.d.ts +230 -0
  337. package/dist/src/utils/pagination-helpers.d.ts.map +1 -0
  338. package/dist/src/utils/pool-pair-parser.d.ts +3 -1
  339. package/dist/src/utils/pool-pair-parser.d.ts.map +1 -1
  340. package/dist/src/utils/pool-state-validator.d.ts.map +1 -1
  341. package/dist/src/utils/position-filters.d.ts +1 -2
  342. package/dist/src/utils/position-filters.d.ts.map +1 -1
  343. package/dist/src/utils/query-params.d.ts +0 -16
  344. package/dist/src/utils/query-params.d.ts.map +1 -1
  345. package/dist/src/utils/response-handlers.d.ts +149 -20
  346. package/dist/src/utils/response-handlers.d.ts.map +1 -1
  347. package/dist/src/utils/response-helpers.d.ts +28 -0
  348. package/dist/src/utils/response-helpers.d.ts.map +1 -0
  349. package/dist/src/utils/response-normalizers.d.ts +27 -49
  350. package/dist/src/utils/response-normalizers.d.ts.map +1 -1
  351. package/dist/src/utils/safe-parsers.d.ts +487 -0
  352. package/dist/src/utils/safe-parsers.d.ts.map +1 -0
  353. package/dist/src/utils/service-validators.d.ts +268 -0
  354. package/dist/src/utils/service-validators.d.ts.map +1 -0
  355. package/dist/src/utils/slippage-utils.d.ts.map +1 -1
  356. package/dist/src/utils/string-patterns.d.ts +404 -0
  357. package/dist/src/utils/string-patterns.d.ts.map +1 -0
  358. package/dist/src/utils/string-transforms.d.ts +89 -0
  359. package/dist/src/utils/string-transforms.d.ts.map +1 -0
  360. package/dist/src/utils/string-utils.d.ts +108 -0
  361. package/dist/src/utils/string-utils.d.ts.map +1 -0
  362. package/dist/src/utils/swap-delta-calculator.d.ts.map +1 -1
  363. package/dist/src/utils/tick-crossing-handler.d.ts.map +1 -1
  364. package/dist/src/utils/token-format-converter.d.ts +22 -8
  365. package/dist/src/utils/token-format-converter.d.ts.map +1 -1
  366. package/dist/src/utils/token-parser.d.ts +2 -2
  367. package/dist/src/utils/token-parser.d.ts.map +1 -1
  368. package/dist/src/utils/token-stringification.d.ts +168 -0
  369. package/dist/src/utils/token-stringification.d.ts.map +1 -0
  370. package/dist/src/utils/tokenNameNormalizer.d.ts +96 -0
  371. package/dist/src/utils/tokenNameNormalizer.d.ts.map +1 -0
  372. package/dist/src/utils/tokenNormalizer.d.ts +8 -45
  373. package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
  374. package/dist/src/utils/transfer-validation.d.ts +1 -1
  375. package/dist/src/utils/transfer-validation.d.ts.map +1 -1
  376. package/dist/src/utils/type-guard-factory.d.ts +260 -0
  377. package/dist/src/utils/type-guard-factory.d.ts.map +1 -0
  378. package/dist/src/utils/unique-key-generator.d.ts +148 -0
  379. package/dist/src/utils/unique-key-generator.d.ts.map +1 -0
  380. package/dist/src/utils/validation-helpers.d.ts +906 -183
  381. package/dist/src/utils/validation-helpers.d.ts.map +1 -1
  382. package/dist/src/utils/validation-patterns.d.ts +745 -0
  383. package/dist/src/utils/validation-patterns.d.ts.map +1 -0
  384. package/dist/src/utils/validation.d.ts +2 -30
  385. package/dist/src/utils/validation.d.ts.map +1 -1
  386. package/dist/src/utils/wallet.d.ts +12 -1
  387. package/dist/src/utils/wallet.d.ts.map +1 -1
  388. package/dist/src/utils/websocket-patterns.d.ts +681 -0
  389. package/dist/src/utils/websocket-patterns.d.ts.map +1 -0
  390. package/dist/src/utils/websocket-validators.d.ts.map +1 -1
  391. package/package.json +86 -19
  392. package/dist/src/bridge/strategies/index.d.ts +0 -9
  393. package/dist/src/bridge/strategies/index.d.ts.map +0 -1
  394. package/dist/src/constants/counts.d.ts +0 -66
  395. package/dist/src/constants/counts.d.ts.map +0 -1
  396. package/dist/src/services/WebSocketManager.d.ts +0 -99
  397. package/dist/src/services/WebSocketManager.d.ts.map +0 -1
  398. package/dist/src/types/eip712-types.d.ts +0 -140
  399. package/dist/src/types/eip712-types.d.ts.map +0 -1
  400. package/dist/src/types/pool-state-manager-config.dto.d.ts +0 -103
  401. package/dist/src/types/pool-state-manager-config.dto.d.ts.map +0 -1
  402. package/dist/src/utils/number-utils.d.ts +0 -94
  403. package/dist/src/utils/number-utils.d.ts.map +0 -1
  404. package/dist/src/utils/precision-math.d.ts +0 -37
  405. package/dist/src/utils/precision-math.d.ts.map +0 -1
@@ -0,0 +1,272 @@
1
+ /**
2
+ * Async/Promise Pattern Utilities
3
+ *
4
+ * Common promise handling patterns extracted to eliminate code duplication.
5
+ * Provides type-safe wrappers for concurrent processing, timeouts, polling,
6
+ * and failure recovery scenarios.
7
+ *
8
+ * @category Utilities
9
+ * @since 3.33.0
10
+ */
11
+ /**
12
+ * Extract successful results from Promise.allSettled array
13
+ *
14
+ * Eliminates the boilerplate of manually filtering through Promise.allSettled
15
+ * results to extract only the successful ones. Particularly useful for batch
16
+ * operations where some failures are acceptable.
17
+ *
18
+ * @typeParam T - The type of successful results
19
+ * @param results - Array of PromiseSettledResult from Promise.allSettled
20
+ * @returns Array containing only the fulfilled values
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // Batch fetch multiple tokens where some might fail
25
+ * const promises = tokenNames.map(name => sdk.fetchTokenDetails(name));
26
+ * const allResults = await Promise.allSettled(promises);
27
+ * const successfulTokens = filterPromiseSettledResults(allResults);
28
+ *
29
+ * console.log(`Fetched ${successfulTokens.length}/${tokenNames.length} tokens`);
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // Fetch pricing for pool chunk where some API calls may fail
35
+ * const chunkResults = await Promise.allSettled(
36
+ * currentChunk.map(pool => getSwapQuote(pool))
37
+ * );
38
+ * const pricesWithData = filterPromiseSettledResults(chunkResults);
39
+ * ```
40
+ */
41
+ export declare function filterPromiseSettledResults<T>(results: PromiseSettledResult<T>[]): T[];
42
+ /**
43
+ * Wrap a promise with timeout rejection
44
+ *
45
+ * Ensures a promise resolves within a maximum time, rejecting with a clear
46
+ * timeout error if the deadline is exceeded. Prevents operations from hanging
47
+ * indefinitely while providing meaningful error context.
48
+ *
49
+ * @typeParam T - The type of the promised value
50
+ * @param promise - The promise to wrap with timeout
51
+ * @param timeoutMs - Maximum time to wait in milliseconds
52
+ * @param context - Optional context string to include in error message
53
+ * @returns Promise that rejects with TimeoutError if time exceeded
54
+ * @throws TimeoutError if promise doesn't resolve within timeoutMs
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * // API call with 5 second timeout
59
+ * const result = await withPromiseTimeout(
60
+ * sdk.fetchTokenDetails('anime'),
61
+ * 5000,
62
+ * 'token details fetch'
63
+ * );
64
+ * ```
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * // Wait for transaction confirmation with timeout
69
+ * try {
70
+ * const receipt = await withPromiseTimeout(
71
+ * waitForTransactionConfirmation(txHash),
72
+ * 30000,
73
+ * 'transaction confirmation'
74
+ * );
75
+ * } catch (error) {
76
+ * if (error instanceof TimeoutError) {
77
+ * console.log(`${error.message}`); // "Promise timed out after 30000ms: transaction confirmation"
78
+ * }
79
+ * }
80
+ * ```
81
+ */
82
+ export declare function withPromiseTimeout<T>(promise: Promise<T>, timeoutMs: number, context?: string): Promise<T>;
83
+ /**
84
+ * Process array of items with concurrent execution limit
85
+ *
86
+ * Executes processor function on array items while limiting concurrent
87
+ * executions. Useful for rate-limiting API calls, preventing connection
88
+ * pools from being exhausted, and managing resource consumption.
89
+ *
90
+ * @typeParam T - The type of items to process
91
+ * @typeParam R - The type of results
92
+ * @param items - Array of items to process
93
+ * @param processor - Async function to process each item
94
+ * @param concurrentLimit - Maximum number of concurrent executions
95
+ * @returns Promise that resolves to array of results in original order
96
+ * @throws If any processor call throws
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * // Fetch all token details with max 5 concurrent requests
101
+ * const tokenNames = ['anime', 'music', 'guild', ...];
102
+ * const details = await processConcurrentBatches(
103
+ * tokenNames,
104
+ * (name) => sdk.fetchTokenDetails(name),
105
+ * 5 // Max 5 concurrent requests
106
+ * );
107
+ * ```
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * // Rate-limited bridge fee estimation (max 2 concurrent calls)
112
+ * const amounts = ['100', '500', '1000', '2000'];
113
+ * const fees = await processConcurrentBatches(
114
+ * amounts,
115
+ * (amount) => sdk.estimateBridgeFee('ETH', amount),
116
+ * 2 // Prevent API flooding
117
+ * );
118
+ * ```
119
+ */
120
+ export declare function processConcurrentBatches<T, R>(items: T[], processor: (item: T) => Promise<R>, concurrentLimit: number): Promise<R[]>;
121
+ /**
122
+ * Promise.all with fallback value for failures
123
+ *
124
+ * Executes all promises and returns array with same length as input.
125
+ * Failed promises are replaced with fallback value instead of rejecting.
126
+ * Never throws - always resolves with complete array.
127
+ *
128
+ * @typeParam T - The type of promised values
129
+ * @param promises - Array of promises to execute
130
+ * @param fallback - Value to use when promise rejects
131
+ * @returns Promise that resolves to array with length equal to input
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * // Fetch token balances with fallback for network errors
136
+ * const balances = await promiseAllWithRecovery(
137
+ * tokenNames.map(name => sdk.fetchTokenBalance(name)),
138
+ * '0' // Use '0' balance if fetch fails
139
+ * );
140
+ * // Always returns array with same length as tokenNames
141
+ * ```
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * // Multi-pool pricing with graceful degradation
146
+ * const prices = await promiseAllWithRecovery(
147
+ * pools.map(pool => fetchPoolPrice(pool)),
148
+ * null // Use null price if fetch fails
149
+ * );
150
+ * // Partial failures don't prevent rendering UI
151
+ * ```
152
+ */
153
+ export declare function promiseAllWithRecovery<T>(promises: Promise<T>[], fallback: T): Promise<T[]>;
154
+ /**
155
+ * Poll function until condition is met or max attempts exceeded
156
+ *
157
+ * Repeatedly executes an async function with delays until its result
158
+ * satisfies a condition. Useful for waiting on eventual consistency
159
+ * (transaction confirmation, state changes) with bounded attempts.
160
+ *
161
+ * @typeParam T - The return type of the function
162
+ * @param fn - Async function to poll
163
+ * @param condition - Predicate to check result
164
+ * @param opts - Poll configuration (maxAttempts, delayMs)
165
+ * @returns The first result matching condition
166
+ * @throws TimeoutError if max attempts exceeded without matching
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * // Wait for transaction to be confirmed (max 30 attempts, 1 second intervals)
171
+ * const receipt = await pollUntilCondition(
172
+ * () => sdk.getTransactionReceipt(txHash),
173
+ * (receipt) => receipt !== null,
174
+ * { maxAttempts: 30, delayMs: 1000 }
175
+ * );
176
+ * ```
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * // Poll until token is indexed (max 60 checks, 500ms intervals)
181
+ * const tokenData = await pollUntilCondition(
182
+ * () => sdk.fetchTokenDetails('newtoken'),
183
+ * (data) => data !== null && data.indexed === true,
184
+ * { maxAttempts: 60, delayMs: 500 }
185
+ * );
186
+ * ```
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * // Poll until balance reaches target
191
+ * const finalBalance = await pollUntilCondition(
192
+ * () => sdk.fetchTokenBalance('GALA'),
193
+ * (balance) => parseFloat(balance) >= 1000,
194
+ * { maxAttempts: 20, delayMs: 500 }
195
+ * );
196
+ * ```
197
+ */
198
+ export declare function pollUntilCondition<T>(fn: () => Promise<T>, condition: (result: T) => boolean, opts: {
199
+ maxAttempts: number;
200
+ delayMs: number;
201
+ }): Promise<T>;
202
+ /**
203
+ * Calculate exponential backoff delay with jitter
204
+ *
205
+ * Computes delay for next retry using exponential backoff formula with
206
+ * random jitter. Prevents thundering herd problem where many clients
207
+ * retry simultaneously.
208
+ *
209
+ * Formula: baseDelay * (2 ^ attemptNumber) + random jitter
210
+ *
211
+ * @param attemptNumber - Current attempt number (1-based)
212
+ * @param baseDelayMs - Initial delay in milliseconds (default: 100)
213
+ * @param maxDelayMs - Maximum delay in milliseconds (default: 32000)
214
+ * @returns Milliseconds to wait before next retry
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * // Calculate backoff for retry attempts
219
+ * const delay1 = exponentialBackoffDelay(1); // ~100ms
220
+ * const delay2 = exponentialBackoffDelay(2); // ~200ms
221
+ * const delay3 = exponentialBackoffDelay(3); // ~400ms
222
+ * const delay4 = exponentialBackoffDelay(4); // ~800ms (capped at maxDelayMs)
223
+ * ```
224
+ *
225
+ * @example
226
+ * ```typescript
227
+ * // Use with polling retry loop
228
+ * for (let attempt = 1; attempt <= maxAttempts; attempt++) {
229
+ * try {
230
+ * return await operation();
231
+ * } catch (error) {
232
+ * const delayMs = exponentialBackoffDelay(attempt);
233
+ * console.log(`Retry after ${delayMs}ms`);
234
+ * await new Promise(resolve => setTimeout(resolve, delayMs));
235
+ * }
236
+ * }
237
+ * ```
238
+ *
239
+ * @example
240
+ * ```typescript
241
+ * // Custom base delay for slower APIs
242
+ * const delay = exponentialBackoffDelay(2, 500, 60000);
243
+ * // 500 * (2 ^ 2) + jitter = ~2000-2500ms
244
+ * ```
245
+ */
246
+ export declare function exponentialBackoffDelay(attemptNumber: number, baseDelayMs?: number, maxDelayMs?: number): number;
247
+ /**
248
+ * TimeoutError
249
+ *
250
+ * Error thrown when an async operation exceeds its time limit.
251
+ * Used by withPromiseTimeout and pollUntilCondition.
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * try {
256
+ * await withPromiseTimeout(slowOperation(), 5000);
257
+ * } catch (error) {
258
+ * if (error instanceof TimeoutError) {
259
+ * console.log('Operation took too long');
260
+ * }
261
+ * }
262
+ * ```
263
+ */
264
+ export declare class TimeoutError extends Error {
265
+ /**
266
+ * Creates a new TimeoutError
267
+ *
268
+ * @param message - Description of what timed out
269
+ */
270
+ constructor(message: string);
271
+ }
272
+ //# sourceMappingURL=async-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-patterns.d.ts","sourceRoot":"","sources":["../../../src/utils/async-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,GACjC,CAAC,EAAE,CAUL;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC,CAcZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,CAAC,EACjD,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAClC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAiCd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EACtB,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,CAAC,EAAE,CAAC,CAMd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EACjC,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,WAAW,GAAE,MAAY,EACzB,UAAU,GAAE,MAAe,GAC1B,MAAM,CAcR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B"}
@@ -37,6 +37,19 @@ export interface AutoPaginationOptions {
37
37
  logger?: Logger;
38
38
  /** Page size to use for each request */
39
39
  pageSize?: number;
40
+ /**
41
+ * Number of pages to fetch concurrently (default: 1 = sequential)
42
+ * Set to higher values (e.g., 5) to fetch multiple pages in parallel for better performance.
43
+ * Useful when total pages is unknown and you want to maximize throughput.
44
+ * @since 5.0.4
45
+ */
46
+ concurrency?: number;
47
+ /**
48
+ * Starting page number (default: 1)
49
+ * Use when you need to start pagination from a specific page.
50
+ * @since 5.0.4
51
+ */
52
+ startPage?: number;
40
53
  }
41
54
  /**
42
55
  * Result object from auto-pagination
@@ -56,13 +69,14 @@ export interface AutoPaginationResult<T> {
56
69
  * - Empty result detection
57
70
  * - Debug logging of pagination progress
58
71
  * - Preserves total count from the API
72
+ * - Concurrent fetching for high-throughput scenarios (optional)
59
73
  *
60
74
  * @typeParam T - Type of items being paginated
61
75
  * @param fetchFn Function that fetches a single page of results
62
- * @param options Pagination options (maxPages, logger, pageSize)
76
+ * @param options Pagination options (maxPages, logger, pageSize, concurrency, startPage)
63
77
  * @returns Promise<AutoPaginationResult> All items and total count from the API
64
78
  *
65
- * @example
79
+ * @example Sequential pagination (default)
66
80
  * ```typescript
67
81
  * const result = await autoPaginate(
68
82
  * (page, limit) => service.fetchPools({ page, limit }),
@@ -71,7 +85,24 @@ export interface AutoPaginationResult<T> {
71
85
  * console.log(`Total: ${result.total}, Fetched: ${result.items.length}`);
72
86
  * ```
73
87
  *
88
+ * @example Concurrent pagination (high throughput)
89
+ * ```typescript
90
+ * const result = await autoPaginate(
91
+ * (page, limit) => service.fetchPools({ page, limit }),
92
+ * { pageSize: 20, concurrency: 5, logger } // Fetch 5 pages at a time
93
+ * );
94
+ * ```
95
+ *
96
+ * @example Start from specific page with limit
97
+ * ```typescript
98
+ * const result = await autoPaginate(
99
+ * (page, limit) => service.fetchPools({ page, limit }),
100
+ * { startPage: 3, maxPages: 5, pageSize: 20, concurrency: 5 } // Pages 3-7
101
+ * );
102
+ * ```
103
+ *
74
104
  * @since 3.32.0
105
+ * @since 5.0.4 - Added concurrency and startPage options
75
106
  */
76
107
  export declare function autoPaginate<T>(fetchFn: (page: number, limit: number) => Promise<PaginatedResult<T>>, options?: AutoPaginationOptions): Promise<AutoPaginationResult<T>>;
77
108
  /**
@@ -264,4 +295,166 @@ export interface OffsetPaginationFetchResult<TItem> {
264
295
  * @since 5.0.2
265
296
  */
266
297
  export declare function autoPaginateOffset<TItem>(fetchFn: (offset: number, limit: number) => Promise<OffsetPaginationFetchResult<TItem>>, options: AutoPaginationOffsetOptions): Promise<TItem[]>;
298
+ /**
299
+ * Cache interface for fetchAllWithCache helper
300
+ *
301
+ * Defines the minimal cache API required by the fetchAllWithCache utility.
302
+ * Allows different cache implementations (BridgeableTokenCache, WrappableTokenCache)
303
+ * to be used with the same helper function.
304
+ *
305
+ * @typeParam T - Type of items stored in the cache
306
+ * @since 5.10.0
307
+ */
308
+ export interface CacheInterface<T> {
309
+ /** Check if cache has data */
310
+ has(): boolean;
311
+ /** Get all cached items */
312
+ getAll(): T[];
313
+ /** Get fetch timestamp (when cache was last populated) */
314
+ getFetchTimestamp(): number | null | undefined;
315
+ /** Set/replace cache with new items */
316
+ setAll(items: T[]): void;
317
+ }
318
+ /**
319
+ * Cache interface for network-keyed caches (like BridgeableTokenCache)
320
+ *
321
+ * Extended interface for caches that store items per-network key.
322
+ *
323
+ * @typeParam T - Type of items stored in the cache
324
+ * @typeParam K - Network key type (e.g., BridgeableNetwork)
325
+ * @since 5.10.0
326
+ */
327
+ export interface NetworkCacheInterface<T, K extends string = string> {
328
+ /** Check if cache has data for a network */
329
+ has(network: K): boolean;
330
+ /** Get all cached items for a network */
331
+ getAll(network: K): T[];
332
+ /** Get fetch timestamp for a network */
333
+ getFetchTimestamp(network: K): number | null | undefined;
334
+ /** Set/replace cache for a network */
335
+ set(network: K, items: T[]): void;
336
+ }
337
+ /**
338
+ * Options for fetchAllWithCache helper
339
+ */
340
+ export interface FetchAllWithCacheOptions<T> {
341
+ /** Logger instance for debug output */
342
+ logger?: Logger;
343
+ /** Function to fetch all items (already paginated) */
344
+ fetchFn: () => Promise<T[]>;
345
+ /** Cache instance implementing CacheInterface */
346
+ cache: CacheInterface<T>;
347
+ /** Item type name for logging (e.g., 'wrappable tokens') */
348
+ itemTypeName?: string;
349
+ }
350
+ /**
351
+ * Options for fetchAllWithNetworkCache helper
352
+ */
353
+ export interface FetchAllWithNetworkCacheOptions<T, K extends string = string> {
354
+ /** Logger instance for debug output */
355
+ logger?: Logger;
356
+ /** Network key to fetch/cache for */
357
+ network: K;
358
+ /** Function to fetch all items for the network (already paginated) */
359
+ fetchFn: () => Promise<T[]>;
360
+ /** Cache instance implementing NetworkCacheInterface */
361
+ cache: NetworkCacheInterface<T, K>;
362
+ /** Item type name for logging (e.g., 'bridgeable tokens') */
363
+ itemTypeName?: string;
364
+ }
365
+ /**
366
+ * Result structure for fetchAllWithCache helpers
367
+ *
368
+ * Standard return format with items, timestamp, and count.
369
+ */
370
+ export interface FetchAllWithCacheResult<T> {
371
+ /** All fetched or cached items */
372
+ items: T[];
373
+ /** Timestamp when data was fetched (epoch ms) */
374
+ fetchedAt: number;
375
+ /** Number of items */
376
+ itemCount: number;
377
+ }
378
+ /**
379
+ * Fetch all items with caching support (simple cache)
380
+ *
381
+ * Helper that eliminates the repetitive cache-check -> fetch -> cache-store pattern
382
+ * found in services like WrappableTokenService.fetchAllWrappableTokens().
383
+ *
384
+ * Common pattern eliminated:
385
+ * ```typescript
386
+ * if (this.cache.has()) {
387
+ * const items = this.cache.getAll();
388
+ * return { items, fetchedAt: this.cache.getFetchTimestamp(), itemCount: items.length };
389
+ * }
390
+ * const allItems = await autoPaginateOffset(...);
391
+ * this.cache.setAll(allItems);
392
+ * return { items: allItems, fetchedAt: Date.now(), itemCount: allItems.length };
393
+ * ```
394
+ *
395
+ * @typeParam T - Type of items being fetched
396
+ * @param options - Options including cache, fetchFn, and logger
397
+ * @returns Promise resolving to items with fetchedAt timestamp and count
398
+ *
399
+ * @example Basic usage
400
+ * ```typescript
401
+ * const result = await fetchAllWithCache({
402
+ * cache: this.cache,
403
+ * fetchFn: () => autoPaginateOffset(
404
+ * async (offset, limit) => ({
405
+ * items: this.transformTokens(response.tokens),
406
+ * rawCount: response.tokens.length,
407
+ * }),
408
+ * { maxLimit: MAX_LIMIT, logger: this.logger }
409
+ * ),
410
+ * logger: this.logger,
411
+ * itemTypeName: 'wrappable tokens',
412
+ * });
413
+ * ```
414
+ *
415
+ * @since 5.10.0
416
+ */
417
+ export declare function fetchAllWithCache<T>(options: FetchAllWithCacheOptions<T>): Promise<FetchAllWithCacheResult<T>>;
418
+ /**
419
+ * Fetch all items with network-keyed caching support
420
+ *
421
+ * Helper that eliminates the repetitive cache-check -> fetch -> cache-store pattern
422
+ * found in services like BridgeableTokenService.fetchAllBridgeableTokensByNetwork().
423
+ *
424
+ * Common pattern eliminated:
425
+ * ```typescript
426
+ * if (this.cache.has(network)) {
427
+ * const tokens = this.cache.getAll(network);
428
+ * return { tokens, network, fetchedAt: this.cache.getFetchTimestamp(network), tokenCount: tokens.length };
429
+ * }
430
+ * const allTokens = await autoPaginateOffset(...);
431
+ * this.cache.set(network, allTokens);
432
+ * return { tokens: allTokens, network, fetchedAt: Date.now(), tokenCount: allTokens.length };
433
+ * ```
434
+ *
435
+ * @typeParam T - Type of items being fetched
436
+ * @typeParam K - Network key type (e.g., 'ETHEREUM' | 'SOLANA')
437
+ * @param options - Options including network, cache, fetchFn, and logger
438
+ * @returns Promise resolving to items with fetchedAt timestamp and count
439
+ *
440
+ * @example Basic usage
441
+ * ```typescript
442
+ * const result = await fetchAllWithNetworkCache({
443
+ * network: 'ETHEREUM',
444
+ * cache: this.cache,
445
+ * fetchFn: () => autoPaginateOffset(
446
+ * async (offset, limit) => ({
447
+ * items: this.transformTokens(response.tokens, network),
448
+ * rawCount: response.tokens.length,
449
+ * }),
450
+ * { maxLimit: MAX_LIMIT, logger: this.logger }
451
+ * ),
452
+ * logger: this.logger,
453
+ * itemTypeName: 'bridgeable tokens',
454
+ * });
455
+ * ```
456
+ *
457
+ * @since 5.10.0
458
+ */
459
+ export declare function fetchAllWithNetworkCache<T, K extends string = string>(options: FetchAllWithNetworkCacheOptions<T, K>): Promise<FetchAllWithCacheResult<T>>;
267
460
  //# sourceMappingURL=auto-pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/auto-pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/auto-pagination.ts"],"names":[],"mappings":"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"}