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.
- chainstream/__init__.py +46 -0
- chainstream/client.py +104 -0
- chainstream/openapi_client/__init__.py +156 -0
- chainstream/openapi_client/api/__init__.py +20 -0
- chainstream/openapi_client/api/blockchain_api.py +549 -0
- chainstream/openapi_client/api/defi_sol_moonshot_api.py +590 -0
- chainstream/openapi_client/api/defi_sol_pumpfun_api.py +314 -0
- chainstream/openapi_client/api/dex_api.py +1576 -0
- chainstream/openapi_client/api/dex_pool_api.py +645 -0
- chainstream/openapi_client/api/endpoint_api.py +1934 -0
- chainstream/openapi_client/api/ipfs_api.py +283 -0
- chainstream/openapi_client/api/jobs_api.py +562 -0
- chainstream/openapi_client/api/kyt_api.py +3743 -0
- chainstream/openapi_client/api/ranking_api.py +2067 -0
- chainstream/openapi_client/api/red_packet_api.py +2444 -0
- chainstream/openapi_client/api/token_api.py +9211 -0
- chainstream/openapi_client/api/trade_api.py +1352 -0
- chainstream/openapi_client/api/transaction_api.py +882 -0
- chainstream/openapi_client/api/wallet_api.py +1608 -0
- chainstream/openapi_client/api/watchlist_api.py +316 -0
- chainstream/openapi_client/api_client.py +801 -0
- chainstream/openapi_client/api_response.py +21 -0
- chainstream/openapi_client/configuration.py +572 -0
- chainstream/openapi_client/exceptions.py +217 -0
- chainstream/openapi_client/models/__init__.py +122 -0
- chainstream/openapi_client/models/address_exposure.py +94 -0
- chainstream/openapi_client/models/address_risk_response_dto.py +112 -0
- chainstream/openapi_client/models/alert_detail.py +100 -0
- chainstream/openapi_client/models/alterya_identification.py +106 -0
- chainstream/openapi_client/models/balance_change_type.py +38 -0
- chainstream/openapi_client/models/balance_token_type.py +38 -0
- chainstream/openapi_client/models/balance_update_dto.py +130 -0
- chainstream/openapi_client/models/balance_update_page.py +104 -0
- chainstream/openapi_client/models/blockchain_dto.py +94 -0
- chainstream/openapi_client/models/blockchain_latest_block_dto.py +90 -0
- chainstream/openapi_client/models/boolean_result_dto.py +88 -0
- chainstream/openapi_client/models/calculate_pnl_input.py +88 -0
- chainstream/openapi_client/models/candle.py +101 -0
- chainstream/openapi_client/models/chain.py +39 -0
- chainstream/openapi_client/models/chain_symbol.py +39 -0
- chainstream/openapi_client/models/chainalysis_address_identification.py +92 -0
- chainstream/openapi_client/models/claim_red_packet_input.py +103 -0
- chainstream/openapi_client/models/create_endpoint_input.py +102 -0
- chainstream/openapi_client/models/create_red_packet_input.py +112 -0
- chainstream/openapi_client/models/create_red_packet_reply.py +90 -0
- chainstream/openapi_client/models/create_token_input.py +110 -0
- chainstream/openapi_client/models/create_token_reply.py +90 -0
- chainstream/openapi_client/models/dev_token_dto.py +106 -0
- chainstream/openapi_client/models/dex_dto.py +94 -0
- chainstream/openapi_client/models/dex_page.py +106 -0
- chainstream/openapi_client/models/dex_pool_dto.py +161 -0
- chainstream/openapi_client/models/dex_pool_snapshot_dto.py +111 -0
- chainstream/openapi_client/models/dex_pool_snapshot_page.py +104 -0
- chainstream/openapi_client/models/dex_pool_token_liquidity.py +100 -0
- chainstream/openapi_client/models/dex_pool_token_snapshot_dto.py +100 -0
- chainstream/openapi_client/models/dex_quote_response.py +98 -0
- chainstream/openapi_client/models/direct_exposure_detail.py +90 -0
- chainstream/openapi_client/models/endpoint_list_response.py +102 -0
- chainstream/openapi_client/models/endpoint_operation_response.py +88 -0
- chainstream/openapi_client/models/endpoint_response.py +108 -0
- chainstream/openapi_client/models/endpoint_secret_response.py +88 -0
- chainstream/openapi_client/models/estimate_gas_limit_input.py +94 -0
- chainstream/openapi_client/models/estimate_gas_limit_response.py +90 -0
- chainstream/openapi_client/models/filter_condition.py +102 -0
- chainstream/openapi_client/models/gas_price_response.py +90 -0
- chainstream/openapi_client/models/job_dto.py +90 -0
- chainstream/openapi_client/models/job_streaming_dto.py +90 -0
- chainstream/openapi_client/models/kyt_register_transfer_request.py +108 -0
- chainstream/openapi_client/models/kyt_register_withdrawal_request.py +111 -0
- chainstream/openapi_client/models/link.py +97 -0
- chainstream/openapi_client/models/moonshot_create_token_input.py +145 -0
- chainstream/openapi_client/models/moonshot_create_token_reply.py +90 -0
- chainstream/openapi_client/models/moonshot_submit_create_token200_response.py +90 -0
- chainstream/openapi_client/models/moonshot_submit_create_token_input.py +90 -0
- chainstream/openapi_client/models/network_identification_org.py +88 -0
- chainstream/openapi_client/models/on_chain_activity.py +88 -0
- chainstream/openapi_client/models/pump_create_token_input.py +155 -0
- chainstream/openapi_client/models/pump_create_token_reply.py +90 -0
- chainstream/openapi_client/models/red_packet_claim_dto.py +103 -0
- chainstream/openapi_client/models/red_packet_claims_page.py +104 -0
- chainstream/openapi_client/models/red_packet_dto.py +121 -0
- chainstream/openapi_client/models/red_packet_reply.py +88 -0
- chainstream/openapi_client/models/red_packet_send_tx_input.py +88 -0
- chainstream/openapi_client/models/red_packet_send_tx_response.py +88 -0
- chainstream/openapi_client/models/red_packets_page.py +104 -0
- chainstream/openapi_client/models/register_address_request.py +88 -0
- chainstream/openapi_client/models/register_address_response_dto.py +88 -0
- chainstream/openapi_client/models/resolution.py +46 -0
- chainstream/openapi_client/models/send_tx_input.py +102 -0
- chainstream/openapi_client/models/send_tx_response.py +92 -0
- chainstream/openapi_client/models/swap_input.py +119 -0
- chainstream/openapi_client/models/swap_reply.py +90 -0
- chainstream/openapi_client/models/swap_route_input.py +127 -0
- chainstream/openapi_client/models/swap_route_response.py +98 -0
- chainstream/openapi_client/models/token.py +158 -0
- chainstream/openapi_client/models/token_creation_dto.py +107 -0
- chainstream/openapi_client/models/token_creation_page.py +106 -0
- chainstream/openapi_client/models/token_creators_dto.py +92 -0
- chainstream/openapi_client/models/token_extra_dto.py +128 -0
- chainstream/openapi_client/models/token_holder.py +94 -0
- chainstream/openapi_client/models/token_holder_page.py +106 -0
- chainstream/openapi_client/models/token_liquidity_snapshot_dto.py +106 -0
- chainstream/openapi_client/models/token_liquidity_snapshot_page.py +104 -0
- chainstream/openapi_client/models/token_list_page.py +106 -0
- chainstream/openapi_client/models/token_market_data.py +174 -0
- chainstream/openapi_client/models/token_metadata.py +132 -0
- chainstream/openapi_client/models/token_page.py +108 -0
- chainstream/openapi_client/models/token_price_dto.py +94 -0
- chainstream/openapi_client/models/token_price_page.py +106 -0
- chainstream/openapi_client/models/token_social_medias_dto.py +112 -0
- chainstream/openapi_client/models/token_stat.py +340 -0
- chainstream/openapi_client/models/token_trader.py +113 -0
- chainstream/openapi_client/models/token_trader_tag.py +45 -0
- chainstream/openapi_client/models/top_traders_dto.py +110 -0
- chainstream/openapi_client/models/top_traders_page.py +106 -0
- chainstream/openapi_client/models/trade_detail_dto.py +136 -0
- chainstream/openapi_client/models/trade_event.py +113 -0
- chainstream/openapi_client/models/trade_page.py +106 -0
- chainstream/openapi_client/models/trade_type.py +38 -0
- chainstream/openapi_client/models/transfer_alerts_response_dto.py +96 -0
- chainstream/openapi_client/models/transfer_base_response_dto.py +112 -0
- chainstream/openapi_client/models/transfer_direct_exposure_response_dto.py +92 -0
- chainstream/openapi_client/models/transfer_network_identifications_response_dto.py +98 -0
- chainstream/openapi_client/models/update_endpoint_input.py +104 -0
- chainstream/openapi_client/models/wallet_balance_detail_dto.py +136 -0
- chainstream/openapi_client/models/wallet_balances_dto.py +100 -0
- chainstream/openapi_client/models/wallet_pnl_dto.py +132 -0
- chainstream/openapi_client/models/withdrawal_address_identifications_response_dto.py +98 -0
- chainstream/openapi_client/models/withdrawal_base_response_dto.py +106 -0
- chainstream/openapi_client/models/withdrawal_fraud_assessment_response_dto.py +96 -0
- chainstream/openapi_client/rest.py +213 -0
- chainstream/openapi_client/test/__init__.py +0 -0
- chainstream/openapi_client/test/test_address_exposure.py +59 -0
- chainstream/openapi_client/test/test_address_risk_response_dto.py +81 -0
- chainstream/openapi_client/test/test_alert_detail.py +65 -0
- chainstream/openapi_client/test/test_alterya_identification.py +69 -0
- chainstream/openapi_client/test/test_balance_change_type.py +34 -0
- chainstream/openapi_client/test/test_balance_token_type.py +34 -0
- chainstream/openapi_client/test/test_balance_update_dto.py +93 -0
- chainstream/openapi_client/test/test_balance_update_page.py +105 -0
- chainstream/openapi_client/test/test_blockchain_api.py +46 -0
- chainstream/openapi_client/test/test_blockchain_dto.py +59 -0
- chainstream/openapi_client/test/test_blockchain_latest_block_dto.py +55 -0
- chainstream/openapi_client/test/test_boolean_result_dto.py +53 -0
- chainstream/openapi_client/test/test_calculate_pnl_input.py +52 -0
- chainstream/openapi_client/test/test_candle.py +65 -0
- chainstream/openapi_client/test/test_chain.py +34 -0
- chainstream/openapi_client/test/test_chain_symbol.py +34 -0
- chainstream/openapi_client/test/test_chainalysis_address_identification.py +57 -0
- chainstream/openapi_client/test/test_claim_red_packet_input.py +58 -0
- chainstream/openapi_client/test/test_create_endpoint_input.py +63 -0
- chainstream/openapi_client/test/test_create_red_packet_input.py +64 -0
- chainstream/openapi_client/test/test_create_red_packet_reply.py +55 -0
- chainstream/openapi_client/test/test_create_token_input.py +63 -0
- chainstream/openapi_client/test/test_create_token_reply.py +55 -0
- chainstream/openapi_client/test/test_defi_sol_moonshot_api.py +46 -0
- chainstream/openapi_client/test/test_defi_sol_pumpfun_api.py +39 -0
- chainstream/openapi_client/test/test_dev_token_dto.py +441 -0
- chainstream/openapi_client/test/test_dex_api.py +67 -0
- chainstream/openapi_client/test/test_dex_dto.py +56 -0
- chainstream/openapi_client/test/test_dex_page.py +70 -0
- chainstream/openapi_client/test/test_dex_pool_api.py +46 -0
- chainstream/openapi_client/test/test_dex_pool_dto.py +88 -0
- chainstream/openapi_client/test/test_dex_pool_snapshot_dto.py +96 -0
- chainstream/openapi_client/test/test_dex_pool_snapshot_page.py +81 -0
- chainstream/openapi_client/test/test_dex_pool_token_liquidity.py +65 -0
- chainstream/openapi_client/test/test_dex_pool_token_snapshot_dto.py +65 -0
- chainstream/openapi_client/test/test_dex_quote_response.py +57 -0
- chainstream/openapi_client/test/test_direct_exposure_detail.py +55 -0
- chainstream/openapi_client/test/test_endpoint_api.py +81 -0
- chainstream/openapi_client/test/test_endpoint_list_response.py +72 -0
- chainstream/openapi_client/test/test_endpoint_operation_response.py +52 -0
- chainstream/openapi_client/test/test_endpoint_response.py +66 -0
- chainstream/openapi_client/test/test_endpoint_secret_response.py +52 -0
- chainstream/openapi_client/test/test_estimate_gas_limit_input.py +58 -0
- chainstream/openapi_client/test/test_estimate_gas_limit_response.py +55 -0
- chainstream/openapi_client/test/test_filter_condition.py +54 -0
- chainstream/openapi_client/test/test_gas_price_response.py +55 -0
- chainstream/openapi_client/test/test_ipfs_api.py +39 -0
- chainstream/openapi_client/test/test_job_dto.py +55 -0
- chainstream/openapi_client/test/test_job_streaming_dto.py +55 -0
- chainstream/openapi_client/test/test_jobs_api.py +46 -0
- chainstream/openapi_client/test/test_kyt_api.py +130 -0
- chainstream/openapi_client/test/test_kyt_register_transfer_request.py +59 -0
- chainstream/openapi_client/test/test_kyt_register_withdrawal_request.py +65 -0
- chainstream/openapi_client/test/test_link.py +55 -0
- chainstream/openapi_client/test/test_moonshot_create_token_input.py +79 -0
- chainstream/openapi_client/test/test_moonshot_create_token_reply.py +55 -0
- chainstream/openapi_client/test/test_moonshot_submit_create_token200_response.py +53 -0
- chainstream/openapi_client/test/test_moonshot_submit_create_token_input.py +54 -0
- chainstream/openapi_client/test/test_network_identification_org.py +53 -0
- chainstream/openapi_client/test/test_on_chain_activity.py +53 -0
- chainstream/openapi_client/test/test_pump_create_token_input.py +71 -0
- chainstream/openapi_client/test/test_pump_create_token_reply.py +54 -0
- chainstream/openapi_client/test/test_ranking_api.py +67 -0
- chainstream/openapi_client/test/test_red_packet_api.py +88 -0
- chainstream/openapi_client/test/test_red_packet_claim_dto.py +67 -0
- chainstream/openapi_client/test/test_red_packet_claims_page.py +81 -0
- chainstream/openapi_client/test/test_red_packet_dto.py +85 -0
- chainstream/openapi_client/test/test_red_packet_reply.py +53 -0
- chainstream/openapi_client/test/test_red_packet_send_tx_input.py +53 -0
- chainstream/openapi_client/test/test_red_packet_send_tx_response.py +53 -0
- chainstream/openapi_client/test/test_red_packets_page.py +99 -0
- chainstream/openapi_client/test/test_register_address_request.py +53 -0
- chainstream/openapi_client/test/test_register_address_response_dto.py +53 -0
- chainstream/openapi_client/test/test_resolution.py +34 -0
- chainstream/openapi_client/test/test_send_tx_input.py +55 -0
- chainstream/openapi_client/test/test_send_tx_response.py +57 -0
- chainstream/openapi_client/test/test_swap_input.py +65 -0
- chainstream/openapi_client/test/test_swap_reply.py +55 -0
- chainstream/openapi_client/test/test_swap_route_input.py +69 -0
- chainstream/openapi_client/test/test_swap_route_response.py +85 -0
- chainstream/openapi_client/test/test_token.py +352 -0
- chainstream/openapi_client/test/test_token_api.py +193 -0
- chainstream/openapi_client/test/test_token_creation_dto.py +64 -0
- chainstream/openapi_client/test/test_token_creation_page.py +76 -0
- chainstream/openapi_client/test/test_token_creators_dto.py +54 -0
- chainstream/openapi_client/test/test_token_extra_dto.py +72 -0
- chainstream/openapi_client/test/test_token_holder.py +59 -0
- chainstream/openapi_client/test/test_token_holder_page.py +70 -0
- chainstream/openapi_client/test/test_token_liquidity_snapshot_dto.py +71 -0
- chainstream/openapi_client/test/test_token_liquidity_snapshot_page.py +83 -0
- chainstream/openapi_client/test/test_token_list_page.py +154 -0
- chainstream/openapi_client/test/test_token_market_data.py +101 -0
- chainstream/openapi_client/test/test_token_metadata.py +110 -0
- chainstream/openapi_client/test/test_token_page.py +155 -0
- chainstream/openapi_client/test/test_token_price_dto.py +59 -0
- chainstream/openapi_client/test/test_token_price_page.py +70 -0
- chainstream/openapi_client/test/test_token_social_medias_dto.py +64 -0
- chainstream/openapi_client/test/test_token_stat.py +257 -0
- chainstream/openapi_client/test/test_token_trader.py +65 -0
- chainstream/openapi_client/test/test_token_trader_tag.py +34 -0
- chainstream/openapi_client/test/test_top_traders_dto.py +75 -0
- chainstream/openapi_client/test/test_top_traders_page.py +86 -0
- chainstream/openapi_client/test/test_trade_api.py +53 -0
- chainstream/openapi_client/test/test_trade_detail_dto.py +101 -0
- chainstream/openapi_client/test/test_trade_event.py +77 -0
- chainstream/openapi_client/test/test_trade_page.py +112 -0
- chainstream/openapi_client/test/test_trade_type.py +34 -0
- chainstream/openapi_client/test/test_transaction_api.py +53 -0
- chainstream/openapi_client/test/test_transfer_alerts_response_dto.py +71 -0
- chainstream/openapi_client/test/test_transfer_base_response_dto.py +77 -0
- chainstream/openapi_client/test/test_transfer_direct_exposure_response_dto.py +57 -0
- chainstream/openapi_client/test/test_transfer_network_identifications_response_dto.py +61 -0
- chainstream/openapi_client/test/test_update_endpoint_input.py +64 -0
- chainstream/openapi_client/test/test_wallet_api.py +67 -0
- chainstream/openapi_client/test/test_wallet_balance_detail_dto.py +101 -0
- chainstream/openapi_client/test/test_wallet_balances_dto.py +111 -0
- chainstream/openapi_client/test/test_wallet_pnl_dto.py +97 -0
- chainstream/openapi_client/test/test_watchlist_api.py +39 -0
- chainstream/openapi_client/test/test_withdrawal_address_identifications_response_dto.py +65 -0
- chainstream/openapi_client/test/test_withdrawal_base_response_dto.py +71 -0
- chainstream/openapi_client/test/test_withdrawal_fraud_assessment_response_dto.py +73 -0
- chainstream/stream/__init__.py +74 -0
- chainstream/stream/client.py +761 -0
- chainstream/stream/fields.py +284 -0
- chainstream/stream/models.py +415 -0
- chainstream_sdk-0.1.0.dist-info/METADATA +80 -0
- chainstream_sdk-0.1.0.dist-info/RECORD +261 -0
- chainstream_sdk-0.1.0.dist-info/WHEEL +4 -0
- 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()
|