Browse Source

invoice_hook: remove nested result.

I misunderstood the API, this ended up nesting a result inside the JSON-RPC
result.

No concerns about backwards compatibility since this is so new.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
htlc_accepted_hook
Rusty Russell 6 years ago
committed by Christian Decker
parent
commit
ca7864f2f3
  1. 10
      lightningd/invoice.c
  2. 4
      tests/plugins/reject_some_invoices.py

10
lightningd/invoice.c

@ -141,23 +141,17 @@ static bool hook_gives_failcode(const char *buffer,
const jsmntok_t *toks,
enum onion_type *failcode)
{
const jsmntok_t *resulttok, *t;
const jsmntok_t *t;
unsigned int val;
/* No plugin registered on hook at all? */
if (!buffer)
return false;
resulttok = json_get_member(buffer, toks, "result");
if (!resulttok)
fatal("Invalid invoice_payment_hook response: %.*s",
toks[0].end - toks[1].start, buffer);
t = json_get_member(buffer, resulttok, "failure_code");
t = json_get_member(buffer, toks, "failure_code");
if (!t)
return false;
if (!json_to_number(buffer, t, &val))
fatal("Invalid invoice_payment_hook failure_code: %.*s",
toks[0].end - toks[1].start, buffer);

4
tests/plugins/reject_some_invoices.py

@ -18,9 +18,9 @@ def on_payment(payment, plugin):
if payment['preimage'].endswith('0'):
# FIXME: Define this!
WIRE_TEMPORARY_NODE_FAILURE = 0x2002
return {'result': {'failure_code': WIRE_TEMPORARY_NODE_FAILURE}}
return {'failure_code': WIRE_TEMPORARY_NODE_FAILURE}
return {'result': {}}
return {}
plugin.run()

Loading…
Cancel
Save