Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,18 @@ jobs:
with:
fetch-depth: 0

- name: linter cache
uses: actions/cache@v4
with:
path: |
/tmp/go-lint-cache
key: ${{ runner.os }}-go-${{ env.GO_VERSION }}-linter-${{ hashFiles('**/go.sum') }}

- name: Cache Docker images.
uses: ScribeMD/docker-cache@0.5.0
with:
key: docker-${{ runner.os }}-${{ hashFiles('**/go.sum') }}

- name: lint
run: make lint

Expand Down
345 changes: 178 additions & 167 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion cmd/chantools/zombierecovery_findmatches.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ func newZombieRecoveryFindMatchesCommand() *cobra.Command {
cc := &zombieRecoveryFindMatchesCommand{}
cc.cmd = &cobra.Command{
Use: "findmatches",
Short: "[0/3] Match maker only: Find matches between " +
Short: "[0/3] Matchmaker only: Find matches between " +
"registered nodes",
Long: `Match maker only: Runs through all the nodes that have
registered their ID on https://www.node-recovery.com and checks whether there
Expand Down
5 changes: 4 additions & 1 deletion doc/chantools_zombierecovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ to help with recovering funds stuck in zombie channels.
Please visit https://github.com/lightninglabs/chantools/blob/master/doc/zombierecovery.md
for more information on how to use these commands.

Check out https://guggero.github.io/chantools/doc/command-generator.html for an
interactive GUI that guides you through the different steps.

```
chantools zombierecovery [flags]
```
Expand All @@ -33,7 +36,7 @@ chantools zombierecovery [flags]
### SEE ALSO

* [chantools](chantools.md) - Chantools helps recover funds from lightning channels
* [chantools zombierecovery findmatches](chantools_zombierecovery_findmatches.md) - [0/3] Match maker only: Find matches between registered nodes
* [chantools zombierecovery findmatches](chantools_zombierecovery_findmatches.md) - [0/3] Matchmaker only: Find matches between registered nodes
* [chantools zombierecovery makeoffer](chantools_zombierecovery_makeoffer.md) - [2/3] Make an offer on how to split the funds to recover
* [chantools zombierecovery preparekeys](chantools_zombierecovery_preparekeys.md) - [1/3] Prepare all public keys for a recovery attempt
* [chantools zombierecovery signoffer](chantools_zombierecovery_signoffer.md) - [3/3] Sign an offer sent by the remote peer to recover funds
Expand Down
2 changes: 1 addition & 1 deletion doc/chantools_zombierecovery_findmatches.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### Synopsis

Match maker only: Runs through all the nodes that have
Matchmaker only: Runs through all the nodes that have
registered their ID on https://www.node-recovery.com and checks whether there
are any matches of channels between them by looking at the whole channel graph.

Expand Down
10 changes: 10 additions & 0 deletions doc/command-generator/src/App.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
<template>
<div id="app" class="container mt-5">
<h1 class="mb-4">chantools command generator</h1>
<p class="lead">
This tool helps you generate the correct command line arguments for
various chantools commands based on your scenario.<br/>
You must have <code>chantools</code> installed on your system to run the
generated commands. See the
<a href="https://github.com/lightninglabs/chantools#installation">installation instructions</a>.
<br/><br/>
Once you have installed <code>chantools</code>, start by specifying the
global options below, then pick a command to run.
</p>
<GlobalOptions @global-args-changed="updateGlobalArgs" />
<CommandSelector
v-if="!selectedCommand"
Expand Down
15 changes: 13 additions & 2 deletions doc/command-generator/src/components/CommandGenerator.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
:is="command.name"
@generate-args="onGenerateArgs"
:command="command"
:global-args="globalArgs"
v-if="command.name"
/>
<div class="generated-command mt-4">
<div class="generated-command mt-4" v-if="!hideCommandOutput">
<h3>Generated Command:</h3>
<pre
class="alert alert-secondary"
Expand All @@ -19,6 +20,7 @@
<script>
import SweepRemoteClosed from './SweepRemoteClosed.vue';
import TriggerForceClose from './TriggerForceClose.vue';
import ZombieRecovery from './ZombieRecovery.vue';

function commandString(comp) {
let commandName = comp.command.name || '';
Expand Down Expand Up @@ -67,6 +69,7 @@ export default {
components: {
SweepRemoteClosed,
TriggerForceClose,
ZombieRecovery,
},
props: {
command: {
Expand All @@ -85,19 +88,27 @@ export default {
return {
generatedCommand: commandString(this),
pageArgs: {},
hideCommandOutput: false,
};
},
methods: {
goBack() {
this.$emit('back');
},
onGenerateArgs(args) {
this.pageArgs = args;
if (args.hide) {
this.hideCommandOutput = true;
this.pageArgs = {};
} else {
this.hideCommandOutput = false;
this.pageArgs = args;
}
this.generatedCommand = commandString(this);
},
},
watch: {
command() {
this.hideCommandOutput = false;
this.generatedCommand = commandString(this);
},
globalArgs() {
Expand Down
12 changes: 12 additions & 0 deletions doc/command-generator/src/components/CommandSelector.vue
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@
the channels that were just force-closed and confirmed in the previous
step.
</li>
<li>
For any remaining channels where neither party has channel data
anymore, run <code>ZombieRecovery</code> to try and recover funds
with the cooperation of the remote peer (requires you to be in contact
with the remote node operator).
</li>
</ol>
<div class="command-list">
<div
Expand Down Expand Up @@ -64,6 +70,12 @@ export default {
'Requires the peer to be online, reachable and still have the ' +
'channel data.',
},
{
name: 'ZombieRecovery',
description: 'A multi-step process to rescue funds from channels ' +
'where both nodes have lost their channel data. This requires ' +
'cooperation from the channel peer.',
},
],
};
},
Expand Down
Loading
Loading