From dfad554d4303efbfd4da59add34d48c216b6bb9c Mon Sep 17 00:00:00 2001 From: Boris Nagaev Date: Tue, 7 Oct 2025 00:03:23 -0300 Subject: [PATCH] cmd/loop: parse string slice as string slice Previously it was parsed as a single JSON string. Now each hint is parsed individually. --- cmd/loop/utils.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/cmd/loop/utils.go b/cmd/loop/utils.go index 87e89d5e..eaf98efa 100644 --- a/cmd/loop/utils.go +++ b/cmd/loop/utils.go @@ -22,10 +22,17 @@ func validateRouteHints(ctx *cli.Context) ([]*swapserverrpc.RouteHint, error) { ) } - stringHints := []byte(ctx.String(routeHintsFlag.Name)) - err := json.Unmarshal(stringHints, &hints) - if err != nil { - return nil, fmt.Errorf("unable to parse json: %v", err) + jsonHints := ctx.StringSlice(routeHintsFlag.Name) + + hints := make([]*swapserverrpc.RouteHint, len(jsonHints)) + for i, jsonHint := range jsonHints { + var h swapserverrpc.RouteHint + err := json.Unmarshal([]byte(jsonHint), &h) + if err != nil { + return nil, fmt.Errorf("unable to parse %d-th "+ + "hint json %v: %w", i, jsonHint, err) + } + hints[i] = &h } }