77from ankr import AnkrWeb3
88from pydantic import BaseModel
99
10- from ..constants import (
11- QUERY_GET_BLOCKCHAIN_STATS ,
12- QUERY_GET_BLOCKS ,
13- QUERY_GET_INTERACTIONS ,
14- QUERY_GET_LOGS ,
15- QUERY_GET_TRANSACTIONS_BY_ADDRESS ,
16- QUERY_GET_TRANSACTIONS_BY_HASH ,
17- )
18-
1910
2011class BlockchainStatsRequest (BaseModel ):
2112 blockchain : str
@@ -76,51 +67,49 @@ def __init__(self, client: AnkrWeb3):
7667 async def get_blockchain_stats (self , request : BlockchainStatsRequest ) -> Dict [str , Any ]:
7768 """Get blockchain statistics"""
7869 from ankr .types import GetBlockchainStatsRequest
79-
80- ankr_request = GetBlockchainStatsRequest (
81- blockchain = request .blockchain
82- )
83-
70+
71+ ankr_request = GetBlockchainStatsRequest (blockchain = request .blockchain )
72+
8473 result = self .client .query .get_blockchain_stats (ankr_request )
8574 if hasattr (result , "__dict__" ):
86- return result .__dict__
87- return {
88- "last_block_number" : getattr (result , "lastBlockNumber" , 0 ),
75+ return {"stats" : result .__dict__ }
76+
77+ stats = {
78+ "lastBlockNumber" : getattr (result , "lastBlockNumber" , 0 ),
8979 "transactions" : getattr (result , "transactions" , 0 ),
90- "tps" : getattr (result , "tps" , 0 )
80+ "tps" : getattr (result , "tps" , 0 ),
9181 }
82+ return {"stats" : stats }
9283
9384 async def get_blocks (self , request : BlocksRequest ) -> Dict [str , Any ]:
9485 """Get blocks information"""
9586 from ankr .types import GetBlocksRequest
96-
97- params = {
98- "blockchain" : request .blockchain
99- }
100-
87+
88+ params = {"blockchain" : request .blockchain }
89+
10190 if request .from_block is not None :
102- params ["fromBlock" ] = request .from_block
103-
91+ params ["fromBlock" ] = str ( request .from_block )
92+
10493 if request .to_block is not None :
105- params ["toBlock" ] = request .to_block
106-
94+ params ["toBlock" ] = str ( request .to_block )
95+
10796 if request .descending_order is not None :
108- params ["descOrder" ] = request .descending_order
109-
110-
97+ params ["descOrder" ] = str (request .descending_order ).lower ()
98+
11199 ankr_request = GetBlocksRequest (** params )
112-
100+
113101 result = self .client .query .get_blocks (ankr_request )
114102 if hasattr (result , "__dict__" ):
115103 return result .__dict__
116104 if hasattr (result , "__iter__" ):
117105 blocks = list (result ) if result else []
118106 return {"blocks" : blocks , "next_page_token" : "" }
107+ return {"blocks" : [], "next_page_token" : "" }
119108
120109 async def get_logs (self , request : LogsRequest ) -> Dict [str , Any ]:
121110 """Get blockchain logs"""
122111 from ankr .types import GetLogsRequest
123-
112+
124113 ankr_request = GetLogsRequest (
125114 blockchain = request .blockchain ,
126115 fromBlock = request .from_block ,
@@ -129,62 +118,63 @@ async def get_logs(self, request: LogsRequest) -> Dict[str, Any]:
129118 topics = request .topics ,
130119 descOrder = request .descending_order ,
131120 pageToken = request .page_token ,
132- pageSize = request .page_size
121+ pageSize = request .page_size ,
133122 )
134-
123+
135124 result = self .client .query .get_logs (ankr_request )
136125 if hasattr (result , "__dict__" ):
137126 return result .__dict__
138127 if hasattr (result , "__iter__" ):
139128 logs = list (result ) if result else []
140129 return {"logs" : logs , "next_page_token" : "" }
130+ return {"logs" : [], "next_page_token" : "" }
141131
142132 async def get_transactions_by_hash (self , request : TransactionsByHashRequest ) -> Dict [str , Any ]:
143133 """Get transactions by hash"""
144134 from ankr .types import GetTransactionByHashRequest
145-
135+
146136 ankr_request = GetTransactionByHashRequest (
147- blockchain = request .blockchain ,
148- transaction_hash = request .transaction_hash
137+ blockchain = request .blockchain , transaction_hash = request .transaction_hash
149138 )
150-
139+
151140 result = self .client .query .get_transaction_by_hash (ankr_request )
152141 if hasattr (result , "__dict__" ):
153142 return result .__dict__
154143 return {
155144 "hash" : getattr (result , "hash" , "" ),
156145 "from" : getattr (result , "from" , "" ),
157146 "to" : getattr (result , "to" , "" ),
158- "value" : getattr (result , "value" , "" )
147+ "value" : getattr (result , "value" , "" ),
159148 }
160149
161150 async def get_transactions_by_address (
162151 self , request : TransactionsByAddressRequest
163152 ) -> Dict [str , Any ]:
164153 """Get transactions by address"""
165154 from ankr .types import GetTransactionsByAddressRequest
166-
155+
167156 ankr_request = GetTransactionsByAddressRequest (
168157 blockchain = request .blockchain ,
169158 walletAddress = request .wallet_address ,
170159 fromBlock = request .from_block ,
171160 toBlock = request .to_block ,
172161 descOrder = request .descending_order ,
173162 pageToken = request .page_token ,
174- pageSize = request .page_size
163+ pageSize = request .page_size ,
175164 )
176-
165+
177166 result = self .client .query .get_transactions_by_address (ankr_request )
178167 if hasattr (result , "__dict__" ):
179168 return result .__dict__
180169 if hasattr (result , "__iter__" ):
181170 transactions = list (result ) if result else []
182171 return {"transactions" : transactions , "next_page_token" : "" }
172+ return {"transactions" : [], "next_page_token" : "" }
183173
184174 async def get_interactions (self , request : InteractionsRequest ) -> Dict [str , Any ]:
185175 """Get wallet interactions with contracts"""
186176 from ankr .types import GetInteractionsRequest
187-
177+
188178 ankr_request = GetInteractionsRequest (
189179 blockchain = request .blockchain ,
190180 walletAddress = request .wallet_address ,
@@ -193,12 +183,13 @@ async def get_interactions(self, request: InteractionsRequest) -> Dict[str, Any]
193183 contractAddress = request .contract_address ,
194184 descOrder = request .descending_order ,
195185 pageToken = request .page_token ,
196- pageSize = request .page_size
186+ pageSize = request .page_size ,
197187 )
198-
188+
199189 result = self .client .query .get_interactions (ankr_request )
200190 if hasattr (result , "__dict__" ):
201191 return result .__dict__
202192 if hasattr (result , "__iter__" ):
203193 interactions = list (result ) if result else []
204194 return {"interactions" : interactions , "next_page_token" : "" }
195+ return {"interactions" : [], "next_page_token" : "" }
0 commit comments