From 73b452adfe8d41b1e8613729eee249147059d70c Mon Sep 17 00:00:00 2001 From: Vincenzo Palazzo Date: Sat, 23 Mar 2024 18:26:19 +0100 Subject: [PATCH] plugin: check if the offer is valid Signed-off-by: Vincenzo Palazzo --- pkg/plugin/pay.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/plugin/pay.go b/pkg/plugin/pay.go index 0e8da90..3cee1c2 100644 --- a/pkg/plugin/pay.go +++ b/pkg/plugin/pay.go @@ -12,7 +12,7 @@ func OceanPay(cln *plugin.Plugin[*State], request map[string]any) (map[string]an cln.Log("debug", fmt.Sprintf("ocean-pay: %s", request)) clnRequest := struct { Invstr string `mapstructure:"invstr"` - Amount_msat string `mapstructure:"amount_msat"` + Amount_msat any `mapstructure:"amount_msat"` }{} if err := json.Decode(request, &clnRequest); err != nil { return nil, err @@ -35,6 +35,10 @@ func OceanPay(cln *plugin.Plugin[*State], request map[string]any) (map[string]an return nil, err } + if !clnDecode.Valid { + return nil, fmt.Errorf("invoice not valid") + } + cln.Log("debug", fmt.Sprintf("decode offer: %s", invstrDecode)) var payInvoice map[string]any var invoice string