core-lightning/tests/plugins/rpc_command.py
Christian Decker 3e3b05e1b2 pyln: Migrate remaining uses of the deprecated pylightning module
`pylightning` is not much more than an alias for `pyln-client`, so this
removes the need to install that as well just to run the tests.
2020-03-24 09:52:33 +10:30

31 lines
964 B
Python
Executable File

#!/usr/bin/env python3
"""
This plugin is used to test the `rpc_command` hook.
"""
from pyln.client import Plugin
plugin = Plugin()
@plugin.hook("rpc_command")
def on_rpc_command(plugin, rpc_command, **kwargs):
request = 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 {"result": "continue"}
plugin.run()