Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions contrib/pylightning/lightning/lightning.py
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,10 @@ def dev_crash(self):
"""
Crash lightningd by calling fatal()
"""
return self.call("dev-crash")
payload = {
"subcommand": "crash"
}
return self.call("dev", payload)

def dev_fail(self, peer_id):
"""
Expand Down Expand Up @@ -427,9 +430,10 @@ def dev_rhash(self, secret):
Show SHA256 of {secret}
"""
payload = {
"subcommand": "rhash",
"secret": secret
}
return self.call("dev-rhash", payload)
return self.call("dev", payload)

def dev_sign_last_tx(self, peer_id):
"""
Expand All @@ -440,6 +444,16 @@ def dev_sign_last_tx(self, peer_id):
}
return self.call("dev-sign-last-tx", payload)

def dev_slowcmd(self, msec=None):
"""
Torture test for slow commands, optional {msec}
"""
payload = {
"subcommand": "slowcmd",
"msec": msec
}
return self.call("dev", payload)

def disconnect(self, peer_id, force=False):
"""
Disconnect from peer with {peer_id}, optional {force} even if has active channel
Expand Down
36 changes: 7 additions & 29 deletions lightningd/jsonrpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,34 +223,6 @@ static const struct json_command stop_command = {
AUTODATA(json_command, &stop_command);

#if DEVELOPER
static struct command_result *json_rhash(struct command *cmd,
const char *buffer,
const jsmntok_t *obj UNUSED,
const jsmntok_t *params)
{
struct json_stream *response;
struct sha256 *secret;

if (!param(cmd, buffer, params,
p_req("secret", param_sha256, &secret),
NULL))
return command_param_failed();

/* Hash in place. */
sha256(secret, secret, sizeof(*secret));
response = json_stream_success(cmd);
json_add_hex(response, "rhash", secret, sizeof(*secret));
return command_success(cmd, response);
}

static const struct json_command dev_rhash_command = {
"dev-rhash",
"developer",
json_rhash,
"Show SHA256 of {secret}"
};
AUTODATA(json_command, &dev_rhash_command);

struct slowcmd {
struct command *cmd;
unsigned *msec;
Expand Down Expand Up @@ -324,7 +296,13 @@ static const struct json_command dev_command = {
"dev",
"developer",
json_dev,
"Developer command test multiplexer"
"Developer command test multiplexer",
.verbose = "dev rhash {secret}\n"
" Show SHA256 of {secret}\n"
"dev crash\n"
" Crash lightningd by calling fatal()\n"
"dev slowcmd {msec}\n"
" Torture test for slow commands, optional {msec}\n"
};
AUTODATA(json_command, &dev_command);
#endif /* DEVELOPER */
Expand Down