github.com/trezor/blockbook@v0.4.1-0.20240328132726-e9a08582ee2c/static/templates/xpub.html (about) 1 {{define "specific"}}{{$addr := .Address}}{{$data := .}} 2 <div class="row"> 3 <div class="col-md-10 order-2 order-md-1"> 4 <h1>XPUB</h1> 5 <h5 class="col-12 d-flex h-data pb-2"><span class="ellipsis copyable">{{$addr.AddrStr}}</span></h5> 6 <h4 class="row"> 7 <div class="col-lg-6">{{formattedAmountSpan $addr.BalanceSat 0 $data.CoinShortcut $data "copyable"}}</div> 8 {{if $addr.SecondaryValue}}<div class="col-lg-6">{{summaryValuesSpan 0 $addr.SecondaryValue $data}}</div>{{end}} 9 </h4> 10 </div> 11 <div class="col-md-2 order-1 order-md-2 d-flex justify-content-center justify-content-md-end mb-3 mb-md-0"> 12 <div id="qrcode"></div> 13 <script type="text/javascript" src="/static/js/qrcode.min.js"></script> 14 <script type="text/javascript"> 15 new QRCode(document.getElementById("qrcode"), { text: "{{$addr.AddrStr}}", width: 120, height: 120 }); 16 </script> 17 </div> 18 </div> 19 <table class="table data-table info-table"> 20 <tbody> 21 <tr> 22 <td style="white-space: nowrap;"><h5>Confirmed</h5></td> 23 <td></td> 24 </tr> 25 <tr> 26 <td style="width: 25%;">Total Received</td> 27 <td>{{amountSpan $addr.TotalReceivedSat $data "copyable"}}</td> 28 </tr> 29 <tr> 30 <td>Total Sent</td> 31 <td>{{amountSpan $addr.TotalSentSat $data "copyable"}}</td> 32 </tr> 33 <tr> 34 <td>Final Balance</td> 35 <td>{{amountSpan $addr.BalanceSat $data "copyable"}}</td> 36 </tr> 37 <tr> 38 <td>No. Transactions</td> 39 <td>{{formatInt $addr.Txs}}</td> 40 </tr> 41 <tr> 42 <td>Used XPUB Addresses</td> 43 <td>{{formatInt $addr.UsedTokens}}</td> 44 </tr> 45 </tbody> 46 </table> 47 <table class="table data-table"> 48 <tbody> 49 <tr> 50 <td style="white-space: nowrap; width: 50%;"><h5>{{if $data.NonZeroBalanceTokens}}XPUB Addresses with Balance{{else}}XPUB Addresses{{end}}</h5></td> 51 <td colspan="3"></td> 52 </tr> 53 {{if $addr.Tokens}} 54 <tr> 55 <th>Address</th> 56 <th>Balance</th> 57 <th>Txs</th> 58 <th>Path</th> 59 </tr> 60 {{range $t := $addr.Tokens}} 61 <tr> 62 <td class="ellipsis"><a href="/address/{{$t.Name}}" class="copyable">{{$t.Name}}</a></td> 63 <td>{{amountSpan $t.BalanceSat $data "copyable"}}</td> 64 <td>{{formatInt $t.Transfers}}</td> 65 <td>{{$t.Path}}</td> 66 </tr> 67 {{end}} 68 {{else}} 69 <tr> 70 <td colspan="4">No addresses</td> 71 </tr> 72 {{end}} 73 </tbody> 74 </table> 75 <div class="row mb-4"> 76 <div class="col-12"> 77 {{if $data.NonZeroBalanceTokens}} 78 <a href="?tokens=used" class="ms-3 me-3">Show used XPUB addresses</a><a href="?tokens=derived">Show all derived XPUB addresses</a> 79 {{else}} 80 <a href="?tokens=nonzero" class="ms-3 me-3">Show XPUB addresses with nonzero balance</a> 81 {{end}} 82 </div> 83 </div> 84 {{if $addr.UnconfirmedTxs}} 85 <table class="table data-table info-table"> 86 <tbody> 87 <tr> 88 <td style="white-space: nowrap;"><h5>Unconfirmed</h5></td> 89 <td></td> 90 </tr> 91 <tr> 92 <td style="width: 25%;">Unconfirmed Balance</td> 93 <td>{{amountSpan $addr.UnconfirmedBalanceSat $data "copyable"}}</td> 94 </tr> 95 <tr> 96 <td>No. Transactions</td> 97 <td>{{formatInt $addr.UnconfirmedTxs}}</td> 98 </tr> 99 </tbody> 100 </table> 101 {{end}} 102 {{if or $addr.Transactions $addr.Filter}} 103 <div class="row pt-3 pb-1"> 104 <h3 class="col-sm-6 col-lg-3 m-0 align-self-center">Transactions</h3> 105 <div class="col-sm-6 col-lg-3 my-2 my-lg-0 align-self-center"> 106 <select class="w-100" onchange="self.location='?filter='+options[selectedIndex].value"> 107 <option>All</option> 108 <option {{if eq $addr.Filter "inputs"}}selected{{end}} value="inputs">XPUB addresses on input side</option> 109 <option {{if eq $addr.Filter "outputs"}}selected{{end}} value="outputs">XPUB addresses on output side</option> 110 </select> 111 </div> 112 <div class="col-lg-6"> 113 {{template "paging" $data}} 114 </div> 115 </div> 116 <div> 117 {{range $tx := $addr.Transactions}}{{$data := setTxToTemplateData $data $tx}}{{template "txdetail" $data}}{{end}} 118 </div> 119 {{template "paging" $data }} 120 {{end}}{{end}}