* feat: add trading offers section for taproot assets
Query liquidity offers from an external API showing lightning nodes
that provide exchange between taproot assets and bitcoin. Each node
advertises their own exchange rate.
- Add TRADE_API_URL env var for configurable API endpoint
- Server proxies external GraphQL API via FetchService (same pattern as Amboss)
- Trading tab with asset selector, buy/sell toggle, sortable offers list
- Each offer shows node alias/pubkey, exchange rate, available amount
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: improve trading offers with auth, filtering, and API updates
- Update supported assets query path (public.assets.supported)
- Add Amboss auth to trade API calls via context
- Add configurable AMBOSS_AUTH_URL env var
- Wire up min amount filter with debounced input
- Format available capacity with thousand separators
- Add Amboss login banner for unauthenticated users
- Use host.docker.internal for Docker trade/auth URLs
- Remove unused assetIdToGroupKey map
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: add small copy
* feat: add node capabilities query and disable tapd nav when unavailable
Add getNodeCapabilities GraphQL query that exposes provider capabilities.
Use it in the sidebar to gray out Assets and Trading nav items when
taproot_assets is not available, with a tooltip explaining how to enable it.
Also show a message when user has no supported assets to sell.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: lnd capabilities
* feat: hide Assets nav when tapd unavailable, keep Trading disabled
Assets is removed from sidebar when taproot_assets capability is missing.
Trading remains visible but grayed out with an explanatory tooltip.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: address comments
* fix: copy
* chore: address comments
* chore: nullable + security changes
---------
Co-authored-by: Bufo <bufo24@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>