@chainstream-io/sdk 0.1.10 → 0.1.12

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 (395) hide show
  1. package/dist/WatchlistApi-iO0m0ez9.d.cts +7581 -0
  2. package/dist/WatchlistApi-iO0m0ez9.d.ts +7581 -0
  3. package/dist/index-BkJK0-d_.d.ts +457 -0
  4. package/dist/index-DNVVUaIe.d.cts +457 -0
  5. package/dist/index.cjs +6429 -0
  6. package/dist/index.cjs.map +1 -0
  7. package/dist/index.d.cts +2 -0
  8. package/dist/index.d.ts +2 -40
  9. package/dist/index.mjs +6403 -0
  10. package/dist/index.mjs.map +1 -0
  11. package/dist/openapi/index.cjs +9874 -0
  12. package/dist/openapi/index.cjs.map +1 -0
  13. package/dist/openapi/index.d.cts +1340 -0
  14. package/dist/openapi/index.d.ts +1340 -3
  15. package/dist/openapi/index.mjs +9318 -0
  16. package/dist/openapi/index.mjs.map +1 -0
  17. package/dist/stream/index.cjs +1403 -0
  18. package/dist/stream/index.cjs.map +1 -0
  19. package/dist/stream/{stream.fields.d.ts → index.d.cts} +12 -7
  20. package/dist/stream/index.d.ts +45 -3
  21. package/dist/stream/index.mjs +1369 -0
  22. package/dist/stream/index.mjs.map +1 -0
  23. package/package.json +15 -13
  24. package/dist/esm/index.d.ts +0 -40
  25. package/dist/esm/index.js +0 -125
  26. package/dist/esm/openapi/apis/BlockchainApi.d.ts +0 -57
  27. package/dist/esm/openapi/apis/BlockchainApi.js +0 -101
  28. package/dist/esm/openapi/apis/DefiSolanaMoonshotApi.d.ts +0 -44
  29. package/dist/esm/openapi/apis/DefiSolanaMoonshotApi.js +0 -92
  30. package/dist/esm/openapi/apis/DefiSolanaPumpfunApi.d.ts +0 -31
  31. package/dist/esm/openapi/apis/DefiSolanaPumpfunApi.js +0 -56
  32. package/dist/esm/openapi/apis/DexApi.d.ts +0 -166
  33. package/dist/esm/openapi/apis/DexApi.js +0 -318
  34. package/dist/esm/openapi/apis/DexPoolApi.d.ts +0 -48
  35. package/dist/esm/openapi/apis/DexPoolApi.js +0 -74
  36. package/dist/esm/openapi/apis/EndpointApi.d.ts +0 -119
  37. package/dist/esm/openapi/apis/EndpointApi.js +0 -279
  38. package/dist/esm/openapi/apis/IpfsApi.d.ts +0 -27
  39. package/dist/esm/openapi/apis/IpfsApi.js +0 -55
  40. package/dist/esm/openapi/apis/JobsApi.d.ts +0 -44
  41. package/dist/esm/openapi/apis/JobsApi.js +0 -90
  42. package/dist/esm/openapi/apis/RankingApi.d.ts +0 -565
  43. package/dist/esm/openapi/apis/RankingApi.js +0 -739
  44. package/dist/esm/openapi/apis/RedPacketApi.d.ts +0 -202
  45. package/dist/esm/openapi/apis/RedPacketApi.js +0 -413
  46. package/dist/esm/openapi/apis/TokenApi.d.ts +0 -966
  47. package/dist/esm/openapi/apis/TokenApi.js +0 -1748
  48. package/dist/esm/openapi/apis/TradeApi.d.ts +0 -278
  49. package/dist/esm/openapi/apis/TradeApi.js +0 -425
  50. package/dist/esm/openapi/apis/TransactionApi.d.ts +0 -32
  51. package/dist/esm/openapi/apis/TransactionApi.js +0 -60
  52. package/dist/esm/openapi/apis/WalletApi.d.ts +0 -141
  53. package/dist/esm/openapi/apis/WalletApi.js +0 -247
  54. package/dist/esm/openapi/apis/WatchlistApi.d.ts +0 -48
  55. package/dist/esm/openapi/apis/WatchlistApi.js +0 -74
  56. package/dist/esm/openapi/apis/index.d.ts +0 -15
  57. package/dist/esm/openapi/apis/index.js +0 -17
  58. package/dist/esm/openapi/index.d.ts +0 -3
  59. package/dist/esm/openapi/index.js +0 -5
  60. package/dist/esm/openapi/models/BlockchainDTO.d.ts +0 -50
  61. package/dist/esm/openapi/models/BlockchainDTO.js +0 -55
  62. package/dist/esm/openapi/models/BlockchainLatestBlockDTO.d.ts +0 -38
  63. package/dist/esm/openapi/models/BlockchainLatestBlockDTO.js +0 -47
  64. package/dist/esm/openapi/models/BooleanResultDTO.d.ts +0 -32
  65. package/dist/esm/openapi/models/BooleanResultDTO.js +0 -43
  66. package/dist/esm/openapi/models/CalculatePnlInput.d.ts +0 -32
  67. package/dist/esm/openapi/models/CalculatePnlInput.js +0 -41
  68. package/dist/esm/openapi/models/Candle.d.ts +0 -69
  69. package/dist/esm/openapi/models/Candle.js +0 -68
  70. package/dist/esm/openapi/models/ClaimRedPacketInput.d.ts +0 -50
  71. package/dist/esm/openapi/models/ClaimRedPacketInput.js +0 -49
  72. package/dist/esm/openapi/models/CreateEndpointInput.d.ts +0 -74
  73. package/dist/esm/openapi/models/CreateEndpointInput.js +0 -55
  74. package/dist/esm/openapi/models/CreateRedPacketInput.d.ts +0 -74
  75. package/dist/esm/openapi/models/CreateRedPacketInput.js +0 -61
  76. package/dist/esm/openapi/models/CreateRedPacketReply.d.ts +0 -38
  77. package/dist/esm/openapi/models/CreateRedPacketReply.js +0 -47
  78. package/dist/esm/openapi/models/CreateTokenInput.d.ts +0 -85
  79. package/dist/esm/openapi/models/CreateTokenInput.js +0 -73
  80. package/dist/esm/openapi/models/CreateTokenReply.d.ts +0 -38
  81. package/dist/esm/openapi/models/CreateTokenReply.js +0 -47
  82. package/dist/esm/openapi/models/DexDTO.d.ts +0 -50
  83. package/dist/esm/openapi/models/DexDTO.js +0 -49
  84. package/dist/esm/openapi/models/DexPage.d.ts +0 -63
  85. package/dist/esm/openapi/models/DexPage.js +0 -54
  86. package/dist/esm/openapi/models/DexPoolDTO.d.ts +0 -86
  87. package/dist/esm/openapi/models/DexPoolDTO.js +0 -67
  88. package/dist/esm/openapi/models/EndpointListResponse.d.ts +0 -51
  89. package/dist/esm/openapi/models/EndpointListResponse.js +0 -48
  90. package/dist/esm/openapi/models/EndpointOperationResponse.d.ts +0 -32
  91. package/dist/esm/openapi/models/EndpointOperationResponse.js +0 -41
  92. package/dist/esm/openapi/models/EndpointResponse.d.ts +0 -92
  93. package/dist/esm/openapi/models/EndpointResponse.js +0 -61
  94. package/dist/esm/openapi/models/EndpointSecretResponse.d.ts +0 -32
  95. package/dist/esm/openapi/models/EndpointSecretResponse.js +0 -41
  96. package/dist/esm/openapi/models/FilterCondition.d.ts +0 -95
  97. package/dist/esm/openapi/models/FilterCondition.js +0 -95
  98. package/dist/esm/openapi/models/GainersAndLosersDTO.d.ts +0 -50
  99. package/dist/esm/openapi/models/GainersAndLosersDTO.js +0 -55
  100. package/dist/esm/openapi/models/GainersAndLosersPage.d.ts +0 -63
  101. package/dist/esm/openapi/models/GainersAndLosersPage.js +0 -54
  102. package/dist/esm/openapi/models/JobDTO.d.ts +0 -38
  103. package/dist/esm/openapi/models/JobDTO.js +0 -47
  104. package/dist/esm/openapi/models/JobStreamingDTO.d.ts +0 -38
  105. package/dist/esm/openapi/models/JobStreamingDTO.js +0 -47
  106. package/dist/esm/openapi/models/Link.d.ts +0 -48
  107. package/dist/esm/openapi/models/Link.js +0 -56
  108. package/dist/esm/openapi/models/MoonshotCreateTokenInput.d.ts +0 -109
  109. package/dist/esm/openapi/models/MoonshotCreateTokenInput.js +0 -94
  110. package/dist/esm/openapi/models/MoonshotCreateTokenReply.d.ts +0 -38
  111. package/dist/esm/openapi/models/MoonshotCreateTokenReply.js +0 -47
  112. package/dist/esm/openapi/models/MoonshotSubmitCreateToken200Response.d.ts +0 -38
  113. package/dist/esm/openapi/models/MoonshotSubmitCreateToken200Response.js +0 -43
  114. package/dist/esm/openapi/models/MoonshotSubmitCreateTokenInput.d.ts +0 -38
  115. package/dist/esm/openapi/models/MoonshotSubmitCreateTokenInput.js +0 -45
  116. package/dist/esm/openapi/models/PumpCreateTokenInput.d.ts +0 -113
  117. package/dist/esm/openapi/models/PumpCreateTokenInput.js +0 -92
  118. package/dist/esm/openapi/models/PumpCreateTokenReply.d.ts +0 -38
  119. package/dist/esm/openapi/models/PumpCreateTokenReply.js +0 -45
  120. package/dist/esm/openapi/models/QuoteResponse.d.ts +0 -62
  121. package/dist/esm/openapi/models/QuoteResponse.js +0 -51
  122. package/dist/esm/openapi/models/RedPacketClaimDTO.d.ts +0 -90
  123. package/dist/esm/openapi/models/RedPacketClaimDTO.js +0 -86
  124. package/dist/esm/openapi/models/RedPacketClaimsPage.d.ts +0 -57
  125. package/dist/esm/openapi/models/RedPacketClaimsPage.js +0 -60
  126. package/dist/esm/openapi/models/RedPacketDTO.d.ts +0 -144
  127. package/dist/esm/openapi/models/RedPacketDTO.js +0 -122
  128. package/dist/esm/openapi/models/RedPacketReply.d.ts +0 -32
  129. package/dist/esm/openapi/models/RedPacketReply.js +0 -43
  130. package/dist/esm/openapi/models/RedPacketSendTxInput.d.ts +0 -32
  131. package/dist/esm/openapi/models/RedPacketSendTxInput.js +0 -43
  132. package/dist/esm/openapi/models/RedPacketSendTxResponse.d.ts +0 -32
  133. package/dist/esm/openapi/models/RedPacketSendTxResponse.js +0 -43
  134. package/dist/esm/openapi/models/RedPacketsPage.d.ts +0 -57
  135. package/dist/esm/openapi/models/RedPacketsPage.js +0 -60
  136. package/dist/esm/openapi/models/Resolution.d.ts +0 -33
  137. package/dist/esm/openapi/models/Resolution.js +0 -51
  138. package/dist/esm/openapi/models/SendTxInput.d.ts +0 -52
  139. package/dist/esm/openapi/models/SendTxInput.js +0 -54
  140. package/dist/esm/openapi/models/SendTxResponse.d.ts +0 -44
  141. package/dist/esm/openapi/models/SendTxResponse.js +0 -51
  142. package/dist/esm/openapi/models/SwapInput.d.ts +0 -99
  143. package/dist/esm/openapi/models/SwapInput.js +0 -84
  144. package/dist/esm/openapi/models/SwapReply.d.ts +0 -38
  145. package/dist/esm/openapi/models/SwapReply.js +0 -47
  146. package/dist/esm/openapi/models/SwapRouteInput.d.ts +0 -120
  147. package/dist/esm/openapi/models/SwapRouteInput.js +0 -89
  148. package/dist/esm/openapi/models/SwapRouteResponse.d.ts +0 -51
  149. package/dist/esm/openapi/models/SwapRouteResponse.js +0 -56
  150. package/dist/esm/openapi/models/Token.d.ts +0 -140
  151. package/dist/esm/openapi/models/Token.js +0 -95
  152. package/dist/esm/openapi/models/TokenCreationDTO.d.ts +0 -77
  153. package/dist/esm/openapi/models/TokenCreationDTO.js +0 -73
  154. package/dist/esm/openapi/models/TokenCreationPage.d.ts +0 -63
  155. package/dist/esm/openapi/models/TokenCreationPage.js +0 -54
  156. package/dist/esm/openapi/models/TokenCreatorsDTO.d.ts +0 -44
  157. package/dist/esm/openapi/models/TokenCreatorsDTO.js +0 -45
  158. package/dist/esm/openapi/models/TokenExtraDTO.d.ts +0 -152
  159. package/dist/esm/openapi/models/TokenExtraDTO.js +0 -81
  160. package/dist/esm/openapi/models/TokenHolder.d.ts +0 -50
  161. package/dist/esm/openapi/models/TokenHolder.js +0 -55
  162. package/dist/esm/openapi/models/TokenHolderPage.d.ts +0 -63
  163. package/dist/esm/openapi/models/TokenHolderPage.js +0 -54
  164. package/dist/esm/openapi/models/TokenListPage.d.ts +0 -63
  165. package/dist/esm/openapi/models/TokenListPage.js +0 -54
  166. package/dist/esm/openapi/models/TokenMarketData.d.ts +0 -122
  167. package/dist/esm/openapi/models/TokenMarketData.js +0 -81
  168. package/dist/esm/openapi/models/TokenMetadata.d.ts +0 -107
  169. package/dist/esm/openapi/models/TokenMetadata.js +0 -78
  170. package/dist/esm/openapi/models/TokenPage.d.ts +0 -69
  171. package/dist/esm/openapi/models/TokenPage.js +0 -56
  172. package/dist/esm/openapi/models/TokenPriceDTO.d.ts +0 -50
  173. package/dist/esm/openapi/models/TokenPriceDTO.js +0 -55
  174. package/dist/esm/openapi/models/TokenPricePage.d.ts +0 -63
  175. package/dist/esm/openapi/models/TokenPricePage.js +0 -54
  176. package/dist/esm/openapi/models/TokenSocialMediasDTO.d.ts +0 -104
  177. package/dist/esm/openapi/models/TokenSocialMediasDTO.js +0 -65
  178. package/dist/esm/openapi/models/TokenStat.d.ts +0 -788
  179. package/dist/esm/openapi/models/TokenStat.js +0 -451
  180. package/dist/esm/openapi/models/TopTradersDTO.d.ts +0 -98
  181. package/dist/esm/openapi/models/TopTradersDTO.js +0 -85
  182. package/dist/esm/openapi/models/TopTradersPage.d.ts +0 -63
  183. package/dist/esm/openapi/models/TopTradersPage.js +0 -54
  184. package/dist/esm/openapi/models/TradeDetailDTO.d.ts +0 -176
  185. package/dist/esm/openapi/models/TradeDetailDTO.js +0 -139
  186. package/dist/esm/openapi/models/TradeEvent.d.ts +0 -105
  187. package/dist/esm/openapi/models/TradeEvent.js +0 -92
  188. package/dist/esm/openapi/models/TradePage.d.ts +0 -63
  189. package/dist/esm/openapi/models/TradePage.js +0 -54
  190. package/dist/esm/openapi/models/TradeType.d.ts +0 -25
  191. package/dist/esm/openapi/models/TradeType.js +0 -43
  192. package/dist/esm/openapi/models/UpdateEndpointInput.d.ts +0 -80
  193. package/dist/esm/openapi/models/UpdateEndpointInput.js +0 -57
  194. package/dist/esm/openapi/models/WalletBalanceDetailDTO.d.ts +0 -176
  195. package/dist/esm/openapi/models/WalletBalanceDetailDTO.js +0 -139
  196. package/dist/esm/openapi/models/WalletBalancesDTO.d.ts +0 -45
  197. package/dist/esm/openapi/models/WalletBalancesDTO.js +0 -52
  198. package/dist/esm/openapi/models/WalletPnlDTO.d.ts +0 -164
  199. package/dist/esm/openapi/models/WalletPnlDTO.js +0 -131
  200. package/dist/esm/openapi/models/index.d.ts +0 -70
  201. package/dist/esm/openapi/models/index.js +0 -72
  202. package/dist/esm/openapi/runtime.d.ts +0 -184
  203. package/dist/esm/openapi/runtime.js +0 -333
  204. package/dist/esm/stream/index.d.ts +0 -3
  205. package/dist/esm/stream/index.js +0 -3
  206. package/dist/esm/stream/stream.d.ts +0 -142
  207. package/dist/esm/stream/stream.fields.d.ts +0 -40
  208. package/dist/esm/stream/stream.fields.js +0 -242
  209. package/dist/esm/stream/stream.js +0 -988
  210. package/dist/esm/stream/stream.model.d.ts +0 -275
  211. package/dist/esm/stream/stream.model.js +0 -37
  212. package/dist/index.js +0 -125
  213. package/dist/openapi/apis/BlockchainApi.d.ts +0 -57
  214. package/dist/openapi/apis/BlockchainApi.js +0 -101
  215. package/dist/openapi/apis/DefiSolanaMoonshotApi.d.ts +0 -44
  216. package/dist/openapi/apis/DefiSolanaMoonshotApi.js +0 -92
  217. package/dist/openapi/apis/DefiSolanaPumpfunApi.d.ts +0 -31
  218. package/dist/openapi/apis/DefiSolanaPumpfunApi.js +0 -56
  219. package/dist/openapi/apis/DexApi.d.ts +0 -166
  220. package/dist/openapi/apis/DexApi.js +0 -318
  221. package/dist/openapi/apis/DexPoolApi.d.ts +0 -48
  222. package/dist/openapi/apis/DexPoolApi.js +0 -74
  223. package/dist/openapi/apis/EndpointApi.d.ts +0 -119
  224. package/dist/openapi/apis/EndpointApi.js +0 -279
  225. package/dist/openapi/apis/IpfsApi.d.ts +0 -27
  226. package/dist/openapi/apis/IpfsApi.js +0 -55
  227. package/dist/openapi/apis/JobsApi.d.ts +0 -44
  228. package/dist/openapi/apis/JobsApi.js +0 -90
  229. package/dist/openapi/apis/RankingApi.d.ts +0 -565
  230. package/dist/openapi/apis/RankingApi.js +0 -739
  231. package/dist/openapi/apis/RedPacketApi.d.ts +0 -202
  232. package/dist/openapi/apis/RedPacketApi.js +0 -413
  233. package/dist/openapi/apis/TokenApi.d.ts +0 -966
  234. package/dist/openapi/apis/TokenApi.js +0 -1748
  235. package/dist/openapi/apis/TradeApi.d.ts +0 -278
  236. package/dist/openapi/apis/TradeApi.js +0 -425
  237. package/dist/openapi/apis/TransactionApi.d.ts +0 -32
  238. package/dist/openapi/apis/TransactionApi.js +0 -60
  239. package/dist/openapi/apis/WalletApi.d.ts +0 -141
  240. package/dist/openapi/apis/WalletApi.js +0 -247
  241. package/dist/openapi/apis/WatchlistApi.d.ts +0 -48
  242. package/dist/openapi/apis/WatchlistApi.js +0 -74
  243. package/dist/openapi/apis/index.d.ts +0 -15
  244. package/dist/openapi/apis/index.js +0 -17
  245. package/dist/openapi/index.js +0 -5
  246. package/dist/openapi/models/BlockchainDTO.d.ts +0 -50
  247. package/dist/openapi/models/BlockchainDTO.js +0 -55
  248. package/dist/openapi/models/BlockchainLatestBlockDTO.d.ts +0 -38
  249. package/dist/openapi/models/BlockchainLatestBlockDTO.js +0 -47
  250. package/dist/openapi/models/BooleanResultDTO.d.ts +0 -32
  251. package/dist/openapi/models/BooleanResultDTO.js +0 -43
  252. package/dist/openapi/models/CalculatePnlInput.d.ts +0 -32
  253. package/dist/openapi/models/CalculatePnlInput.js +0 -41
  254. package/dist/openapi/models/Candle.d.ts +0 -69
  255. package/dist/openapi/models/Candle.js +0 -68
  256. package/dist/openapi/models/ClaimRedPacketInput.d.ts +0 -50
  257. package/dist/openapi/models/ClaimRedPacketInput.js +0 -49
  258. package/dist/openapi/models/CreateEndpointInput.d.ts +0 -74
  259. package/dist/openapi/models/CreateEndpointInput.js +0 -55
  260. package/dist/openapi/models/CreateRedPacketInput.d.ts +0 -74
  261. package/dist/openapi/models/CreateRedPacketInput.js +0 -61
  262. package/dist/openapi/models/CreateRedPacketReply.d.ts +0 -38
  263. package/dist/openapi/models/CreateRedPacketReply.js +0 -47
  264. package/dist/openapi/models/CreateTokenInput.d.ts +0 -85
  265. package/dist/openapi/models/CreateTokenInput.js +0 -73
  266. package/dist/openapi/models/CreateTokenReply.d.ts +0 -38
  267. package/dist/openapi/models/CreateTokenReply.js +0 -47
  268. package/dist/openapi/models/DexDTO.d.ts +0 -50
  269. package/dist/openapi/models/DexDTO.js +0 -49
  270. package/dist/openapi/models/DexPage.d.ts +0 -63
  271. package/dist/openapi/models/DexPage.js +0 -54
  272. package/dist/openapi/models/DexPoolDTO.d.ts +0 -86
  273. package/dist/openapi/models/DexPoolDTO.js +0 -67
  274. package/dist/openapi/models/EndpointListResponse.d.ts +0 -51
  275. package/dist/openapi/models/EndpointListResponse.js +0 -48
  276. package/dist/openapi/models/EndpointOperationResponse.d.ts +0 -32
  277. package/dist/openapi/models/EndpointOperationResponse.js +0 -41
  278. package/dist/openapi/models/EndpointResponse.d.ts +0 -92
  279. package/dist/openapi/models/EndpointResponse.js +0 -61
  280. package/dist/openapi/models/EndpointSecretResponse.d.ts +0 -32
  281. package/dist/openapi/models/EndpointSecretResponse.js +0 -41
  282. package/dist/openapi/models/FilterCondition.d.ts +0 -95
  283. package/dist/openapi/models/FilterCondition.js +0 -95
  284. package/dist/openapi/models/GainersAndLosersDTO.d.ts +0 -50
  285. package/dist/openapi/models/GainersAndLosersDTO.js +0 -55
  286. package/dist/openapi/models/GainersAndLosersPage.d.ts +0 -63
  287. package/dist/openapi/models/GainersAndLosersPage.js +0 -54
  288. package/dist/openapi/models/JobDTO.d.ts +0 -38
  289. package/dist/openapi/models/JobDTO.js +0 -47
  290. package/dist/openapi/models/JobStreamingDTO.d.ts +0 -38
  291. package/dist/openapi/models/JobStreamingDTO.js +0 -47
  292. package/dist/openapi/models/Link.d.ts +0 -48
  293. package/dist/openapi/models/Link.js +0 -56
  294. package/dist/openapi/models/MoonshotCreateTokenInput.d.ts +0 -109
  295. package/dist/openapi/models/MoonshotCreateTokenInput.js +0 -94
  296. package/dist/openapi/models/MoonshotCreateTokenReply.d.ts +0 -38
  297. package/dist/openapi/models/MoonshotCreateTokenReply.js +0 -47
  298. package/dist/openapi/models/MoonshotSubmitCreateToken200Response.d.ts +0 -38
  299. package/dist/openapi/models/MoonshotSubmitCreateToken200Response.js +0 -43
  300. package/dist/openapi/models/MoonshotSubmitCreateTokenInput.d.ts +0 -38
  301. package/dist/openapi/models/MoonshotSubmitCreateTokenInput.js +0 -45
  302. package/dist/openapi/models/PumpCreateTokenInput.d.ts +0 -113
  303. package/dist/openapi/models/PumpCreateTokenInput.js +0 -92
  304. package/dist/openapi/models/PumpCreateTokenReply.d.ts +0 -38
  305. package/dist/openapi/models/PumpCreateTokenReply.js +0 -45
  306. package/dist/openapi/models/QuoteResponse.d.ts +0 -62
  307. package/dist/openapi/models/QuoteResponse.js +0 -51
  308. package/dist/openapi/models/RedPacketClaimDTO.d.ts +0 -90
  309. package/dist/openapi/models/RedPacketClaimDTO.js +0 -86
  310. package/dist/openapi/models/RedPacketClaimsPage.d.ts +0 -57
  311. package/dist/openapi/models/RedPacketClaimsPage.js +0 -60
  312. package/dist/openapi/models/RedPacketDTO.d.ts +0 -144
  313. package/dist/openapi/models/RedPacketDTO.js +0 -122
  314. package/dist/openapi/models/RedPacketReply.d.ts +0 -32
  315. package/dist/openapi/models/RedPacketReply.js +0 -43
  316. package/dist/openapi/models/RedPacketSendTxInput.d.ts +0 -32
  317. package/dist/openapi/models/RedPacketSendTxInput.js +0 -43
  318. package/dist/openapi/models/RedPacketSendTxResponse.d.ts +0 -32
  319. package/dist/openapi/models/RedPacketSendTxResponse.js +0 -43
  320. package/dist/openapi/models/RedPacketsPage.d.ts +0 -57
  321. package/dist/openapi/models/RedPacketsPage.js +0 -60
  322. package/dist/openapi/models/Resolution.d.ts +0 -33
  323. package/dist/openapi/models/Resolution.js +0 -51
  324. package/dist/openapi/models/SendTxInput.d.ts +0 -52
  325. package/dist/openapi/models/SendTxInput.js +0 -54
  326. package/dist/openapi/models/SendTxResponse.d.ts +0 -44
  327. package/dist/openapi/models/SendTxResponse.js +0 -51
  328. package/dist/openapi/models/SwapInput.d.ts +0 -99
  329. package/dist/openapi/models/SwapInput.js +0 -84
  330. package/dist/openapi/models/SwapReply.d.ts +0 -38
  331. package/dist/openapi/models/SwapReply.js +0 -47
  332. package/dist/openapi/models/SwapRouteInput.d.ts +0 -120
  333. package/dist/openapi/models/SwapRouteInput.js +0 -89
  334. package/dist/openapi/models/SwapRouteResponse.d.ts +0 -51
  335. package/dist/openapi/models/SwapRouteResponse.js +0 -56
  336. package/dist/openapi/models/Token.d.ts +0 -140
  337. package/dist/openapi/models/Token.js +0 -95
  338. package/dist/openapi/models/TokenCreationDTO.d.ts +0 -77
  339. package/dist/openapi/models/TokenCreationDTO.js +0 -73
  340. package/dist/openapi/models/TokenCreationPage.d.ts +0 -63
  341. package/dist/openapi/models/TokenCreationPage.js +0 -54
  342. package/dist/openapi/models/TokenCreatorsDTO.d.ts +0 -44
  343. package/dist/openapi/models/TokenCreatorsDTO.js +0 -45
  344. package/dist/openapi/models/TokenExtraDTO.d.ts +0 -152
  345. package/dist/openapi/models/TokenExtraDTO.js +0 -81
  346. package/dist/openapi/models/TokenHolder.d.ts +0 -50
  347. package/dist/openapi/models/TokenHolder.js +0 -55
  348. package/dist/openapi/models/TokenHolderPage.d.ts +0 -63
  349. package/dist/openapi/models/TokenHolderPage.js +0 -54
  350. package/dist/openapi/models/TokenListPage.d.ts +0 -63
  351. package/dist/openapi/models/TokenListPage.js +0 -54
  352. package/dist/openapi/models/TokenMarketData.d.ts +0 -122
  353. package/dist/openapi/models/TokenMarketData.js +0 -81
  354. package/dist/openapi/models/TokenMetadata.d.ts +0 -107
  355. package/dist/openapi/models/TokenMetadata.js +0 -78
  356. package/dist/openapi/models/TokenPage.d.ts +0 -69
  357. package/dist/openapi/models/TokenPage.js +0 -56
  358. package/dist/openapi/models/TokenPriceDTO.d.ts +0 -50
  359. package/dist/openapi/models/TokenPriceDTO.js +0 -55
  360. package/dist/openapi/models/TokenPricePage.d.ts +0 -63
  361. package/dist/openapi/models/TokenPricePage.js +0 -54
  362. package/dist/openapi/models/TokenSocialMediasDTO.d.ts +0 -104
  363. package/dist/openapi/models/TokenSocialMediasDTO.js +0 -65
  364. package/dist/openapi/models/TokenStat.d.ts +0 -788
  365. package/dist/openapi/models/TokenStat.js +0 -451
  366. package/dist/openapi/models/TopTradersDTO.d.ts +0 -98
  367. package/dist/openapi/models/TopTradersDTO.js +0 -85
  368. package/dist/openapi/models/TopTradersPage.d.ts +0 -63
  369. package/dist/openapi/models/TopTradersPage.js +0 -54
  370. package/dist/openapi/models/TradeDetailDTO.d.ts +0 -176
  371. package/dist/openapi/models/TradeDetailDTO.js +0 -139
  372. package/dist/openapi/models/TradeEvent.d.ts +0 -105
  373. package/dist/openapi/models/TradeEvent.js +0 -92
  374. package/dist/openapi/models/TradePage.d.ts +0 -63
  375. package/dist/openapi/models/TradePage.js +0 -54
  376. package/dist/openapi/models/TradeType.d.ts +0 -25
  377. package/dist/openapi/models/TradeType.js +0 -43
  378. package/dist/openapi/models/UpdateEndpointInput.d.ts +0 -80
  379. package/dist/openapi/models/UpdateEndpointInput.js +0 -57
  380. package/dist/openapi/models/WalletBalanceDetailDTO.d.ts +0 -176
  381. package/dist/openapi/models/WalletBalanceDetailDTO.js +0 -139
  382. package/dist/openapi/models/WalletBalancesDTO.d.ts +0 -45
  383. package/dist/openapi/models/WalletBalancesDTO.js +0 -52
  384. package/dist/openapi/models/WalletPnlDTO.d.ts +0 -164
  385. package/dist/openapi/models/WalletPnlDTO.js +0 -131
  386. package/dist/openapi/models/index.d.ts +0 -70
  387. package/dist/openapi/models/index.js +0 -72
  388. package/dist/openapi/runtime.d.ts +0 -184
  389. package/dist/openapi/runtime.js +0 -333
  390. package/dist/stream/index.js +0 -3
  391. package/dist/stream/stream.d.ts +0 -142
  392. package/dist/stream/stream.fields.js +0 -242
  393. package/dist/stream/stream.js +0 -988
  394. package/dist/stream/stream.model.d.ts +0 -275
  395. package/dist/stream/stream.model.js +0 -37
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/stream/index.ts","../../src/stream/stream.ts","../../src/stream/stream.fields.ts","../../src/stream/stream.model.ts"],"sourcesContent":["export * from './stream';\nexport * from './stream.fields';\nexport * from './stream.model';","import { Centrifuge, ConnectionTokenContext } from \"@chainstream-io/centrifuge\";\nimport { DexRequestContext } from \"..\";\nimport { Resolution } from \"../openapi\";\nimport {\n DexPoolBalance,\n NewToken,\n TokenMetadata,\n TokenHolder,\n TokenStat,\n TokenLiquidity,\n WalletBalance,\n TokenSupply,\n WalletPnl,\n ChannelType,\n TokenCandle,\n TradeActivity,\n WalletTokenPnl,\n RankingType,\n Dex,\n RankingTokenList,\n TokenBondingCurve,\n} from \"./stream.model\";\nimport { replaceFilterFields } from \"./stream.fields\";\n\nexport interface Unsubscrible {\n unsubscribe(): void;\n}\n\nexport class StreamApi {\n private realtimeClient: Centrifuge;\n private listenersMap: Map<string, Set<(data: any) => void>>;\n\n constructor(context: DexRequestContext) {\n const realtimeEndpoint = context.streamUrl;\n this.realtimeClient = new Centrifuge(realtimeEndpoint, {\n getToken: async (_ctx: ConnectionTokenContext) => {\n return typeof context.accessToken === \"string\"\n ? context.accessToken\n : await context.accessToken.getToken();\n },\n });\n\n this.realtimeClient\n .on(\"connected\", () => {\n console.log(\"[streaming] connected\");\n })\n .on(\"disconnected\", (err) => {\n console.warn(\"[streaming] disconnected\", err);\n })\n .on(\"error\", (err) => {\n console.error(\"[streaming] error: \", err);\n });\n\n this.listenersMap = new Map();\n }\n\n connect() {\n this.realtimeClient.connect();\n }\n\n /**\n * Start batching commands for efficient bulk operations\n * All subscription commands after this call will be batched until stopBatching is called\n */\n startBatching() {\n this.realtimeClient.startBatching();\n }\n\n /**\n * Stop batching and flush all collected commands to the server\n * This will send all batched subscription commands in a single network request\n */\n stopBatching() {\n this.realtimeClient.stopBatching();\n }\n\n /**\n * Batch subscribe method that accepts a function containing subscription calls\n * All subscription methods called within the function will be batched\n * @param batchFunction Function containing subscription method calls\n * @returns Array of unsubscribe functions\n */\n batchSubscribe(batchFunction: () => Unsubscrible[]): Unsubscrible[] {\n // Start batching commands\n this.startBatching();\n\n // Execute the batch function (all subscription calls will be batched)\n const unsubscribles = batchFunction();\n\n // Stop batching and flush all commands\n this.stopBatching();\n\n return unsubscribles;\n }\n\n /**\n * Batch unsubscribe method that accepts an array of unsubscribe functions\n * All unsubscribe calls will be executed at once\n * @param unsubscribles Array of unsubscribe functions to execute\n */\n batchUnsubscribe(unsubscribles: Unsubscrible[]): void {\n if (!unsubscribles || unsubscribles.length === 0) {\n return;\n }\n\n // Execute all unsubscribe calls\n unsubscribles.forEach((unsub) => {\n if (unsub && typeof unsub.unsubscribe === \"function\") {\n unsub.unsubscribe();\n }\n });\n }\n\n subscribe<T = any>(channel: string, fn: (data: T) => void, filter?: string, methodName?: string): Unsubscrible {\n let sub = this.realtimeClient.getSubscription(channel);\n let listeners = this.listenersMap.get(channel);\n\n if (!sub) {\n listeners = new Set();\n this.listenersMap.set(channel, listeners);\n\n console.log(\"[xrealtime] create new sub: \", channel);\n\n // Process filter expression with method-specific field mappings\n const processedFilter = filter && methodName ? replaceFilterFields(filter, methodName) : filter;\n\n sub = this.realtimeClient.newSubscription(channel, {\n delta: \"fossil\",\n ...(processedFilter && { filter: processedFilter }),\n });\n\n sub\n .on(\"subscribed\", () => {\n console.log(\"[xrealtime] subscribed\", channel);\n })\n .on(\"unsubscribed\", () => {\n console.log(\"[xrealtime] unsubscribed\", channel);\n })\n .on(\"publication\", (ctx) => {\n // console.log('[xrealtime] publication, ctx.data: ', ctx.data);\n listeners?.forEach((it) => it(ctx.data));\n })\n .subscribe();\n }\n\n listeners?.add(fn);\n\n return new StreamUnsubscrible<T>(this, channel, fn);\n }\n\n unsubscribe<T = any>(channel: string, fn: (data: T) => void) {\n const listeners = this.listenersMap.get(channel);\n if (!listeners) {\n return;\n }\n\n listeners.delete(fn);\n console.log(\"unsubscribe, remain listeners: \", listeners.size);\n\n if (listeners.size === 0) {\n console.log(\"unsubscribe channel: \", channel);\n\n const sub = this.realtimeClient.getSubscription(channel);\n if (sub) {\n sub.unsubscribe();\n this.realtimeClient.removeSubscription(sub);\n }\n\n this.listenersMap.delete(channel);\n }\n }\n\n private formatScientificNotation(value: any): string {\n if (value === null || value === undefined) {\n return \"0\";\n }\n\n const strValue = value.toString();\n if (strValue.includes(\"e-\") || strValue.includes(\"E-\")) {\n return Number(value)\n .toFixed(20)\n .replace(/\\.?0+$/, \"\");\n }\n\n return strValue;\n }\n\n subscribeTokenCandles({\n chain,\n tokenAddress,\n resolution,\n callback,\n filter,\n }: {\n chain: string;\n tokenAddress: string;\n resolution: Resolution;\n callback: (data: TokenCandle) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-candle:${chain}_${tokenAddress}_${resolution}`;\n return this.subscribe(channel, (data: any) => {\n callback({\n open: data.o,\n close: data.c,\n high: data.h,\n low: data.l,\n volume: data.v,\n resolution: data.r,\n time: data.t,\n number: data.n,\n });\n }, filter, \"subscribeTokenCandles\");\n }\n\n subscribeTokenStats({\n chain,\n tokenAddress,\n callback,\n filter,\n }: {\n chain: string;\n tokenAddress: string;\n callback: (data: TokenStat) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-token-stats:${chain}_${tokenAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n address: data.a,\n timestamp: data.t,\n buys1m: data.b1m,\n sells1m: data.s1m,\n buyers1m: data.be1m,\n sellers1m: data.se1m,\n buyVolumeInUsd1m: this.formatScientificNotation(data.bviu1m),\n sellVolumeInUsd1m: this.formatScientificNotation(data.sviu1m),\n price1m: this.formatScientificNotation(data.p1m),\n openInUsd1m: this.formatScientificNotation(data.oiu1m),\n closeInUsd1m: this.formatScientificNotation(data.ciu1m),\n\n buys5m: data.b5m,\n sells5m: data.s5m,\n buyers5m: data.be5m,\n sellers5m: data.se5m,\n buyVolumeInUsd5m: this.formatScientificNotation(data.bviu5m),\n sellVolumeInUsd5m: this.formatScientificNotation(data.sviu5m),\n price5m: this.formatScientificNotation(data.p5m),\n openInUsd5m: this.formatScientificNotation(data.oiu5m),\n closeInUsd5m: this.formatScientificNotation(data.ciu5m),\n\n buys15m: data.b15m,\n sells15m: data.s15m,\n buyers15m: data.be15m,\n sellers15m: data.se15m,\n buyVolumeInUsd15m: this.formatScientificNotation(data.bviu15m),\n sellVolumeInUsd15m: this.formatScientificNotation(data.sviu15m),\n price15m: this.formatScientificNotation(data.p15m),\n openInUsd15m: this.formatScientificNotation(data.oiu15m),\n closeInUsd15m: this.formatScientificNotation(data.ciu15m),\n\n buys30m: data.b30m,\n sells30m: data.s30m,\n buyers30m: data.be30m,\n sellers30m: data.se30m,\n buyVolumeInUsd30m: this.formatScientificNotation(data.bviu30m),\n sellVolumeInUsd30m: this.formatScientificNotation(data.sviu30m),\n price30m: this.formatScientificNotation(data.p30m),\n openInUsd30m: this.formatScientificNotation(data.oiu30m),\n closeInUsd30m: this.formatScientificNotation(data.ciu30m),\n\n buys1h: data.b1h,\n sells1h: data.s1h,\n buyers1h: data.be1h,\n sellers1h: data.se1h,\n buyVolumeInUsd1h: this.formatScientificNotation(data.bviu1h),\n sellVolumeInUsd1h: this.formatScientificNotation(data.sviu1h),\n price1h: this.formatScientificNotation(data.p1h),\n openInUsd1h: this.formatScientificNotation(data.oiu1h),\n closeInUsd1h: this.formatScientificNotation(data.ciu1h),\n\n buys4h: data.b4h,\n sells4h: data.s4h,\n buyers4h: data.be4h,\n sellers4h: data.se4h,\n buyVolumeInUsd4h: this.formatScientificNotation(data.bviu4h),\n sellVolumeInUsd4h: this.formatScientificNotation(data.sviu4h),\n price4h: this.formatScientificNotation(data.p4h),\n openInUsd4h: this.formatScientificNotation(data.oiu4h),\n closeInUsd4h: this.formatScientificNotation(data.ciu4h),\n\n buys24h: data.b24h,\n sells24h: data.s24h,\n buyers24h: data.be24h,\n sellers24h: data.se24h,\n buyVolumeInUsd24h: this.formatScientificNotation(data.bviu24h),\n sellVolumeInUsd24h: this.formatScientificNotation(data.sviu24h),\n price24h: this.formatScientificNotation(data.p24h),\n openInUsd24h: this.formatScientificNotation(data.oiu24h),\n closeInUsd24h: this.formatScientificNotation(data.ciu24h),\n\n price: this.formatScientificNotation(data.p),\n }), filter, \"subscribeTokenStats\");\n }\n\n subscribeTokenHolders({\n chain,\n tokenAddress,\n callback,\n filter,\n }: {\n chain: string;\n tokenAddress: string;\n callback: (data: TokenHolder) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-token-holding:${chain}_${tokenAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n tokenAddress: data.a,\n holders: data.h,\n top100Amount: this.formatScientificNotation(data.t100a),\n top10Amount: this.formatScientificNotation(data.t10a),\n top100Holders: data.t100h,\n top10Holders: data.t10h,\n top100Ratio: this.formatScientificNotation(data.t100r),\n top10Ratio: this.formatScientificNotation(data.t10r),\n creatorsHolders: data.ch,\n creatorsAmount: this.formatScientificNotation(data.ca),\n creatorsRatio: this.formatScientificNotation(data.cr),\n timestamp: data.ts,\n }), filter, \"subscribeTokenHolders\");\n }\n\n subscribeNewToken({\n chain,\n callback,\n filter,\n }: {\n chain: string;\n callback: (data: NewToken) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-new-token:${chain}`;\n return this.subscribe(channel, (data: any) => {\n const result: any = {\n tokenAddress: data.a,\n name: data.n,\n symbol: data.s,\n createdAtMs: data.cts,\n };\n \n if (data.dec) {\n result.decimals = data.dec;\n }\n \n if (data.lf) {\n result.launchFrom = {};\n if (data.lf.pa) { result.launchFrom.programAddress = data.lf.pa }\n if (data.lf.pf) { result.launchFrom.protocolFamily = data.lf.pf }\n if (data.lf.pn) { result.launchFrom.protocolName = data.lf.pn }\n }\n \n callback(result);\n }, filter, \"subscribeNewToken\");\n }\n\n subscribeNewTokensMetadata({\n chain,\n callback,\n }: {\n chain: string;\n callback: (data: TokenMetadata[]) => void;\n }): Unsubscrible {\n const channel = `dex-new-tokens-metadata:${chain}`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data.map(\n (it: any) =>\n ({\n tokenAddress: it.a,\n name: it.n,\n symbol: it.s,\n imageUrl: it.iu,\n description: it.de,\n socialMedia: (() => {\n const socialMedia: any = {};\n if (it.sm?.tw) { socialMedia.twitter = it.sm.tw }\n if (it.sm?.tg) { socialMedia.telegram = it.sm.tg }\n if (it.sm?.w) { socialMedia.website = it.sm.w }\n if (it.sm?.tt) { socialMedia.tiktok = it.sm.tt }\n if (it.sm?.dc) { socialMedia.discord = it.sm.dc }\n if (it.sm?.fb) { socialMedia.facebook = it.sm.fb }\n if (it.sm?.gh) { socialMedia.github = it.sm.gh }\n if (it.sm?.ig) { socialMedia.instagram = it.sm.ig }\n if (it.sm?.li) { socialMedia.linkedin = it.sm.li }\n if (it.sm?.md) { socialMedia.medium = it.sm.md }\n if (it.sm?.rd) { socialMedia.reddit = it.sm.rd }\n if (it.sm?.yt) { socialMedia.youtube = it.sm.yt }\n if (it.sm?.bb) { socialMedia.bitbucket = it.sm.bb }\n return socialMedia;\n })(),\n createdAtMs: it.cts,\n })\n )\n )\n );\n }\n\n // subscribeNewTokens({\n // chain,\n // callback,\n // }: {\n // chain: string;\n // callback: (data: NewToken[]) => void;\n // }): Unsubscrible {\n // const channel = `dex-new-tokens:${chain}`;\n // return this.subscribe(channel, (data: any[]) =>\n // callback(\n // data.map(\n // (it: any) =>\n // ({\n // tokenAddress: it.a,\n // name: it.n,\n // symbol: it.s,\n // description: it.de,\n // createdAtMs: it.cts,\n // }) as NewToken\n // )\n // )\n // );\n // }\n\n subscribeTokenSupply({\n chain,\n tokenAddress,\n callback,\n filter,\n }: {\n chain: string;\n tokenAddress: string;\n callback: (data: TokenSupply) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-token-supply:${chain}_${tokenAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n tokenAddress: data.a,\n supply: data.s,\n marketCapInUsd: data.mc,\n timestamp: data.ts,\n }), filter, \"subscribeTokenSupply\");\n }\n\n subscribeTokenLiquidity({\n chain,\n tokenAddress,\n callback,\n filter,\n }: {\n chain: string;\n tokenAddress: string;\n callback: (data: TokenLiquidity) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-token-general-stat-num:${chain}_${tokenAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n tokenAddress: data.a,\n metricType: data.t,\n value: data.v,\n timestamp: data.ts,\n }), filter, \"subscribeTokenLiquidity\");\n }\n\n subscribeRankingTokensLiquidity({\n chain,\n channelType,\n callback,\n }: {\n chain: string;\n channelType: ChannelType;\n callback: (data: TokenLiquidity[]) => void;\n }): Unsubscrible {\n const channel = `dex-ranking-token-general_stat_num-list:${chain}_${channelType}`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data?.map(\n (it: any) =>\n ({\n tokenAddress: it.a,\n metricType: it.t,\n value: it.v,\n timestamp: it.ts,\n }) as TokenLiquidity\n )\n )\n );\n }\n\n subscribeRankingTokensList({\n chain,\n ranking_type,\n dex,\n callback,\n }: {\n chain: string;\n ranking_type: RankingType;\n dex?: Dex;\n callback: (data: RankingTokenList[]) => void;\n }): Unsubscrible {\n const channel = dex\n ? `dex-ranking-list:${chain}_${ranking_type}_${dex}`\n : `dex-ranking-list:${chain}_${ranking_type}`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data?.map((item: any) => {\n const result: RankingTokenList = {} as RankingTokenList;\n\n // TokenMetadata (t)\n if (item.t) {\n result.metadata = {\n tokenAddress: item.t.a,\n };\n if (item.t.n) { result.metadata.name = item.t.n }\n if (item.t.s) { result.metadata.symbol = item.t.s }\n if (item.t.iu) { result.metadata.imageUrl = item.t.iu }\n if (item.t.de) { result.metadata.description = item.t.de }\n if (item.t.d) { result.metadata.decimals = item.t.dec }\n if (item.t.cts) { result.metadata.createdAtMs = item.t.cts }\n if (item.t.lf) {\n result.metadata.launchFrom = {};\n if (item.t.lf.pa) { result.metadata.launchFrom.programAddress = item.t.lf.pa }\n if (item.t.lf.pf) { result.metadata.launchFrom.protocolFamily = item.t.lf.pf }\n if (item.t.lf.pn) { result.metadata.launchFrom.protocolName = item.t.lf.pn }\n }\n if (item.t.mt) {\n result.metadata.migratedTo = {};\n if (item.t.mt.pa) { result.metadata.migratedTo.programAddress = item.t.mt.pa }\n if (item.t.mt.pf) { result.metadata.migratedTo.protocolFamily = item.t.mt.pf }\n if (item.t.mt.pn) { result.metadata.migratedTo.protocolName = item.t.mt.pn }\n }\n if (item.t.sm) {\n result.metadata.socialMedia = {};\n if (item.t.sm.tw) { result.metadata.socialMedia.twitter = item.t.sm.tw }\n if (item.t.sm.tg) { result.metadata.socialMedia.telegram = item.t.sm.tg }\n if (item.t.sm.w) { result.metadata.socialMedia.website = item.t.sm.w }\n if (item.t.sm.tt) { result.metadata.socialMedia.tiktok = item.t.sm.tt }\n if (item.t.sm.dc) { result.metadata.socialMedia.discord = item.t.sm.dc }\n if (item.t.sm.fb) { result.metadata.socialMedia.facebook = item.t.sm.fb }\n if (item.t.sm.gh) { result.metadata.socialMedia.github = item.t.sm.gh }\n if (item.t.sm.ig) { result.metadata.socialMedia.instagram = item.t.sm.ig }\n if (item.t.sm.li) { result.metadata.socialMedia.linkedin = item.t.sm.li }\n if (item.t.sm.md) { result.metadata.socialMedia.medium = item.t.sm.md }\n if (item.t.sm.rd) { result.metadata.socialMedia.reddit = item.t.sm.rd }\n if (item.t.sm.yt) { result.metadata.socialMedia.youtube = item.t.sm.yt }\n if (item.t.sm.bb) { result.metadata.socialMedia.bitbucket = item.t.sm.bb }\n }\n if (item.t.cts) { result.metadata.createdAtMs = item.t.cts }\n }\n\n // TokenBondingCurve (bc)\n if (item.bc) {\n result.bondingCurve = {};\n if (item.bc.pr) { result.bondingCurve.progressRatio = this.formatScientificNotation(item.bc.pr) }\n }\n\n // TokenHolder (h)\n if (item.h) {\n result.holder = {\n tokenAddress: item.h.a,\n timestamp: item.h.ts || 0,\n };\n if (item.h.h) { result.holder.holders = item.h.h }\n if (item.h.t100a) { result.holder.top100Amount = this.formatScientificNotation(item.h.t100a) }\n if (item.h.t10a) { result.holder.top10Amount = this.formatScientificNotation(item.h.t10a) }\n if (item.h.t100h) { result.holder.top100Holders = item.h.t100h }\n if (item.h.t10h) { result.holder.top10Holders = item.h.t10h }\n if (item.h.t100r) { result.holder.top100Ratio = this.formatScientificNotation(item.h.t100r) }\n if (item.h.t10r) { result.holder.top10Ratio = this.formatScientificNotation(item.h.t10r) }\n }\n\n // TokenSupply (s)\n if (item.s) {\n result.supply = {\n tokenAddress: item.s.a,\n timestamp: item.s.ts || 0,\n };\n if (item.s.s) { result.supply.supply = item.s.s }\n if (item.s.mc) { result.supply.marketCapInUsd = item.s.mc }\n }\n\n // TokenStat (ts)\n if (item.ts) {\n result.stat = {\n address: item.ts.a,\n timestamp: item.ts.t || 0,\n };\n\n // 1m data\n if (item.ts.b1m) { result.stat.buys1m = item.ts.b1m }\n if (item.ts.s1m) { result.stat.sells1m = item.ts.s1m }\n if (item.ts.be1m) { result.stat.buyers1m = item.ts.be1m }\n if (item.ts.se1m) { result.stat.sellers1m = item.ts.se1m }\n if (item.ts.bviu1m) { result.stat.buyVolumeInUsd1m = this.formatScientificNotation(item.ts.bviu1m) }\n if (item.ts.sviu1m) { result.stat.sellVolumeInUsd1m = this.formatScientificNotation(item.ts.sviu1m) }\n if (item.ts.p1m) { result.stat.price1m = this.formatScientificNotation(item.ts.p1m) }\n if (item.ts.oiu1m) { result.stat.openInUsd1m = this.formatScientificNotation(item.ts.oiu1m) }\n if (item.ts.ciu1m) { result.stat.closeInUsd1m = this.formatScientificNotation(item.ts.ciu1m) }\n\n // 5m data\n if (item.ts.b5m) { result.stat.buys5m = item.ts.b5m }\n if (item.ts.s5m) { result.stat.sells5m = item.ts.s5m }\n if (item.ts.be5m) { result.stat.buyers5m = item.ts.be5m }\n if (item.ts.se5m) { result.stat.sellers5m = item.ts.se5m }\n if (item.ts.bviu5m) { result.stat.buyVolumeInUsd5m = this.formatScientificNotation(item.ts.bviu5m) }\n if (item.ts.sviu5m) { result.stat.sellVolumeInUsd5m = this.formatScientificNotation(item.ts.sviu5m) }\n if (item.ts.p5m) { result.stat.price5m = this.formatScientificNotation(item.ts.p5m) }\n if (item.ts.oiu5m) { result.stat.openInUsd5m = this.formatScientificNotation(item.ts.oiu5m) }\n if (item.ts.ciu5m) { result.stat.closeInUsd5m = this.formatScientificNotation(item.ts.ciu5m) }\n\n // 15m data\n if (item.ts.b15m) { result.stat.buys15m = item.ts.b15m }\n if (item.ts.s15m) { result.stat.sells15m = item.ts.s15m }\n if (item.ts.be15m) { result.stat.buyers15m = item.ts.be15m }\n if (item.ts.se15m) { result.stat.sellers15m = item.ts.se15m }\n if (item.ts.bviu15m) { result.stat.buyVolumeInUsd15m = this.formatScientificNotation(item.ts.bviu15m) }\n if (item.ts.sviu15m) { result.stat.sellVolumeInUsd15m = this.formatScientificNotation(item.ts.sviu15m) }\n if (item.ts.p15m) { result.stat.price15m = this.formatScientificNotation(item.ts.p15m) }\n if (item.ts.oiu15m) { result.stat.openInUsd15m = this.formatScientificNotation(item.ts.oiu15m) }\n if (item.ts.ciu15m) { result.stat.closeInUsd15m = this.formatScientificNotation(item.ts.ciu15m) }\n\n // 30m data\n if (item.ts.b30m) { result.stat.buys30m = item.ts.b30m }\n if (item.ts.s30m) { result.stat.sells30m = item.ts.s30m }\n if (item.ts.be30m) { result.stat.buyers30m = item.ts.be30m }\n if (item.ts.se30m) { result.stat.sellers30m = item.ts.se30m }\n if (item.ts.bviu30m) { result.stat.buyVolumeInUsd30m = this.formatScientificNotation(item.ts.bviu30m) }\n if (item.ts.sviu30m) { result.stat.sellVolumeInUsd30m = this.formatScientificNotation(item.ts.sviu30m) }\n if (item.ts.p30m) { result.stat.price30m = this.formatScientificNotation(item.ts.p30m) }\n if (item.ts.oiu30m) { result.stat.openInUsd30m = this.formatScientificNotation(item.ts.oiu30m) }\n if (item.ts.ciu30m) { result.stat.closeInUsd30m = this.formatScientificNotation(item.ts.ciu30m) }\n\n // 1h data\n if (item.ts.b1h) { result.stat.buys1h = item.ts.b1h }\n if (item.ts.s1h) { result.stat.sells1h = item.ts.s1h }\n if (item.ts.be1h) { result.stat.buyers1h = item.ts.be1h }\n if (item.ts.se1h) { result.stat.sellers1h = item.ts.se1h }\n if (item.ts.bviu1h) { result.stat.buyVolumeInUsd1h = this.formatScientificNotation(item.ts.bviu1h) }\n if (item.ts.sviu1h) { result.stat.sellVolumeInUsd1h = this.formatScientificNotation(item.ts.sviu1h) }\n if (item.ts.p1h) { result.stat.price1h = this.formatScientificNotation(item.ts.p1h) }\n if (item.ts.oiu1h) { result.stat.openInUsd1h = this.formatScientificNotation(item.ts.oiu1h) }\n if (item.ts.ciu1h) { result.stat.closeInUsd1h = this.formatScientificNotation(item.ts.ciu1h) }\n\n // 4h data\n if (item.ts.b4h) { result.stat.buys4h = item.ts.b4h }\n if (item.ts.s4h) { result.stat.sells4h = item.ts.s4h }\n if (item.ts.be4h) { result.stat.buyers4h = item.ts.be4h }\n if (item.ts.se4h) { result.stat.sellers4h = item.ts.se4h }\n if (item.ts.bviu4h) { result.stat.buyVolumeInUsd4h = this.formatScientificNotation(item.ts.bviu4h) }\n if (item.ts.sviu4h) { result.stat.sellVolumeInUsd4h = this.formatScientificNotation(item.ts.sviu4h) }\n if (item.ts.p4h) { result.stat.price4h = this.formatScientificNotation(item.ts.p4h) }\n if (item.ts.oiu4h) { result.stat.openInUsd4h = this.formatScientificNotation(item.ts.oiu4h) }\n if (item.ts.ciu4h) { result.stat.closeInUsd4h = this.formatScientificNotation(item.ts.ciu4h) }\n\n // 24h data\n if (item.ts.b24h) { result.stat.buys24h = item.ts.b24h }\n if (item.ts.s24h) { result.stat.sells24h = item.ts.s24h }\n if (item.ts.be24h) { result.stat.buyers24h = item.ts.be24h }\n if (item.ts.se24h) { result.stat.sellers24h = item.ts.se24h }\n if (item.ts.bviu24h) { result.stat.buyVolumeInUsd24h = this.formatScientificNotation(item.ts.bviu24h) }\n if (item.ts.sviu24h) { result.stat.sellVolumeInUsd24h = this.formatScientificNotation(item.ts.sviu24h) }\n if (item.ts.p24h) { result.stat.price24h = this.formatScientificNotation(item.ts.p24h) }\n if (item.ts.oiu24h) { result.stat.openInUsd24h = this.formatScientificNotation(item.ts.oiu24h) }\n if (item.ts.ciu24h) { result.stat.closeInUsd24h = this.formatScientificNotation(item.ts.ciu24h) }\n\n // Current price\n if (item.ts.p) { result.stat.price = this.formatScientificNotation(item.ts.p) }\n }\n\n return result;\n })\n )\n );\n }\n\n subscribeRankingTokensStats({\n chain,\n channelType,\n callback,\n }: {\n chain: string;\n channelType: ChannelType;\n callback: (data: TokenStat[]) => void;\n }): Unsubscrible {\n const channel = `dex-ranking-token-stats-list:${chain}_${channelType}`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data?.map(\n (it: any) =>\n ({\n address: it.a,\n timestamp: it.t,\n buys1m: it.b1m,\n sells1m: it.s1m,\n buyers1m: it.be1m,\n sellers1m: it.se1m,\n buyVolumeInUsd1m: this.formatScientificNotation(it.bviu1m),\n sellVolumeInUsd1m: this.formatScientificNotation(it.sviu1m),\n price1m: this.formatScientificNotation(it.p1m),\n openInUsd1m: this.formatScientificNotation(it.oiu1m),\n closeInUsd1m: this.formatScientificNotation(it.ciu1m),\n buys5m: it.b5m,\n sells5m: it.s5m,\n buyers5m: it.be5m,\n sellers5m: it.se5m,\n buyVolumeInUsd5m: this.formatScientificNotation(it.bviu5m),\n sellVolumeInUsd5m: this.formatScientificNotation(it.sviu5m),\n price5m: this.formatScientificNotation(it.p5m),\n openInUsd5m: this.formatScientificNotation(it.oiu5m),\n closeInUsd5m: this.formatScientificNotation(it.ciu5m),\n buys15m: it.b15m,\n sells15m: it.s15m,\n buyers15m: it.be15m,\n sellers15m: it.se15m,\n buyVolumeInUsd15m: this.formatScientificNotation(it.bviu15m),\n sellVolumeInUsd15m: this.formatScientificNotation(it.sviu15m),\n price15m: this.formatScientificNotation(it.p15m),\n openInUsd15m: this.formatScientificNotation(it.oiu15m),\n closeInUsd15m: this.formatScientificNotation(it.ciu15m),\n buys30m: it.b30m,\n sells30m: it.s30m,\n buyers30m: it.be30m,\n sellers30m: it.se30m,\n buyVolumeInUsd30m: this.formatScientificNotation(it.bviu30m),\n sellVolumeInUsd30m: this.formatScientificNotation(it.sviu30m),\n price30m: this.formatScientificNotation(it.p30m),\n openInUsd30m: this.formatScientificNotation(it.oiu30m),\n closeInUsd30m: this.formatScientificNotation(it.ciu30m),\n buys1h: it.b1h,\n sells1h: it.s1h,\n buyers1h: it.be1h,\n sellers1h: it.se1h,\n buyVolumeInUsd1h: this.formatScientificNotation(it.bviu1h),\n sellVolumeInUsd1h: this.formatScientificNotation(it.sviu1h),\n price1h: this.formatScientificNotation(it.p1h),\n openInUsd1h: this.formatScientificNotation(it.oiu1h),\n closeInUsd1h: this.formatScientificNotation(it.ciu1h),\n buys4h: it.b4h,\n sells4h: it.s4h,\n buyers4h: it.be4h,\n sellers4h: it.se4h,\n buyVolumeInUsd4h: this.formatScientificNotation(it.bviu4h),\n sellVolumeInUsd4h: this.formatScientificNotation(it.sviu4h),\n price4h: this.formatScientificNotation(it.p4h),\n openInUsd4h: this.formatScientificNotation(it.oiu4h),\n closeInUsd4h: this.formatScientificNotation(it.ciu4h),\n buys24h: it.b24h,\n sells24h: it.s24h,\n buyers24h: it.be24h,\n sellers24h: it.se24h,\n buyVolumeInUsd24h: this.formatScientificNotation(it.bviu24h),\n sellVolumeInUsd24h: this.formatScientificNotation(it.sviu24h),\n price24h: this.formatScientificNotation(it.p24h),\n price: this.formatScientificNotation(it.p),\n openInUsd24h: this.formatScientificNotation(it.oiu24h),\n closeInUsd24h: this.formatScientificNotation(it.ciu24h),\n }) as TokenStat\n )\n )\n );\n }\n\n subscribeRankingTokensHolders({\n chain,\n channelType,\n callback,\n }: {\n chain: string;\n channelType: ChannelType;\n callback: (data: TokenHolder[]) => void;\n }): Unsubscrible {\n const channel = `dex-ranking-token-holding-list:${chain}_${channelType}`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data?.map(\n (it: any) =>\n ({\n tokenAddress: it.a,\n holders: it.h,\n top100Amount: this.formatScientificNotation(it.t100a),\n top10Amount: this.formatScientificNotation(it.t10a),\n top100Holders: it.t100h,\n top10Holders: it.t10h,\n top100Ratio: this.formatScientificNotation(it.t100r),\n top10Ratio: this.formatScientificNotation(it.t10r),\n timestamp: it.ts,\n }) as TokenHolder\n )\n )\n );\n }\n\n subscribeRankingTokensSupply({\n chain,\n channelType,\n callback,\n }: {\n chain: string;\n channelType: ChannelType;\n callback: (data: TokenSupply[]) => void;\n }): Unsubscrible {\n const channel = `dex-ranking-token-supply-list:${chain}_${channelType}`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data?.map(\n (it: any) =>\n ({\n tokenAddress: it.a,\n supply: it.s,\n marketCapInUsd: it.mc,\n timestamp: it.ts,\n })\n )\n )\n );\n }\n\n subscribeRankingTokensBondingCurve({\n chain,\n callback,\n }: {\n chain: string;\n callback: (data: TokenBondingCurve[]) => void;\n }): Unsubscrible {\n const channel = `dex-ranking-token-bounding-curve-list:${chain}_new`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data?.map(\n (it: any) =>\n ({\n tokenAddress: it.a,\n progressRatio: it.pr,\n })\n )\n )\n );\n }\n\n // subscribeTokenTrades({\n // chain,\n // tokenAddress,\n // callback,\n // }: {\n // chain: string;\n // tokenAddress: string;\n // callback: (data: TradeEvent[]) => void;\n // }): Unsubscrible {\n // const channel = `dex-trades:${chain}_${tokenAddress}`;\n // return this.subscribe(channel, (data: any[]) =>\n // callback(\n // data?.map(\n // (it: any) =>\n // ({\n // maker: it.bwa,\n // baseAmount: it.ba,\n // quoteAmount: it.sa,\n // // quoteSymbol: ,\n // quoteAddress: it.swa,\n // amountInUsd: it.baiu,\n // timestamp: it.t,\n // event: it.k,\n // txHash: it.h,\n // // priceInUsd: ,\n // // id: ,\n // // buyCostUsd: it.,\n // tokenAddress: it.a,\n // }) as TradeEvent\n // )\n // )\n // );\n // }\n\n subscribeWalletBalance({\n chain,\n walletAddress,\n callback,\n filter,\n }: {\n chain: string;\n walletAddress: string;\n callback: (data: WalletBalance[]) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-wallet-balance:${chain}_${walletAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback([\n {\n walletAddress: data.a,\n tokenAddress: data.ta,\n tokenPriceInUsd: data.tpiu,\n balance: data.b,\n timestamp: data.t,\n },\n ]), filter, \"subscribeWalletBalance\");\n }\n\n subscribeWalletPnl({\n chain,\n walletAddress,\n callback,\n filter,\n }: {\n chain: string;\n walletAddress: string;\n callback: (data: WalletTokenPnl) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-wallet-token-pnl:${chain}_${walletAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n walletAddress: data.a,\n tokenAddress: data.ta,\n tokenPriceInUsd: data.tpiu,\n timestamp: data.t,\n opentime: data.ot,\n lasttime: data.lt,\n closetime: data.ct,\n buyAmount: data.ba,\n buyAmountInUsd: data.baiu,\n buyCount: data.bs,\n buyCount30d: data.bs30d,\n buyCount7d: data.bs7d,\n sellAmount: data.sa,\n sellAmountInUsd: data.saiu,\n sellCount: data.ss,\n sellCount30d: data.ss30d,\n sellCount7d: data.ss7d,\n heldDurationTimestamp: data.hdts,\n averageBuyPriceInUsd: data.abpiu,\n averageSellPriceInUsd: data.aspiu,\n unrealizedProfitInUsd: data.upiu,\n unrealizedProfitRatio: data.upr,\n realizedProfitInUsd: data.rpiu,\n realizedProfitRatio: data.rpr,\n totalRealizedProfitInUsd: data.trpiu,\n totalRealizedProfitRatio: data.trr,\n }), filter, \"subscribeWalletPnl\");\n }\n\n subscribeWalletPnlList({\n chain,\n walletAddress,\n callback,\n }: {\n chain: string;\n walletAddress: string;\n callback: (data: WalletPnl[]) => void;\n }): Unsubscrible {\n const channel = `dex-wallet-pnl-list:${chain}_${walletAddress}`;\n return this.subscribe(channel, (data: any[]) =>\n callback(\n data?.map(\n (it: any) =>\n ({\n walletAddress: it.a,\n buys: it.bs,\n buyAmount: it.ba,\n buyAmountInUsd: it.baiu,\n averageBuyPriceInUsd: it.abpiu,\n sellAmount: it.sa,\n sellAmountInUsd: it.saiu,\n sells: it.ss,\n wins: it.ws,\n winRatio: it.wr,\n pnlInUsd: it.piu,\n averagePnlInUsd: it.apiu,\n pnlRatio: it.pr,\n profitableDays: it.pd,\n losingDays: it.ld,\n tokens: it.ts,\n resolution: it.r,\n }) as WalletPnl\n )\n )\n );\n }\n\n subscribeTokenTrade({\n chain,\n tokenAddress,\n callback,\n filter,\n }: {\n chain: string;\n tokenAddress: string;\n callback: (data: TradeActivity) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-trade:${chain}_${tokenAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n tokenAddress: data.a,\n timestamp: data.t,\n kind: data.k,\n buyAmount: data.ba,\n buyAmountInUsd: data.baiu,\n buyTokenAddress: data.btma,\n buyTokenName: data.btn,\n buyTokenSymbol: data.bts,\n buyWalletAddress: data.bwa,\n sellAmount: data.sa,\n sellAmountInUsd: data.saiu,\n sellTokenAddress: data.stma,\n sellTokenName: data.stn,\n sellTokenSymbol: data.sts,\n sellWalletAddress: data.swa,\n txHash: data.h,\n }), filter, \"subscribeTokenTrades\");\n }\n\n subscribeWalletTrade({\n chain,\n walletAddress,\n callback,\n filter,\n }: {\n chain: string;\n walletAddress: string;\n callback: (data: TradeActivity) => void;\n filter?: string;\n }): Unsubscrible {\n const channel = `dex-wallet-trade:${chain}_${walletAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n tokenAddress: data.a,\n timestamp: data.t,\n kind: data.k,\n buyAmount: data.ba,\n buyAmountInUsd: data.baiu,\n buyTokenAddress: data.btma,\n buyTokenName: data.btn,\n buyTokenSymbol: data.bts,\n buyWalletAddress: data.bwa,\n sellAmount: data.sa,\n sellAmountInUsd: data.saiu,\n sellTokenAddress: data.stma,\n sellTokenName: data.stn,\n sellTokenSymbol: data.sts,\n sellWalletAddress: data.swa,\n txHash: data.h,\n }), filter, \"subscribeTokenTrades\");\n }\n\n subscribeDexPoolBalance({\n chain,\n poolAddress,\n callback,\n }: {\n chain: string;\n poolAddress: string;\n callback: (data: DexPoolBalance) => void;\n }): Unsubscrible {\n const channel = `dex-pool-balance:${chain}_${poolAddress}`;\n return this.subscribe(channel, (data: any) =>\n callback({\n poolAddress: data.a,\n tokenAAddress: data.taa,\n tokenALiquidityInUsd: data.taliu,\n tokenBAddress: data.tba,\n tokenBLiquidityInUsd: data.tbliu,\n })\n );\n }\n}\nclass StreamUnsubscrible<T> {\n constructor(\n private readonly streamApi: StreamApi,\n private readonly channel: string,\n private readonly fn: (data: T) => void\n ) { }\n\n unsubscribe() {\n this.streamApi.unsubscribe(this.channel, this.fn);\n }\n}","/**\n * Field mappings for CEL filter expressions\n * Maps human-readable field names to short field names used in the API\n * Organized by subscription method to handle field name conflicts\n */\n\nexport interface FieldMapping {\n readonly [key: string]: string;\n}\n\nexport interface MethodFieldMappings {\n readonly [methodName: string]: FieldMapping;\n}\n\n/**\n * Field mappings organized by subscription method\n * Each method can have its own field mappings to handle conflicts\n */\nexport const CEL_FIELD_MAPPINGS: MethodFieldMappings = {\n // Wallet balance subscription fields\n \"subscribeWalletBalance\": {\n \"walletAddress\": \"a\",\n \"tokenAddress\": \"ta\",\n \"tokenPriceInUsd\": \"tpiu\",\n \"balance\": \"b\",\n \"timestamp\": \"t\",\n },\n\n // Token candles subscription fields\n \"subscribeTokenCandles\": {\n \"open\": \"o\",\n \"close\": \"c\",\n \"high\": \"h\",\n \"low\": \"l\",\n \"volume\": \"v\",\n \"resolution\": \"r\",\n \"time\": \"t\",\n \"number\": \"n\",\n },\n\n // Token stats subscription fields\n \"subscribeTokenStats\": {\n \"address\": \"a\",\n \"timestamp\": \"t\",\n \"buys1m\": \"b1m\",\n \"sells1m\": \"s1m\",\n \"buyers1m\": \"be1m\",\n \"sellers1m\": \"se1m\",\n \"buyVolumeInUsd1m\": \"bviu1m\",\n \"sellVolumeInUsd1m\": \"sviu1m\",\n \"price1m\": \"p1m\",\n \"openInUsd1m\": \"oiu1m\",\n \"closeInUsd1m\": \"ciu1m\",\n \"buys5m\": \"b5m\",\n \"sells5m\": \"s5m\",\n \"buyers5m\": \"be5m\",\n \"sellers5m\": \"se5m\",\n \"buyVolumeInUsd5m\": \"bviu5m\",\n \"sellVolumeInUsd5m\": \"sviu5m\",\n \"price5m\": \"p5m\",\n \"openInUsd5m\": \"oiu5m\",\n \"closeInUsd5m\": \"ciu5m\",\n \"buys15m\": \"b15m\",\n \"sells15m\": \"s15m\",\n \"buyers15m\": \"be15m\",\n \"sellers15m\": \"se15m\",\n \"buyVolumeInUsd15m\": \"bviu15m\",\n \"sellVolumeInUsd15m\": \"sviu15m\",\n \"price15m\": \"p15m\",\n \"openInUsd15m\": \"oiu15m\",\n \"closeInUsd15m\": \"ciu15m\",\n \"buys30m\": \"b30m\",\n \"sells30m\": \"s30m\",\n \"buyers30m\": \"be30m\",\n \"sellers30m\": \"se30m\",\n \"buyVolumeInUsd30m\": \"bviu30m\",\n \"sellVolumeInUsd30m\": \"sviu30m\",\n \"price30m\": \"p30m\",\n \"openInUsd30m\": \"oiu30m\",\n \"closeInUsd30m\": \"ciu30m\",\n \"buys1h\": \"b1h\",\n \"sells1h\": \"s1h\",\n \"buyers1h\": \"be1h\",\n \"sellers1h\": \"se1h\",\n \"buyVolumeInUsd1h\": \"bviu1h\",\n \"sellVolumeInUsd1h\": \"sviu1h\",\n \"price1h\": \"p1h\",\n \"openInUsd1h\": \"oiu1h\",\n \"closeInUsd1h\": \"ciu1h\",\n \"buys4h\": \"b4h\",\n \"sells4h\": \"s4h\",\n \"buyers4h\": \"be4h\",\n \"sellers4h\": \"se4h\",\n \"buyVolumeInUsd4h\": \"bviu4h\",\n \"sellVolumeInUsd4h\": \"sviu4h\",\n \"price4h\": \"p4h\",\n \"openInUsd4h\": \"oiu4h\",\n \"closeInUsd4h\": \"ciu4h\",\n \"buys24h\": \"b24h\",\n \"sells24h\": \"s24h\",\n \"buyers24h\": \"be24h\",\n \"sellers24h\": \"se24h\",\n \"buyVolumeInUsd24h\": \"bviu24h\",\n \"sellVolumeInUsd24h\": \"sviu24h\",\n \"price24h\": \"p24h\",\n \"price\": \"p\",\n \"openInUsd24h\": \"oiu24h\",\n \"closeInUsd24h\": \"ciu24h\",\n },\n\n // Token holder subscription fields\n \"subscribeTokenHolders\": {\n \"tokenAddress\": \"a\",\n \"holders\": \"h\",\n \"top100Amount\": \"t100a\",\n \"top10Amount\": \"t10a\",\n \"top100Holders\": \"t100h\",\n \"top10Holders\": \"t10h\",\n \"top100Ratio\": \"t100r\",\n \"top10Ratio\": \"t10r\",\n \"timestamp\": \"ts\",\n },\n\n // New token subscription fields\n \"subscribeNewToken\": {\n \"tokenAddress\": \"a\",\n \"name\": \"n\",\n \"symbol\": \"s\",\n \"createdAtMs\": \"cts\",\n },\n\n // Token supply subscription fields\n \"subscribeTokenSupply\": {\n \"tokenAddress\": \"a\",\n \"supply\": \"s\",\n \"timestamp\": \"ts\",\n },\n\n // Dex pool balance subscription fields\n \"subscribeDexPoolBalance\": {\n \"poolAddress\": \"a\",\n \"tokenAAddress\": \"taa\",\n \"tokenALiquidityInUsd\": \"taliu\",\n \"tokenBAddress\": \"tba\",\n \"tokenBLiquidityInUsd\": \"tbliu\",\n },\n\n // Token liquidity subscription fields\n \"subscribeTokenLiquidity\": {\n \"tokenAddress\": \"a\",\n \"metricType\": \"t\",\n \"value\": \"v\",\n \"timestamp\": \"ts\",\n },\n\n // New token metadata subscription fields\n \"subscribeNewTokensMetadata\": {\n \"tokenAddress\": \"a\",\n \"name\": \"n\",\n \"symbol\": \"s\",\n \"imageUrl\": \"iu\",\n \"description\": \"de\",\n \"socialMedia\": \"sm\",\n \"createdAtMs\": \"cts\",\n },\n\n // Token trades subscription fields\n \"subscribeTokenTrades\": {\n \"tokenAddress\": \"a\",\n \"timestamp\": \"t\",\n \"kind\": \"k\",\n \"buyAmount\": \"ba\",\n \"buyAmountInUsd\": \"baiu\",\n \"buyTokenAddress\": \"btma\",\n \"buyTokenName\": \"btn\",\n \"buyTokenSymbol\": \"bts\",\n \"buyWalletAddress\": \"bwa\",\n \"sellAmount\": \"sa\",\n \"sellAmountInUsd\": \"saiu\",\n \"sellTokenAddress\": \"stma\",\n \"sellTokenName\": \"stn\",\n \"sellTokenSymbol\": \"sts\",\n \"sellWalletAddress\": \"swa\",\n \"txHash\": \"h\",\n },\n\n // Wallet token PnL subscription fields\n \"subscribeWalletPnl\": {\n \"walletAddress\": \"a\",\n \"tokenAddress\": \"ta\",\n \"tokenPriceInUsd\": \"tpiu\",\n \"timestamp\": \"t\",\n \"opentime\": \"ot\",\n \"lasttime\": \"lt\",\n \"closetime\": \"ct\",\n \"buyAmount\": \"ba\",\n \"buyAmountInUsd\": \"baiu\",\n \"buyCount\": \"bs\",\n \"buyCount30d\": \"bs30d\",\n \"buyCount7d\": \"bs7d\",\n \"sellAmount\": \"sa\",\n \"sellAmountInUsd\": \"saiu\",\n \"sellCount\": \"ss\",\n \"sellCount30d\": \"ss30d\",\n \"sellCount7d\": \"ss7d\",\n \"heldDurationTimestamp\": \"hdts\",\n \"averageBuyPriceInUsd\": \"abpiu\",\n \"averageSellPriceInUsd\": \"aspiu\",\n \"unrealizedProfitInUsd\": \"upiu\",\n \"unrealizedProfitRatio\": \"upr\",\n \"realizedProfitInUsd\": \"rpiu\",\n \"realizedProfitRatio\": \"rpr\",\n \"totalRealizedProfitInUsd\": \"trpiu\",\n \"totalRealizedProfitRatio\": \"trr\",\n },\n} as const;\n\n/**\n * Get field mappings for a specific subscription method\n * @param methodName - The name of the subscription method\n * @returns Field mapping object for the method, or empty object if not found\n */\nexport function getFieldMappings(methodName: string): FieldMapping {\n return CEL_FIELD_MAPPINGS[methodName] || {};\n}\n\n/**\n * Replace long field names with short field names in a filter expression\n * Automatically adds meta. prefix if not present\n * @param filter - Original filter expression\n * @param methodName - The name of the subscription method\n * @returns Filter expression with short field names and meta. prefix\n */\nexport function replaceFilterFields(filter: string, methodName: string): string {\n if (!filter) {return filter}\n \n const fieldMappings = getFieldMappings(methodName);\n let result = filter;\n \n // Replace all long field names with short field names\n for (const [longField, shortField] of Object.entries(fieldMappings)) {\n // Handle both cases: with and without meta. prefix\n const patterns = [\n // Pattern 1: fieldName (without meta. prefix)\n new RegExp(`\\\\b${longField}\\\\b`, \"g\"),\n // Pattern 2: meta.fieldName (with meta. prefix)\n new RegExp(`\\\\bmeta\\\\.${longField}\\\\b`, \"g\"),\n ];\n \n patterns.forEach((pattern) => {\n result = result.replace(pattern, `meta.${shortField}`);\n });\n }\n \n return result;\n}\n\n/**\n * Type-safe field mapping for specific subscription methods\n */\nexport type SubscriptionMethod = keyof typeof CEL_FIELD_MAPPINGS;\n\n/**\n * Get available field names for a specific subscription method\n * @param methodName - The name of the subscription method\n * @returns Array of available field names\n */\nexport function getAvailableFields(methodName: string): string[] {\n const mappings = getFieldMappings(methodName);\n return Object.keys(mappings);\n}\n","import { Resolution } from \"../openapi\";\n\n\n\nexport enum TokenActivityType {\n Sell = \"sell\",\n Buy = \"buy\",\n AddLiquidity = \"add_liquidity\",\n RemoveLiquidity = \"remove_liquidity\",\n}\n\nexport enum ChannelType {\n New = \"new\",\n HOT = \"trending\",\n US_STOCKS = \"us_stocks\",\n COMPLETED = \"completed\",\n GRADUATED = \"graduated\",\n}\n\nexport enum MetricType {\n LIQUIDITY_IN_USD = \"liquidity_in_usd\",\n MIGRATED_RATIO = \"migrated_ratio\",\n}\n\nexport interface TokenActivity {\n address: string;\n priceUsd: string;\n amount: string;\n type: TokenActivityType;\n // maker: string;\n txHash: string;\n timestamp: number;\n}\n\nexport interface TokenStat {\n address: string;\n timestamp: number;\n buys1m?: number;\n sells1m?: number;\n buyers1m?: number;\n sellers1m?: number;\n buyVolumeInUsd1m?: string;\n sellVolumeInUsd1m?: string;\n price1m?: string;\n openInUsd1m?: string;\n closeInUsd1m?: string;\n\n buys5m?: number;\n sells5m?: number;\n buyers5m?: number;\n sellers5m?: number;\n buyVolumeInUsd5m?: string;\n sellVolumeInUsd5m?: string;\n price5m?: string;\n openInUsd5m?: string;\n closeInUsd5m?: string;\n\n buys15m?: number;\n sells15m?: number;\n buyers15m?: number;\n sellers15m?: number;\n buyVolumeInUsd15m?: string;\n sellVolumeInUsd15m?: string;\n price15m?: string;\n openInUsd15m?: string;\n closeInUsd15m?: string;\n\n buys30m?: number;\n sells30m?: number;\n buyers30m?: number;\n sellers30m?: number;\n buyVolumeInUsd30m?: string;\n sellVolumeInUsd30m?: string;\n price30m?: string;\n openInUsd30m?: string;\n closeInUsd30m?: string;\n\n buys1h?: number;\n sells1h?: number;\n buyers1h?: number;\n sellers1h?: number;\n buyVolumeInUsd1h?: string;\n sellVolumeInUsd1h?: string;\n price1h?: string;\n openInUsd1h?: string;\n closeInUsd1h?: string;\n\n buys4h?: number;\n sells4h?: number;\n buyers4h?: number;\n sellers4h?: number;\n buyVolumeInUsd4h?: string;\n sellVolumeInUsd4h?: string;\n price4h?: string;\n openInUsd4h?: string;\n closeInUsd4h?: string;\n\n buys24h?: number;\n sells24h?: number;\n buyers24h?: number;\n sellers24h?: number;\n buyVolumeInUsd24h?: string;\n sellVolumeInUsd24h?: string;\n price24h?: string;\n openInUsd24h?: string;\n closeInUsd24h?: string;\n\n price?: string;\n}\n\nexport interface TokenHolder {\n tokenAddress: string;\n holders?: number;\n top100Amount?: string;\n top10Amount?: string;\n top100Holders?: number;\n top10Holders?: number;\n top100Ratio?: string;\n top10Ratio?: string;\n creatorsHolders?: number;\n creatorsAmount?: string;\n creatorsRatio?: string;\n timestamp: number;\n}\n\nexport interface WalletBalance {\n walletAddress: string;\n tokenAddress: string;\n tokenPriceInUsd: string;\n balance: string;\n timestamp: number;\n}\n\nexport interface WalletPnl {\n walletAddress: string;\n buys: number;\n buyAmount: string;\n buyAmountInUsd: string;\n averageBuyPriceInUsd: string;\n sellAmount: string;\n sellAmountInUsd: string;\n sells: number;\n wins: number;\n winRatio: string;\n pnlInUsd: string;\n averagePnlInUsd: string;\n pnlRatio: string;\n profitableDays: number;\n losingDays: number;\n tokens: number;\n resolution: string;\n}\n\nexport interface NewToken {\n tokenAddress: string;\n name: string;\n symbol: string;\n decimals?: number;\n launchFrom?: DexProtocol;\n createdAtMs: number;\n}\n\nexport interface TokenSupply {\n tokenAddress: string;\n supply?: string;\n marketCapInUsd?: string;\n timestamp: number;\n}\n\nexport interface DexPoolBalance {\n poolAddress: string;\n tokenAAddress: string;\n tokenALiquidityInUsd: string;\n tokenBAddress: string;\n tokenBLiquidityInUsd: string;\n}\n\nexport interface TokenLiquidity {\n tokenAddress: string;\n metricType: MetricType;\n value: string;\n timestamp: number;\n}\n\nexport interface DexProtocol {\n programAddress?: string;\n protocolFamily?: string;\n protocolName?: string;\n}\n\nexport interface TokenBondingCurve {\n tokenAddress?: string;\n progressRatio?: string;\n}\n\nexport interface TokenMetadata {\n tokenAddress: string;\n name?: string;\n decimals?: number;\n symbol?: string;\n imageUrl?: string;\n description?: string;\n socialMedia?: socialMedia;\n createdAtMs?: number;\n launchFrom?: DexProtocol;\n migratedTo?: DexProtocol;\n}\n\nexport interface socialMedia {\n twitter?: string;\n telegram?: string;\n website?: string;\n tiktok?: string;\n discord?: string;\n facebook?: string;\n github?: string;\n instagram?: string;\n linkedin?: string;\n medium?: string;\n reddit?: string;\n youtube?: string;\n bitbucket?: string;\n}\n\nexport interface TokenCandle {\n open: string;\n close: string;\n high: string;\n low: string;\n volume: string;\n resolution: Resolution;\n time: number;\n number: number;\n}\n\nexport interface TradeActivity {\n tokenAddress: string;\n timestamp: number;\n kind: string;\n buyAmount: string;\n buyAmountInUsd: string;\n buyTokenAddress: string;\n buyTokenName: string;\n buyTokenSymbol: string;\n buyWalletAddress: string;\n sellAmount: string;\n sellAmountInUsd: string;\n sellTokenAddress: string;\n sellTokenName: string;\n sellTokenSymbol: string;\n sellWalletAddress: string;\n txHash: string;\n}\n\nexport interface WalletTokenPnl {\n walletAddress: string;\n tokenAddress: string;\n tokenPriceInUsd: string;\n timestamp: number;\n opentime: number;\n lasttime: number;\n closetime: number;\n buyAmount: string;\n buyAmountInUsd: string;\n buyCount: number;\n buyCount30d: number;\n buyCount7d: number;\n sellAmount: string;\n sellAmountInUsd: string;\n sellCount: number;\n sellCount30d: number;\n sellCount7d: number;\n heldDurationTimestamp: number;\n averageBuyPriceInUsd: string;\n averageSellPriceInUsd: string;\n unrealizedProfitInUsd: string;\n unrealizedProfitRatio: string;\n realizedProfitInUsd: string;\n realizedProfitRatio: string;\n totalRealizedProfitInUsd: string;\n totalRealizedProfitRatio: string;\n}\n\nexport enum RankingType {\n NEW = \"new\",\n HOT = \"trending\",\n STOCKS = \"stocks\",\n FINALSTRETCH = \"completed\",\n MIGRATED = \"graduated\",\n}\n\nexport enum Dex {\n PUMP_FUN = \"pump_fun\",\n RAYDIUM_LAUNCHPAD = \"raydium_launchpad\",\n METEOR_DYNAMIC_BOUNDING_CURVE = \"meteora_dynamic_bounding_curve\",\n BONK_FUN = \"bonk_fun\",\n BOOP_FUN = \"boop_fun\",\n MOONIT_FUN = \"moonit_fun\",\n}\n\nexport interface RankingTokenList {\n metadata?: TokenMetadata;\n holder?: TokenHolder;\n supply?: TokenSupply;\n stat?: TokenStat;\n bondingCurve?: TokenBondingCurve;\n}"],"mappings":"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","names":["TokenActivityType","ChannelType","MetricType","RankingType","Dex"]}
@@ -1,25 +1,28 @@
1
+ export { C as ChannelType, m as Dex, D as DexPoolBalance, g as DexProtocol, M as MetricType, N as NewToken, n as RankingTokenList, R as RankingType, S as StreamApi, a as TokenActivity, T as TokenActivityType, h as TokenBondingCurve, j as TokenCandle, c as TokenHolder, f as TokenLiquidity, i as TokenMetadata, b as TokenStat, e as TokenSupply, k as TradeActivity, U as Unsubscrible, W as WalletBalance, d as WalletPnl, l as WalletTokenPnl, s as socialMedia } from '../index-DNVVUaIe.cjs';
2
+ import '../WatchlistApi-iO0m0ez9.cjs';
3
+
1
4
  /**
2
5
  * Field mappings for CEL filter expressions
3
6
  * Maps human-readable field names to short field names used in the API
4
7
  * Organized by subscription method to handle field name conflicts
5
8
  */
