commando.html5/node_modules/lnsocket/lnsocket_wasm.c

40 lines
1013 B
C

#include "handshake.h"
#include "lnsocket_internal.h"
#include <emscripten.h>
struct act_three* lnsocket_act_two(struct lnsocket *ln, struct act_two *act2);
void* EMSCRIPTEN_KEEPALIVE lnsocket_act_one(struct lnsocket *ln, const char *node_id)
{
struct pubkey their_id;
struct node_id their_node_id;
if (is_zero(&ln->key, sizeof(ln->key))) {
note_error(&ln->errs, "key not initialized, use lnsocket_set_key() or lnsocket_genkey()");
return NULL;
}
if (!parse_node_id(node_id, &their_node_id)) {
note_error(&ln->errs, "failed to parse node id");
return NULL;
}
if (!pubkey_from_node_id(ln->secp, &their_id, &their_node_id)) {
note_error(&ln->errs, "failed to convert node_id to pubkey");
return NULL;
}
new_handshake(ln->secp, &ln->handshake, &their_id);
ln->handshake.side = INITIATOR;
ln->handshake.their_id = their_id;
if (!act_one_initiator_prep(ln)) {
note_error(&ln->errs, "failed to build initial handshake data (act1)");
return NULL;
}
return &ln->handshake.act1;
}