@@ -757,6 +757,29 @@ app.get('/api/open-issues', async (_req: Request, res: Response) => {
757757 res . json ( { data } ) ;
758758} ) ;
759759
760+ const ASSET_METADATA : Record < string , { name : string , icon_url : string , min_pledge : number , max_pledge : number } > = {
761+ USDC : { name : 'USD Coin' , icon_url : 'https://cryptologos.cc/logos/usd-coin-usdc-logo.png' , min_pledge : 1 , max_pledge : 10000 } ,
762+ XLM : { name : 'Stellar Lumens' , icon_url : 'https://cryptologos.cc/logos/stellar-xlm-logo.png' , min_pledge : 10 , max_pledge : 100000 } ,
763+ ARS : { name : 'Argentine Peso' , icon_url : '' , min_pledge : 1000 , max_pledge : 10000000 } ,
764+ } ;
765+
766+ const supportedAssetsCache = config . allowedAssets . map ( ( code ) => {
767+ const meta = ASSET_METADATA [ code ] || { name : code , icon_url : '' , min_pledge : 0 , max_pledge : 0 } ;
768+ return {
769+ code,
770+ name : meta . name ,
771+ contract_address : config . assetAddresses [ code ] || '' ,
772+ icon_url : meta . icon_url ,
773+ min_pledge : meta . min_pledge ,
774+ max_pledge : meta . max_pledge ,
775+ } ;
776+ } ) ;
777+
778+ app . get ( '/api/assets' , ( _req : Request , res : Response ) => {
779+ res . setHeader ( 'Cache-Control' , 'public, max-age=31536000' ) ;
780+ res . json ( { data : supportedAssetsCache } ) ;
781+ } ) ;
782+
760783app . get ( '/api/config' , ( _req : Request , res : Response ) => {
761784 res . json ( {
762785 data : {
0 commit comments