mirror of
https://github.com/alexbosworth/balanceofsatoshis.git
synced 2026-08-13 12:33:37 +02:00
add connect command
This commit is contained in:
parent
fb31fc72f3
commit
21dca4930e
7 changed files with 168 additions and 285 deletions
|
|
@ -1,5 +1,9 @@
|
|||
# Versions
|
||||
|
||||
## 17.9.0
|
||||
|
||||
- `connect`: Add command to attempt to peer with a node
|
||||
|
||||
## 17.8.1
|
||||
|
||||
- `get-inbound-channel`: Make `service` optional and show options if omitted
|
||||
|
|
|
|||
21
bos
21
bos
|
|
@ -533,6 +533,27 @@ prog
|
|||
});
|
||||
})
|
||||
|
||||
// Connect to a node
|
||||
.command('connect', 'Connect to a node')
|
||||
.argument('<id>', 'Public key id of node to connect to')
|
||||
.option('--node <node_name>', 'Saved node to connect with')
|
||||
.option('--retries <count>', 'Times to retry the connection', INT)
|
||||
.action((args, options, logger) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
return peers.connectToPeer({
|
||||
logger,
|
||||
id: args.id,
|
||||
lnd: (await lndForNode(logger, options.node)).lnd,
|
||||
retries: options.retries,
|
||||
},
|
||||
responses.returnObject({logger, reject, resolve}));
|
||||
} catch (err) {
|
||||
return logger.error({err}) && reject();
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
// Coordinate a new group channel
|
||||
.command('create-channel-group', 'Coordinate balanced channels group')
|
||||
.help('Other nodes can join the group using join-channel-group')
|
||||
|
|
|
|||
|
|
@ -289,6 +289,7 @@ module.exports = (args, cbk) => {
|
|||
return connectToPeer({
|
||||
id: node.public_key,
|
||||
lnd: args.lnd,
|
||||
logger: args.logger,
|
||||
sockets: sockets.map(n => n.socket),
|
||||
},
|
||||
err => {
|
||||
|
|
|
|||
377
package-lock.json
generated
377
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "balanceofsatoshis",
|
||||
"version": "17.8.1",
|
||||
"version": "17.9.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "balanceofsatoshis",
|
||||
"version": "17.8.1",
|
||||
"version": "17.9.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@alexbosworth/blockchain": "1.7.0",
|
||||
|
|
@ -27,16 +27,16 @@
|
|||
"cbor": "9.0.2",
|
||||
"colorette": "2.0.20",
|
||||
"crypto-js": "4.2.0",
|
||||
"csv-parse": "5.5.3",
|
||||
"csv-parse": "5.5.5",
|
||||
"ecpair": "2.1.0",
|
||||
"goldengate": "13.0.2",
|
||||
"grammy": "1.21.1",
|
||||
"hot-formula-parser": "4.0.0",
|
||||
"import-lazy": "4.0.0",
|
||||
"ini": "4.1.1",
|
||||
"inquirer": "9.2.15",
|
||||
"ini": "4.1.2",
|
||||
"inquirer": "9.2.16",
|
||||
"ln-accounting": "7.0.2",
|
||||
"ln-service": "57.6.0",
|
||||
"ln-service": "57.7.1",
|
||||
"ln-sync": "6.0.0",
|
||||
"ln-telegram": "6.1.1",
|
||||
"moment": "2.30.1",
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"invoices": "3.0.0",
|
||||
"ln-docker-daemons": "6.0.10",
|
||||
"ln-docker-daemons": "6.0.12",
|
||||
"mock-lnd": "1.4.4"
|
||||
},
|
||||
"engines": {
|
||||
|
|
@ -248,6 +248,15 @@
|
|||
"implementation-stats": "bin/implementation-stats"
|
||||
}
|
||||
},
|
||||
"node_modules/@js-sdsl/ordered-map": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
|
||||
"integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/js-sdsl"
|
||||
}
|
||||
},
|
||||
"node_modules/@json2csv/formatters": {
|
||||
"version": "7.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@json2csv/formatters/-/formatters-7.0.6.tgz",
|
||||
|
|
@ -264,11 +273,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@ljharb/through": {
|
||||
"version": "2.3.12",
|
||||
"resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz",
|
||||
"integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==",
|
||||
"version": "2.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz",
|
||||
"integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==",
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.5"
|
||||
"call-bind": "^1.0.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
|
|
@ -420,9 +429,9 @@
|
|||
"integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.11.20",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz",
|
||||
"integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==",
|
||||
"version": "20.11.27",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.27.tgz",
|
||||
"integrity": "sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
|
|
@ -1302,9 +1311,9 @@
|
|||
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
|
||||
},
|
||||
"node_modules/csv-parse": {
|
||||
"version": "5.5.3",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.3.tgz",
|
||||
"integrity": "sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A=="
|
||||
"version": "5.5.5",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.5.tgz",
|
||||
"integrity": "sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ=="
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "2.6.9",
|
||||
|
|
@ -2197,19 +2206,19 @@
|
|||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"node_modules/ini": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
|
||||
"integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
|
||||
"integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==",
|
||||
"engines": {
|
||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/inquirer": {
|
||||
"version": "9.2.15",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.15.tgz",
|
||||
"integrity": "sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==",
|
||||
"version": "9.2.16",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.16.tgz",
|
||||
"integrity": "sha512-qzgbB+yNjgSzk2omeqMDtO9IgJet/UL67luT1MaaggRpGK73DBQct5Q4pipwFQcIKK1GbMODYd4UfsRCkSP1DA==",
|
||||
"dependencies": {
|
||||
"@ljharb/through": "^2.3.12",
|
||||
"@ljharb/through": "^2.3.13",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"chalk": "^5.3.0",
|
||||
"cli-cursor": "^3.1.0",
|
||||
|
|
@ -2422,14 +2431,13 @@
|
|||
"integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
|
||||
},
|
||||
"node_modules/lightning": {
|
||||
"version": "10.5.1",
|
||||
"resolved": "https://registry.npmjs.org/lightning/-/lightning-10.5.1.tgz",
|
||||
"integrity": "sha512-hnhBCYeeIVisLwHe28A5QdqvwxkG6kPyNiUWrSQ9Xov6MD3ZdtFFgDf5OH1IPAzLwc0U7w0TRf6K4wWR0svUfg==",
|
||||
"dev": true,
|
||||
"version": "10.7.1",
|
||||
"resolved": "https://registry.npmjs.org/lightning/-/lightning-10.7.1.tgz",
|
||||
"integrity": "sha512-q68Jd0OUWFHU6/wf1LcRMqmj2uldoSzOfB2Plecw45NznXpGSL4mHq0cLVGbYhEaclxdIXnmApSlkk5isp7KkQ==",
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "1.10.0",
|
||||
"@grpc/grpc-js": "1.10.2",
|
||||
"@grpc/proto-loader": "0.7.10",
|
||||
"@types/node": "20.11.17",
|
||||
"@types/node": "20.11.27",
|
||||
"@types/request": "2.48.12",
|
||||
"@types/ws": "8.5.10",
|
||||
"async": "3.2.5",
|
||||
|
|
@ -2442,30 +2450,28 @@
|
|||
"invoices": "3.0.0",
|
||||
"psbt": "3.0.0",
|
||||
"tiny-secp256k1": "2.2.3",
|
||||
"type-fest": "4.10.2"
|
||||
"type-fest": "4.12.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/lightning/node_modules/@grpc/grpc-js": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.0.tgz",
|
||||
"integrity": "sha512-tx+eoEsqkMkLCHR4OOplwNIaJ7SVZWzeVKzEMBz8VR+TbssgBYOP4a0P+KQiQ6LaTG4SGaIEu7YTS8xOmkOWLA==",
|
||||
"dev": true,
|
||||
"version": "1.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.2.tgz",
|
||||
"integrity": "sha512-lSbgu8iayAod8O0YcoXK3+bMFGThY2svtN35Zlm9VepsB3jfyIcoupKknEht7Kh9Q8ITjsp0J4KpYo9l4+FhNg==",
|
||||
"dependencies": {
|
||||
"@grpc/proto-loader": "^0.7.8",
|
||||
"@types/node": ">=12.12.47"
|
||||
"@grpc/proto-loader": "^0.7.10",
|
||||
"@js-sdsl/ordered-map": "^4.4.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^8.13.0 || >=10.10.0"
|
||||
"node": ">=12.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lightning/node_modules/@grpc/proto-loader": {
|
||||
"version": "0.7.10",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
|
||||
"integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lodash.camelcase": "^4.3.0",
|
||||
"long": "^5.0.0",
|
||||
|
|
@ -2479,20 +2485,10 @@
|
|||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/lightning/node_modules/@types/node": {
|
||||
"version": "20.11.17",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz",
|
||||
"integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"node_modules/lightning/node_modules/bolt09": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bolt09/-/bolt09-2.0.0.tgz",
|
||||
"integrity": "sha512-QtQiDx/nLMMwj+eaJ2tl2UoMa/8K2d8TfRVznHL0DP3cE/bYl4dPueQvSjqej9FVj+iMtrkpkIE5InuodpHmpg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
|
|
@ -2500,14 +2496,12 @@
|
|||
"node_modules/lightning/node_modules/long": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
|
||||
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
|
||||
"dev": true
|
||||
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
|
||||
},
|
||||
"node_modules/lightning/node_modules/type-fest": {
|
||||
"version": "4.10.2",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz",
|
||||
"integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==",
|
||||
"dev": true,
|
||||
"version": "4.12.0",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.12.0.tgz",
|
||||
"integrity": "sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ==",
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
|
|
@ -3327,9 +3321,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/ln-docker-daemons": {
|
||||
"version": "6.0.10",
|
||||
"resolved": "https://registry.npmjs.org/ln-docker-daemons/-/ln-docker-daemons-6.0.10.tgz",
|
||||
"integrity": "sha512-XLFVqVSewlfBENQNlB+x48VgMxXwiEzBts+bew7vhYLn56AshKBqc/2leAAthqS8uzlIubbYP62RBHCtffk3lQ==",
|
||||
"version": "6.0.12",
|
||||
"resolved": "https://registry.npmjs.org/ln-docker-daemons/-/ln-docker-daemons-6.0.12.tgz",
|
||||
"integrity": "sha512-xtWg2XXME6hF5yCk14AjgkMECwJEe0F9WwIq5Xzx/2bWwjcLkxAORN8/Jnc+FIYds9bBIGJ0Yq6NAY4u0q53DA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@alexbosworth/node-fetch": "2.6.2",
|
||||
|
|
@ -3337,7 +3331,7 @@
|
|||
"asyncjs-util": "1.2.12",
|
||||
"dockerode": "4.0.2",
|
||||
"find-free-ports": "3.1.1",
|
||||
"lightning": "10.5.1",
|
||||
"lightning": "10.7.1",
|
||||
"tar-stream": "3.1.7"
|
||||
},
|
||||
"engines": {
|
||||
|
|
@ -3345,106 +3339,19 @@
|
|||
}
|
||||
},
|
||||
"node_modules/ln-service": {
|
||||
"version": "57.6.0",
|
||||
"resolved": "https://registry.npmjs.org/ln-service/-/ln-service-57.6.0.tgz",
|
||||
"integrity": "sha512-9e0ridPfISUiMCtZdBL7x7yYBTaMyNFGePk1EFm3AuI64IeC30HnEo4r5wOOSW1rtUitV9kHwlatrLJD2TU2SA==",
|
||||
"version": "57.7.1",
|
||||
"resolved": "https://registry.npmjs.org/ln-service/-/ln-service-57.7.1.tgz",
|
||||
"integrity": "sha512-VZDcKPTg8G0m/rgjCUfJn+M+Cm/HJWMnTKyTIWGVm//bbuVljeNKLdg0HLNJhUcQGB55C6KBTchreOltf/6PkQ==",
|
||||
"dependencies": {
|
||||
"bolt07": "1.8.4",
|
||||
"invoices": "3.0.0",
|
||||
"lightning": "10.6.0",
|
||||
"lightning": "10.7.1",
|
||||
"macaroon": "3.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/ln-service/node_modules/@grpc/grpc-js": {
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.1.tgz",
|
||||
"integrity": "sha512-55ONqFytZExfOIjF1RjXPcVmT/jJqFzbbDqxK9jmRV4nxiYWtL9hENSW1Jfx0SdZfrvoqd44YJ/GJTqfRrawSQ==",
|
||||
"dependencies": {
|
||||
"@grpc/proto-loader": "^0.7.8",
|
||||
"@types/node": ">=12.12.47"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^8.13.0 || >=10.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ln-service/node_modules/@grpc/proto-loader": {
|
||||
"version": "0.7.10",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
|
||||
"integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
|
||||
"dependencies": {
|
||||
"lodash.camelcase": "^4.3.0",
|
||||
"long": "^5.0.0",
|
||||
"protobufjs": "^7.2.4",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"bin": {
|
||||
"proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/ln-service/node_modules/@types/node": {
|
||||
"version": "20.11.19",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz",
|
||||
"integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"node_modules/ln-service/node_modules/bolt09": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bolt09/-/bolt09-2.0.0.tgz",
|
||||
"integrity": "sha512-QtQiDx/nLMMwj+eaJ2tl2UoMa/8K2d8TfRVznHL0DP3cE/bYl4dPueQvSjqej9FVj+iMtrkpkIE5InuodpHmpg==",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/ln-service/node_modules/lightning": {
|
||||
"version": "10.6.0",
|
||||
"resolved": "https://registry.npmjs.org/lightning/-/lightning-10.6.0.tgz",
|
||||
"integrity": "sha512-wH0PchhK23AG1feoYw+wgvclvcMGgcUM/+2Kb+v8x5b1QaHOKhnBs1TwZ2609wESZADjJyxDBhV9p7xrSGczUQ==",
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "1.10.1",
|
||||
"@grpc/proto-loader": "0.7.10",
|
||||
"@types/node": "20.11.19",
|
||||
"@types/request": "2.48.12",
|
||||
"@types/ws": "8.5.10",
|
||||
"async": "3.2.5",
|
||||
"asyncjs-util": "1.2.12",
|
||||
"bitcoinjs-lib": "6.1.5",
|
||||
"bn.js": "5.2.1",
|
||||
"bolt07": "1.8.4",
|
||||
"bolt09": "2.0.0",
|
||||
"ecpair": "2.1.0",
|
||||
"invoices": "3.0.0",
|
||||
"psbt": "3.0.0",
|
||||
"tiny-secp256k1": "2.2.3",
|
||||
"type-fest": "4.10.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/ln-service/node_modules/long": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
|
||||
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
|
||||
},
|
||||
"node_modules/ln-service/node_modules/type-fest": {
|
||||
"version": "4.10.2",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz",
|
||||
"integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==",
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ln-sync": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ln-sync/-/ln-sync-6.0.0.tgz",
|
||||
|
|
@ -6413,6 +6320,11 @@
|
|||
"jstat": "^1.9.2"
|
||||
}
|
||||
},
|
||||
"@js-sdsl/ordered-map": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
|
||||
"integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw=="
|
||||
},
|
||||
"@json2csv/formatters": {
|
||||
"version": "7.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@json2csv/formatters/-/formatters-7.0.6.tgz",
|
||||
|
|
@ -6429,11 +6341,11 @@
|
|||
}
|
||||
},
|
||||
"@ljharb/through": {
|
||||
"version": "2.3.12",
|
||||
"resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz",
|
||||
"integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==",
|
||||
"version": "2.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz",
|
||||
"integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==",
|
||||
"requires": {
|
||||
"call-bind": "^1.0.5"
|
||||
"call-bind": "^1.0.7"
|
||||
}
|
||||
},
|
||||
"@mitmaro/errors": {
|
||||
|
|
@ -6573,9 +6485,9 @@
|
|||
"integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "20.11.20",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz",
|
||||
"integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==",
|
||||
"version": "20.11.27",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.27.tgz",
|
||||
"integrity": "sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==",
|
||||
"requires": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
|
|
@ -7300,9 +7212,9 @@
|
|||
"integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
|
||||
},
|
||||
"csv-parse": {
|
||||
"version": "5.5.3",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.3.tgz",
|
||||
"integrity": "sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A=="
|
||||
"version": "5.5.5",
|
||||
"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.5.tgz",
|
||||
"integrity": "sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ=="
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
|
|
@ -8010,16 +7922,16 @@
|
|||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"ini": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
|
||||
"integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g=="
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz",
|
||||
"integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw=="
|
||||
},
|
||||
"inquirer": {
|
||||
"version": "9.2.15",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.15.tgz",
|
||||
"integrity": "sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==",
|
||||
"version": "9.2.16",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.16.tgz",
|
||||
"integrity": "sha512-qzgbB+yNjgSzk2omeqMDtO9IgJet/UL67luT1MaaggRpGK73DBQct5Q4pipwFQcIKK1GbMODYd4UfsRCkSP1DA==",
|
||||
"requires": {
|
||||
"@ljharb/through": "^2.3.12",
|
||||
"@ljharb/through": "^2.3.13",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"chalk": "^5.3.0",
|
||||
"cli-cursor": "^3.1.0",
|
||||
|
|
@ -8183,14 +8095,13 @@
|
|||
"integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
|
||||
},
|
||||
"lightning": {
|
||||
"version": "10.5.1",
|
||||
"resolved": "https://registry.npmjs.org/lightning/-/lightning-10.5.1.tgz",
|
||||
"integrity": "sha512-hnhBCYeeIVisLwHe28A5QdqvwxkG6kPyNiUWrSQ9Xov6MD3ZdtFFgDf5OH1IPAzLwc0U7w0TRf6K4wWR0svUfg==",
|
||||
"dev": true,
|
||||
"version": "10.7.1",
|
||||
"resolved": "https://registry.npmjs.org/lightning/-/lightning-10.7.1.tgz",
|
||||
"integrity": "sha512-q68Jd0OUWFHU6/wf1LcRMqmj2uldoSzOfB2Plecw45NznXpGSL4mHq0cLVGbYhEaclxdIXnmApSlkk5isp7KkQ==",
|
||||
"requires": {
|
||||
"@grpc/grpc-js": "1.10.0",
|
||||
"@grpc/grpc-js": "1.10.2",
|
||||
"@grpc/proto-loader": "0.7.10",
|
||||
"@types/node": "20.11.17",
|
||||
"@types/node": "20.11.27",
|
||||
"@types/request": "2.48.12",
|
||||
"@types/ws": "8.5.10",
|
||||
"async": "3.2.5",
|
||||
|
|
@ -8203,24 +8114,22 @@
|
|||
"invoices": "3.0.0",
|
||||
"psbt": "3.0.0",
|
||||
"tiny-secp256k1": "2.2.3",
|
||||
"type-fest": "4.10.2"
|
||||
"type-fest": "4.12.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.0.tgz",
|
||||
"integrity": "sha512-tx+eoEsqkMkLCHR4OOplwNIaJ7SVZWzeVKzEMBz8VR+TbssgBYOP4a0P+KQiQ6LaTG4SGaIEu7YTS8xOmkOWLA==",
|
||||
"dev": true,
|
||||
"version": "1.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.2.tgz",
|
||||
"integrity": "sha512-lSbgu8iayAod8O0YcoXK3+bMFGThY2svtN35Zlm9VepsB3jfyIcoupKknEht7Kh9Q8ITjsp0J4KpYo9l4+FhNg==",
|
||||
"requires": {
|
||||
"@grpc/proto-loader": "^0.7.8",
|
||||
"@types/node": ">=12.12.47"
|
||||
"@grpc/proto-loader": "^0.7.10",
|
||||
"@js-sdsl/ordered-map": "^4.4.2"
|
||||
}
|
||||
},
|
||||
"@grpc/proto-loader": {
|
||||
"version": "0.7.10",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
|
||||
"integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash.camelcase": "^4.3.0",
|
||||
"long": "^5.0.0",
|
||||
|
|
@ -8228,32 +8137,20 @@
|
|||
"yargs": "^17.7.2"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "20.11.17",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz",
|
||||
"integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"bolt09": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bolt09/-/bolt09-2.0.0.tgz",
|
||||
"integrity": "sha512-QtQiDx/nLMMwj+eaJ2tl2UoMa/8K2d8TfRVznHL0DP3cE/bYl4dPueQvSjqej9FVj+iMtrkpkIE5InuodpHmpg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-QtQiDx/nLMMwj+eaJ2tl2UoMa/8K2d8TfRVznHL0DP3cE/bYl4dPueQvSjqej9FVj+iMtrkpkIE5InuodpHmpg=="
|
||||
},
|
||||
"long": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
|
||||
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
|
||||
"dev": true
|
||||
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "4.10.2",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz",
|
||||
"integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==",
|
||||
"dev": true
|
||||
"version": "4.12.0",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.12.0.tgz",
|
||||
"integrity": "sha512-5Y2/pp2wtJk8o08G0CMkuFPCO354FGwk/vbidxrdhRGZfd0tFnb4Qb8anp9XxXriwBgVPjdWbKpGl4J9lJY2jQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -8931,9 +8828,9 @@
|
|||
}
|
||||
},
|
||||
"ln-docker-daemons": {
|
||||
"version": "6.0.10",
|
||||
"resolved": "https://registry.npmjs.org/ln-docker-daemons/-/ln-docker-daemons-6.0.10.tgz",
|
||||
"integrity": "sha512-XLFVqVSewlfBENQNlB+x48VgMxXwiEzBts+bew7vhYLn56AshKBqc/2leAAthqS8uzlIubbYP62RBHCtffk3lQ==",
|
||||
"version": "6.0.12",
|
||||
"resolved": "https://registry.npmjs.org/ln-docker-daemons/-/ln-docker-daemons-6.0.12.tgz",
|
||||
"integrity": "sha512-xtWg2XXME6hF5yCk14AjgkMECwJEe0F9WwIq5Xzx/2bWwjcLkxAORN8/Jnc+FIYds9bBIGJ0Yq6NAY4u0q53DA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@alexbosworth/node-fetch": "2.6.2",
|
||||
|
|
@ -8941,87 +8838,19 @@
|
|||
"asyncjs-util": "1.2.12",
|
||||
"dockerode": "4.0.2",
|
||||
"find-free-ports": "3.1.1",
|
||||
"lightning": "10.5.1",
|
||||
"lightning": "10.7.1",
|
||||
"tar-stream": "3.1.7"
|
||||
}
|
||||
},
|
||||
"ln-service": {
|
||||
"version": "57.6.0",
|
||||
"resolved": "https://registry.npmjs.org/ln-service/-/ln-service-57.6.0.tgz",
|
||||
"integrity": "sha512-9e0ridPfISUiMCtZdBL7x7yYBTaMyNFGePk1EFm3AuI64IeC30HnEo4r5wOOSW1rtUitV9kHwlatrLJD2TU2SA==",
|
||||
"version": "57.7.1",
|
||||
"resolved": "https://registry.npmjs.org/ln-service/-/ln-service-57.7.1.tgz",
|
||||
"integrity": "sha512-VZDcKPTg8G0m/rgjCUfJn+M+Cm/HJWMnTKyTIWGVm//bbuVljeNKLdg0HLNJhUcQGB55C6KBTchreOltf/6PkQ==",
|
||||
"requires": {
|
||||
"bolt07": "1.8.4",
|
||||
"invoices": "3.0.0",
|
||||
"lightning": "10.6.0",
|
||||
"lightning": "10.7.1",
|
||||
"macaroon": "3.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": {
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.1.tgz",
|
||||
"integrity": "sha512-55ONqFytZExfOIjF1RjXPcVmT/jJqFzbbDqxK9jmRV4nxiYWtL9hENSW1Jfx0SdZfrvoqd44YJ/GJTqfRrawSQ==",
|
||||
"requires": {
|
||||
"@grpc/proto-loader": "^0.7.8",
|
||||
"@types/node": ">=12.12.47"
|
||||
}
|
||||
},
|
||||
"@grpc/proto-loader": {
|
||||
"version": "0.7.10",
|
||||
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
|
||||
"integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
|
||||
"requires": {
|
||||
"lodash.camelcase": "^4.3.0",
|
||||
"long": "^5.0.0",
|
||||
"protobufjs": "^7.2.4",
|
||||
"yargs": "^17.7.2"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "20.11.19",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz",
|
||||
"integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==",
|
||||
"requires": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"bolt09": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bolt09/-/bolt09-2.0.0.tgz",
|
||||
"integrity": "sha512-QtQiDx/nLMMwj+eaJ2tl2UoMa/8K2d8TfRVznHL0DP3cE/bYl4dPueQvSjqej9FVj+iMtrkpkIE5InuodpHmpg=="
|
||||
},
|
||||
"lightning": {
|
||||
"version": "10.6.0",
|
||||
"resolved": "https://registry.npmjs.org/lightning/-/lightning-10.6.0.tgz",
|
||||
"integrity": "sha512-wH0PchhK23AG1feoYw+wgvclvcMGgcUM/+2Kb+v8x5b1QaHOKhnBs1TwZ2609wESZADjJyxDBhV9p7xrSGczUQ==",
|
||||
"requires": {
|
||||
"@grpc/grpc-js": "1.10.1",
|
||||
"@grpc/proto-loader": "0.7.10",
|
||||
"@types/node": "20.11.19",
|
||||
"@types/request": "2.48.12",
|
||||
"@types/ws": "8.5.10",
|
||||
"async": "3.2.5",
|
||||
"asyncjs-util": "1.2.12",
|
||||
"bitcoinjs-lib": "6.1.5",
|
||||
"bn.js": "5.2.1",
|
||||
"bolt07": "1.8.4",
|
||||
"bolt09": "2.0.0",
|
||||
"ecpair": "2.1.0",
|
||||
"invoices": "3.0.0",
|
||||
"psbt": "3.0.0",
|
||||
"tiny-secp256k1": "2.2.3",
|
||||
"type-fest": "4.10.2"
|
||||
}
|
||||
},
|
||||
"long": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
|
||||
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "4.10.2",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz",
|
||||
"integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"ln-sync": {
|
||||
|
|
|
|||
12
package.json
12
package.json
|
|
@ -28,16 +28,16 @@
|
|||
"cbor": "9.0.2",
|
||||
"colorette": "2.0.20",
|
||||
"crypto-js": "4.2.0",
|
||||
"csv-parse": "5.5.3",
|
||||
"csv-parse": "5.5.5",
|
||||
"ecpair": "2.1.0",
|
||||
"goldengate": "13.0.2",
|
||||
"grammy": "1.21.1",
|
||||
"hot-formula-parser": "4.0.0",
|
||||
"import-lazy": "4.0.0",
|
||||
"ini": "4.1.1",
|
||||
"inquirer": "9.2.15",
|
||||
"ini": "4.1.2",
|
||||
"inquirer": "9.2.16",
|
||||
"ln-accounting": "7.0.2",
|
||||
"ln-service": "57.6.0",
|
||||
"ln-service": "57.7.1",
|
||||
"ln-sync": "6.0.0",
|
||||
"ln-telegram": "6.1.1",
|
||||
"moment": "2.30.1",
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
"description": "Lightning balance CLI",
|
||||
"devDependencies": {
|
||||
"invoices": "3.0.0",
|
||||
"ln-docker-daemons": "6.0.10",
|
||||
"ln-docker-daemons": "6.0.12",
|
||||
"mock-lnd": "1.4.4"
|
||||
},
|
||||
"engines": {
|
||||
|
|
@ -82,5 +82,5 @@
|
|||
"postpublish": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t alexbosworth/balanceofsatoshis -t alexbosworth/balanceofsatoshis:$npm_package_version --push .",
|
||||
"test": "npx nyc@15.1.0 node --experimental-test-coverage --test test/arrays/*.js test/balances/*.js test/chain/*.js test/display/*.js test/encryption/*.js test/lnd/*.js test/network/*.js test/nodes/*.js test/peers/*.js test/responses/*.js test/routing/*.js test/services/*.js test/swaps/*.js test/tags/*.js test/telegram/*.js test/wallets/*.js"
|
||||
},
|
||||
"version": "17.8.1"
|
||||
"version": "17.9.0"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ const {addPeer} = require('ln-service');
|
|||
const asyncAuto = require('async/auto');
|
||||
const asyncDetectSeries = require('async/detectSeries');
|
||||
const asyncRetry = require('async/retry');
|
||||
const {getNode} = require('ln-service');
|
||||
const {returnResult} = require('asyncjs-util');
|
||||
|
||||
const {isArray} = Array;
|
||||
|
|
@ -13,12 +14,14 @@ const times = 10;
|
|||
{
|
||||
id: <Node Identity Public Key Hex String>
|
||||
lnd: <Authenticated LND API Object>
|
||||
sockets: [<Peer Networking Socket String>]
|
||||
[logger]: <Winston Logger Object>
|
||||
[retries]: <Iterations to Retry Connection Number>
|
||||
[sockets]: [<Peer Networking Socket String>]
|
||||
}
|
||||
|
||||
@returns via cbk or Promise
|
||||
*/
|
||||
module.exports = ({id, lnd, sockets}, cbk) => {
|
||||
module.exports = ({id, lnd, logger, retries, sockets}, cbk) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
return asyncAuto({
|
||||
// Check arguments
|
||||
|
|
@ -31,17 +34,36 @@ module.exports = ({id, lnd, sockets}, cbk) => {
|
|||
return cbk([400, 'ExpectedLndToConnectToPeer']);
|
||||
}
|
||||
|
||||
if (!isArray(sockets)) {
|
||||
if (retries === 0) {
|
||||
return cbk([400, 'UnsupportedValueForConnectToPeerRetries']);
|
||||
}
|
||||
|
||||
if (!!sockets && !isArray(sockets)) {
|
||||
return cbk([400, 'ExpectedArrayOfSocketsToConnectToNode']);
|
||||
}
|
||||
|
||||
return cbk();
|
||||
},
|
||||
|
||||
// Determine the sockets for a node
|
||||
getSockets: ['validate', ({}, cbk) => {
|
||||
if (!!sockets) {
|
||||
return cbk(null, {sockets: sockets.map(socket => ({socket}))});
|
||||
}
|
||||
|
||||
return getNode({lnd, is_omitting_channels: true, public_key: id}, cbk);
|
||||
}],
|
||||
|
||||
// Connect to the peer
|
||||
connect: ['validate', ({}, cbk) => {
|
||||
return asyncRetry({times}, cbk => {
|
||||
connect: ['getSockets', ({getSockets}, cbk) => {
|
||||
const sockets = getSockets.sockets.map(n => n.socket);
|
||||
|
||||
return asyncRetry({times: retries || times}, cbk => {
|
||||
return asyncDetectSeries(sockets, (socket, cbk) => {
|
||||
if (!!logger) {
|
||||
logger.info({attempting_connection_to: socket});
|
||||
}
|
||||
|
||||
return addPeer({lnd, socket, public_key: id}, err => {
|
||||
return cbk(null, !err);
|
||||
});
|
||||
|
|
@ -55,6 +77,10 @@ module.exports = ({id, lnd, sockets}, cbk) => {
|
|||
return cbk([503, 'FailedToConnectToPeerSocket', ({peer: id})]);
|
||||
}
|
||||
|
||||
if (!!logger) {
|
||||
return logger.info({connected_via: res});
|
||||
}
|
||||
|
||||
return setTimeout(() => cbk(null, true), peerAddedDelayMs);
|
||||
});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
const connectToPeer = require('./connect_to_peer');
|
||||
const findTagMatch = require('./find_tag_match');
|
||||
const interceptInboundChannels = require('./intercept_inbound_channels');
|
||||
const limitForwarding = require('./limit_forwarding');
|
||||
const openChannels = require('./open_channels');
|
||||
|
||||
module.exports = {
|
||||
connectToPeer,
|
||||
findTagMatch,
|
||||
interceptInboundChannels,
|
||||
limitForwarding,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue