decode: don't treat every failure as a rune.

If we can't decode something, and it decodes as a rune (and all bech32
strings do!), then we would usually just complain it was a malformed
rune.  Be a big more useful, when the parameter looks like somthing else.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Fixed: JSON-RPC: `decode` is now more informative with malformed strings (won't claim everything is a malformed rune!).
This commit is contained in:
Rusty Russell
2026-01-30 10:08:07 +10:30
parent 5053e2e3f6
commit 6a937307b1
6 changed files with 405 additions and 22 deletions

View File

@@ -416,14 +416,12 @@ command_success(struct command *cmd, const struct json_out *result)
NON_NULL_ARGS(1, 2);
/* End a hook normally (with "result": "continue") */
struct command_result *WARN_UNUSED_RESULT
command_hook_success(struct command *cmd)
NON_NULL_ARGS(1);
struct command_result *command_hook_success(struct command *cmd)
WARN_UNUSED_RESULT NON_NULL_ARGS(1);
/* End a notification handler. */
struct command_result *WARN_UNUSED_RESULT
notification_handled(struct command *cmd)
NON_NULL_ARGS(1);
struct command_result *notification_handled(struct command *cmd)
WARN_UNUSED_RESULT NON_NULL_ARGS(1);
/* End a command created with aux_command. */
struct command_result *WARN_UNUSED_RESULT