Skip to main content

ServerWithdrawDeposits

ServerWithdrawDeposits allows to cooperatively sweep deposits that haven't timed out yet to the client's wallet. The server will generate the partial sigs for the client's selected deposits.

Source: staticaddr.proto

gRPC

rpc ServerWithdrawDeposits (ServerWithdrawRequest) returns (ServerWithdrawResponse);

Code Samples

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

const GRPC_HOST = 'localhost:11010'
const MACAROON_PATH = 'LOOP_DIR/regtest/loop.macaroon'
const TLS_PATH = 'LOOP_DIR/tls.cert'

const loaderOptions = {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
};
const packageDefinition = protoLoader.loadSync('staticaddr.proto', loaderOptions);
const looprpc = grpc.loadPackageDefinition(packageDefinition).looprpc;
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 looprpc.StaticAddressServer(GRPC_HOST, creds);
let request = {
outpoints: <PrevoutInfo>,
client_nonces: <bytes>,
client_sweep_addr: <string>,
tx_fee_rate: <uint64>,
};
client.serverWithdrawDeposits(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "musig2_sweep_sigs": <bytes>,
// "server_nonces": <bytes>,
// }

Messages

looprpc.ServerWithdrawRequest

Source: staticaddr.proto

FieldgRPC TypeREST TypeREST Placement
outpoints
PrevoutInfo[]unknownunknown
client_nonces
bytes[]unknownunknown
client_sweep_addr
stringunknownunknown
tx_fee_rate
uint64unknownunknown

looprpc.ServerWithdrawResponse

Source: staticaddr.proto

FieldgRPC TypeREST Type
musig2_sweep_sigs
bytes[]unknown
server_nonces
bytes[]unknown