@@ -490,21 +490,34 @@ async def atomical_id_get_ft_info(self, compact_atomical_id):
490
490
return atomical_in_mempool
491
491
492
492
# Perform a search for tickers, containers, realms, subrealms
493
- def atomicals_search_name_template (self , db_prefix , name_type_str , parent_prefix = None , prefix = None , Reverse = False , Limit = 100 , Offset = 0 ):
493
+ def atomicals_search_name_template (self , db_prefix , name_type_str , parent_prefix = None , prefix = None , Reverse = False , Limit = 100 , Offset = 0 , is_verified_only = True ):
494
494
search_prefix = b''
495
495
if prefix :
496
496
search_prefix = prefix .encode ()
497
497
498
498
db_entries = self .db .get_name_entries_template_limited (db_prefix , parent_prefix , search_prefix , Reverse , Limit , Offset )
499
499
formatted_results = []
500
500
for item in db_entries :
501
+ if name_type_str == "ticker" :
502
+ status , _ , _ = self .session_mgr .bp .get_effective_name_template (b'tick' , item ['name' ], self .session_mgr .bp .height , self .session_mgr .bp .ticker_data_cache )
503
+ elif name_type_str == "realm" :
504
+ status , _ , _ = self .session_mgr .bp .get_effective_name_template (b'rlm' , item ['name' ], self .session_mgr .bp .height , self .session_mgr .bp .realm_data_cache )
505
+ elif name_type_str == "collection" :
506
+ status , _ , _ = self .session_mgr .bp .get_effective_name_template (b'co' , item ['name' ], self .session_mgr .bp .height , self .session_mgr .bp .container_data_cache )
507
+ elif name_type_str == "subrealm" :
508
+ status , _ , _ = self .session_mgr .bp .get_effective_subrealm (parent_prefix , item ['name' ], self .session_mgr .bp .height )
509
+
501
510
obj = {
502
511
'atomical_id' : location_id_bytes_to_compact (item ['atomical_id' ]),
503
512
'tx_num' : item ['tx_num' ]
504
513
}
505
514
obj [name_type_str ] = item ['name' ]
506
515
obj [name_type_str + '_hex' ] = item .get ('name_hex' )
507
- formatted_results .append (obj )
516
+ obj ['status' ] = status
517
+ if is_verified_only and status == "verified" :
518
+ formatted_results .append (obj )
519
+ elif not is_verified_only :
520
+ formatted_results .append (obj )
508
521
return {'result' : formatted_results }
509
522
510
523
def auto_populate_container_dmint_items_fields (self , items ):
@@ -1876,15 +1889,17 @@ async def atomicals_search_tickers(self, request):
1876
1889
Reverse = params .get (1 , False )
1877
1890
Limit = params .get (2 , 100 )
1878
1891
Offset = params .get (3 , 0 )
1879
- return self .atomicals_search_name_template (b'tick' , 'ticker' , None , prefix , Reverse , Limit , Offset )
1892
+ is_verified_only = params .get (4 , True )
1893
+ return self .atomicals_search_name_template (b'tick' , 'ticker' , None , prefix , Reverse , Limit , Offset , is_verified_only )
1880
1894
1881
1895
async def atomicals_search_realms (self , request ):
1882
1896
params = await self .format_params (request )
1883
1897
prefix = params .get (0 , None )
1884
1898
Reverse = params .get (1 , False )
1885
1899
Limit = params .get (2 , 100 )
1886
1900
Offset = params .get (3 , 0 )
1887
- return self .atomicals_search_name_template (b'rlm' , 'realm' , None , prefix , Reverse , Limit , Offset )
1901
+ is_verified_only = params .get (4 , True )
1902
+ return self .atomicals_search_name_template (b'rlm' , 'realm' , None , prefix , Reverse , Limit , Offset , is_verified_only )
1888
1903
1889
1904
async def atomicals_search_subrealms (self , request ):
1890
1905
params = await self .format_params (request )
@@ -1893,17 +1908,18 @@ async def atomicals_search_subrealms(self, request):
1893
1908
Reverse = params .get (2 , False )
1894
1909
Limit = params .get (3 , 100 )
1895
1910
Offset = params .get (4 , 0 )
1911
+ is_verified_only = params .get (5 , True )
1896
1912
parent_realm_id_long_form = compact_to_location_id_bytes (parent_realm_id_compact )
1897
- return self .atomicals_search_name_template (b'srlm' , 'subrealm' , parent_realm_id_long_form , prefix , Reverse , Limit , Offset )
1913
+ return self .atomicals_search_name_template (b'srlm' , 'subrealm' , parent_realm_id_long_form , prefix , Reverse , Limit , Offset , is_verified_only )
1898
1914
1899
1915
async def atomicals_search_containers (self , request ):
1900
1916
params = await self .format_params (request )
1901
1917
prefix = params .get (0 , None )
1902
1918
Reverse = params .get (1 , False )
1903
1919
Limit = params .get (2 , 100 )
1904
1920
Offset = params .get (3 , 0 )
1905
-
1906
- return self .atomicals_search_name_template (b'co' , 'collection' , None , prefix , Reverse , Limit , Offset )
1921
+ is_verified_only = params . get ( 4 , True )
1922
+ return self .atomicals_search_name_template (b'co' , 'collection' , None , prefix , Reverse , Limit , Offset , is_verified_only )
1907
1923
1908
1924
async def atomicals_get_holders (self , request ):
1909
1925
'''Return the holder by a specific location id```
0 commit comments