diff options
| author | Adam Soltys <[email protected]> | 2024-05-14 15:40:39 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-05-14 15:40:39 -0700 |
| commit | 7f2866082c65dc79bd484f041728ebbc98415a60 (patch) | |
| tree | 959ed5fe32d3014184c2046206ffa4caded5529b /src/routes/(app) | |
| parent | af1e4ac3083ef9e38c79c0977db90c2899c6b3e1 (diff) | |
| download | coinos-ui-channels.tar.gz coinos-ui-channels.zip | |
channelschannels
Diffstat (limited to 'src/routes/(app)')
| -rw-r--r-- | src/routes/(app)/admin/channels/+page.svelte | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/src/routes/(app)/admin/channels/+page.svelte b/src/routes/(app)/admin/channels/+page.svelte index 7de36be3..848686b7 100644 --- a/src/routes/(app)/admin/channels/+page.svelte +++ b/src/routes/(app)/admin/channels/+page.svelte @@ -7,7 +7,7 @@ let { nodes } = nodeData; let { peers } = peerData; let { nodes: n } = index.pageProps; - console.log(n) + console.log(n); let channels = []; peers.map((p) => @@ -16,39 +16,66 @@ ...c, pid: p.id, peer: nodes.find((n) => n.nodeid === p.id)?.alias || p.id.substr(0, 6), + balance: (c.total_msat - c.to_us_msat) / c.total_msat, + ratio: (c.in_fulfilled_msat + c.out_fulfilled_msat) / c.total_msat, + inbound: c.total_msat - c.to_us_msat, })) ) ); // channels = channels.sort((a, b) => a.receivable_msat - b.receivable_msat); // channels = channels.sort((a, b) => (b.in_fulfilled_msat / b.total_msat) - (a.in_fulfilled_msat / a.total_msat)); - channels = channels.sort((a, b) => a.total_msat - b.total_msat); - let low = channels.filter((c) => c.total_msat < 5000000000); + $: channels = channels.sort((a, b) => !!dir ? a[sort] - b[sort] : b[sort] - a[sort]); + let low = channels.filter((c) => c.to_us_msat > 5000000000 && c.ratio < 3); let f = (n) => sat(n / 1000); + let sort = "to_us_msat"; + let dir; </script> + {low.length} <div> - '[{#each channels as c} "{c.short_channel_id}/{c.direction}", {/each}]' + '[{#each low as c} "{c.short_channel_id}/{c.direction}", {/each}]' </div> +<select bind:value={sort}> + <option value="inbound">Inbound</option> + <option value="to_us_msat">Outbound</option> + <option value="in_fulfilled_msat">In Fulfilled</option> + <option value="out_fulfilled_msat">Out Fulfilled</option> + <option value="ratio">Ratio</option> + <option value="balance">Balance</option> +</select> + +<select bind:value={dir}> + <option value={1}>Up</option> + <option value={0}>Down</option> +</select> + <div class="flex flex-wrap gap-2"> {#each channels as c} <div class="p-4 border"> - <div>{c.peer} {c.pid.substr(0, 6)} {c.short_channel_id}/{c.direction}</div> + <div> + {c.peer} + {c.pid.substr(0, 6)} + {c.short_channel_id}/{c.direction} + </div> <!-- <div>Receivable {f(c.receivable_msat / 1000)}</div> --> <!-- <div>Spendable {f(c.spendable_msat)}</div> --> - <div>Inbound {f(c.total_msat - c.to_us_msat)}</div> + <div>Inbound {f(c.inbound)}</div> <div>Outbound {f(c.to_us_msat)}</div> <div>Total {f(c.total_msat)}</div> <div>In {f(c.in_fulfilled_msat)}</div> <div>Out {f(c.out_fulfilled_msat)}</div> - <div>Ratio {(c.in_fulfilled_msat / c.total_msat).toFixed(2)}</div> + <div>Ratio {c.ratio.toFixed(2)}</div> + <div>Balance {c.balance.toFixed(2)}</div> <div>Base {c.fee_base_msat}</div> <div>PPM {c.fee_proportional_millionths}</div> <div> - Score {n.find((node) => node.pubkey === c.pid)?.inboundEfficiency.toFixed(2) || 0} + Score {n + .find((node) => node.pubkey === c.pid) + ?.inboundEfficiency.toFixed(2) || 0} </div> </div> {/each} |
