Skip to content

Commit 965f89a

Browse files
authored
Merge pull request #736 from ugoocreates-pixel/feat/get-api-assets
feat: Add GET /api/assets endpoint
2 parents 99ecdaf + c4701d2 commit 965f89a

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

backend/src/index.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
760783
app.get('/api/config', (_req: Request, res: Response) => {
761784
res.json({
762785
data: {

0 commit comments

Comments
 (0)