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,340 @@
|
|
|
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
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class TokenStat(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
TokenStat
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
address: StrictStr = Field(description="DTO.TOKEN.STAT.ADDRESS")
|
|
31
|
+
price1m: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_1M")
|
|
32
|
+
buys1m: StrictStr = Field(description="DTO.TOKEN.STAT.BUYS_1M")
|
|
33
|
+
sells1m: StrictStr = Field(description="DTO.TOKEN.STAT.SELLS_1M")
|
|
34
|
+
buy_volumes1m: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_1M", alias="buyVolumes1m")
|
|
35
|
+
sells_volumes1m: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_1M", alias="sellsVolumes1m")
|
|
36
|
+
volumes1m: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_1M")
|
|
37
|
+
buy_volumes_in_usd1m: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_IN_USD_1M", alias="buyVolumesInUsd1m")
|
|
38
|
+
sell_volumes_in_usd1m: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_IN_USD_1M", alias="sellVolumesInUsd1m")
|
|
39
|
+
volumes_in_usd1m: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_IN_USD_1M", alias="volumesInUsd1m")
|
|
40
|
+
buyers1m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYERS_1M")
|
|
41
|
+
sellers1m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLERS_1M")
|
|
42
|
+
open_price_in_usd1m: StrictStr = Field(description="DTO.TOKEN.STAT.OPEN_PRICE_IN_USD_1M", alias="openPriceInUsd1m")
|
|
43
|
+
close_price_in_usd1m: StrictStr = Field(description="DTO.TOKEN.STAT.CLOSE_PRICE_IN_USD_1M", alias="closePriceInUsd1m")
|
|
44
|
+
price_change_ratio_in_usd1m: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_CHANGE_RATIO_IN_USD_1M", alias="priceChangeRatioInUsd1m")
|
|
45
|
+
trades1m: StrictStr = Field(description="DTO.TOKEN.STAT.TRADES_1M")
|
|
46
|
+
traders1m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADERS_1M")
|
|
47
|
+
high_in_usd1m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.HIGH_IN_USD_1M", alias="highInUsd1m")
|
|
48
|
+
low_in_usd1m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.LOW_IN_USD_1M", alias="lowInUsd1m")
|
|
49
|
+
price5m: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_5M")
|
|
50
|
+
buys5m: StrictStr = Field(description="DTO.TOKEN.STAT.BUYS_5M")
|
|
51
|
+
sells5m: StrictStr = Field(description="DTO.TOKEN.STAT.SELLS_5M")
|
|
52
|
+
buy_volumes5m: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_5M", alias="buyVolumes5m")
|
|
53
|
+
sells_volumes5m: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_5M", alias="sellsVolumes5m")
|
|
54
|
+
volumes5m: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_5M")
|
|
55
|
+
buy_volumes_in_usd5m: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_IN_USD_5M", alias="buyVolumesInUsd5m")
|
|
56
|
+
sell_volumes_in_usd5m: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_IN_USD_5M", alias="sellVolumesInUsd5m")
|
|
57
|
+
volumes_in_usd5m: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_IN_USD_5M", alias="volumesInUsd5m")
|
|
58
|
+
buyers5m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYERS_5M")
|
|
59
|
+
sellers5m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLERS_5M")
|
|
60
|
+
open_price_in_usd5m: StrictStr = Field(description="DTO.TOKEN.STAT.OPEN_PRICE_IN_USD_5M", alias="openPriceInUsd5m")
|
|
61
|
+
close_price_in_usd5m: StrictStr = Field(description="DTO.TOKEN.STAT.CLOSE_PRICE_IN_USD_5M", alias="closePriceInUsd5m")
|
|
62
|
+
price_change_ratio_in_usd5m: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_CHANGE_RATIO_IN_USD_5M", alias="priceChangeRatioInUsd5m")
|
|
63
|
+
trades5m: StrictStr = Field(description="DTO.TOKEN.STAT.TRADES_5M")
|
|
64
|
+
traders5m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADERS_5M")
|
|
65
|
+
high_in_usd5m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.HIGH_IN_USD_5M", alias="highInUsd5m")
|
|
66
|
+
low_in_usd5m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.LOW_IN_USD_5M", alias="lowInUsd5m")
|
|
67
|
+
price15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.PRICE_15M")
|
|
68
|
+
buys15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYS_15M")
|
|
69
|
+
sells15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLS_15M")
|
|
70
|
+
buy_volumes15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUY_VOLUMES_15M", alias="buyVolumes15m")
|
|
71
|
+
sells_volumes15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELL_VOLUMES_15M", alias="sellsVolumes15m")
|
|
72
|
+
volumes15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.VOLUMES_15M")
|
|
73
|
+
buy_volumes_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUY_VOLUMES_IN_USD_15M", alias="buyVolumesInUsd15m")
|
|
74
|
+
sell_volumes_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELL_VOLUMES_IN_USD_15M", alias="sellVolumesInUsd15m")
|
|
75
|
+
volumes_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.VOLUMES_IN_USD_15M", alias="volumesInUsd15m")
|
|
76
|
+
buyers15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYERS_15M")
|
|
77
|
+
sellers15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLERS_15M")
|
|
78
|
+
open_price_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.OPEN_PRICE_IN_USD_15M", alias="openPriceInUsd15m")
|
|
79
|
+
close_price_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.CLOSE_PRICE_IN_USD_15M", alias="closePriceInUsd15m")
|
|
80
|
+
price_change_ratio_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.PRICE_CHANGE_RATIO_IN_USD_15M", alias="priceChangeRatioInUsd15m")
|
|
81
|
+
trades15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADES_15M")
|
|
82
|
+
traders15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADERS_15M")
|
|
83
|
+
high_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.HIGH_IN_USD_15M", alias="highInUsd15m")
|
|
84
|
+
low_in_usd15m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.LOW_IN_USD_15M", alias="lowInUsd15m")
|
|
85
|
+
price30m: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_30M")
|
|
86
|
+
buys30m: StrictStr = Field(description="DTO.TOKEN.STAT.BUYS_30M")
|
|
87
|
+
sells30m: StrictStr = Field(description="DTO.TOKEN.STAT.SELLS_30M")
|
|
88
|
+
buy_volumes30m: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_30M", alias="buyVolumes30m")
|
|
89
|
+
sells_volumes30m: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_30M", alias="sellsVolumes30m")
|
|
90
|
+
volumes30m: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_30M")
|
|
91
|
+
buy_volumes_in_usd30m: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_IN_USD_30M", alias="buyVolumesInUsd30m")
|
|
92
|
+
sell_volumes_in_usd30m: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_IN_USD_30M", alias="sellVolumesInUsd30m")
|
|
93
|
+
volumes_in_usd30m: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_IN_USD_30M", alias="volumesInUsd30m")
|
|
94
|
+
buyers30m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYERS_30M")
|
|
95
|
+
sellers30m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLERS_30M")
|
|
96
|
+
open_price_in_usd30m: StrictStr = Field(description="DTO.TOKEN.STAT.OPEN_PRICE_IN_USD_30M", alias="openPriceInUsd30m")
|
|
97
|
+
close_price_in_usd30m: StrictStr = Field(description="DTO.TOKEN.STAT.CLOSE_PRICE_IN_USD_30M", alias="closePriceInUsd30m")
|
|
98
|
+
price_change_ratio_in_usd30m: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_CHANGE_RATIO_IN_USD_30M", alias="priceChangeRatioInUsd30m")
|
|
99
|
+
trades30m: StrictStr = Field(description="DTO.TOKEN.STAT.TRADES_30M")
|
|
100
|
+
traders30m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADERS_30M")
|
|
101
|
+
high_in_usd30m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.HIGH_IN_USD_30M", alias="highInUsd30m")
|
|
102
|
+
low_in_usd30m: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.LOW_IN_USD_30M", alias="lowInUsd30m")
|
|
103
|
+
price1h: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_1H")
|
|
104
|
+
buys1h: StrictStr = Field(description="DTO.TOKEN.STAT.BUYS_1H")
|
|
105
|
+
sells1h: StrictStr = Field(description="DTO.TOKEN.STAT.SELLS_1H")
|
|
106
|
+
buy_volumes1h: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_1H", alias="buyVolumes1h")
|
|
107
|
+
sells_volumes1h: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_1H", alias="sellsVolumes1h")
|
|
108
|
+
volumes1h: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_1H")
|
|
109
|
+
buy_volumes_in_usd1h: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_IN_USD_1H", alias="buyVolumesInUsd1h")
|
|
110
|
+
sell_volumes_in_usd1h: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_IN_USD_1H", alias="sellVolumesInUsd1h")
|
|
111
|
+
volumes_in_usd1h: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_IN_USD_1H", alias="volumesInUsd1h")
|
|
112
|
+
buyers1h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYERS_1H")
|
|
113
|
+
sellers1h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLERS_1H")
|
|
114
|
+
open_price_in_usd1h: StrictStr = Field(description="DTO.TOKEN.STAT.OPEN_PRICE_IN_USD_1H", alias="openPriceInUsd1h")
|
|
115
|
+
close_price_in_usd1h: StrictStr = Field(description="DTO.TOKEN.STAT.CLOSE_PRICE_IN_USD_1H", alias="closePriceInUsd1h")
|
|
116
|
+
price_change_ratio_in_usd1h: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_CHANGE_RATIO_IN_USD_1H", alias="priceChangeRatioInUsd1h")
|
|
117
|
+
trades1h: StrictStr = Field(description="DTO.TOKEN.STAT.TRADES_1H")
|
|
118
|
+
traders1h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADERS_1H")
|
|
119
|
+
high_in_usd1h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.HIGH_IN_USD_1H", alias="highInUsd1h")
|
|
120
|
+
low_in_usd1h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.LOW_IN_USD_1H", alias="lowInUsd1h")
|
|
121
|
+
price4h: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_4H")
|
|
122
|
+
buys4h: StrictStr = Field(description="DTO.TOKEN.STAT.BUYS_4H")
|
|
123
|
+
sells4h: StrictStr = Field(description="DTO.TOKEN.STAT.SELLS_4H")
|
|
124
|
+
buy_volumes4h: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_4H", alias="buyVolumes4h")
|
|
125
|
+
sells_volumes4h: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_4H", alias="sellsVolumes4h")
|
|
126
|
+
volumes4h: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_4H")
|
|
127
|
+
buy_volumes_in_usd4h: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_IN_USD_4H", alias="buyVolumesInUsd4h")
|
|
128
|
+
sell_volumes_in_usd4h: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_IN_USD_4H", alias="sellVolumesInUsd4h")
|
|
129
|
+
volumes_in_usd4h: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_IN_USD_4H", alias="volumesInUsd4h")
|
|
130
|
+
buyers4h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYERS_4H")
|
|
131
|
+
sellers4h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLERS_4H")
|
|
132
|
+
open_price_in_usd4h: StrictStr = Field(description="DTO.TOKEN.STAT.OPEN_PRICE_IN_USD_4H", alias="openPriceInUsd4h")
|
|
133
|
+
close_price_in_usd4h: StrictStr = Field(description="DTO.TOKEN.STAT.CLOSE_PRICE_IN_USD_4H", alias="closePriceInUsd4h")
|
|
134
|
+
price_change_ratio_in_usd4h: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_CHANGE_RATIO_IN_USD_4H", alias="priceChangeRatioInUsd4h")
|
|
135
|
+
trades4h: StrictStr = Field(description="DTO.TOKEN.STAT.TRADES_4H")
|
|
136
|
+
traders4h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADERS_4H")
|
|
137
|
+
high_in_usd4h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.HIGH_IN_USD_4H", alias="highInUsd4h")
|
|
138
|
+
low_in_usd4h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.LOW_IN_USD_4H", alias="lowInUsd4h")
|
|
139
|
+
price24h: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_24H")
|
|
140
|
+
buys24h: StrictStr = Field(description="DTO.TOKEN.STAT.BUYS_24H")
|
|
141
|
+
sells24h: StrictStr = Field(description="DTO.TOKEN.STAT.SELLS_24H")
|
|
142
|
+
buy_volumes24h: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_24H", alias="buyVolumes24h")
|
|
143
|
+
sells_volumes24h: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_24H", alias="sellsVolumes24h")
|
|
144
|
+
volumes24h: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_24H")
|
|
145
|
+
buy_volumes_in_usd24h: StrictStr = Field(description="DTO.TOKEN.STAT.BUY_VOLUMES_IN_USD_24H", alias="buyVolumesInUsd24h")
|
|
146
|
+
sell_volumes_in_usd24h: StrictStr = Field(description="DTO.TOKEN.STAT.SELL_VOLUMES_IN_USD_24H", alias="sellVolumesInUsd24h")
|
|
147
|
+
volumes_in_usd24h: StrictStr = Field(description="DTO.TOKEN.STAT.VOLUMES_IN_USD_24H", alias="volumesInUsd24h")
|
|
148
|
+
buyers24h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.BUYERS_24H")
|
|
149
|
+
sellers24h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.SELLERS_24H")
|
|
150
|
+
open_price_in_usd24h: StrictStr = Field(description="DTO.TOKEN.STAT.OPEN_PRICE_IN_USD_24H", alias="openPriceInUsd24h")
|
|
151
|
+
close_price_in_usd24h: StrictStr = Field(description="DTO.TOKEN.STAT.CLOSE_PRICE_IN_USD_24H", alias="closePriceInUsd24h")
|
|
152
|
+
price_change_ratio_in_usd24h: StrictStr = Field(description="DTO.TOKEN.STAT.PRICE_CHANGE_RATIO_IN_USD_24H", alias="priceChangeRatioInUsd24h")
|
|
153
|
+
trades24h: StrictStr = Field(description="DTO.TOKEN.STAT.TRADES_24H")
|
|
154
|
+
traders24h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.TRADERS_24H")
|
|
155
|
+
high_in_usd24h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.HIGH_IN_USD_24H", alias="highInUsd24h")
|
|
156
|
+
low_in_usd24h: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN.STAT.LOW_IN_USD_24H", alias="lowInUsd24h")
|
|
157
|
+
__properties: ClassVar[List[str]] = ["address", "price1m", "buys1m", "sells1m", "buyVolumes1m", "sellsVolumes1m", "volumes1m", "buyVolumesInUsd1m", "sellVolumesInUsd1m", "volumesInUsd1m", "buyers1m", "sellers1m", "openPriceInUsd1m", "closePriceInUsd1m", "priceChangeRatioInUsd1m", "trades1m", "traders1m", "highInUsd1m", "lowInUsd1m", "price5m", "buys5m", "sells5m", "buyVolumes5m", "sellsVolumes5m", "volumes5m", "buyVolumesInUsd5m", "sellVolumesInUsd5m", "volumesInUsd5m", "buyers5m", "sellers5m", "openPriceInUsd5m", "closePriceInUsd5m", "priceChangeRatioInUsd5m", "trades5m", "traders5m", "highInUsd5m", "lowInUsd5m", "price15m", "buys15m", "sells15m", "buyVolumes15m", "sellsVolumes15m", "volumes15m", "buyVolumesInUsd15m", "sellVolumesInUsd15m", "volumesInUsd15m", "buyers15m", "sellers15m", "openPriceInUsd15m", "closePriceInUsd15m", "priceChangeRatioInUsd15m", "trades15m", "traders15m", "highInUsd15m", "lowInUsd15m", "price30m", "buys30m", "sells30m", "buyVolumes30m", "sellsVolumes30m", "volumes30m", "buyVolumesInUsd30m", "sellVolumesInUsd30m", "volumesInUsd30m", "buyers30m", "sellers30m", "openPriceInUsd30m", "closePriceInUsd30m", "priceChangeRatioInUsd30m", "trades30m", "traders30m", "highInUsd30m", "lowInUsd30m", "price1h", "buys1h", "sells1h", "buyVolumes1h", "sellsVolumes1h", "volumes1h", "buyVolumesInUsd1h", "sellVolumesInUsd1h", "volumesInUsd1h", "buyers1h", "sellers1h", "openPriceInUsd1h", "closePriceInUsd1h", "priceChangeRatioInUsd1h", "trades1h", "traders1h", "highInUsd1h", "lowInUsd1h", "price4h", "buys4h", "sells4h", "buyVolumes4h", "sellsVolumes4h", "volumes4h", "buyVolumesInUsd4h", "sellVolumesInUsd4h", "volumesInUsd4h", "buyers4h", "sellers4h", "openPriceInUsd4h", "closePriceInUsd4h", "priceChangeRatioInUsd4h", "trades4h", "traders4h", "highInUsd4h", "lowInUsd4h", "price24h", "buys24h", "sells24h", "buyVolumes24h", "sellsVolumes24h", "volumes24h", "buyVolumesInUsd24h", "sellVolumesInUsd24h", "volumesInUsd24h", "buyers24h", "sellers24h", "openPriceInUsd24h", "closePriceInUsd24h", "priceChangeRatioInUsd24h", "trades24h", "traders24h", "highInUsd24h", "lowInUsd24h"]
|
|
158
|
+
|
|
159
|
+
model_config = ConfigDict(
|
|
160
|
+
populate_by_name=True,
|
|
161
|
+
validate_assignment=True,
|
|
162
|
+
protected_namespaces=(),
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def to_str(self) -> str:
|
|
167
|
+
"""Returns the string representation of the model using alias"""
|
|
168
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
169
|
+
|
|
170
|
+
def to_json(self) -> str:
|
|
171
|
+
"""Returns the JSON representation of the model using alias"""
|
|
172
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
173
|
+
return json.dumps(self.to_dict())
|
|
174
|
+
|
|
175
|
+
@classmethod
|
|
176
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
177
|
+
"""Create an instance of TokenStat from a JSON string"""
|
|
178
|
+
return cls.from_dict(json.loads(json_str))
|
|
179
|
+
|
|
180
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
181
|
+
"""Return the dictionary representation of the model using alias.
|
|
182
|
+
|
|
183
|
+
This has the following differences from calling pydantic's
|
|
184
|
+
`self.model_dump(by_alias=True)`:
|
|
185
|
+
|
|
186
|
+
* `None` is only added to the output dict for nullable fields that
|
|
187
|
+
were set at model initialization. Other fields with value `None`
|
|
188
|
+
are ignored.
|
|
189
|
+
"""
|
|
190
|
+
excluded_fields: Set[str] = set([
|
|
191
|
+
])
|
|
192
|
+
|
|
193
|
+
_dict = self.model_dump(
|
|
194
|
+
by_alias=True,
|
|
195
|
+
exclude=excluded_fields,
|
|
196
|
+
exclude_none=True,
|
|
197
|
+
)
|
|
198
|
+
return _dict
|
|
199
|
+
|
|
200
|
+
@classmethod
|
|
201
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
202
|
+
"""Create an instance of TokenStat from a dict"""
|
|
203
|
+
if obj is None:
|
|
204
|
+
return None
|
|
205
|
+
|
|
206
|
+
if not isinstance(obj, dict):
|
|
207
|
+
return cls.model_validate(obj)
|
|
208
|
+
|
|
209
|
+
_obj = cls.model_validate({
|
|
210
|
+
"address": obj.get("address"),
|
|
211
|
+
"price1m": obj.get("price1m"),
|
|
212
|
+
"buys1m": obj.get("buys1m"),
|
|
213
|
+
"sells1m": obj.get("sells1m"),
|
|
214
|
+
"buyVolumes1m": obj.get("buyVolumes1m"),
|
|
215
|
+
"sellsVolumes1m": obj.get("sellsVolumes1m"),
|
|
216
|
+
"volumes1m": obj.get("volumes1m"),
|
|
217
|
+
"buyVolumesInUsd1m": obj.get("buyVolumesInUsd1m"),
|
|
218
|
+
"sellVolumesInUsd1m": obj.get("sellVolumesInUsd1m"),
|
|
219
|
+
"volumesInUsd1m": obj.get("volumesInUsd1m"),
|
|
220
|
+
"buyers1m": obj.get("buyers1m"),
|
|
221
|
+
"sellers1m": obj.get("sellers1m"),
|
|
222
|
+
"openPriceInUsd1m": obj.get("openPriceInUsd1m"),
|
|
223
|
+
"closePriceInUsd1m": obj.get("closePriceInUsd1m"),
|
|
224
|
+
"priceChangeRatioInUsd1m": obj.get("priceChangeRatioInUsd1m"),
|
|
225
|
+
"trades1m": obj.get("trades1m"),
|
|
226
|
+
"traders1m": obj.get("traders1m"),
|
|
227
|
+
"highInUsd1m": obj.get("highInUsd1m"),
|
|
228
|
+
"lowInUsd1m": obj.get("lowInUsd1m"),
|
|
229
|
+
"price5m": obj.get("price5m"),
|
|
230
|
+
"buys5m": obj.get("buys5m"),
|
|
231
|
+
"sells5m": obj.get("sells5m"),
|
|
232
|
+
"buyVolumes5m": obj.get("buyVolumes5m"),
|
|
233
|
+
"sellsVolumes5m": obj.get("sellsVolumes5m"),
|
|
234
|
+
"volumes5m": obj.get("volumes5m"),
|
|
235
|
+
"buyVolumesInUsd5m": obj.get("buyVolumesInUsd5m"),
|
|
236
|
+
"sellVolumesInUsd5m": obj.get("sellVolumesInUsd5m"),
|
|
237
|
+
"volumesInUsd5m": obj.get("volumesInUsd5m"),
|
|
238
|
+
"buyers5m": obj.get("buyers5m"),
|
|
239
|
+
"sellers5m": obj.get("sellers5m"),
|
|
240
|
+
"openPriceInUsd5m": obj.get("openPriceInUsd5m"),
|
|
241
|
+
"closePriceInUsd5m": obj.get("closePriceInUsd5m"),
|
|
242
|
+
"priceChangeRatioInUsd5m": obj.get("priceChangeRatioInUsd5m"),
|
|
243
|
+
"trades5m": obj.get("trades5m"),
|
|
244
|
+
"traders5m": obj.get("traders5m"),
|
|
245
|
+
"highInUsd5m": obj.get("highInUsd5m"),
|
|
246
|
+
"lowInUsd5m": obj.get("lowInUsd5m"),
|
|
247
|
+
"price15m": obj.get("price15m"),
|
|
248
|
+
"buys15m": obj.get("buys15m"),
|
|
249
|
+
"sells15m": obj.get("sells15m"),
|
|
250
|
+
"buyVolumes15m": obj.get("buyVolumes15m"),
|
|
251
|
+
"sellsVolumes15m": obj.get("sellsVolumes15m"),
|
|
252
|
+
"volumes15m": obj.get("volumes15m"),
|
|
253
|
+
"buyVolumesInUsd15m": obj.get("buyVolumesInUsd15m"),
|
|
254
|
+
"sellVolumesInUsd15m": obj.get("sellVolumesInUsd15m"),
|
|
255
|
+
"volumesInUsd15m": obj.get("volumesInUsd15m"),
|
|
256
|
+
"buyers15m": obj.get("buyers15m"),
|
|
257
|
+
"sellers15m": obj.get("sellers15m"),
|
|
258
|
+
"openPriceInUsd15m": obj.get("openPriceInUsd15m"),
|
|
259
|
+
"closePriceInUsd15m": obj.get("closePriceInUsd15m"),
|
|
260
|
+
"priceChangeRatioInUsd15m": obj.get("priceChangeRatioInUsd15m"),
|
|
261
|
+
"trades15m": obj.get("trades15m"),
|
|
262
|
+
"traders15m": obj.get("traders15m"),
|
|
263
|
+
"highInUsd15m": obj.get("highInUsd15m"),
|
|
264
|
+
"lowInUsd15m": obj.get("lowInUsd15m"),
|
|
265
|
+
"price30m": obj.get("price30m"),
|
|
266
|
+
"buys30m": obj.get("buys30m"),
|
|
267
|
+
"sells30m": obj.get("sells30m"),
|
|
268
|
+
"buyVolumes30m": obj.get("buyVolumes30m"),
|
|
269
|
+
"sellsVolumes30m": obj.get("sellsVolumes30m"),
|
|
270
|
+
"volumes30m": obj.get("volumes30m"),
|
|
271
|
+
"buyVolumesInUsd30m": obj.get("buyVolumesInUsd30m"),
|
|
272
|
+
"sellVolumesInUsd30m": obj.get("sellVolumesInUsd30m"),
|
|
273
|
+
"volumesInUsd30m": obj.get("volumesInUsd30m"),
|
|
274
|
+
"buyers30m": obj.get("buyers30m"),
|
|
275
|
+
"sellers30m": obj.get("sellers30m"),
|
|
276
|
+
"openPriceInUsd30m": obj.get("openPriceInUsd30m"),
|
|
277
|
+
"closePriceInUsd30m": obj.get("closePriceInUsd30m"),
|
|
278
|
+
"priceChangeRatioInUsd30m": obj.get("priceChangeRatioInUsd30m"),
|
|
279
|
+
"trades30m": obj.get("trades30m"),
|
|
280
|
+
"traders30m": obj.get("traders30m"),
|
|
281
|
+
"highInUsd30m": obj.get("highInUsd30m"),
|
|
282
|
+
"lowInUsd30m": obj.get("lowInUsd30m"),
|
|
283
|
+
"price1h": obj.get("price1h"),
|
|
284
|
+
"buys1h": obj.get("buys1h"),
|
|
285
|
+
"sells1h": obj.get("sells1h"),
|
|
286
|
+
"buyVolumes1h": obj.get("buyVolumes1h"),
|
|
287
|
+
"sellsVolumes1h": obj.get("sellsVolumes1h"),
|
|
288
|
+
"volumes1h": obj.get("volumes1h"),
|
|
289
|
+
"buyVolumesInUsd1h": obj.get("buyVolumesInUsd1h"),
|
|
290
|
+
"sellVolumesInUsd1h": obj.get("sellVolumesInUsd1h"),
|
|
291
|
+
"volumesInUsd1h": obj.get("volumesInUsd1h"),
|
|
292
|
+
"buyers1h": obj.get("buyers1h"),
|
|
293
|
+
"sellers1h": obj.get("sellers1h"),
|
|
294
|
+
"openPriceInUsd1h": obj.get("openPriceInUsd1h"),
|
|
295
|
+
"closePriceInUsd1h": obj.get("closePriceInUsd1h"),
|
|
296
|
+
"priceChangeRatioInUsd1h": obj.get("priceChangeRatioInUsd1h"),
|
|
297
|
+
"trades1h": obj.get("trades1h"),
|
|
298
|
+
"traders1h": obj.get("traders1h"),
|
|
299
|
+
"highInUsd1h": obj.get("highInUsd1h"),
|
|
300
|
+
"lowInUsd1h": obj.get("lowInUsd1h"),
|
|
301
|
+
"price4h": obj.get("price4h"),
|
|
302
|
+
"buys4h": obj.get("buys4h"),
|
|
303
|
+
"sells4h": obj.get("sells4h"),
|
|
304
|
+
"buyVolumes4h": obj.get("buyVolumes4h"),
|
|
305
|
+
"sellsVolumes4h": obj.get("sellsVolumes4h"),
|
|
306
|
+
"volumes4h": obj.get("volumes4h"),
|
|
307
|
+
"buyVolumesInUsd4h": obj.get("buyVolumesInUsd4h"),
|
|
308
|
+
"sellVolumesInUsd4h": obj.get("sellVolumesInUsd4h"),
|
|
309
|
+
"volumesInUsd4h": obj.get("volumesInUsd4h"),
|
|
310
|
+
"buyers4h": obj.get("buyers4h"),
|
|
311
|
+
"sellers4h": obj.get("sellers4h"),
|
|
312
|
+
"openPriceInUsd4h": obj.get("openPriceInUsd4h"),
|
|
313
|
+
"closePriceInUsd4h": obj.get("closePriceInUsd4h"),
|
|
314
|
+
"priceChangeRatioInUsd4h": obj.get("priceChangeRatioInUsd4h"),
|
|
315
|
+
"trades4h": obj.get("trades4h"),
|
|
316
|
+
"traders4h": obj.get("traders4h"),
|
|
317
|
+
"highInUsd4h": obj.get("highInUsd4h"),
|
|
318
|
+
"lowInUsd4h": obj.get("lowInUsd4h"),
|
|
319
|
+
"price24h": obj.get("price24h"),
|
|
320
|
+
"buys24h": obj.get("buys24h"),
|
|
321
|
+
"sells24h": obj.get("sells24h"),
|
|
322
|
+
"buyVolumes24h": obj.get("buyVolumes24h"),
|
|
323
|
+
"sellsVolumes24h": obj.get("sellsVolumes24h"),
|
|
324
|
+
"volumes24h": obj.get("volumes24h"),
|
|
325
|
+
"buyVolumesInUsd24h": obj.get("buyVolumesInUsd24h"),
|
|
326
|
+
"sellVolumesInUsd24h": obj.get("sellVolumesInUsd24h"),
|
|
327
|
+
"volumesInUsd24h": obj.get("volumesInUsd24h"),
|
|
328
|
+
"buyers24h": obj.get("buyers24h"),
|
|
329
|
+
"sellers24h": obj.get("sellers24h"),
|
|
330
|
+
"openPriceInUsd24h": obj.get("openPriceInUsd24h"),
|
|
331
|
+
"closePriceInUsd24h": obj.get("closePriceInUsd24h"),
|
|
332
|
+
"priceChangeRatioInUsd24h": obj.get("priceChangeRatioInUsd24h"),
|
|
333
|
+
"trades24h": obj.get("trades24h"),
|
|
334
|
+
"traders24h": obj.get("traders24h"),
|
|
335
|
+
"highInUsd24h": obj.get("highInUsd24h"),
|
|
336
|
+
"lowInUsd24h": obj.get("lowInUsd24h")
|
|
337
|
+
})
|
|
338
|
+
return _obj
|
|
339
|
+
|
|
340
|
+
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from datetime import datetime
|
|
22
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
|
23
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
24
|
+
from typing import Optional, Set
|
|
25
|
+
from typing_extensions import Self
|
|
26
|
+
|
|
27
|
+
class TokenTrader(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
TokenTrader
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
address: StrictStr = Field(description="DTO.TOKEN_TRADER.ADDRESS")
|
|
32
|
+
transaction_signature: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN_TRADER.TRANSACTION_SIGNATURE", alias="transactionSignature")
|
|
33
|
+
block_hash: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN_TRADER.BLOCK_HASH", alias="blockHash")
|
|
34
|
+
block_height: Optional[StrictInt] = Field(default=None, description="DTO.TOKEN_TRADER.BLOCK_HEIGHT", alias="blockHeight")
|
|
35
|
+
block_slot: Optional[StrictInt] = Field(default=None, description="DTO.TOKEN_TRADER.BLOCK_SLOT", alias="blockSlot")
|
|
36
|
+
block_timestamp: Optional[datetime] = Field(default=None, description="DTO.TOKEN_TRADER.BLOCK_TIMESTAMP", alias="blockTimestamp")
|
|
37
|
+
onchain_created_at: Optional[Dict[str, Any]] = Field(default=None, description="DTO.TOKEN_TRADER.ONCHAIN_CREATED_AT", alias="onchainCreatedAt")
|
|
38
|
+
trade_count: Optional[StrictInt] = Field(default=None, description="DTO.TOKEN_TRADER.TRADE_COUNT", alias="tradeCount")
|
|
39
|
+
trade_amount_in_native: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN_TRADER.TRADE_AMOUNT_IN_NATIVE", alias="tradeAmountInNative")
|
|
40
|
+
trade_amount_in_usd: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN_TRADER.TRADE_AMOUNT_IN_USD", alias="tradeAmountInUsd")
|
|
41
|
+
percentile_rank_trade_count: Optional[StrictInt] = Field(default=None, description="DTO.TOKEN_TRADER.PERCENTILE_RANK_TRADE_COUNT", alias="percentileRankTradeCount")
|
|
42
|
+
percentile_rank_trade_amount_in_usd: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN_TRADER.PERCENTILE_RANK_TRADE_AMOUNT_IN_USD", alias="percentileRankTradeAmountInUsd")
|
|
43
|
+
rank_trade_amount_in_usd: Optional[StrictStr] = Field(default=None, description="DTO.TOKEN_TRADER.RANK_TRADE_AMOUNT_IN_USD", alias="rankTradeAmountInUsd")
|
|
44
|
+
__properties: ClassVar[List[str]] = ["address", "transactionSignature", "blockHash", "blockHeight", "blockSlot", "blockTimestamp", "onchainCreatedAt", "tradeCount", "tradeAmountInNative", "tradeAmountInUsd", "percentileRankTradeCount", "percentileRankTradeAmountInUsd", "rankTradeAmountInUsd"]
|
|
45
|
+
|
|
46
|
+
model_config = ConfigDict(
|
|
47
|
+
populate_by_name=True,
|
|
48
|
+
validate_assignment=True,
|
|
49
|
+
protected_namespaces=(),
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def to_str(self) -> str:
|
|
54
|
+
"""Returns the string representation of the model using alias"""
|
|
55
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
56
|
+
|
|
57
|
+
def to_json(self) -> str:
|
|
58
|
+
"""Returns the JSON representation of the model using alias"""
|
|
59
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
60
|
+
return json.dumps(self.to_dict())
|
|
61
|
+
|
|
62
|
+
@classmethod
|
|
63
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
64
|
+
"""Create an instance of TokenTrader from a JSON string"""
|
|
65
|
+
return cls.from_dict(json.loads(json_str))
|
|
66
|
+
|
|
67
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
68
|
+
"""Return the dictionary representation of the model using alias.
|
|
69
|
+
|
|
70
|
+
This has the following differences from calling pydantic's
|
|
71
|
+
`self.model_dump(by_alias=True)`:
|
|
72
|
+
|
|
73
|
+
* `None` is only added to the output dict for nullable fields that
|
|
74
|
+
were set at model initialization. Other fields with value `None`
|
|
75
|
+
are ignored.
|
|
76
|
+
"""
|
|
77
|
+
excluded_fields: Set[str] = set([
|
|
78
|
+
])
|
|
79
|
+
|
|
80
|
+
_dict = self.model_dump(
|
|
81
|
+
by_alias=True,
|
|
82
|
+
exclude=excluded_fields,
|
|
83
|
+
exclude_none=True,
|
|
84
|
+
)
|
|
85
|
+
return _dict
|
|
86
|
+
|
|
87
|
+
@classmethod
|
|
88
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
89
|
+
"""Create an instance of TokenTrader from a dict"""
|
|
90
|
+
if obj is None:
|
|
91
|
+
return None
|
|
92
|
+
|
|
93
|
+
if not isinstance(obj, dict):
|
|
94
|
+
return cls.model_validate(obj)
|
|
95
|
+
|
|
96
|
+
_obj = cls.model_validate({
|
|
97
|
+
"address": obj.get("address"),
|
|
98
|
+
"transactionSignature": obj.get("transactionSignature"),
|
|
99
|
+
"blockHash": obj.get("blockHash"),
|
|
100
|
+
"blockHeight": obj.get("blockHeight"),
|
|
101
|
+
"blockSlot": obj.get("blockSlot"),
|
|
102
|
+
"blockTimestamp": obj.get("blockTimestamp"),
|
|
103
|
+
"onchainCreatedAt": obj.get("onchainCreatedAt"),
|
|
104
|
+
"tradeCount": obj.get("tradeCount"),
|
|
105
|
+
"tradeAmountInNative": obj.get("tradeAmountInNative"),
|
|
106
|
+
"tradeAmountInUsd": obj.get("tradeAmountInUsd"),
|
|
107
|
+
"percentileRankTradeCount": obj.get("percentileRankTradeCount"),
|
|
108
|
+
"percentileRankTradeAmountInUsd": obj.get("percentileRankTradeAmountInUsd"),
|
|
109
|
+
"rankTradeAmountInUsd": obj.get("rankTradeAmountInUsd")
|
|
110
|
+
})
|
|
111
|
+
return _obj
|
|
112
|
+
|
|
113
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
from __future__ import annotations
|
|
17
|
+
import json
|
|
18
|
+
from enum import Enum
|
|
19
|
+
from typing_extensions import Self
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class TokenTraderTag(str, Enum):
|
|
23
|
+
"""
|
|
24
|
+
TokenTraderTag
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
"""
|
|
28
|
+
allowed enum values
|
|
29
|
+
"""
|
|
30
|
+
FRESH = 'fresh'
|
|
31
|
+
SANDWISH = 'sandwish'
|
|
32
|
+
BUNDLE = 'bundle'
|
|
33
|
+
SNIPER = 'sniper'
|
|
34
|
+
DEV = 'dev'
|
|
35
|
+
PRO = 'pro'
|
|
36
|
+
INSIDER = 'insider'
|
|
37
|
+
KOL = 'kol'
|
|
38
|
+
BLUECHIP = 'bluechip'
|
|
39
|
+
|
|
40
|
+
@classmethod
|
|
41
|
+
def from_json(cls, json_str: str) -> Self:
|
|
42
|
+
"""Create an instance of TokenTraderTag from a JSON string"""
|
|
43
|
+
return cls(json.loads(json_str))
|
|
44
|
+
|
|
45
|
+
|
|
@@ -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
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class TopTradersDTO(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
TopTradersDTO
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
token_address: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.TOKEN_ADDRESS", alias="tokenAddress")
|
|
31
|
+
wallet_address: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.WALLET_ADDRESS", alias="walletAddress")
|
|
32
|
+
trade_count: StrictInt = Field(description="DTO.TRADE.TOP_TRADERS.TRADE_COUNT", alias="tradeCount")
|
|
33
|
+
trade_amount: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.TRADE_AMOUNT", alias="tradeAmount")
|
|
34
|
+
buy_count: StrictInt = Field(description="DTO.TRADE.TOP_TRADERS.BUY_COUNT", alias="buyCount")
|
|
35
|
+
buy_amount: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.BUY_AMOUNT", alias="buyAmount")
|
|
36
|
+
buy_amount_in_usd: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.BUY_AMOUNT_IN_USD", alias="buyAmountInUsd")
|
|
37
|
+
buy_amount_in_native: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.BUY_AMOUNT_IN_NATIVE", alias="buyAmountInNative")
|
|
38
|
+
sell_count: StrictInt = Field(description="DTO.TRADE.TOP_TRADERS.SELL_COUNT", alias="sellCount")
|
|
39
|
+
sell_amount: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.SELL_AMOUNT", alias="sellAmount")
|
|
40
|
+
sell_amount_in_usd: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.SELL_AMOUNT_IN_USD", alias="sellAmountInUsd")
|
|
41
|
+
sell_amount_in_native: StrictStr = Field(description="DTO.TRADE.TOP_TRADERS.SELL_AMOUNT_IN_NATIVE", alias="sellAmountInNative")
|
|
42
|
+
__properties: ClassVar[List[str]] = ["tokenAddress", "walletAddress", "tradeCount", "tradeAmount", "buyCount", "buyAmount", "buyAmountInUsd", "buyAmountInNative", "sellCount", "sellAmount", "sellAmountInUsd", "sellAmountInNative"]
|
|
43
|
+
|
|
44
|
+
model_config = ConfigDict(
|
|
45
|
+
populate_by_name=True,
|
|
46
|
+
validate_assignment=True,
|
|
47
|
+
protected_namespaces=(),
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def to_str(self) -> str:
|
|
52
|
+
"""Returns the string representation of the model using alias"""
|
|
53
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
54
|
+
|
|
55
|
+
def to_json(self) -> str:
|
|
56
|
+
"""Returns the JSON representation of the model using alias"""
|
|
57
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
58
|
+
return json.dumps(self.to_dict())
|
|
59
|
+
|
|
60
|
+
@classmethod
|
|
61
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
62
|
+
"""Create an instance of TopTradersDTO from a JSON string"""
|
|
63
|
+
return cls.from_dict(json.loads(json_str))
|
|
64
|
+
|
|
65
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
66
|
+
"""Return the dictionary representation of the model using alias.
|
|
67
|
+
|
|
68
|
+
This has the following differences from calling pydantic's
|
|
69
|
+
`self.model_dump(by_alias=True)`:
|
|
70
|
+
|
|
71
|
+
* `None` is only added to the output dict for nullable fields that
|
|
72
|
+
were set at model initialization. Other fields with value `None`
|
|
73
|
+
are ignored.
|
|
74
|
+
"""
|
|
75
|
+
excluded_fields: Set[str] = set([
|
|
76
|
+
])
|
|
77
|
+
|
|
78
|
+
_dict = self.model_dump(
|
|
79
|
+
by_alias=True,
|
|
80
|
+
exclude=excluded_fields,
|
|
81
|
+
exclude_none=True,
|
|
82
|
+
)
|
|
83
|
+
return _dict
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
87
|
+
"""Create an instance of TopTradersDTO from a dict"""
|
|
88
|
+
if obj is None:
|
|
89
|
+
return None
|
|
90
|
+
|
|
91
|
+
if not isinstance(obj, dict):
|
|
92
|
+
return cls.model_validate(obj)
|
|
93
|
+
|
|
94
|
+
_obj = cls.model_validate({
|
|
95
|
+
"tokenAddress": obj.get("tokenAddress"),
|
|
96
|
+
"walletAddress": obj.get("walletAddress"),
|
|
97
|
+
"tradeCount": obj.get("tradeCount"),
|
|
98
|
+
"tradeAmount": obj.get("tradeAmount"),
|
|
99
|
+
"buyCount": obj.get("buyCount"),
|
|
100
|
+
"buyAmount": obj.get("buyAmount"),
|
|
101
|
+
"buyAmountInUsd": obj.get("buyAmountInUsd"),
|
|
102
|
+
"buyAmountInNative": obj.get("buyAmountInNative"),
|
|
103
|
+
"sellCount": obj.get("sellCount"),
|
|
104
|
+
"sellAmount": obj.get("sellAmount"),
|
|
105
|
+
"sellAmountInUsd": obj.get("sellAmountInUsd"),
|
|
106
|
+
"sellAmountInNative": obj.get("sellAmountInNative")
|
|
107
|
+
})
|
|
108
|
+
return _obj
|
|
109
|
+
|
|
110
|
+
|