@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
@@ -86,25 +86,21 @@ export declare function calculateSlippageAdjustedAmount(estimatedOutput: string
86
86
  */
87
87
  export declare function calculateSlippageFactor(tolerance?: number): BigNumber;
88
88
  /**
89
- * Convert tick to sqrt ratio for liquidity calculations
89
+ * Calculate inverse slippage factor (1 + tolerance)
90
90
  *
91
- * Re-exports tickToSqrtPrice from @gala-chain/dex for Uniswap V3 liquidity calculations.
92
- * Maintained as a wrapper for backward compatibility.
91
+ * Consolidates: `new BigNumber(1).plus(tolerance)`
92
+ * Used for upper bound slippage calculations (e.g., maximum acceptable price).
93
93
  *
94
- * @param tick The tick value from the pool
95
- * @returns Sqrt price in Q64.96 format
94
+ * @param tolerance Slippage tolerance as decimal (e.g., 0.01 for 1%)
95
+ * @returns Inverse slippage factor (e.g., 1.01 for 1% tolerance)
96
96
  *
97
97
  * @example
98
98
  * ```typescript
99
- * const lowerSqrtRatio = tickToSqrtRatio(tickLower);
100
- * const upperSqrtRatio = tickToSqrtRatio(tickUpper);
101
- * const liquidityNeeded = calculateLiquidity(lowerSqrtRatio, upperSqrtRatio, ...);
99
+ * const upperFactor = calculateInverseSlippageFactor(0.01); // BigNumber(1.01)
100
+ * const maxPrice = currentPrice.multipliedBy(upperFactor);
102
101
  * ```
103
- *
104
- * @deprecated This is a wrapper around @gala-chain/dex's tickToSqrtPrice.
105
- * Consider importing tickToSqrtPrice directly for new code.
106
102
  */
107
- export declare function tickToSqrtRatio(tick: number): BigNumber;
103
+ export declare function calculateInverseSlippageFactor(tolerance?: number): BigNumber;
108
104
  /**
109
105
  * Convert a price to tick (Uniswap V3 math)
110
106
  *
@@ -229,6 +225,36 @@ export declare function isPositive(value: string | number | BigNumber): boolean;
229
225
  * @returns true if value < 0
230
226
  */
231
227
  export declare function isNegative(value: string | number | BigNumber): boolean;
228
+ /**
229
+ * Check if a value is greater than a threshold
230
+ *
231
+ * @param value The value to check
232
+ * @param threshold The threshold to compare against
233
+ * @returns true if value > threshold
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * if (isGreaterThan(balance, '0')) {
238
+ * // user has funds
239
+ * }
240
+ * ```
241
+ */
242
+ export declare function isGreaterThan(value: string | number | BigNumber, threshold: string | number | BigNumber): boolean;
243
+ /**
244
+ * Check if a value is less than a threshold
245
+ *
246
+ * @param value The value to check
247
+ * @param threshold The threshold to compare against
248
+ * @returns true if value < threshold
249
+ *
250
+ * @example
251
+ * ```typescript
252
+ * if (isLessThan(balance, minRequired)) {
253
+ * throw new Error('Insufficient balance');
254
+ * }
255
+ * ```
256
+ */
257
+ export declare function isLessThan(value: string | number | BigNumber, threshold: string | number | BigNumber): boolean;
232
258
  /**
233
259
  * Check if value is between two bounds (inclusive)
234
260
  *
@@ -293,6 +319,7 @@ export declare function decreaseByPercentage(value: string | number | BigNumber,
293
319
  *
294
320
  * @param values The values to validate
295
321
  * @throws Error if any value is not positive
322
+ * @internal
296
323
  *
297
324
  * @example
298
325
  * ```typescript
@@ -309,6 +336,7 @@ export declare function requirePositive(...values: BigNumber[]): void;
309
336
  *
310
337
  * @param values The values to validate
311
338
  * @throws Error if any value is negative
339
+ * @internal
312
340
  *
313
341
  * @example
314
342
  * ```typescript
@@ -326,6 +354,7 @@ export declare function requireNonNegative(...values: BigNumber[]): void;
326
354
  * @param paramName The parameter name for the error message
327
355
  * @param context Optional additional context (e.g., "for swap operation")
328
356
  * @throws Error with descriptive message if value is not positive
357
+ * @internal
329
358
  *
330
359
  * @example
331
360
  * ```typescript
@@ -336,5 +365,82 @@ export declare function requireNonNegative(...values: BigNumber[]): void;
336
365
  * // Throws: "liquidity must be positive, got: -1"
337
366
  * ```
338
367
  */
339
- export declare function requirePositiveWithContext(value: BigNumber, paramName: string, context?: string): void;
368
+ export declare function requirePositiveWithContext(value: BigNumber, paramName: string, _context?: string): void;
369
+ /**
370
+ * Safe division with fallback for zero denominator
371
+ *
372
+ * Prevents division by zero errors by returning a fallback value when
373
+ * the denominator is zero. Replaces the common pattern:
374
+ * `isZero(denominator) ? fallback : numerator.dividedBy(denominator)`
375
+ *
376
+ * @param numerator The dividend
377
+ * @param denominator The divisor
378
+ * @param fallback Value to return if denominator is zero (default: "0")
379
+ * @returns The quotient, or fallback if denominator is zero
380
+ *
381
+ * @example
382
+ * ```typescript
383
+ * // Calculate ratio with fallback
384
+ * const ratio = safeDivide(token0Amount, token1Amount, toBigNumber(0));
385
+ *
386
+ * // Use in slippage calculations
387
+ * const slippage = safeDivide(difference, originalAmount);
388
+ *
389
+ * // Pool calculations with custom fallback
390
+ * const fee = safeDivide(feeAmount, totalVolume, toBigNumber('0.0001'));
391
+ * ```
392
+ */
393
+ export declare function safeDivide(numerator: string | number | BigNumber, denominator: string | number | BigNumber, fallback?: string | number | BigNumber): BigNumber;
394
+ /**
395
+ * Round a Uniswap V3 tick to a valid spacing multiple
396
+ *
397
+ * Uniswap V3 ticks must be multiples of tickSpacing (e.g., 1, 10, 60, 200).
398
+ * This utility rounds down to the nearest valid tick spacing using integer arithmetic.
399
+ *
400
+ * Formula: `Math.floor(tick / tickSpacing) * tickSpacing`
401
+ *
402
+ * @param tick The tick value to round
403
+ * @param tickSpacing The tick spacing (e.g., 1, 10, 60, 200)
404
+ * @returns The rounded tick (multiple of tickSpacing)
405
+ *
406
+ * @example
407
+ * ```typescript
408
+ * // Round tick 1055 to nearest tick spacing of 10
409
+ * const rounded = roundTickToSpacing(1055, 10); // 1050
410
+ *
411
+ * // Round tick 101 to spacing 60
412
+ * const rounded = roundTickToSpacing(101, 60); // 60
413
+ *
414
+ * // Negative ticks are also supported
415
+ * const rounded = roundTickToSpacing(-1055, 10); // -1060
416
+ * ```
417
+ */
418
+ export declare function roundTickToSpacing(tick: number, tickSpacing: number): number;
419
+ /**
420
+ * Calculate reverse bonding curve fee amount with precision handling
421
+ *
422
+ * Consolidates the pattern of applying a fee factor to a base amount with
423
+ * integer rounding (down). Used extensively in bonding curve calculations
424
+ * for reverse fee computation and scaled amount operations.
425
+ *
426
+ * Formula: `new BigNumber(baseAmount).multipliedBy(feeFactor).integerValue(BigNumber.ROUND_DOWN)`
427
+ *
428
+ * @param baseAmount The base amount to apply fee factor to (string, number, or BigNumber)
429
+ * @param feeFactor The fee factor as decimal (e.g., 0.1 for 10%, 0.005 for 0.5%)
430
+ * @returns The scaled fee amount (rounded down to integer)
431
+ *
432
+ * @example
433
+ * ```typescript
434
+ * // Calculate 1% fee on 1000 GALA
435
+ * const baseAmount = new BigNumber('1000');
436
+ * const fee = calculateScaledFeeAmount(baseAmount, 0.01); // BigNumber(10)
437
+ *
438
+ * // Calculate 0.5% reverse bonding curve fee
439
+ * const feeAmount = calculateScaledFeeAmount('5000', 0.005); // BigNumber(25)
440
+ *
441
+ * // Fee factor from pool: reverseBondingCurveFee = 0.123456
442
+ * const reversed = calculateScaledFeeAmount(amount, reverseBondingCurveFee);
443
+ * ```
444
+ */
445
+ export declare function calculateScaledFeeAmount(baseAmount: string | number | BigNumber, feeFactor: number): BigNumber;
340
446
  //# sourceMappingURL=bignumber-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bignumber-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bignumber-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bignumber-pool-cache.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-pool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAElE;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAoB;IAExC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAoB;IAEvC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,YAA0B;IAElD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,YAA+B;IAE7D;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,YAE5B;IAEF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUnD;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAO3D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,GAAE,MAAa,GAAG,IAAI;CAU/C;AAED;;;GAGG;AACH,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"bignumber-pool-cache.d.ts","sourceRoot":"","sources":["../../../src/utils/bignumber-pool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAElE;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAyB;IAE7C;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAyB;IAE5C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,YAA+B;IAEvD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,YAAoC;IAElE;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,YAE5B;IAEF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUnD;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAO3D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,GAAE,MAAa,GAAG,IAAI;CAU/C;AAED;;;GAGG;AACH,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bondingCurveCalculations.d.ts","sourceRoot":"","sources":["../../../src/utils/bondingCurveCalculations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGjE;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,qBAAqB,CAC1B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IA+B1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,sBAAsB,CAC3B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IA+B1B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,sBAAsB,CAC3B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IAqC1B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,uBAAuB,CAC5B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IAkE1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;CAIvB"}
1
+ {"version":3,"file":"bondingCurveCalculations.d.ts","sourceRoot":"","sources":["../../../src/utils/bondingCurveCalculations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAIjE;;;;;;;GAOG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,qBAAqB,CAC1B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IA+B1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,sBAAsB,CAC3B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IA+B1B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,sBAAsB,CAC3B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IAqC1B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,uBAAuB,CAC5B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,uBAAuB;IAkE1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;CAIvB"}
@@ -8,7 +8,7 @@
8
8
  * @category Utilities
9
9
  * @since 3.9.2
10
10
  */
11
- import type { TokenMetadata } from '../services/TokenMetadataCache';
11
+ import type { BondingCurveCacheEntry } from '../services/TokenMetadataCache';
12
12
  /**
13
13
  * Pool data fields relevant for cache warming
14
14
  *
@@ -84,7 +84,7 @@ export interface PoolDataForCaching {
84
84
  */
85
85
  export declare function extractMetadataFromPoolData(pool: PoolDataForCaching, logger?: {
86
86
  debug: (message: string) => void;
87
- }): Partial<TokenMetadata> | null;
87
+ }): Partial<BondingCurveCacheEntry> | null;
88
88
  /**
89
89
  * Validate pool data structure for cache warming
90
90
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cacheWarmingHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/cacheWarmingHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,wEAAwE;IACxE,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC5C,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CA2C/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAW/E"}
1
+ {"version":3,"file":"cacheWarmingHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/cacheWarmingHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG7E;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,wEAAwE;IACxE,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC5C,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CA6CxC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAW/E"}
@@ -0,0 +1,393 @@
1
+ /**
2
+ * Data Transformation Utility Patterns
3
+ *
4
+ * Consolidates reusable data transformation patterns used across the SDK
5
+ * for API response normalization, DTO conversion, and array manipulation.
6
+ *
7
+ * Patterns consolidated:
8
+ * - transformRawApiTokenToDomainModel: Convert raw API token to domain model (4+ occurrences)
9
+ * - extractFieldWithFallbackPath: Extract value using multiple field path candidates (11+ occurrences)
10
+ * - normalizeDataWithMapping: Transform array with field renaming and transformation (4+ occurrences)
11
+ * - deduplicateByKey: Remove duplicates from array based on key function (6+ occurrences)
12
+ *
13
+ * @category Utilities
14
+ * @since 5.17.0
15
+ */
16
+ /**
17
+ * Token domain model representing normalized token structure
18
+ *
19
+ * @since 5.17.0
20
+ */
21
+ export interface DomainToken {
22
+ name: string;
23
+ symbol: string;
24
+ decimals: number;
25
+ address?: string;
26
+ verified?: boolean;
27
+ }
28
+ /**
29
+ * Transform raw API token response to SDK domain model
30
+ *
31
+ * Converts raw token data from various API sources (DEX, GalaChain, etc.)
32
+ * to a normalized domain model with sensible defaults.
33
+ *
34
+ * Consolidates 4+ occurrences in:
35
+ * - GSwapAssetService.transformRawTokenToDexToken()
36
+ * - GSwapAssetService.transformRawTokenToUserAsset()
37
+ * - GSwapService token transformation logic
38
+ *
39
+ * Handles:
40
+ * - Missing fields with defaults (decimals: 8, verified: false, etc.)
41
+ * - Field name variations (tokenName vs name, tokenSymbol vs symbol)
42
+ * - Symbol fallback chain: symbol → tokenSymbol → collection → ''
43
+ * - Validates required fields (name, symbol) exist and are non-empty
44
+ *
45
+ * @param rawToken - Raw token object from API response (may have missing fields)
46
+ * @returns Normalized token domain model with required fields and defaults applied
47
+ * @throws Error if required fields (name, symbol) are missing or empty
48
+ *
49
+ * @example Basic transformation
50
+ * ```typescript
51
+ * const rawToken = {
52
+ * tokenName: 'Anime',
53
+ * tokenSymbol: 'ANI',
54
+ * decimals: 18,
55
+ * verified: true,
56
+ * address: '0xabc123...'
57
+ * };
58
+ *
59
+ * const domain = transformRawApiTokenToDomainModel(rawToken);
60
+ * // Returns: {
61
+ * // name: 'Anime',
62
+ * // symbol: 'ANI',
63
+ * // decimals: 18,
64
+ * // verified: true,
65
+ * // address: '0xabc123...'
66
+ * // }
67
+ * ```
68
+ *
69
+ * @example With missing optional fields
70
+ * ```typescript
71
+ * const minimalToken = {
72
+ * name: 'GALA',
73
+ * symbol: 'GALA'
74
+ * };
75
+ *
76
+ * const domain = transformRawApiTokenToDomainModel(minimalToken);
77
+ * // Returns: {
78
+ * // name: 'GALA',
79
+ * // symbol: 'GALA',
80
+ * // decimals: 8, // default
81
+ * // verified: false // default
82
+ * // }
83
+ * ```
84
+ *
85
+ * @example With field name variations
86
+ * ```typescript
87
+ * const apiResponse = {
88
+ * tokenName: 'Demon K-Pop',
89
+ * tokenSymbol: 'DEMONKPOP',
90
+ * decimals: 18
91
+ * };
92
+ *
93
+ * const domain = transformRawApiTokenToDomainModel(apiResponse);
94
+ * // Normalizes both name and symbol field names automatically
95
+ * ```
96
+ *
97
+ * @example Error on missing required field
98
+ * ```typescript
99
+ * transformRawApiTokenToDomainModel({ name: 'Test' });
100
+ * // Throws: Error('Token symbol is required')
101
+ * ```
102
+ */
103
+ export declare function transformRawApiTokenToDomainModel(rawToken: unknown): DomainToken;
104
+ /**
105
+ * Extract field value from object using fallback path chain
106
+ *
107
+ * Tries multiple field paths in order (both flat and nested) and returns
108
+ * the first one that has a non-empty value. Supports nested paths like
109
+ * "response.data.error" for deep object traversal.
110
+ *
111
+ * Consolidates 11+ occurrences in:
112
+ * - LiquidityEventExtractor field extraction
113
+ * - SwapEventExtractor field extraction
114
+ * - Response handler fallback logic
115
+ *
116
+ * Note: extractFieldWithCandidates() already exists in object-extractors.ts
117
+ * for simple field name candidates. This function extends that pattern to
118
+ * support nested paths (dot-notation) for deeper object traversal.
119
+ *
120
+ * @template T - Type of the default value (inferred from defaultValue parameter)
121
+ * @param obj - Object to extract field from (can be any type, will check for object)
122
+ * @param fieldPaths - Array of field paths to try in order (e.g., ['id', 'error.code', 'response.data.message'])
123
+ * @param defaultValue - Value to return if no field path has a value (default: null)
124
+ * @returns First non-empty value found, or defaultValue if none found
125
+ *
126
+ * @example Basic field extraction
127
+ * ```typescript
128
+ * const obj = { id: '123', transactionId: null };
129
+ *
130
+ * const id = extractFieldWithFallbackPath(obj, ['id', 'transactionId']);
131
+ * // Returns: '123'
132
+ * ```
133
+ *
134
+ * @example With nested paths
135
+ * ```typescript
136
+ * const response = {
137
+ * data: {
138
+ * error: {
139
+ * code: 'VALIDATION_ERROR'
140
+ * }
141
+ * }
142
+ * };
143
+ *
144
+ * const errorCode = extractFieldWithFallbackPath(
145
+ * response,
146
+ * ['error.code', 'code', 'message'],
147
+ * 'UNKNOWN'
148
+ * );
149
+ * // Returns: 'VALIDATION_ERROR'
150
+ * ```
151
+ *
152
+ * @example With default value
153
+ * ```typescript
154
+ * const obj = { name: null };
155
+ *
156
+ * const name = extractFieldWithFallbackPath(
157
+ * obj,
158
+ * ['name', 'displayName', 'title'],
159
+ * 'Unknown'
160
+ * );
161
+ * // Returns: 'Unknown' (all paths empty, uses default)
162
+ * ```
163
+ *
164
+ * @example With type-safe default
165
+ * ```typescript
166
+ * const obj = { count: null };
167
+ *
168
+ * const count: number = extractFieldWithFallbackPath(
169
+ * obj,
170
+ * ['count', 'total', 'size'],
171
+ * 0
172
+ * );
173
+ * // Returns: 0 (type inferred from defaultValue)
174
+ * ```
175
+ *
176
+ * @example Error case - non-object input
177
+ * ```typescript
178
+ * const value = extractFieldWithFallbackPath(null, ['field'], null);
179
+ * // Returns: null (input is null, not an object)
180
+ * ```
181
+ */
182
+ export declare function extractFieldWithFallbackPath<T = unknown>(obj: unknown, fieldPaths: string[], defaultValue?: T): T | null;
183
+ /**
184
+ * Transform array of objects with field mapping and transformation functions
185
+ *
186
+ * Maps field names from source objects to target field names, with optional
187
+ * transformation functions applied per field. Replaces manual map/reduce patterns.
188
+ *
189
+ * Consolidates 4+ occurrences in:
190
+ * - DTO → Domain conversions
191
+ * - API response field renaming
192
+ * - Array normalization workflows
193
+ *
194
+ * @template T - Type of items in source array
195
+ * @template R - Type of items in result array
196
+ * @param items - Array of source objects to transform
197
+ * @param mapping - Record mapping target field names to transformation functions.
198
+ * Each function receives the source object and returns the value
199
+ * for that field. Undefined values are omitted from result.
200
+ * @returns Array of transformed objects with mapped field names
201
+ *
202
+ * @example Basic field renaming
203
+ * ```typescript
204
+ * interface ApiUser {
205
+ * user_name: string;
206
+ * user_email: string;
207
+ * created_at: string;
208
+ * }
209
+ *
210
+ * const apiUsers: ApiUser[] = [
211
+ * { user_name: 'alice', user_email: 'alice@example.com', created_at: '2025-01-01' }
212
+ * ];
213
+ *
214
+ * const domainUsers = normalizeDataWithMapping(apiUsers, {
215
+ * name: (item) => item.user_name,
216
+ * email: (item) => item.user_email,
217
+ * createdAt: (item) => item.created_at
218
+ * });
219
+ *
220
+ * // Returns: [{ name: 'alice', email: 'alice@example.com', createdAt: '2025-01-01' }]
221
+ * ```
222
+ *
223
+ * @example With type transformations
224
+ * ```typescript
225
+ * interface RawPrice {
226
+ * symbol: string;
227
+ * price: string;
228
+ * timestamp: string;
229
+ * }
230
+ *
231
+ * interface PriceData {
232
+ * symbol: string;
233
+ * price: number;
234
+ * date: Date;
235
+ * }
236
+ *
237
+ * const rawPrices: RawPrice[] = [
238
+ * { symbol: 'BTC', price: '42500.50', timestamp: '2025-01-11T10:00:00Z' }
239
+ * ];
240
+ *
241
+ * const prices = normalizeDataWithMapping<RawPrice, PriceData>(rawPrices, {
242
+ * symbol: (item) => item.symbol,
243
+ * price: (item) => parseFloat(item.price), // Transform string to number
244
+ * date: (item) => new Date(item.timestamp) // Transform string to Date
245
+ * });
246
+ *
247
+ * // Returns: [{ symbol: 'BTC', price: 42500.5, date: Date }]
248
+ * ```
249
+ *
250
+ * @example Conditional field inclusion
251
+ * ```typescript
252
+ * interface RawEvent {
253
+ * id: string;
254
+ * name: string;
255
+ * description?: string;
256
+ * verified?: boolean;
257
+ * }
258
+ *
259
+ * interface Event {
260
+ * id: string;
261
+ * title: string;
262
+ * notes?: string;
263
+ * trusted?: boolean;
264
+ * }
265
+ *
266
+ * const events = normalizeDataWithMapping<RawEvent, Event>(rawData, {
267
+ * id: (item) => item.id,
268
+ * title: (item) => item.name,
269
+ * notes: (item) => item.description, // undefined if not present
270
+ * trusted: (item) => item.verified // undefined if not present
271
+ * });
272
+ *
273
+ * // Undefined fields are omitted from result objects
274
+ * ```
275
+ *
276
+ * @example Merging multiple source fields
277
+ * ```typescript
278
+ * interface TokenData {
279
+ * first_name: string;
280
+ * last_name: string;
281
+ * amount: string;
282
+ * }
283
+ *
284
+ * interface TokenInfo {
285
+ * fullName: string;
286
+ * quantity: number;
287
+ * }
288
+ *
289
+ * const tokens = normalizeDataWithMapping<TokenData, TokenInfo>(data, {
290
+ * fullName: (item) => `${item.first_name} ${item.last_name}`,
291
+ * quantity: (item) => parseFloat(item.amount)
292
+ * });
293
+ * ```
294
+ */
295
+ export declare function normalizeDataWithMapping<T extends Record<string, unknown>, R extends Record<string, unknown>>(items: T[], mapping: Record<keyof R, (item: T) => unknown>): Partial<R>[];
296
+ /**
297
+ * Remove duplicate items from array based on key function
298
+ *
299
+ * Returns a new array with duplicate items removed, maintaining original order.
300
+ * Determines uniqueness by comparing the result of keyFn for each item.
301
+ *
302
+ * Consolidates 6+ occurrences of deduplication patterns in:
303
+ * - Event deduplication (by transaction ID, pool ID, etc.)
304
+ * - Position result deduplication
305
+ * - Pool discovery deduplication
306
+ *
307
+ * Related to groupByKey() in array-helpers.ts but returns deduplicated array
308
+ * instead of grouped Map structure.
309
+ *
310
+ * @template T - Type of items in array
311
+ * @param items - Array of items to deduplicate (may contain duplicates)
312
+ * @param keyFn - Function that computes uniqueness key for each item
313
+ * @param keepFirst - If true, keeps first occurrence; if false, keeps last (default: true)
314
+ * @returns New array with duplicates removed, original order maintained
315
+ *
316
+ * @example Basic deduplication
317
+ * ```typescript
318
+ * interface Position {
319
+ * id: string;
320
+ * amount: string;
321
+ * }
322
+ *
323
+ * const positions: Position[] = [
324
+ * { id: '1', amount: '100' },
325
+ * { id: '2', amount: '200' },
326
+ * { id: '1', amount: '150' }, // Duplicate ID
327
+ * ];
328
+ *
329
+ * const unique = deduplicateByKey(positions, (pos) => pos.id);
330
+ * // Returns: [{ id: '1', amount: '100' }, { id: '2', amount: '200' }]
331
+ * // (first occurrence of id '1' is kept)
332
+ * ```
333
+ *
334
+ * @example String key deduplication
335
+ * ```typescript
336
+ * interface Event {
337
+ * txId: string;
338
+ * type: string;
339
+ * timestamp: number;
340
+ * }
341
+ *
342
+ * const events: Event[] = [
343
+ * { txId: 'abc', type: 'swap', timestamp: 1000 },
344
+ * { txId: 'def', type: 'liquidity', timestamp: 2000 },
345
+ * { txId: 'abc', type: 'swap', timestamp: 1500 }, // Duplicate txId
346
+ * ];
347
+ *
348
+ * const deduplicated = deduplicateByKey(events, (e) => e.txId);
349
+ * // Returns: [{ txId: 'abc', type: 'swap', timestamp: 1000 }, ...]
350
+ * ```
351
+ *
352
+ * @example Keep last occurrence
353
+ * ```typescript
354
+ * const items = [
355
+ * { id: 'a', value: 1 },
356
+ * { id: 'b', value: 2 },
357
+ * { id: 'a', value: 3 }, // Same id, newer value
358
+ * ];
359
+ *
360
+ * const lastOccurrence = deduplicateByKey(
361
+ * items,
362
+ * (item) => item.id,
363
+ * false // Keep last occurrence
364
+ * );
365
+ * // Returns: [{ id: 'b', value: 2 }, { id: 'a', value: 3 }]
366
+ * ```
367
+ *
368
+ * @example Composite key deduplication
369
+ * ```typescript
370
+ * interface Pair {
371
+ * token0: string;
372
+ * token1: string;
373
+ * fee: number;
374
+ * }
375
+ *
376
+ * const pairs: Pair[] = [
377
+ * { token0: 'GALA', token1: 'GUSDC', fee: 3000 },
378
+ * { token0: 'GALA', token1: 'GWETH', fee: 3000 },
379
+ * { token0: 'GALA', token1: 'GUSDC', fee: 3000 }, // Duplicate
380
+ * ];
381
+ *
382
+ * const uniquePairs = deduplicateByKey(
383
+ * pairs,
384
+ * (pair) => `${pair.token0}/${pair.token1}/${pair.fee}`
385
+ * );
386
+ * // Returns: [
387
+ * // { token0: 'GALA', token1: 'GUSDC', fee: 3000 },
388
+ * // { token0: 'GALA', token1: 'GWETH', fee: 3000 }
389
+ * // ]
390
+ * ```
391
+ */
392
+ export declare function deduplicateByKey<T>(items: T[], keyFn: (item: T) => unknown, keepFirst?: boolean): T[];
393
+ //# sourceMappingURL=data-transform-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-transform-patterns.d.ts","sourceRoot":"","sources":["../../../src/utils/data-transform-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW,CAmDhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,GAAG,OAAO,EACtD,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,GAAE,CAAwB,GACrC,CAAC,GAAG,IAAI,CAmCV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3G,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,CAcd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAC3B,SAAS,GAAE,OAAc,GACxB,CAAC,EAAE,CA6BL"}