Skip to main content

ReleaseOutput

ReleaseOutput unlocks an output, allowing it to be available for coin selection if it remains unspent. The ID should match the one used to originally lock the output.

Source: walletrpc/walletkit.proto

gRPC

rpc ReleaseOutput (ReleaseOutputRequest) returns (ReleaseOutputResponse);

REST

HTTP MethodPath
POST /v2/wallet/utxos/release

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', 'walletrpc/walletkit.proto'], loaderOptions);
const walletrpc = grpc.loadPackageDefinition(packageDefinition).walletrpc;
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 walletrpc.WalletKit(GRPC_HOST, creds);
let request = {
id: <bytes>,
outpoint: <OutPoint>,
};
client.releaseOutput(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "status": <string>,
// }

Messages

walletrpc.ReleaseOutputRequest

Source: walletrpc/walletkit.proto

FieldgRPC TypeREST TypeREST Placement
id
bytesstringbody
outpoint
OutPointobjectbody

walletrpc.ReleaseOutputResponse

Source: walletrpc/walletkit.proto

FieldgRPC TypeREST Type
status
stringstring

Nested Messages

lnrpc.OutPoint

FieldgRPC TypeREST Type
txid_bytes
bytesstring
txid_str
stringstring
output_index
uint32integer