Skip to content

Commit 0f6cd0f

Browse files
committed
API updates.
1 parent a2e31af commit 0f6cd0f

File tree

1 file changed

+47
-33
lines changed

1 file changed

+47
-33
lines changed

contrib/remote_hsmd/proxy.cc

Lines changed: 47 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,34 @@ void marshal_pubkey(struct pubkey const *pp, PubKey *o_pp)
132132
o_pp->set_data(pp->pubkey.data, sizeof(pp->pubkey.data));
133133
}
134134

135-
void marshal_single_input_tx(struct bitcoin_tx const *tx, Transaction *o_tp)
135+
void marshal_single_input_tx(struct bitcoin_tx const *tx,
136+
u8 const *output_witscript,
137+
struct witscript const **output_witscripts,
138+
Transaction *o_tp)
136139
{
140+
if (output_witscript) {
141+
/* Called with a single witscript. */
142+
assert(tx->wtx->num_outputs == 1);
143+
o_tp->add_output_witscripts((const char *) output_witscript,
144+
tal_count(output_witscript));
145+
} else if (output_witscripts) {
146+
/* Called with an array of witscripts. */
147+
size_t nwitscripts = tal_count(output_witscripts);
148+
assert(nwitscripts == tx->wtx->num_outputs);
149+
for (size_t ii = 0; ii < tx->wtx->num_outputs; ii++)
150+
if (output_witscripts[ii])
151+
o_tp->add_output_witscripts(
152+
(const char *)
153+
output_witscripts[ii]->ptr,
154+
tal_count(output_witscripts[ii]->ptr));
155+
else
156+
o_tp->add_output_witscripts("");
157+
} else {
158+
/* Called with no witscrtipts. */
159+
for (size_t ii = 0; ii < tx->wtx->num_outputs; ii++)
160+
o_tp->add_output_witscripts("");
161+
}
162+
137163
o_tp->set_raw_tx_bytes(serialized_tx(tx, true));
138164

139165
assert(tx->wtx->num_inputs == 1);
@@ -492,17 +518,10 @@ proxy_stat proxy_handle_sign_remote_commitment_tx(
492518
marshal_pubkey(remote_per_commit,
493519
req.mutable_remote_per_commit_point());
494520
req.set_option_static_remotekey(option_static_remotekey);
495-
for (size_t ii = 0; ii < tal_count(output_witscripts); ii++)
496-
if (output_witscripts[ii])
497-
req.add_output_witscripts(
498-
(const char *) output_witscripts[ii]->ptr,
499-
tal_count(output_witscripts[ii]->ptr));
500-
else
501-
req.add_output_witscripts("");
502-
marshal_single_input_tx(tx, req.mutable_tx());
521+
marshal_single_input_tx(tx, NULL, output_witscripts, req.mutable_tx());
503522

504523
ClientContext context;
505-
SignRemoteCommitmentTxReply rsp;
524+
SignatureReply rsp;
506525
Status status = stub->SignRemoteCommitmentTx(&context, req, &rsp);
507526
if (status.ok()) {
508527
unmarshal_bitcoin_signature(rsp.signature(), o_sig);
@@ -593,7 +612,7 @@ proxy_stat proxy_handle_sign_invoice(
593612
req.set_human_readable_part((const char *)hrpu8, tal_count(hrpu8));
594613

595614
ClientContext context;
596-
SignInvoiceReply rsp;
615+
RecoverableNodeSignatureReply rsp;
597616
Status status = stub->SignInvoice(&context, req, &rsp);
598617
if (status.ok()) {
599618
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -635,7 +654,7 @@ proxy_stat proxy_handle_sign_message(
635654
req.set_message(msg, tal_count(msg));
636655

637656
ClientContext context;
638-
SignMessageReply rsp;
657+
RecoverableNodeSignatureReply rsp;
639658
Status status = stub->SignMessage(&context, req, &rsp);
640659
if (status.ok()) {
641660
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -682,7 +701,7 @@ proxy_stat proxy_handle_channel_update_sig(
682701
req.set_channel_update(channel_update + offset, annsz - offset);
683702

684703
ClientContext context;
685-
SignChannelUpdateReply rsp;
704+
NodeSignatureReply rsp;
686705
Status status = stub->SignChannelUpdate(&context, req, &rsp);
687706
if (status.ok()) {
688707
unmarshal_ecdsa_signature(rsp.signature(), o_sig);
@@ -801,10 +820,10 @@ proxy_stat proxy_handle_sign_mutual_close_tx(
801820
marshal_channel_nonce(peer_id, dbid, req.mutable_channel_nonce());
802821
marshal_pubkey(remote_funding_pubkey,
803822
req.mutable_remote_funding_pubkey());
804-
marshal_single_input_tx(tx, req.mutable_tx());
823+
marshal_single_input_tx(tx, NULL, NULL, req.mutable_tx());
805824

806825
ClientContext context;
807-
SignMutualCloseTxReply rsp;
826+
SignatureReply rsp;
808827
Status status = stub->SignMutualCloseTx(&context, req, &rsp);
809828
if (status.ok()) {
810829
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -855,10 +874,10 @@ proxy_stat proxy_handle_sign_commitment_tx(
855874
marshal_channel_nonce(peer_id, dbid, req.mutable_channel_nonce());
856875
marshal_pubkey(remote_funding_pubkey,
857876
req.mutable_remote_funding_pubkey());
858-
marshal_single_input_tx(tx, req.mutable_tx());
877+
marshal_single_input_tx(tx, NULL, NULL, req.mutable_tx());
859878

860879
ClientContext context;
861-
SignCommitmentTxReply rsp;
880+
SignatureReply rsp;
862881
Status status = stub->SignCommitmentTx(&context, req, &rsp);
863882
if (status.ok()) {
864883
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -963,11 +982,10 @@ proxy_stat proxy_handle_sign_local_htlc_tx(
963982
marshal_node_id(&self_id, req.mutable_node_id());
964983
marshal_channel_nonce(peer_id, dbid, req.mutable_channel_nonce());
965984
req.set_n(commit_num);
966-
req.set_witscript(wscript, tal_count(wscript));
967-
marshal_single_input_tx(tx, req.mutable_tx());
985+
marshal_single_input_tx(tx, wscript, NULL, req.mutable_tx());
968986

969987
ClientContext context;
970-
SignLocalHTLCTxReply rsp;
988+
SignatureReply rsp;
971989
Status status = stub->SignLocalHTLCTx(&context, req, &rsp);
972990
if (status.ok()) {
973991
#if 1
@@ -1019,11 +1037,10 @@ proxy_stat proxy_handle_sign_remote_htlc_tx(
10191037
marshal_channel_nonce(peer_id, dbid, req.mutable_channel_nonce());
10201038
marshal_pubkey(remote_per_commit_point,
10211039
req.mutable_remote_per_commit_point());
1022-
req.set_witscript(wscript, tal_count(wscript));
1023-
marshal_single_input_tx(tx, req.mutable_tx());
1040+
marshal_single_input_tx(tx, wscript, NULL, req.mutable_tx());
10241041

10251042
ClientContext context;
1026-
SignRemoteHTLCTxReply rsp;
1043+
SignatureReply rsp;
10271044
Status status = stub->SignRemoteHTLCTx(&context, req, &rsp);
10281045
if (status.ok()) {
10291046
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -1075,11 +1092,10 @@ proxy_stat proxy_handle_sign_delayed_payment_to_us(
10751092
marshal_node_id(&self_id, req.mutable_node_id());
10761093
marshal_channel_nonce(peer_id, dbid, req.mutable_channel_nonce());
10771094
req.set_n(commit_num);
1078-
req.set_witscript(wscript, tal_count(wscript));
1079-
marshal_single_input_tx(tx, req.mutable_tx());
1095+
marshal_single_input_tx(tx, wscript, NULL, req.mutable_tx());
10801096

10811097
ClientContext context;
1082-
SignDelayedPaymentToUsReply rsp;
1098+
SignatureReply rsp;
10831099
Status status = stub->SignDelayedPaymentToUs(&context, req, &rsp);
10841100
if (status.ok()) {
10851101
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -1129,11 +1145,10 @@ proxy_stat proxy_handle_sign_remote_htlc_to_us(
11291145
marshal_channel_nonce(peer_id, dbid, req.mutable_channel_nonce());
11301146
marshal_pubkey(remote_per_commit_point,
11311147
req.mutable_remote_per_commit_point());
1132-
req.set_witscript(wscript, tal_count(wscript));
1133-
marshal_single_input_tx(tx, req.mutable_tx());
1148+
marshal_single_input_tx(tx, wscript, NULL, req.mutable_tx());
11341149

11351150
ClientContext context;
1136-
SignRemoteHTLCToUsReply rsp;
1151+
SignatureReply rsp;
11371152
Status status = stub->SignRemoteHTLCToUs(&context, req, &rsp);
11381153
if (status.ok()) {
11391154
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -1186,11 +1201,10 @@ proxy_stat proxy_handle_sign_penalty_to_us(
11861201
marshal_node_id(&self_id, req.mutable_node_id());
11871202
marshal_channel_nonce(peer_id, dbid, req.mutable_channel_nonce());
11881203
marshal_secret(revocation_secret, req.mutable_revocation_secret());
1189-
req.set_witscript(wscript, tal_count(wscript));
1190-
marshal_single_input_tx(tx, req.mutable_tx());
1204+
marshal_single_input_tx(tx, wscript, NULL, req.mutable_tx());
11911205

11921206
ClientContext context;
1193-
SignPenaltyToUsReply rsp;
1207+
SignatureReply rsp;
11941208
Status status = stub->SignPenaltyToUs(&context, req, &rsp);
11951209
if (status.ok()) {
11961210
// FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
@@ -1282,7 +1296,7 @@ proxy_stat proxy_handle_sign_node_announcement(
12821296
req.set_node_announcement(node_announcement + offset, annsz - offset);
12831297

12841298
ClientContext context;
1285-
SignNodeAnnouncementReply rsp;
1299+
NodeSignatureReply rsp;
12861300
Status status = stub->SignNodeAnnouncement(&context, req, &rsp);
12871301
if (status.ok()) {
12881302
unmarshal_ecdsa_signature(rsp.signature(), o_sig);

0 commit comments

Comments
 (0)