6
- export interface FieldMapping {
9
+ interface FieldMapping {
7
10
  readonly [key: string]: string;
8
11
  }
9
- export interface MethodFieldMappings {
12
+ interface MethodFieldMappings {
10
13
  readonly [methodName: string]: FieldMapping;
11
14
  }
12
15
  /**
13
16
  * Field mappings organized by subscription method
14
17
  * Each method can have its own field mappings to handle conflicts
15
18
  */
16
- export declare const CEL_FIELD_MAPPINGS: MethodFieldMappings;
19
+ declare const CEL_FIELD_MAPPINGS: MethodFieldMappings;
17
20
  /**
18
21
  * Get field mappings for a specific subscription method
19
22
  * @param methodName - The name of the subscription method
20
23
  * @returns Field mapping object for the method, or empty object if not found
21
24
  */
22
- export declare function getFieldMappings(methodName: string): FieldMapping;
25
+ declare function getFieldMappings(methodName: string): FieldMapping;
23
26
  /**
24
27
  * Replace long field names with short field names in a filter expression
25
28
  * Automatically adds meta. prefix if not present
@@ -27,14 +30,16 @@ export declare function getFieldMappings(methodName: string): FieldMapping;
27
30
  * @param methodName - The name of the subscription method
28
31
  * @returns Filter expression with short field names and meta. prefix
29
32
  */
30
- export declare function replaceFilterFields(filter: string, methodName: string): string;
33
+ declare function replaceFilterFields(filter: string, methodName: string): string;
31
34
  /**
32
35
  * Type-safe field mapping for specific subscription methods
33
36
  */
34
- export type SubscriptionMethod = keyof typeof CEL_FIELD_MAPPINGS;
37
+ type SubscriptionMethod = keyof typeof CEL_FIELD_MAPPINGS;
35
38
  /**
36
39
  * Get available field names for a specific subscription method
37
40
  * @param methodName - The name of the subscription method
38
41
  * @returns Array of available field names
39
42
  */
40
- export declare function getAvailableFields(methodName: string): string[];
43
+ declare function getAvailableFields(methodName: string): string[];
44
+
45
+ export { CEL_FIELD_MAPPINGS, type FieldMapping, type MethodFieldMappings, type SubscriptionMethod, getAvailableFields, getFieldMappings, replaceFilterFields };
@@ -1,3 +1,45 @@
1
- export * from './stream';
2
- export * from './stream.fields';
3
- export * from './stream.model';
1
+ export { C as ChannelType, m as Dex, D as DexPoolBalance, g as DexProtocol, M as MetricType, N as NewToken, n as RankingTokenList, R as RankingType, S as StreamApi, a as TokenActivity, T as TokenActivityType, h as TokenBondingCurve, j as TokenCandle, c as TokenHolder, f as TokenLiquidity, i as TokenMetadata, b as TokenStat, e as TokenSupply, k as TradeActivity, U as Unsubscrible, W as WalletBalance, d as WalletPnl, l as WalletTokenPnl, s as socialMedia } from '../index-BkJK0-d_.js';
2
+ import '../WatchlistApi-iO0m0ez9.js';
3
+
4
+ /**
5
+ * Field mappings for CEL filter expressions
6
+ * Maps human-readable field names to short field names used in the API
7
+ * Organized by subscription method to handle field name conflicts
8
+ */
9
+ interface FieldMapping {
10
+ readonly [key: string]: string;
11
+ }
12
+ interface MethodFieldMappings {
13
+ readonly [methodName: string]: FieldMapping;
14
+ }
15
+ /**
16
+ * Field mappings organized by subscription method
17
+ * Each method can have its own field mappings to handle conflicts
18
+ */
19
+ declare const CEL_FIELD_MAPPINGS: MethodFieldMappings;
20
+ /**
21
+ * Get field mappings for a specific subscription method
22
+ * @param methodName - The name of the subscription method
23
+ * @returns Field mapping object for the method, or empty object if not found
24
+ */
25
+ declare function getFieldMappings(methodName: string): FieldMapping;
26
+ /**
27
+ * Replace long field names with short field names in a filter expression
28
+ * Automatically adds meta. prefix if not present
29
+ * @param filter - Original filter expression
30
+ * @param methodName - The name of the subscription method
31
+ * @returns Filter expression with short field names and meta. prefix
32
+ */
33
+ declare function replaceFilterFields(filter: string, methodName: string): string;
34
+ /**
35
+ * Type-safe field mapping for specific subscription methods
36
+ */
37
+ type SubscriptionMethod = keyof typeof CEL_FIELD_MAPPINGS;
38
+ /**
39
+ * Get available field names for a specific subscription method
40
+ * @param methodName - The name of the subscription method
41
+ * @returns Array of available field names
42
+ */
43
+ declare function getAvailableFields(methodName: string): string[];
44
+
45
+ export { CEL_FIELD_MAPPINGS, type FieldMapping, type MethodFieldMappings, type SubscriptionMethod, getAvailableFields, getFieldMappings, replaceFilterFields };