-
Notifications
You must be signed in to change notification settings - Fork 83
[Feature] End-to-end multi-token (SEP-41) deposit support for pools #255
Copy link
Copy link
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignCampaign: Third CampaignfeatureNew functionality to addNew functionality to addfrontendmedium-complexityNot too complex, Few files and some planning neededNot too complex, Few files and some planning neededsmart-contract
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignCampaign: Third CampaignfeatureNew functionality to addNew functionality to addfrontendmedium-complexityNot too complex, Few files and some planning neededNot too complex, Few files and some planning neededsmart-contract
Summary
Pools currently accept a single hardcoded settlement token. The rotational contract already exposes
set_supported_tokens(rotational/src/lib.rs), but the deposit flow is entirely single-token — the deposit route (/api/pools/deposit) and deposit UI render one fixed amount/symbol only. Wire up end-to-end multi-token (SEP-41 asset) deposit support.Requirements
set_supported_tokensand persist the chosen assets to Supabase so the frontend knows what's accepted./api/pools/deposit/route.tsto accept a token selection and compute the correct trailing-decimals amount (stroops vs. 7-digit native) per asset, plus fee calc (treasury/relayer bps remain in the settlement token).soroban-event-mapping).Notes / context
set_supported_tokensalready exists — verify its semantics (whitelist vs. replace) and test it; add contract tests if behavior is under-specified.frontend/lib/…) for amount/decimals/balance math so it is unit-testable likedeposit-calendar.test.ts.Acceptance criteria