chainstream-sdk 0.1.0__py3-none-any.whl

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 (261) hide show
  1. chainstream/__init__.py +46 -0
  2. chainstream/client.py +104 -0
  3. chainstream/openapi_client/__init__.py +156 -0
  4. chainstream/openapi_client/api/__init__.py +20 -0
  5. chainstream/openapi_client/api/blockchain_api.py +549 -0
  6. chainstream/openapi_client/api/defi_sol_moonshot_api.py +590 -0
  7. chainstream/openapi_client/api/defi_sol_pumpfun_api.py +314 -0
  8. chainstream/openapi_client/api/dex_api.py +1576 -0
  9. chainstream/openapi_client/api/dex_pool_api.py +645 -0
  10. chainstream/openapi_client/api/endpoint_api.py +1934 -0
  11. chainstream/openapi_client/api/ipfs_api.py +283 -0
  12. chainstream/openapi_client/api/jobs_api.py +562 -0
  13. chainstream/openapi_client/api/kyt_api.py +3743 -0
  14. chainstream/openapi_client/api/ranking_api.py +2067 -0
  15. chainstream/openapi_client/api/red_packet_api.py +2444 -0
  16. chainstream/openapi_client/api/token_api.py +9211 -0
  17. chainstream/openapi_client/api/trade_api.py +1352 -0
  18. chainstream/openapi_client/api/transaction_api.py +882 -0
  19. chainstream/openapi_client/api/wallet_api.py +1608 -0
  20. chainstream/openapi_client/api/watchlist_api.py +316 -0
  21. chainstream/openapi_client/api_client.py +801 -0
  22. chainstream/openapi_client/api_response.py +21 -0
  23. chainstream/openapi_client/configuration.py +572 -0
  24. chainstream/openapi_client/exceptions.py +217 -0
  25. chainstream/openapi_client/models/__init__.py +122 -0
  26. chainstream/openapi_client/models/address_exposure.py +94 -0
  27. chainstream/openapi_client/models/address_risk_response_dto.py +112 -0
  28. chainstream/openapi_client/models/alert_detail.py +100 -0
  29. chainstream/openapi_client/models/alterya_identification.py +106 -0
  30. chainstream/openapi_client/models/balance_change_type.py +38 -0
  31. chainstream/openapi_client/models/balance_token_type.py +38 -0
  32. chainstream/openapi_client/models/balance_update_dto.py +130 -0
  33. chainstream/openapi_client/models/balance_update_page.py +104 -0
  34. chainstream/openapi_client/models/blockchain_dto.py +94 -0
  35. chainstream/openapi_client/models/blockchain_latest_block_dto.py +90 -0
  36. chainstream/openapi_client/models/boolean_result_dto.py +88 -0
  37. chainstream/openapi_client/models/calculate_pnl_input.py +88 -0
  38. chainstream/openapi_client/models/candle.py +101 -0
  39. chainstream/openapi_client/models/chain.py +39 -0
  40. chainstream/openapi_client/models/chain_symbol.py +39 -0
  41. chainstream/openapi_client/models/chainalysis_address_identification.py +92 -0
  42. chainstream/openapi_client/models/claim_red_packet_input.py +103 -0
  43. chainstream/openapi_client/models/create_endpoint_input.py +102 -0
  44. chainstream/openapi_client/models/create_red_packet_input.py +112 -0
  45. chainstream/openapi_client/models/create_red_packet_reply.py +90 -0
  46. chainstream/openapi_client/models/create_token_input.py +110 -0
  47. chainstream/openapi_client/models/create_token_reply.py +90 -0
  48. chainstream/openapi_client/models/dev_token_dto.py +106 -0
  49. chainstream/openapi_client/models/dex_dto.py +94 -0
  50. chainstream/openapi_client/models/dex_page.py +106 -0
  51. chainstream/openapi_client/models/dex_pool_dto.py +161 -0
  52. chainstream/openapi_client/models/dex_pool_snapshot_dto.py +111 -0
  53. chainstream/openapi_client/models/dex_pool_snapshot_page.py +104 -0
  54. chainstream/openapi_client/models/dex_pool_token_liquidity.py +100 -0
  55. chainstream/openapi_client/models/dex_pool_token_snapshot_dto.py +100 -0
  56. chainstream/openapi_client/models/dex_quote_response.py +98 -0
  57. chainstream/openapi_client/models/direct_exposure_detail.py +90 -0
  58. chainstream/openapi_client/models/endpoint_list_response.py +102 -0
  59. chainstream/openapi_client/models/endpoint_operation_response.py +88 -0
  60. chainstream/openapi_client/models/endpoint_response.py +108 -0
  61. chainstream/openapi_client/models/endpoint_secret_response.py +88 -0
  62. chainstream/openapi_client/models/estimate_gas_limit_input.py +94 -0
  63. chainstream/openapi_client/models/estimate_gas_limit_response.py +90 -0
  64. chainstream/openapi_client/models/filter_condition.py +102 -0
  65. chainstream/openapi_client/models/gas_price_response.py +90 -0
  66. chainstream/openapi_client/models/job_dto.py +90 -0
  67. chainstream/openapi_client/models/job_streaming_dto.py +90 -0
  68. chainstream/openapi_client/models/kyt_register_transfer_request.py +108 -0
  69. chainstream/openapi_client/models/kyt_register_withdrawal_request.py +111 -0
  70. chainstream/openapi_client/models/link.py +97 -0
  71. chainstream/openapi_client/models/moonshot_create_token_input.py +145 -0
  72. chainstream/openapi_client/models/moonshot_create_token_reply.py +90 -0
  73. chainstream/openapi_client/models/moonshot_submit_create_token200_response.py +90 -0
  74. chainstream/openapi_client/models/moonshot_submit_create_token_input.py +90 -0
  75. chainstream/openapi_client/models/network_identification_org.py +88 -0
  76. chainstream/openapi_client/models/on_chain_activity.py +88 -0
  77. chainstream/openapi_client/models/pump_create_token_input.py +155 -0
  78. chainstream/openapi_client/models/pump_create_token_reply.py +90 -0
  79. chainstream/openapi_client/models/red_packet_claim_dto.py +103 -0
  80. chainstream/openapi_client/models/red_packet_claims_page.py +104 -0
  81. chainstream/openapi_client/models/red_packet_dto.py +121 -0
  82. chainstream/openapi_client/models/red_packet_reply.py +88 -0
  83. chainstream/openapi_client/models/red_packet_send_tx_input.py +88 -0
  84. chainstream/openapi_client/models/red_packet_send_tx_response.py +88 -0
  85. chainstream/openapi_client/models/red_packets_page.py +104 -0
  86. chainstream/openapi_client/models/register_address_request.py +88 -0
  87. chainstream/openapi_client/models/register_address_response_dto.py +88 -0
  88. chainstream/openapi_client/models/resolution.py +46 -0
  89. chainstream/openapi_client/models/send_tx_input.py +102 -0
  90. chainstream/openapi_client/models/send_tx_response.py +92 -0
  91. chainstream/openapi_client/models/swap_input.py +119 -0
  92. chainstream/openapi_client/models/swap_reply.py +90 -0
  93. chainstream/openapi_client/models/swap_route_input.py +127 -0
  94. chainstream/openapi_client/models/swap_route_response.py +98 -0
  95. chainstream/openapi_client/models/token.py +158 -0
  96. chainstream/openapi_client/models/token_creation_dto.py +107 -0
  97. chainstream/openapi_client/models/token_creation_page.py +106 -0
  98. chainstream/openapi_client/models/token_creators_dto.py +92 -0
  99. chainstream/openapi_client/models/token_extra_dto.py +128 -0
  100. chainstream/openapi_client/models/token_holder.py +94 -0
  101. chainstream/openapi_client/models/token_holder_page.py +106 -0
  102. chainstream/openapi_client/models/token_liquidity_snapshot_dto.py +106 -0
  103. chainstream/openapi_client/models/token_liquidity_snapshot_page.py +104 -0
  104. chainstream/openapi_client/models/token_list_page.py +106 -0
  105. chainstream/openapi_client/models/token_market_data.py +174 -0
  106. chainstream/openapi_client/models/token_metadata.py +132 -0
  107. chainstream/openapi_client/models/token_page.py +108 -0
  108. chainstream/openapi_client/models/token_price_dto.py +94 -0
  109. chainstream/openapi_client/models/token_price_page.py +106 -0
  110. chainstream/openapi_client/models/token_social_medias_dto.py +112 -0
  111. chainstream/openapi_client/models/token_stat.py +340 -0
  112. chainstream/openapi_client/models/token_trader.py +113 -0
  113. chainstream/openapi_client/models/token_trader_tag.py +45 -0
  114. chainstream/openapi_client/models/top_traders_dto.py +110 -0
  115. chainstream/openapi_client/models/top_traders_page.py +106 -0
  116. chainstream/openapi_client/models/trade_detail_dto.py +136 -0
  117. chainstream/openapi_client/models/trade_event.py +113 -0
  118. chainstream/openapi_client/models/trade_page.py +106 -0
  119. chainstream/openapi_client/models/trade_type.py +38 -0
  120. chainstream/openapi_client/models/transfer_alerts_response_dto.py +96 -0
  121. chainstream/openapi_client/models/transfer_base_response_dto.py +112 -0
  122. chainstream/openapi_client/models/transfer_direct_exposure_response_dto.py +92 -0
  123. chainstream/openapi_client/models/transfer_network_identifications_response_dto.py +98 -0
  124. chainstream/openapi_client/models/update_endpoint_input.py +104 -0
  125. chainstream/openapi_client/models/wallet_balance_detail_dto.py +136 -0
  126. chainstream/openapi_client/models/wallet_balances_dto.py +100 -0
  127. chainstream/openapi_client/models/wallet_pnl_dto.py +132 -0
  128. chainstream/openapi_client/models/withdrawal_address_identifications_response_dto.py +98 -0
  129. chainstream/openapi_client/models/withdrawal_base_response_dto.py +106 -0
  130. chainstream/openapi_client/models/withdrawal_fraud_assessment_response_dto.py +96 -0
  131. chainstream/openapi_client/rest.py +213 -0
  132. chainstream/openapi_client/test/__init__.py +0 -0
  133. chainstream/openapi_client/test/test_address_exposure.py +59 -0
  134. chainstream/openapi_client/test/test_address_risk_response_dto.py +81 -0
  135. chainstream/openapi_client/test/test_alert_detail.py +65 -0
  136. chainstream/openapi_client/test/test_alterya_identification.py +69 -0
  137. chainstream/openapi_client/test/test_balance_change_type.py +34 -0
  138. chainstream/openapi_client/test/test_balance_token_type.py +34 -0
  139. chainstream/openapi_client/test/test_balance_update_dto.py +93 -0
  140. chainstream/openapi_client/test/test_balance_update_page.py +105 -0
  141. chainstream/openapi_client/test/test_blockchain_api.py +46 -0
  142. chainstream/openapi_client/test/test_blockchain_dto.py +59 -0
  143. chainstream/openapi_client/test/test_blockchain_latest_block_dto.py +55 -0
  144. chainstream/openapi_client/test/test_boolean_result_dto.py +53 -0
  145. chainstream/openapi_client/test/test_calculate_pnl_input.py +52 -0
  146. chainstream/openapi_client/test/test_candle.py +65 -0
  147. chainstream/openapi_client/test/test_chain.py +34 -0
  148. chainstream/openapi_client/test/test_chain_symbol.py +34 -0
  149. chainstream/openapi_client/test/test_chainalysis_address_identification.py +57 -0
  150. chainstream/openapi_client/test/test_claim_red_packet_input.py +58 -0
  151. chainstream/openapi_client/test/test_create_endpoint_input.py +63 -0
  152. chainstream/openapi_client/test/test_create_red_packet_input.py +64 -0
  153. chainstream/openapi_client/test/test_create_red_packet_reply.py +55 -0
  154. chainstream/openapi_client/test/test_create_token_input.py +63 -0
  155. chainstream/openapi_client/test/test_create_token_reply.py +55 -0
  156. chainstream/openapi_client/test/test_defi_sol_moonshot_api.py +46 -0
  157. chainstream/openapi_client/test/test_defi_sol_pumpfun_api.py +39 -0
  158. chainstream/openapi_client/test/test_dev_token_dto.py +441 -0
  159. chainstream/openapi_client/test/test_dex_api.py +67 -0
  160. chainstream/openapi_client/test/test_dex_dto.py +56 -0
  161. chainstream/openapi_client/test/test_dex_page.py +70 -0
  162. chainstream/openapi_client/test/test_dex_pool_api.py +46 -0
  163. chainstream/openapi_client/test/test_dex_pool_dto.py +88 -0
  164. chainstream/openapi_client/test/test_dex_pool_snapshot_dto.py +96 -0
  165. chainstream/openapi_client/test/test_dex_pool_snapshot_page.py +81 -0
  166. chainstream/openapi_client/test/test_dex_pool_token_liquidity.py +65 -0
  167. chainstream/openapi_client/test/test_dex_pool_token_snapshot_dto.py +65 -0
  168. chainstream/openapi_client/test/test_dex_quote_response.py +57 -0
  169. chainstream/openapi_client/test/test_direct_exposure_detail.py +55 -0
  170. chainstream/openapi_client/test/test_endpoint_api.py +81 -0
  171. chainstream/openapi_client/test/test_endpoint_list_response.py +72 -0
  172. chainstream/openapi_client/test/test_endpoint_operation_response.py +52 -0
  173. chainstream/openapi_client/test/test_endpoint_response.py +66 -0
  174. chainstream/openapi_client/test/test_endpoint_secret_response.py +52 -0
  175. chainstream/openapi_client/test/test_estimate_gas_limit_input.py +58 -0
  176. chainstream/openapi_client/test/test_estimate_gas_limit_response.py +55 -0
  177. chainstream/openapi_client/test/test_filter_condition.py +54 -0
  178. chainstream/openapi_client/test/test_gas_price_response.py +55 -0
  179. chainstream/openapi_client/test/test_ipfs_api.py +39 -0
  180. chainstream/openapi_client/test/test_job_dto.py +55 -0
  181. chainstream/openapi_client/test/test_job_streaming_dto.py +55 -0
  182. chainstream/openapi_client/test/test_jobs_api.py +46 -0
  183. chainstream/openapi_client/test/test_kyt_api.py +130 -0
  184. chainstream/openapi_client/test/test_kyt_register_transfer_request.py +59 -0
  185. chainstream/openapi_client/test/test_kyt_register_withdrawal_request.py +65 -0
  186. chainstream/openapi_client/test/test_link.py +55 -0
  187. chainstream/openapi_client/test/test_moonshot_create_token_input.py +79 -0
  188. chainstream/openapi_client/test/test_moonshot_create_token_reply.py +55 -0
  189. chainstream/openapi_client/test/test_moonshot_submit_create_token200_response.py +53 -0
  190. chainstream/openapi_client/test/test_moonshot_submit_create_token_input.py +54 -0
  191. chainstream/openapi_client/test/test_network_identification_org.py +53 -0
  192. chainstream/openapi_client/test/test_on_chain_activity.py +53 -0
  193. chainstream/openapi_client/test/test_pump_create_token_input.py +71 -0
  194. chainstream/openapi_client/test/test_pump_create_token_reply.py +54 -0
  195. chainstream/openapi_client/test/test_ranking_api.py +67 -0
  196. chainstream/openapi_client/test/test_red_packet_api.py +88 -0
  197. chainstream/openapi_client/test/test_red_packet_claim_dto.py +67 -0
  198. chainstream/openapi_client/test/test_red_packet_claims_page.py +81 -0
  199. chainstream/openapi_client/test/test_red_packet_dto.py +85 -0
  200. chainstream/openapi_client/test/test_red_packet_reply.py +53 -0
  201. chainstream/openapi_client/test/test_red_packet_send_tx_input.py +53 -0
  202. chainstream/openapi_client/test/test_red_packet_send_tx_response.py +53 -0
  203. chainstream/openapi_client/test/test_red_packets_page.py +99 -0
  204. chainstream/openapi_client/test/test_register_address_request.py +53 -0
  205. chainstream/openapi_client/test/test_register_address_response_dto.py +53 -0
  206. chainstream/openapi_client/test/test_resolution.py +34 -0
  207. chainstream/openapi_client/test/test_send_tx_input.py +55 -0
  208. chainstream/openapi_client/test/test_send_tx_response.py +57 -0
  209. chainstream/openapi_client/test/test_swap_input.py +65 -0
  210. chainstream/openapi_client/test/test_swap_reply.py +55 -0
  211. chainstream/openapi_client/test/test_swap_route_input.py +69 -0
  212. chainstream/openapi_client/test/test_swap_route_response.py +85 -0
  213. chainstream/openapi_client/test/test_token.py +352 -0
  214. chainstream/openapi_client/test/test_token_api.py +193 -0
  215. chainstream/openapi_client/test/test_token_creation_dto.py +64 -0
  216. chainstream/openapi_client/test/test_token_creation_page.py +76 -0
  217. chainstream/openapi_client/test/test_token_creators_dto.py +54 -0
  218. chainstream/openapi_client/test/test_token_extra_dto.py +72 -0
  219. chainstream/openapi_client/test/test_token_holder.py +59 -0
  220. chainstream/openapi_client/test/test_token_holder_page.py +70 -0
  221. chainstream/openapi_client/test/test_token_liquidity_snapshot_dto.py +71 -0
  222. chainstream/openapi_client/test/test_token_liquidity_snapshot_page.py +83 -0
  223. chainstream/openapi_client/test/test_token_list_page.py +154 -0
  224. chainstream/openapi_client/test/test_token_market_data.py +101 -0
  225. chainstream/openapi_client/test/test_token_metadata.py +110 -0
  226. chainstream/openapi_client/test/test_token_page.py +155 -0
  227. chainstream/openapi_client/test/test_token_price_dto.py +59 -0
  228. chainstream/openapi_client/test/test_token_price_page.py +70 -0
  229. chainstream/openapi_client/test/test_token_social_medias_dto.py +64 -0
  230. chainstream/openapi_client/test/test_token_stat.py +257 -0
  231. chainstream/openapi_client/test/test_token_trader.py +65 -0
  232. chainstream/openapi_client/test/test_token_trader_tag.py +34 -0
  233. chainstream/openapi_client/test/test_top_traders_dto.py +75 -0
  234. chainstream/openapi_client/test/test_top_traders_page.py +86 -0
  235. chainstream/openapi_client/test/test_trade_api.py +53 -0
  236. chainstream/openapi_client/test/test_trade_detail_dto.py +101 -0
  237. chainstream/openapi_client/test/test_trade_event.py +77 -0
  238. chainstream/openapi_client/test/test_trade_page.py +112 -0
  239. chainstream/openapi_client/test/test_trade_type.py +34 -0
  240. chainstream/openapi_client/test/test_transaction_api.py +53 -0
  241. chainstream/openapi_client/test/test_transfer_alerts_response_dto.py +71 -0
  242. chainstream/openapi_client/test/test_transfer_base_response_dto.py +77 -0
  243. chainstream/openapi_client/test/test_transfer_direct_exposure_response_dto.py +57 -0
  244. chainstream/openapi_client/test/test_transfer_network_identifications_response_dto.py +61 -0
  245. chainstream/openapi_client/test/test_update_endpoint_input.py +64 -0
  246. chainstream/openapi_client/test/test_wallet_api.py +67 -0
  247. chainstream/openapi_client/test/test_wallet_balance_detail_dto.py +101 -0
  248. chainstream/openapi_client/test/test_wallet_balances_dto.py +111 -0
  249. chainstream/openapi_client/test/test_wallet_pnl_dto.py +97 -0
  250. chainstream/openapi_client/test/test_watchlist_api.py +39 -0
  251. chainstream/openapi_client/test/test_withdrawal_address_identifications_response_dto.py +65 -0
  252. chainstream/openapi_client/test/test_withdrawal_base_response_dto.py +71 -0
  253. chainstream/openapi_client/test/test_withdrawal_fraud_assessment_response_dto.py +73 -0
  254. chainstream/stream/__init__.py +74 -0
  255. chainstream/stream/client.py +761 -0
  256. chainstream/stream/fields.py +284 -0
  257. chainstream/stream/models.py +415 -0
  258. chainstream_sdk-0.1.0.dist-info/METADATA +80 -0
  259. chainstream_sdk-0.1.0.dist-info/RECORD +261 -0
  260. chainstream_sdk-0.1.0.dist-info/WHEEL +4 -0
  261. chainstream_sdk-0.1.0.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,154 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Dex Aggregator API
