mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-01 03:24:41 +01:00
e572b487d3
lightningd: lightningd/plugin.c:648: plugin_rpcmethod_dispatch: Assertion `idtok != NULL' failed. lightningd: FATAL SIGNAL 6 (version v0.7.3-234-gf3aeb51-modded) 0x557652363eb1 send_backtrace common/daemon.c:41 0x557652363f5b crashdump common/daemon.c:54 0x7f5b065a346f ??? ???:0 0x7f5b065a33eb ??? ???:0 0x7f5b06582898 ??? ???:0 0x7f5b06582768 ??? ???:0 0x7f5b06594005 ??? ???:0 0x557652355901 plugin_rpcmethod_dispatch lightningd/plugin.c:648 0x557652331836 command_exec lightningd/jsonrpc.c:588 0x557652331bad rpc_command_hook_callback lightningd/jsonrpc.c:655 0x557652358745 plugin_hook_callback lightningd/plugin_hook.c:90 0x55765235486a plugin_response_handle lightningd/plugin.c:258 0x557652354a16 plugin_read_json_one lightningd/plugin.c:356 0x557652354b6d plugin_read_json lightningd/plugin.c:388 0x5576523b5e6c next_plan ccan/ccan/io/io.c:59 0x5576523b6a51 do_plan ccan/ccan/io/io.c:407 0x5576523b6a93 io_ready ccan/ccan/io/io.c:417 0x5576523b8d2b io_loop ccan/ccan/io/poll.c:445 0x55765232dc6f io_loop_with_timers lightningd/io_loop_with_timers.c:24 0x557652334a6e main lightningd/lightningd.c:848 0x7f5b065841e2 ??? ???:0 0x5576523193ed ??? ???:0 0xffffffffffffffff ??? ???:0 Log dumped in crash.log.20191206093336 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
31 lines
973 B
Python
Executable File
31 lines
973 B
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
This plugin is used to test the `rpc_command` hook.
|
|
"""
|
|
from lightning import Plugin
|
|
|
|
plugin = Plugin()
|
|
|
|
|
|
@plugin.hook("rpc_command")
|
|
def on_rpc_command(plugin, rpc_command, **kwargs):
|
|
request = rpc_command["rpc_command"]
|
|
if request["method"] == "invoice":
|
|
# Replace part of this command
|
|
request["params"]["description"] = "A plugin modified this description"
|
|
return {"replace": request}
|
|
elif request["method"] == "listfunds":
|
|
# Return a custom result to the command
|
|
return {"return": {"result": ["Custom result"]}}
|
|
elif request["method"] == "sendpay":
|
|
# Don't allow this command to be executed
|
|
return {"return": {"error": {"code": -1,
|
|
"message": "You cannot do this"}}}
|
|
elif request["method"] == "help":
|
|
request["method"] = "autocleaninvoice"
|
|
return {"replace": request}
|
|
return {"continue": True}
|
|
|
|
|
|
plugin.run()
|