diff --git a/src/controller/comm/supported_asset_controller.go b/src/controller/comm/supported_asset_controller.go index 0a47208..72325d9 100644 --- a/src/controller/comm/supported_asset_controller.go +++ b/src/controller/comm/supported_asset_controller.go @@ -28,9 +28,21 @@ func (c *BaseCommController) GetSupportedAssets(ctx echo.Context) error { if err != nil { return c.FailJson(ctx, err) } + wallets, err := data.GetAvailableWalletAddress() + if err != nil { + return c.FailJson(ctx, err) + } + + networkSet := make(map[string]struct{}) + for _, w := range wallets { + networkSet[w.Network] = struct{}{} + } grouped := make(map[string][]string) for _, item := range list { + if _, ok := networkSet[item.Network]; !ok { + continue + } grouped[item.Network] = append(grouped[item.Network], item.Token) } diff --git a/src/route/router_test.go b/src/route/router_test.go index 7d2da80..350d098 100644 --- a/src/route/router_test.go +++ b/src/route/router_test.go @@ -274,8 +274,8 @@ func TestGetSupportedAssetsPublic(t *testing.T) { if !ok { t.Fatalf("expected supports array, got %T", data["supports"]) } - if len(supports) < 6 { - t.Fatalf("expected >= 6 network supports, got %d", len(supports)) + if len(supports) < 2 { + t.Fatalf("expected >= 2 network supports, got %d", len(supports)) } seen := map[string]bool{} @@ -284,7 +284,7 @@ func TestGetSupportedAssetsPublic(t *testing.T) { network := row["network"].(string) seen[network] = true } - for _, n := range []string{"tron", "solana", "eth", "bsc", "polygon", "plasma"} { + for _, n := range []string{"tron", "solana"} { if !seen[n] { t.Fatalf("missing network support: %s", n) }