MCPcopy Create free account
hub / github.com/ElementsProject/lightning / json_payersign

Function json_payersign

lightningd/offer.c:501–528  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

499AUTODATA(json_command, &createinvreq_command);
500
501static struct command_result *json_payersign(struct command *cmd,
502 const char *buffer,
503 const jsmntok_t *obj UNNEEDED,
504 const jsmntok_t *params)
505{
506 struct json_stream *response;
507 struct sha256 *merkle;
508 u8 *tweak;
509 struct bip340sig sig;
510 const char *messagename, *fieldname;
511 struct point32 key;
512
513 if (!param(cmd, buffer, params,
514 p_req("messagename", param_string, &messagename),
515 p_req("fieldname", param_string, &fieldname),
516 p_req("merkle", param_sha256, &merkle),
517 p_req("tweak", param_bin_from_hex, &tweak),
518 NULL))
519 return command_param_failed();
520
521 payer_key(cmd->ld, tweak, tal_bytelen(tweak), &key);
522 hsm_sign_b12(cmd->ld, messagename, fieldname, merkle,
523 tweak, &key, &sig);
524
525 response = json_stream_success(cmd);
526 json_add_string(response, "signature", fmt_bip340sig(tmpctx, &sig));
527 return command_success(cmd, response);
528}
529
530static const struct json_command payersign_command = {
531 "payersign",

Callers

nothing calls this directly

Calls 9

payer_keyFunction · 0.85
tal_bytelenFunction · 0.85
hsm_sign_b12Function · 0.85
fmt_bip340sigFunction · 0.85
command_param_failedFunction · 0.70
json_stream_successFunction · 0.70
command_successFunction · 0.70
paramFunction · 0.50
json_add_stringFunction · 0.50

Tested by

no test coverage detected