5
+
6
+ Dex Aggregator API ⚡️
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: ai@sx.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ import unittest
17
+
18
+ from chainstream.openapi_client.models.token_list_page import TokenListPage
19
+
20
+ class TestTokenListPage(unittest.TestCase):
21
+ """TokenListPage unit test stubs"""
22
+
23
+ def setUp(self):
24
+ pass
25
+
26
+ def tearDown(self):
27
+ pass
28
+
29
+ def make_instance(self, include_optional) -> TokenListPage:
30
+ """Test TokenListPage
31
+ include_optional is a boolean, when False only required
32
+ params are included, when True both required and
33
+ optional params are included """
34
+ # uncomment below to create an instance of `TokenListPage`
35
+ """
36
+ model = TokenListPage()
37
+ if include_optional:
38
+ return TokenListPage(
39
+ has_next = True,
40
+ has_prev = True,
41
+ start_cursor = '',
42
+ end_cursor = '',
43
+ total = 1.337,
44
+ data = [
45
+ chainstream.openapi_client.models.token.Token(
46
+ chain = 'solana',
47
+ decimals = 9,
48
+ name = 'USD Coin',
49
+ symbol = 'USDC',
50
+ metadata_address = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s',
51
+ address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
52
+ token_creators = [
53
+ chainstream.openapi_client.models.token_creators_dto.TokenCreatorsDTO(
54
+ address = '5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7',
55
+ share = 100,
56
+ is_verified = True, )
57
+ ],
58
+ image_url = 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',
59
+ uri = 'https://...',
60
+ extra = null,
61
+ social_medias = null,
62
+ token_created_at = 1710417600000,
63
+ description = 'USDC is a stablecoin pegged to the US dollar',
64
+ dev_total_tokens = '163',
65
+ dev_last_token_created_at = '2025-12-03T09:23:34.000Z',
66
+ market = 'USDC-SOL',
67
+ extension = {website=https://www.circle.com/usdc, twitter=@circle},
68
+ stats = null,
69
+ liquidity = [
70
+ chainstream.openapi_client.models.dex_pool_dto.DexPoolDTO(
71
+ program_address = 'whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc',
72
+ protocol_family = 'OrcaWhirpool',
73
+ image = 'https://ipfs.io/ipfs/bafkreid7667676767676767676767676767676767676767676767676767676767676767',
74
+ chain = 'sol',
75
+ pool_address = '58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2',
76
+ protocol_name = 'OrcaWhirpool AMM V2',
77
+ token_a_address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
78
+ token_b_address = 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
79
+ tvl_in_usd = '1000000.45',
80
+ tvl_in_sol = '1000000.45',
81
+ type = 1,
82
+ version = 2,
83
+ liquidity_model = 1,
84
+ fee_rate = '0.003',
85
+ tick_spacing = 64,
86
+ token_count = 2,
87
+ created_block_timestamp = '2024-01-15T10:30:00Z',
88
+ token_a_liquidity = null,
89
+ token_b_liquidity = null, )
90
+ ],
91
+ market_data = null, )
92
+ ]
93
+ )
94
+ else:
95
+ return TokenListPage(
96
+ data = [
97
+ chainstream.openapi_client.models.token.Token(
98
+ chain = 'solana',
99
+ decimals = 9,
100
+ name = 'USD Coin',
101
+ symbol = 'USDC',
102
+ metadata_address = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s',
103
+ address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
104
+ token_creators = [
105
+ chainstream.openapi_client.models.token_creators_dto.TokenCreatorsDTO(
106
+ address = '5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7',
107
+ share = 100,
108
+ is_verified = True, )
109
+ ],
110
+ image_url = 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',
111
+ uri = 'https://...',
112
+ extra = null,
113
+ social_medias = null,
114
+ token_created_at = 1710417600000,
115
+ description = 'USDC is a stablecoin pegged to the US dollar',
116
+ dev_total_tokens = '163',
117
+ dev_last_token_created_at = '2025-12-03T09:23:34.000Z',
118
+ market = 'USDC-SOL',
119
+ extension = {website=https://www.circle.com/usdc, twitter=@circle},
120
+ stats = null,
121
+ liquidity = [
122
+ chainstream.openapi_client.models.dex_pool_dto.DexPoolDTO(
123
+ program_address = 'whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc',
124
+ protocol_family = 'OrcaWhirpool',
125
+ image = 'https://ipfs.io/ipfs/bafkreid7667676767676767676767676767676767676767676767676767676767676767',
126
+ chain = 'sol',
127
+ pool_address = '58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2',
128
+ protocol_name = 'OrcaWhirpool AMM V2',
129
+ token_a_address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
130
+ token_b_address = 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
131
+ tvl_in_usd = '1000000.45',
132
+ tvl_in_sol = '1000000.45',
133
+ type = 1,
134
+ version = 2,
135
+ liquidity_model = 1,
136
+ fee_rate = '0.003',
137
+ tick_spacing = 64,
138
+ token_count = 2,
139
+ created_block_timestamp = '2024-01-15T10:30:00Z',
140
+ token_a_liquidity = null,
141
+ token_b_liquidity = null, )
142
+ ],
143
+ market_data = null, )
144
+ ],
145
+ )
146
+ """
147
+
148
+ def testTokenListPage(self):
149
+ """Test TokenListPage"""
150
+ # inst_req_only = self.make_instance(include_optional=False)
151
+ # inst_req_and_optional = self.make_instance(include_optional=True)
152
+
153
+ if __name__ == '__main__':
154
+ unittest.main()
@@ -0,0 +1,101 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Dex Aggregator API
5
+
6
+ Dex Aggregator API ⚡️
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: ai@sx.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ import unittest
17
+
18
+ from chainstream.openapi_client.models.token_market_data import TokenMarketData
19
+
20
+ class TestTokenMarketData(unittest.TestCase):
21
+ """TokenMarketData unit test stubs"""
22
+
23
+ def setUp(self):
24
+ pass
25
+
26
+ def tearDown(self):
27
+ pass
28
+
29
+ def make_instance(self, include_optional) -> TokenMarketData:
30
+ """Test TokenMarketData
31
+ include_optional is a boolean, when False only required
32
+ params are included, when True both required and
33
+ optional params are included """
34
+ # uncomment below to create an instance of `TokenMarketData`
35
+ """
36
+ model = TokenMarketData()
37
+ if include_optional:
38
+ return TokenMarketData(
39
+ total_supply = '1000000',
40
+ market_cap_in_sol = '100000',
41
+ market_cap_in_usd = '100000',
42
+ top10_total_holdings = '100000',
43
+ top10_holdings_ratio = '0.1',
44
+ top100_total_holdings = '500000',
45
+ top100_holdings_ratio = '0.5',
46
+ holders = '1000',
47
+ price_in_sol = '0.00000261383847574915906643405542',
48
+ price_in_usd = '0.00000261383847574915906643405542',
49
+ max_pool_tvl_in_sol = '0.00000261383847574915906643405542',
50
+ max_pool_tvl_in_usd = '0.00000261383847574915906643405542',
51
+ total_tvl_in_sol = '0.00000261383847574915906643405542',
52
+ total_tvl_in_usd = '0.00000261383847574915906643405542',
53
+ completion_ratio = '0.1',
54
+ top50_total_holdings = '300000',
55
+ top50_holdings_ratio = '0.3',
56
+ bluechip_total_holders = '10',
57
+ bluechip_total_holdings = '50000',
58
+ bluechip_holdings_ratio = '0.05',
59
+ kol_total_holders = '20',
60
+ kol_total_holdings = '30000',
61
+ kol_holdings_ratio = '0.03',
62
+ sniper_total_holders = '15',
63
+ sniper_total_holdings = '25000',
64
+ sniper_holdings_ratio = '0.025',
65
+ pro_total_holders = '25',
66
+ pro_total_holdings = '40000',
67
+ pro_holdings_ratio = '0.04',
68
+ insider_total_holders = '5',
69
+ insider_total_holdings = '20000',
70
+ insider_holdings_ratio = '0.02',
71
+ sandwish_total_holders = '8',
72
+ sandwish_total_holdings = '15000',
73
+ sandwish_holdings_ratio = '0.015',
74
+ fresh_total_holders = '30',
75
+ fresh_total_holdings = '10000',
76
+ fresh_holdings_ratio = '0.01',
77
+ bundle_total_holders = '12',
78
+ bundle_total_holdings = '18000',
79
+ bundle_holdings_ratio = '0.018',
80
+ dev_total_holders = '3',
81
+ dev_total_holdings = '5000',
82
+ dev_holdings_ratio = '0.005'
83
+ )
84
+ else:
85
+ return TokenMarketData(
86
+ total_supply = '1000000',
87
+ market_cap_in_usd = '100000',
88
+ holders = '1000',
89
+ price_in_usd = '0.00000261383847574915906643405542',
90
+ total_tvl_in_sol = '0.00000261383847574915906643405542',
91
+ total_tvl_in_usd = '0.00000261383847574915906643405542',
92
+ )
93
+ """
94
+
95
+ def testTokenMarketData(self):
96
+ """Test TokenMarketData"""
97
+ # inst_req_only = self.make_instance(include_optional=False)
98
+ # inst_req_and_optional = self.make_instance(include_optional=True)
99
+
100
+ if __name__ == '__main__':
101
+ unittest.main()
@@ -0,0 +1,110 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Dex Aggregator API
5
+
6
+ Dex Aggregator API ⚡️
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: ai@sx.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ import unittest
17
+
18
+ from chainstream.openapi_client.models.token_metadata import TokenMetadata
19
+
20
+ class TestTokenMetadata(unittest.TestCase):
21
+ """TokenMetadata unit test stubs"""
22
+
23
+ def setUp(self):
24
+ pass
25
+
26
+ def tearDown(self):
27
+ pass
28
+
29
+ def make_instance(self, include_optional) -> TokenMetadata:
30
+ """Test TokenMetadata
31
+ include_optional is a boolean, when False only required
32
+ params are included, when True both required and
33
+ optional params are included """
34
+ # uncomment below to create an instance of `TokenMetadata`
35
+ """
36
+ model = TokenMetadata()
37
+ if include_optional:
38
+ return TokenMetadata(
39
+ chain = 'solana',
40
+ decimals = 9,
41
+ name = 'USD Coin',
42
+ symbol = 'USDC',
43
+ metadata_address = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s',
44
+ address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
45
+ token_creators = [
46
+ chainstream.openapi_client.models.token_creators_dto.TokenCreatorsDTO(
47
+ address = '5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7',
48
+ share = 100,
49
+ is_verified = True, )
50
+ ],
51
+ image_url = 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',
52
+ uri = 'https://...',
53
+ extra = chainstream.openapi_client.models.token_extra_dto.TokenExtraDTO(
54
+ collection_address = 'ABCDE',
55
+ edition_nonce = 1,
56
+ fungible = True,
57
+ is_mutable = True,
58
+ key = 'Mint',
59
+ is_native = False,
60
+ primary_sale_happened = False,
61
+ launch_from_program_address = '6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P',
62
+ launch_from_protocol_family = 'pumpfun',
63
+ program_address = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA',
64
+ migrated_to_program_address = 'pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA',
65
+ migrated_to_protocol_family = 'Raydium',
66
+ migrated_to_pool_address = '7AvUMqLBou5EAXzyhnizWmPU13u2VguJoBYdcX4bhJtQ',
67
+ migrated_at = 1714857600,
68
+ seller_fee_basis_points = 100,
69
+ token_standard = 'Fungible',
70
+ mint_authority = 'B61ZzjjZskE9yur2CBe4H4NFS3XHdEZdatKNegC9smUV',
71
+ freeze_authority = 'B61ZzjjZskE9yur2CBe4H4NFS3XHdEZdatKNegC9smUV',
72
+ update_authority = 'B61ZzjjZskE9yur2CBe4H4NFS3XHdEZdatKNegC9smUV',
73
+ is_verified_collection = True,
74
+ is_wrapped = False, ),
75
+ social_medias = chainstream.openapi_client.models.token_social_medias_dto.TokenSocialMediasDTO(
76
+ twitter = '@circle',
77
+ telegram = 'https://t.me/circle',
78
+ website = 'https://www.circle.com',
79
+ tiktok = '@circle',
80
+ discord = 'https://discord.gg/circle',
81
+ facebook = 'https://facebook.com/circle',
82
+ github = 'https://github.com/circle',
83
+ instagram = '@circle',
84
+ linkedin = 'https://linkedin.com/company/circle',
85
+ medium = 'https://medium.com/@circle',
86
+ reddit = 'https://reddit.com/r/circle',
87
+ youtube = 'https://youtube.com/@circle',
88
+ bitbucket = 'https://bitbucket.org/circle', ),
89
+ token_created_at = 1710417600000,
90
+ description = 'USDC is a stablecoin pegged to the US dollar',
91
+ dev_total_tokens = '163',
92
+ dev_last_token_created_at = '2025-12-03T09:23:34.000Z'
93
+ )
94
+ else:
95
+ return TokenMetadata(
96
+ chain = 'solana',
97
+ decimals = 9,
98
+ name = 'USD Coin',
99
+ symbol = 'USDC',
100
+ address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
101
+ )
102
+ """
103
+
104
+ def testTokenMetadata(self):
105
+ """Test TokenMetadata"""
106
+ # inst_req_only = self.make_instance(include_optional=False)
107
+ # inst_req_and_optional = self.make_instance(include_optional=True)
108
+
109
+ if __name__ == '__main__':
110
+ unittest.main()
@@ -0,0 +1,155 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Dex Aggregator API
5
+
6
+ Dex Aggregator API ⚡️
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: ai@sx.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ import unittest
17
+
18
+ from chainstream.openapi_client.models.token_page import TokenPage
19
+
20
+ class TestTokenPage(unittest.TestCase):
21
+ """TokenPage unit test stubs"""
22
+
23
+ def setUp(self):
24
+ pass
25
+
26
+ def tearDown(self):
27
+ pass
28
+
29
+ def make_instance(self, include_optional) -> TokenPage:
30
+ """Test TokenPage
31
+ include_optional is a boolean, when False only required
32
+ params are included, when True both required and
33
+ optional params are included """
34
+ # uncomment below to create an instance of `TokenPage`
35
+ """
36
+ model = TokenPage()
37
+ if include_optional:
38
+ return TokenPage(
39
+ has_next = True,
40
+ has_prev = True,
41
+ start_cursor = '',
42
+ end_cursor = '',
43
+ total = 1.337,
44
+ counts_by_protocols = {uniswap=500, sushiswap=300},
45
+ data = [
46
+ chainstream.openapi_client.models.token.Token(
47
+ chain = 'solana',
48
+ decimals = 9,
49
+ name = 'USD Coin',
50
+ symbol = 'USDC',
51
+ metadata_address = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s',
52
+ address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
53
+ token_creators = [
54
+ chainstream.openapi_client.models.token_creators_dto.TokenCreatorsDTO(
55
+ address = '5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7',
56
+ share = 100,
57
+ is_verified = True, )
58
+ ],
59
+ image_url = 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',
60
+ uri = 'https://...',
61
+ extra = null,
62
+ social_medias = null,
63
+ token_created_at = 1710417600000,
64
+ description = 'USDC is a stablecoin pegged to the US dollar',
65
+ dev_total_tokens = '163',
66
+ dev_last_token_created_at = '2025-12-03T09:23:34.000Z',
67
+ market = 'USDC-SOL',
68
+ extension = {website=https://www.circle.com/usdc, twitter=@circle},
69
+ stats = null,
70
+ liquidity = [
71
+ chainstream.openapi_client.models.dex_pool_dto.DexPoolDTO(
72
+ program_address = 'whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc',
73
+ protocol_family = 'OrcaWhirpool',
74
+ image = 'https://ipfs.io/ipfs/bafkreid7667676767676767676767676767676767676767676767676767676767676767',
75
+ chain = 'sol',
76
+ pool_address = '58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2',
77
+ protocol_name = 'OrcaWhirpool AMM V2',
78
+ token_a_address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
79
+ token_b_address = 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
80
+ tvl_in_usd = '1000000.45',
81
+ tvl_in_sol = '1000000.45',
82
+ type = 1,
83
+ version = 2,
84
+ liquidity_model = 1,
85
+ fee_rate = '0.003',
86
+ tick_spacing = 64,
87
+ token_count = 2,
88
+ created_block_timestamp = '2024-01-15T10:30:00Z',
89
+ token_a_liquidity = null,
90
+ token_b_liquidity = null, )
91
+ ],
92
+ market_data = null, )
93
+ ]
94
+ )
95
+ else:
96
+ return TokenPage(
97
+ data = [
98
+ chainstream.openapi_client.models.token.Token(
99
+ chain = 'solana',
100
+ decimals = 9,
101
+ name = 'USD Coin',
102
+ symbol = 'USDC',
103
+ metadata_address = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s',
104
+ address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
105
+ token_creators = [
106
+ chainstream.openapi_client.models.token_creators_dto.TokenCreatorsDTO(
107
+ address = '5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7',
108
+ share = 100,
109
+ is_verified = True, )
110
+ ],
111
+ image_url = 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',
112
+ uri = 'https://...',
113
+ extra = null,
114
+ social_medias = null,
115
+ token_created_at = 1710417600000,
116
+ description = 'USDC is a stablecoin pegged to the US dollar',
117
+ dev_total_tokens = '163',
118
+ dev_last_token_created_at = '2025-12-03T09:23:34.000Z',
119
+ market = 'USDC-SOL',
120
+ extension = {website=https://www.circle.com/usdc, twitter=@circle},
121
+ stats = null,
122
+ liquidity = [
123
+ chainstream.openapi_client.models.dex_pool_dto.DexPoolDTO(
124
+ program_address = 'whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc',
125
+ protocol_family = 'OrcaWhirpool',
126
+ image = 'https://ipfs.io/ipfs/bafkreid7667676767676767676767676767676767676767676767676767676767676767',
127
+ chain = 'sol',
128
+ pool_address = '58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2',
129
+ protocol_name = 'OrcaWhirpool AMM V2',
130
+ token_a_address = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
131
+ token_b_address = 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',
132
+ tvl_in_usd = '1000000.45',
133
+ tvl_in_sol = '1000000.45',
134
+ type = 1,
135
+ version = 2,
136
+ liquidity_model = 1,
137
+ fee_rate = '0.003',
138
+ tick_spacing = 64,
139
+ token_count = 2,
140
+ created_block_timestamp = '2024-01-15T10:30:00Z',
141
+ token_a_liquidity = null,
142
+ token_b_liquidity = null, )
143
+ ],
144
+ market_data = null, )
145
+ ],
146
+ )
147
+ """
148
+
149
+ def testTokenPage(self):
150
+ """Test TokenPage"""
151
+ # inst_req_only = self.make_instance(include_optional=False)
152
+ # inst_req_and_optional = self.make_instance(include_optional=True)
153
+
154
+ if __name__ == '__main__':
155
+ unittest.main()
@@ -0,0 +1,59 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Dex Aggregator API
5
+
6
+ Dex Aggregator API ⚡️
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: ai@sx.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ import unittest
17
+
18
+ from chainstream.openapi_client.models.token_price_dto import TokenPriceDTO
19
+
20
+ class TestTokenPriceDTO(unittest.TestCase):
21
+ """TokenPriceDTO unit test stubs"""
22
+
23
+ def setUp(self):
24
+ pass
25
+
26
+ def tearDown(self):
27
+ pass
28
+
29
+ def make_instance(self, include_optional) -> TokenPriceDTO:
30
+ """Test TokenPriceDTO
31
+ include_optional is a boolean, when False only required
32
+ params are included, when True both required and
33
+ optional params are included """
34
+ # uncomment below to create an instance of `TokenPriceDTO`
35
+ """
36
+ model = TokenPriceDTO()
37
+ if include_optional:
38
+ return TokenPriceDTO(
39
+ token_address = '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN',
40
+ price_in_usd = '1000',
41
+ price_in_native = '1000',
42
+ timestamp = 1754055151
43
+ )
44
+ else:
45
+ return TokenPriceDTO(
46
+ token_address = '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN',
47
+ price_in_usd = '1000',
48
+ price_in_native = '1000',
49
+ timestamp = 1754055151,
50
+ )
51
+ """
52
+
53
+ def testTokenPriceDTO(self):
54
+ """Test TokenPriceDTO"""
55
+ # inst_req_only = self.make_instance(include_optional=False)
56
+ # inst_req_and_optional = self.make_instance(include_optional=True)
57
+
58
+ if __name__ == '__main__':
59
+ unittest.main()
@@ -0,0 +1,70 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Dex Aggregator API
5
+
6
+ Dex Aggregator API ⚡️
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: ai@sx.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ import unittest
17
+
18
+ from chainstream.openapi_client.models.token_price_page import TokenPricePage
19
+
20
+ class TestTokenPricePage(unittest.TestCase):
21
+ """TokenPricePage unit test stubs"""
22
+
23
+ def setUp(self):
24
+ pass
25
+
26
+ def tearDown(self):
27
+ pass
28
+
29
+ def make_instance(self, include_optional) -> TokenPricePage:
30
+ """Test TokenPricePage
31
+ include_optional is a boolean, when False only required
32
+ params are included, when True both required and
33
+ optional params are included """
34
+ # uncomment below to create an instance of `TokenPricePage`
35
+ """
36
+ model = TokenPricePage()
37
+ if include_optional:
38
+ return TokenPricePage(
39
+ has_next = True,
40
+ has_prev = True,
41
+ start_cursor = '',
42
+ end_cursor = '',
43
+ total = 1.337,
44
+ data = [
45
+ chainstream.openapi_client.models.token_price_dto.TokenPriceDTO(
46
+ token_address = '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN',
47
+ price_in_usd = '1000',
48
+ price_in_native = '1000',
49
+ timestamp = 1754055151, )
50
+ ]
51
+ )
52
+ else:
53
+ return TokenPricePage(
54
+ data = [
55
+ chainstream.openapi_client.models.token_price_dto.TokenPriceDTO(
56
+ token_address = '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN',
57
+ price_in_usd = '1000',
58
+ price_in_native = '1000',
59
+ timestamp = 1754055151, )
60
+ ],
61
+ )
62
+ """
63
+
64
+ def testTokenPricePage(self):
65
+ """Test TokenPricePage"""
66
+ # inst_req_only = self.make_instance(include_optional=False)
67
+ # inst_req_and_optional = self.make_instance(include_optional=True)
68
+
69
+ if __name__ == '__main__':
70
+ unittest.main()