ListSweeps
ListSweeps returns a list of the sweep transactions our node has produced. Note that these sweeps may not be confirmed yet, as we record sweeps on broadcast, not confirmation.
Source: walletrpc/walletkit.proto
gRPC
rpc ListSweeps (ListSweepsRequest) returns (ListSweepsResponse);
REST
HTTP Method | Path |
---|---|
GET | /v2/wallet/sweeps |
Code Samples
- gRPC
- REST
- Shell
- Javascript
- Python
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 = {
verbose: <bool>,
start_height: <int32>,
};
client.listSweeps(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "transaction_details": <TransactionDetails>,
// "transaction_ids": <TransactionIDs>,
// }
import codecs, grpc, os
# Generate the following 2 modules by compiling the walletrpc/walletkit.proto with the grpcio-tools.
# See https://github.com/lightningnetwork/lnd/blob/master/docs/grpc/python.md for instructions.
import walletkit_pb2 as walletrpc, walletkit_pb2_grpc as walletkitstub
GRPC_HOST = 'localhost:10009'
MACAROON_PATH = 'LND_DIR/data/chain/bitcoin/regtest/admin.macaroon'
TLS_PATH = 'LND_DIR/tls.cert'
# create macaroon credentials
macaroon = codecs.encode(open(MACAROON_PATH, 'rb').read(), 'hex')
def metadata_callback(context, callback):
callback([('macaroon', macaroon)], None)
auth_creds = grpc.metadata_call_credentials(metadata_callback)
# create SSL credentials
os.environ['GRPC_SSL_CIPHER_SUITES'] = 'HIGH+ECDSA'
cert = open(TLS_PATH, 'rb').read()
ssl_creds = grpc.ssl_channel_credentials(cert)
# combine macaroon and SSL credentials
combined_creds = grpc.composite_channel_credentials(ssl_creds, auth_creds)
# make the request
channel = grpc.secure_channel(GRPC_HOST, combined_creds)
stub = walletkitstub.WalletKitStub(channel)
request = walletrpc.ListSweepsRequest(
verbose=<bool>,
start_height=<int32>,
)
response = stub.ListSweeps(request)
print(response)
# {
# "transaction_details": <TransactionDetails>,
# "transaction_ids": <TransactionIDs>,
# }
- Javascript
- Python
const fs = require('fs');
const request = require('request');
const REST_HOST = 'localhost:8080'
const MACAROON_PATH = 'LND_DIR/data/chain/bitcoin/regtest/admin.macaroon'
let options = {
url: `https://${REST_HOST}/v2/wallet/sweeps`,
// Work-around for self-signed certificates.
rejectUnauthorized: false,
json: true,
headers: {
'Grpc-Metadata-macaroon': fs.readFileSync(MACAROON_PATH).toString('hex'),
},
}
request.get(options, function(error, response, body) {
console.log(body);
});
// Console output:
// {
// "transaction_details": <object>, // <TransactionDetails>
// "transaction_ids": <object>, // <TransactionIDs>
// }
import base64, codecs, json, requests
REST_HOST = 'localhost:8080'
MACAROON_PATH = 'LND_DIR/data/chain/bitcoin/regtest/admin.macaroon'
TLS_PATH = 'LND_DIR/tls.cert'
url = f'https://{REST_HOST}/v2/wallet/sweeps'
macaroon = codecs.encode(open(MACAROON_PATH, 'rb').read(), 'hex')
headers = {'Grpc-Metadata-macaroon': macaroon}
r = requests.get(url, headers=headers, verify=TLS_PATH)
print(r.json())
# {
# "transaction_details": <TransactionDetails>,
# "transaction_ids": <TransactionIDs>,
# }
$ lncli wallet listsweeps --help
NAME:
lncli wallet listsweeps - Lists all sweeps that have been published by our node.
USAGE:
lncli wallet listsweeps [command options] [arguments...]
DESCRIPTION:
Get a list of the hex-encoded transaction ids of every sweep that our
node has published. Note that these sweeps may not be confirmed on chain
yet, as we store them on transaction broadcast, not confirmation.
If the verbose flag is set, the full set of transactions will be
returned, otherwise only the sweep transaction ids will be returned.
OPTIONS:
--verbose lookup full transaction
--startheight value The start height to use when fetching sweeps. If not specified (0), the result will start from the earliest sweep. If set to -1 the result will only include unconfirmed sweeps (at the time of the call). (default: 0)
Messages
walletrpc.ListSweepsRequest
Source: walletrpc/walletkit.proto
Field | gRPC Type | REST Type | REST Placement |
---|---|---|---|
verbose | bool | boolean | query |
start_height | int32 | integer | query |
walletrpc.ListSweepsResponse
Source: walletrpc/walletkit.proto
Field | gRPC Type | REST Type |
---|---|---|
transaction_details | TransactionDetails | object |
transaction_ids | TransactionIDs | object |
Nested Messages
lnrpc.OutputDetail
Field | gRPC Type | REST Type |
---|---|---|
output_type | OutputScriptType | string |
address | string | string |
pk_script | string | string |
output_index | int64 | string |
amount | int64 | string |
is_our_address | bool | boolean |
lnrpc.PreviousOutPoint
Field | gRPC Type | REST Type |
---|---|---|
outpoint | string | string |
is_our_output | bool | boolean |
lnrpc.Transaction
Field | gRPC Type | REST Type |
---|---|---|
tx_hash | string | string |
amount | int64 | string |
num_confirmations | int32 | integer |
block_hash | string | string |
block_height | int32 | integer |
time_stamp | int64 | string |
total_fees | int64 | string |
dest_addresses deprecated | string[] | array |
output_details | OutputDetail[] | array |
raw_tx_hex | string | string |
label | string | string |
previous_outpoints | PreviousOutPoint[] | array |
lnrpc.TransactionDetails
Field | gRPC Type | REST Type |
---|---|---|
transactions | Transaction[] | array |
walletrpc.ListSweepsResponse.TransactionIDs
Field | gRPC Type | REST Type |
---|---|---|
transaction_ids | string[] | unknown |
Enums
lnrpc.OutputScriptType
Name | Number |
---|---|
SCRIPT_TYPE_PUBKEY_HASH | 0 |
SCRIPT_TYPE_SCRIPT_HASH | 1 |
SCRIPT_TYPE_WITNESS_V0_PUBKEY_HASH | 2 |
SCRIPT_TYPE_WITNESS_V0_SCRIPT_HASH | 3 |
SCRIPT_TYPE_PUBKEY | 4 |
SCRIPT_TYPE_MULTISIG | 5 |
SCRIPT_TYPE_NULLDATA | 6 |
SCRIPT_TYPE_NON_STANDARD | 7 |
SCRIPT_TYPE_WITNESS_UNKNOWN | 8 |
SCRIPT_TYPE_WITNESS_V1_TAPROOT | 9 |