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}}