@@ -378,6 +378,7 @@ describe('FT routes', () => {
378378 image_uri : 'http://img.com/meme.jpg' ,
379379 name : 'Meme token' ,
380380 sender_address : 'SP22PCWZ9EJMHV4PHVS0C8H3B3E4Q079ZHY6CXDS1' ,
381+ asset_identifier : 'SP22PCWZ9EJMHV4PHVS0C8H3B3E4Q079ZHY6CXDS1.meme-token::ft-token' ,
381382 symbol : 'MEME' ,
382383 token_uri : 'https://ipfs.io/abcd.json' ,
383384 total_supply : '200000' ,
@@ -391,6 +392,7 @@ describe('FT routes', () => {
391392 image_uri : 'https://cdn.citycoins.co/logos/miamicoin.png' ,
392393 name : 'miamicoin' ,
393394 sender_address : 'SP1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R' ,
395+ asset_identifier : 'SP1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R.miamicoin-token-v2::ft-token' ,
394396 symbol : 'MIA' ,
395397 token_uri : 'https://cdn.citycoins.co/metadata/miamicoin.json' ,
396398 total_supply : '5586789829000000' ,
@@ -404,6 +406,7 @@ describe('FT routes', () => {
404406 image_uri : 'https://app.stackswap.org/icon/stsw.svg' ,
405407 name : 'STACKSWAP' ,
406408 sender_address : 'SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275' ,
409+ asset_identifier : 'SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275.stsw-token-v4a::ft-token' ,
407410 symbol : 'STSW' ,
408411 token_uri : 'https://app.stackswap.org/token/stsw.json' ,
409412 total_supply : '1000000000000000' ,
@@ -447,7 +450,7 @@ describe('FT routes', () => {
447450 symbol : 'rstSTX' ,
448451 decimals : 5 ,
449452 tx_id : '0xbdc41843d5e0cd4a70611f6badeb5c87b07b12309e77c4fbaf2334c7b4cee89b' ,
450- principal : 'SP22PCWZ9EJMHV4PHVS0C8H3B3E4Q079ZHY6CXDS1.meme -token' ,
453+ principal : 'SP22PCWZ9EJMHV4PHVS0C8H3B3E4Q079ZHY6CXDS1.scam -token' ,
451454 total_supply : '200000' ,
452455 } ,
453456 true
@@ -462,6 +465,37 @@ describe('FT routes', () => {
462465 expect ( json4 . results [ 0 ] . symbol ) . toBe ( 'rstSTX' ) ;
463466 } ) ;
464467
468+ test ( 'filters by valid metadata' , async ( ) => {
469+ await insertFtList ( ) ;
470+ await insertFt (
471+ {
472+ name : 'Scam token' ,
473+ symbol : 'rstSTX' ,
474+ decimals : 5 ,
475+ tx_id : '0xbdc41843d5e0cd4a70611f6badeb5c87b07b12309e77c4fbaf2334c7b4cee89b' ,
476+ principal : 'SP22PCWZ9EJMHV4PHVS0C8H3B3E4Q079ZHY6CXDS1.scam-token' ,
477+ total_supply : '200000' ,
478+ } ,
479+ true
480+ ) ;
481+
482+ const response = await fastify . inject ( {
483+ method : 'GET' ,
484+ url : '/metadata/ft' ,
485+ } ) ;
486+ expect ( response . statusCode ) . toBe ( 200 ) ;
487+ const json = response . json ( ) ;
488+ expect ( json . total ) . toBe ( 4 ) ;
489+
490+ const response2 = await fastify . inject ( {
491+ method : 'GET' ,
492+ url : '/metadata/ft?valid_metadata_only=true' ,
493+ } ) ;
494+ expect ( response2 . statusCode ) . toBe ( 200 ) ;
495+ const json2 = response2 . json ( ) ;
496+ expect ( json2 . total ) . toBe ( 3 ) ;
497+ } ) ;
498+
465499 test ( 'filters by symbol' , async ( ) => {
466500 await insertFtList ( ) ;
467501 const response = await fastify . inject ( {
0 commit comments