Skip to main content

MuSig2Cleanup

MuSig2Cleanup (experimental!) allows a caller to clean up a session early in cases where it's obvious that the signing session won't succeed and the resources can be released.

NOTE: The MuSig2 BIP is not final yet and therefore this API must be considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming releases. Backward compatibility is not guaranteed!

Source: signrpc/signer.proto

gRPC​

rpc MuSig2Cleanup (MuSig2CleanupRequest) returns (MuSig2CleanupResponse);

REST​

HTTP MethodPath
POST /v2/signer/musig2/cleanup

Code Samples​

const fs = require('fs');
const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

const GRPC_HOST = 'localhost:10009'
const MACAROON_PATH = 'LND_DIR/data/chain/bitcoin/regtest/admin.macaroon'
const TLS_PATH = 'LND_DIR/tls.cert'

const loaderOptions = {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
};
const packageDefinition = protoLoader.loadSync(['lightning.proto', 'signrpc/signer.proto'], loaderOptions);
const signrpc = grpc.loadPackageDefinition(packageDefinition).signrpc;
process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA';
const tlsCert = fs.readFileSync(TLS_PATH);
const sslCreds = grpc.credentials.createSsl(tlsCert);
const macaroon = fs.readFileSync(MACAROON_PATH).toString('hex');
const macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) {
let metadata = new grpc.Metadata();
metadata.add('macaroon', macaroon);
callback(null, metadata);
});
let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds);
let client = new signrpc.Signer(GRPC_HOST, creds);
let request = {
session_id: <bytes>,
};
client.muSig2Cleanup(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// }

Messages​

signrpc.MuSig2CleanupRequest​

Source: signrpc/signer.proto

FieldgRPC TypeREST TypeREST Placement
session_id
bytesstringbody

signrpc.MuSig2CleanupResponse​

Source: signrpc/signer.proto

note

This response has no parameters.