Skip to content

Commit

Permalink
webui/scripts: show transaction count
Browse files Browse the repository at this point in the history
  • Loading branch information
RaghavSood committed Jun 7, 2024
1 parent 3091d5f commit 88b060b
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 22 deletions.
43 changes: 22 additions & 21 deletions storage/sqlite/burn_scripts.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ func (d *SqliteBackend) GetBurnScriptSummary(script string) (types.BurnScriptSum
bs.confidence_level,
bs.provenance,
bs.script_group,
COUNT(DISTINCT(l.tx_id)) AS transactions,
SUM(l.amount) AS total_loss
FROM
burn_scripts bs
Expand All @@ -75,7 +76,7 @@ func (d *SqliteBackend) GetBurnScriptSummary(script string) (types.BurnScriptSum
bs.script`

var summary types.BurnScriptSummary
err := d.db.QueryRow(query, script).Scan(&summary.Script, &summary.ConfidenceLevel, &summary.Provenance, &summary.Group, &summary.TotalLoss)
err := d.db.QueryRow(query, script).Scan(&summary.Script, &summary.ConfidenceLevel, &summary.Provenance, &summary.Group, &summary.Transactions, &summary.TotalLoss)

return summary, err
}
Expand All @@ -86,6 +87,7 @@ func (d *SqliteBackend) GetBurnScriptSummariesForGroup(group string) ([]types.Bu
bs.confidence_level,
bs.provenance,
bs.script_group,
COUNT(DISTINCT(l.tx_id)) AS transactions,
SUM(l.amount) AS total_loss
FROM
burn_scripts bs
Expand All @@ -103,17 +105,9 @@ func (d *SqliteBackend) GetBurnScriptSummariesForGroup(group string) ([]types.Bu

defer rows.Close()

var summaries []types.BurnScriptSummary
for rows.Next() {
var summary types.BurnScriptSummary
err = rows.Scan(&summary.Script, &summary.ConfidenceLevel, &summary.Provenance, &summary.Group, &summary.TotalLoss)
if err != nil {
return nil, err
}
summaries = append(summaries, summary)
}
summaries, err := scanBurnScriptSummaries(rows)

return summaries, nil
return summaries, err
}

func (d *SqliteBackend) GetBurnScriptSummaries(limit int) ([]types.BurnScriptSummary, error) {
Expand All @@ -122,6 +116,7 @@ func (d *SqliteBackend) GetBurnScriptSummaries(limit int) ([]types.BurnScriptSum
bs.confidence_level,
bs.provenance,
bs.script_group,
COUNT(DISTINCT(l.tx_id)) AS transactions,
SUM(l.amount) AS total_loss
FROM
burn_scripts bs
Expand All @@ -139,17 +134,9 @@ func (d *SqliteBackend) GetBurnScriptSummaries(limit int) ([]types.BurnScriptSum
}
defer rows.Close()

var summaries []types.BurnScriptSummary
for rows.Next() {
var summary types.BurnScriptSummary
err = rows.Scan(&summary.Script, &summary.ConfidenceLevel, &summary.Provenance, &summary.Group, &summary.TotalLoss)
if err != nil {
return nil, err
}
summaries = append(summaries, summary)
}
summaries, err := scanBurnScriptSummaries(rows)

return summaries, nil
return summaries, err
}

func (d *SqliteBackend) BurnScriptExists(script string) (bool, error) {
Expand All @@ -161,6 +148,20 @@ func (d *SqliteBackend) BurnScriptExists(script string) (bool, error) {
return exists, nil
}

func scanBurnScriptSummaries(rows *sql.Rows) ([]types.BurnScriptSummary, error) {
var summaries []types.BurnScriptSummary
for rows.Next() {
var summary types.BurnScriptSummary
err := rows.Scan(&summary.Script, &summary.ConfidenceLevel, &summary.Provenance, &summary.Group, &summary.Transactions, &summary.TotalLoss)
if err != nil {
return nil, err
}
summaries = append(summaries, summary)
}

return summaries, nil
}

func scanBurnScripts(rows *sql.Rows) ([]types.BurnScript, error) {
var scripts []types.BurnScript
for rows.Next() {
Expand Down
3 changes: 2 additions & 1 deletion templates/script.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
<div class="container mx-auto p-4">
<div class="border rounded-lg border-slate-700 bg-slate-950/30 p-4">
<h1 class="text-2xl font-semibold break-words">Script <span class="select-all">{{ .ScriptSummary.Script }}</span></h1>
<h3 class="text-lg text-gray-400 font-mono">Total Lost {{ .ScriptSummary.TotalLoss.SatoshisToBTC true }} BTC</a></h3>
<h3 class="text-lg text-gray-400 font-mono">Total Lost: {{ .ScriptSummary.TotalLoss.SatoshisToBTC true }} BTC</a></h3>
<h3 class="text-lg text-gray-400 font-mono">Transactions: {{ .ScriptSummary.Transactions }}</a></h3>
</div>
<table class="min-w-full bg-slate-950/30 border border-slate-700">
<thead>
Expand Down
2 changes: 2 additions & 0 deletions templates/scripts.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<tr>
<th class="text-start px-4 py-2 border-b border-slate-700">Script</th>
<th class="text-start px-4 py-2 border-b border-slate-700">Group</th>
<th class="text-start px-4 py-2 border-b border-slate-700">Transactions</th>
<th class="text-start px-4 py-2 border-b border-slate-700">Confidence Level</th>
<th class="text-start px-4 py-2 border-b border-slate-700">Total Lost</th>
</tr>
Expand All @@ -15,6 +16,7 @@
<tr>
<td class="px-4 py-2 border-b border-slate-700 break-all"><a class="text-sky-400/70 hover:underline hover:decoration-dotted hover:text-slate-200" href="/script/{{ .Script }}">{{ .Script }}</a></td>
<td class="px-4 py-2 border-b border-slate-700"><a class="text-sky-400/70 hover:underline hover:decoration-dotted hover:text-slate-200" href="/scriptgroup/{{ .Group }}">{{ .Group }}</a></td>
<td class="px-4 py-2 border-b border-slate-700">{{ .Transactions }}</td>
<td class="px-4 py-2 border-b border-slate-700">{{ .ConfidenceLevel }}</td>
<td class="px-4 py-2 border-b border-slate-700">{{ .TotalLoss.SatoshisToBTC true }} BTC</td>
</tr>
Expand Down
1 change: 1 addition & 0 deletions types/burn_script_summary.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ type BurnScriptSummary struct {
ConfidenceLevel string
Provenance string
Group string
Transactions int
TotalLoss *BigInt
}

0 comments on commit 88b060b

Please sign in to comment.