github.com/cryptohub-digital/blockbook-fork@v0.0.0-20230713133354-673c927af7f1/static/templates/tx.html (about) 1 {{define "specific"}}{{$tx := .Tx}}{{$data := .}} 2 <div class="row"> 3 <h1 class="col-12">Transaction</h1> 4 </div> 5 <div class="row pt-3"> 6 <h5 class="col-12 d-flex h-data"><span class="ellipsis copyable">{{$tx.Txid}}</span></h5> 7 </div> 8 <table class="table data-table info-table"> 9 <tbody> 10 {{if $tx.Confirmations}} 11 <tr> 12 <td>Mined Time</td> 13 <td>{{unixTimeSpan $tx.Blocktime}}</td> 14 </tr> 15 {{end}} 16 <tr> 17 <td>In Block</td> 18 <td class="ellipsis" style="max-width: 280px">{{if $tx.Confirmations}}{{$tx.Blockhash}}{{else}}<span class="badge bg-danger">Unconfirmed</span>{{end}}</td> 19 </tr> 20 {{if $tx.Confirmations}} 21 <tr> 22 <td>In Block Height</td> 23 <td><a href="/block/{{$tx.Blockheight}}">{{formatInt $tx.Blockheight}}</a></td> 24 </tr> 25 {{end}} 26 {{if $tx.EthereumSpecific}} 27 <tr> 28 <td>Status</td> 29 {{if $tx.EthereumSpecific.Status}} 30 {{if eq $tx.EthereumSpecific.Status 1}} 31 <td><span class="badge bg-success">Success</span></td> 32 {{else}} 33 {{if eq $tx.EthereumSpecific.Status -1}} 34 <td>Pending</td> 35 {{else}} 36 <td>Unknown</td> 37 {{end}} 38 {{end}} 39 {{else}} 40 <td><span class="badge bg-danger">Failed</span>{{if $tx.EthereumSpecific.Error}}<span class="text-danger small fw-normal ms-1"> {{$tx.EthereumSpecific.Error}}{{end}}</td> 41 {{end}} 42 </tr> 43 <tr> 44 <td>Value</td> 45 <td>{{amountSpan $tx.ValueOutSat $data "copyable"}}</td> 46 </tr> 47 <tr> 48 <td>Gas Used / Limit</td> 49 <td>{{if $tx.EthereumSpecific.GasUsed}}{{formatBigInt $tx.EthereumSpecific.GasUsed}}{{else}}pending{{end}} / {{formatBigInt $tx.EthereumSpecific.GasLimit}}</td> 50 </tr> 51 <tr> 52 <td>Gas Price</td> 53 <td>{{amountSpan $tx.EthereumSpecific.GasPrice $data "copyable"}} <span class="fw-normal ps-3">({{amountSatsSpan $tx.EthereumSpecific.GasPrice $data "copyable"}} Gwei)</span></td> 54 </tr> 55 {{else}} 56 {{if $tx.CoreCoinSpecific}} 57 <tr> 58 <td>Status</td> 59 {{if $tx.CoreCoinSpecific.Status}} 60 {{if eq $tx.CoreCoinSpecific.Status 1}} 61 <td><span class="badge bg-success">Success</span></td> 62 {{else}} 63 {{if eq $tx.CoreCoinSpecific.Status -1}} 64 <td>Pending</td> 65 {{else}} 66 <td>Unknown</td> 67 {{end}} 68 {{end}} 69 {{else}} 70 <td><span class="badge bg-danger">Failed</span>{{if $tx.CoreCoinSpecific.Error}}<span class="text-danger small fw-normal ms-1"> {{$tx.CoreCoinSpecific.Error}}{{end}}</td> 71 {{end}} 72 </tr> 73 <tr> 74 <td>Value</td> 75 <td>{{amountSpan $tx.ValueOutSat $data "copyable"}}</td> 76 </tr> 77 <tr> 78 <td>Energy Used / Limit</td> 79 <td>{{if $tx.CoreCoinSpecific.EnergyUsed}}{{formatBigInt $tx.CoreCoinSpecific.EnergyUsed}}{{else}}pending{{end}} / {{formatBigInt $tx.CoreCoinSpecific.EnergyLimit}}</td> 80 </tr> 81 <tr> 82 <td>Energy Price</td> 83 <td>{{amountSpan $tx.CoreCoinSpecific.EnergyPrice $data "copyable"}} <span class="fw-normal ps-3">({{amountSatsSpan $tx.CoreCoinSpecific.EnergyPrice $data "copyable"}} Nucle)</span></td> 84 </tr> 85 {{else}} 86 <tr> 87 <td>Total Input</td> 88 <td>{{amountSpan $tx.ValueInSat $data "copyable"}}</td> 89 </tr> 90 <tr> 91 <td>Total Output</td> 92 <td>{{amountSpan $tx.ValueOutSat $data "copyable"}}</td> 93 </tr> 94 {{if $tx.VSize}} 95 <tr> 96 <td>Size / vSize</td> 97 <td>{{formatInt $tx.Size}} / {{formatInt $tx.VSize}}</td> 98 </tr> 99 {{else}} 100 {{if $tx.Size}} 101 <tr> 102 <td>Size</td> 103 <td>{{formatInt $tx.Size}}</td> 104 </tr> 105 {{end}} 106 {{end}} 107 {{end}} 108 {{end}} 109 {{if $tx.FeesSat}} 110 <tr> 111 <td>Fees</td> 112 <td>{{amountSpan $tx.FeesSat $data "copyable"}}{{if $tx.Size}} ({{feePerByte $tx}}){{end}}</td> 113 </tr>{{end}} 114 {{if not $tx.Confirmations}} 115 {{if $tx.ConfirmationETABlocks}} 116 <tr> 117 <td>Confirmation ETA</td> 118 <td> 119 <span tt="Estimated first potential confirmation of this transaction.">in approx. {{relativeTime $tx.ConfirmationETASeconds}} <span class="fw-normal ps-1">({{$tx.ConfirmationETABlocks}} blocks)</span></span> 120 </td> 121 </tr> 122 {{end}} 123 <tr> 124 <td><span tt="Replace by fee">RBF</span></td> 125 <td> 126 {{if $tx.Rbf}} 127 <span tt="Replace-by-Fee transaction, could be overridden by a new transaction">ON</span> 128 {{else}} 129 <span tt="Final transaction that can not be replaced unless it is dropped from the mempool.">OFF️</span> 130 {{end}} 131 </td> 132 </tr> 133 {{end}} 134 </tbody> 135 </table> 136 <div class="pt-1"> 137 {{template "txdetail" .}} 138 </div> 139 {{if eq .ChainType 1}} 140 {{if $tx.EthereumSpecific.ParsedData}} 141 {{if $tx.EthereumSpecific.ParsedData.Function }} 142 <div class="pt-2"> 143 <h5>Input Data</h5> 144 <div class="accordion" id="inputData"> 145 <div class="accordion-item"> 146 <h2 class="accordion-header" id="inputDataHeading"> 147 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#inputDataBody" aria-expanded="false" aria-controls="inputDataBody"> 148 <h5 class="mb-0">{{if $tx.EthereumSpecific.ParsedData.Name}}{{$tx.EthereumSpecific.ParsedData.Name}} {{end}}{{if $tx.EthereumSpecific.ParsedData.MethodId}} <span class="fw-normal small" tt="4-byte signature">{{$tx.EthereumSpecific.ParsedData.MethodId}}</span>{{end}}</h5> 149 </button> 150 </h2> 151 <div id="inputDataBody" class="accordion-collapse collapse" aria-labelledby="inputDataHeading" data-bs-parent="#inputData"> 152 <div class="accordion-body"> 153 <div class="row"> 154 <div class="col-12 mx-1 mx-md-0"><span class="copyable" style="overflow-wrap: break-word;">{{$tx.EthereumSpecific.Data}}</span></div> 155 <div class="col-12 mx-1 mx-md-0 pt-2"><span class="copyable">{{$tx.EthereumSpecific.ParsedData.Function}}</span></div> 156 {{if $tx.EthereumSpecific.ParsedData.Params}} 157 <div class="col-12"> 158 <table class="table data-table mt-2 mb-0"> 159 <thead> 160 <tr> 161 <th style="width: 5%;">#</th> 162 <th style="width: 20%;">Type</th> 163 <th>Data</th> 164 </tr> 165 </thead> 166 <tbody> 167 {{range $i,$p := $tx.EthereumSpecific.ParsedData.Params}} 168 <tr> 169 <td>{{$i}}</td> 170 <td>{{$p.Type}}</td> 171 <td> 172 {{range $j,$v := $p.Values}} 173 {{if $j}}<br>{{end}} 174 {{if hasPrefix $p.Type "address"}}<a href="/address/{{$v}}">{{addressAliasSpan $v $data}}</a>{{else}}<span class="copyable">{{$v}}</span>{{end}} 175 {{end}} 176 </td> 177 </tr> 178 {{end}} 179 </tbody> 180 </table> 181 </div> 182 {{end}} 183 </div> 184 </div> 185 </div> 186 </div> 187 </div> 188 </div> 189 {{end}} 190 {{end}} 191 {{end}} 192 <div class="pt-4"> 193 <h5>Raw Transaction</h5> 194 <div class="json"> 195 <pre id="raw"></pre> 196 </div> 197 <script type="text/javascript"> 198 var raw = {{$tx.CoinSpecificData}}; 199 document.getElementById('raw').innerHTML = syntaxHighlight(raw); 200 </script> 201 </div> 202 {{end}}