github.com/deroproject/derosuite@v2.1.6-1.0.20200307070847-0f2e589c7a2b+incompatible/cmd/explorer/templates.go (about)

     1  // Copyright 2017-2018 DERO Project. All rights reserved.
     2  // Use of this source code in any form is governed by RESEARCH license.
     3  // license can be found in the LICENSE file.
     4  // GPG: 0F39 E425 8C65 3947 702A  8234 08B2 0360 A03A 9DE8
     5  //
     6  //
     7  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
     8  // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     9  // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
    10  // THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    11  // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    12  // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    13  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    14  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
    15  // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    16  
    17  package main
    18  
    19  // this files defines all the templates
    20  
    21  var header_template string = `
    22  {{define "header"}}
    23  <!DOCTYPE html>
    24  <html lang="en">
    25  <head>
    26      <meta charset="UTF-8">
    27      <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
    28      <title>{{ .title }}</title>
    29      <!--<link rel="stylesheet" type="text/css" href="/css/style.css">-->
    30      <style type="text/css">
    31  body {
    32      margin: 0;
    33      padding: 0;
    34      color: green;
    35      background-color: white;
    36  }
    37  
    38  h1, h2, h3, h4, h5, h6 {
    39      text-align: center;
    40  }
    41  
    42  .center {
    43      margin: auto;
    44      width: 96%;
    45      /*border: 1px solid #73AD21;
    46      padding: 10px;*/
    47  }
    48  
    49  tr, li, #pages, .info {
    50      font-family: "Lucida Console", Monaco, monospace;
    51      font-size  : 12px;
    52      height: 22px;
    53  }
    54  
    55  #pages
    56  {
    57      margin-top: 15px;
    58  }
    59  
    60  td {
    61      text-align: center;
    62  }
    63  
    64  a:link {
    65      text-decoration: none;
    66      color: blue;
    67  }
    68  
    69  a:visited {
    70      text-decoration: none;
    71      color: blue;
    72  }
    73  
    74  a:hover {
    75      text-decoration: underline;
    76      color: blue;
    77  }
    78  
    79  a:active {
    80      text-decoration: none;
    81      color: blue;
    82  }
    83  
    84  form {
    85      display: inline-block;
    86      text-align: center;
    87  }
    88  
    89  .style-1 input[type="text"] {
    90      padding: 2px;
    91      border: solid 1px #dcdcdc;
    92      transition: box-shadow 0.3s, border 0.3s;
    93  }
    94  .style-1 input[type="text"]:focus,
    95  .style-1 input[type="text"].focus {
    96      border: solid 1px #707070;
    97      box-shadow: 0 0 5px 1px #969696;
    98  }
    99  
   100  
   101  .tabs {
   102      position: relative;
   103      min-height: 220px; /* This part sucks */
   104      clear: both;
   105      margin: 25px 0;
   106  }
   107  
   108  .tab {
   109      float: left;
   110  }
   111  
   112  .tab label {
   113      background: white;
   114      padding: 10px;
   115      border: 1px solid #ccc;
   116      margin-left: -1px;
   117      position: relative;
   118      left: 1px;
   119  }
   120  
   121  .tab [type=radio] {
   122      display: none;
   123  }
   124  
   125  .content {
   126      position: absolute;
   127      top: 28px;
   128      left: 0;
   129      background: white;
   130      right: 0;
   131      bottom: 0;
   132      padding: 20px;
   133      border: 1px solid #ccc;
   134  }
   135  
   136  [type=radio]:checked ~ label {
   137      background: #505050 ;
   138      border-bottom: 1px solid green;
   139      z-index: 2;
   140  }
   141  
   142  [type=radio]:checked ~ label ~ .content {
   143      z-index: 1;
   144  }
   145  
   146  input#toggle-1[type=checkbox] {
   147      position: absolute;
   148      /*top: -9999px;*/
   149      left: -9999px;
   150  
   151  }
   152  label#show-decoded-inputs {
   153      /*-webkit-appearance: push-button;*/
   154      /*-moz-appearance: button;*/
   155      display: inline-block;
   156      /*margin: 60px 0 10px 0;*/
   157      cursor: pointer;
   158      background-color: white;;
   159      color: green;
   160      width: 100%;
   161      text-align: center;
   162  }
   163  
   164  div#decoded-inputs{
   165      display: none;
   166  }
   167  
   168  /* Toggled State */
   169  input#toggle-1[type=checkbox]:checked ~ div#decoded-inputs {
   170      display: block;
   171  }
   172      </style>
   173  
   174  </head>
   175  <body>
   176  <div>
   177  
   178      <div class="center">
   179          <h1 class="center"> 
   180          <img alt="logo" style="vertical-align:middle" height="64" width="64" src="data:image/png;base64,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" />
   181  
   182          
   183          <a href="/">{{ .title }} {{if .testnet}} TestNet  {{end}}</a></h1>
   184  <!--        <h4 style="font-size: 15px; margin: 0px">(no javascript - no cookies - no web analytics trackers - no images - open sourced)</h4> -->
   185      </div>
   186  
   187  
   188      <div class="center">
   189          <form action="/search" method="get" style="width:100%; margin-top:15px" class="style-1">
   190              <input type="text" name="value" size="120"
   191                     placeholder="block height, block hash, transaction hash">
   192              <input type="submit" value="Search">
   193          </form>
   194      </div>
   195  
   196  </div>
   197  
   198  {{if .Network_Difficulty}}
   199  <div class="center">
   200       <h3 style="font-size: 12px; margin-top: 20px">
   201          Server time: {{ .servertime }}  | <a href="/txpool">Transaction pool</a>
   202          </h3>
   203  
   204  
   205          <h3 style="font-size: 12px; margin-top: 5px; margin-bottom: 3">
   206              Network difficulty: {{ .Network_Difficulty }}
   207              | Hash rate: {{ .hash_rate }} KH&#x2F;s
   208              | Average Block Time(50)  {{.averageblocktime50}} sec
   209              | Total supply : {{ .total_supply }}
   210              | Mempool size : {{ .txpool_size }}
   211              | Fee per kb: {{.fee_per_kb}}
   212              | Median block size limit: {{.median_block_size}} kB
   213  
   214          </h3>
   215  
   216  </div>
   217  {{end}}
   218  {{end}}
   219  `
   220  
   221  var block_template string = `{{define "block"}}
   222  {{ template "header" . }}
   223  <div>
   224  
   225      <H4>Block Topo height (unique): {{.block.TopoHeight}}  Block height: ({{.block.Height}})</H4>
   226      <H4>Block hash: {{.block.Hash}}</H4>
   227  
   228  {{range $i, $a := .block.Tips}}
   229    <H5>Previous blocks: <a href="/block/{{$a}}">{{$a}}</a></H5>
   230  {{end}}
   231  
   232  <!--    
   233      <H5>Next block: <a href="/block/a8ade20d5cad5e23105cfc25687beb2498844a984b1450330c67705b6c720596">a8ade20d5cad5e23105cfc25687beb2498844a984b1450330c67705b6c720596</a></H5>
   234      -->
   235      <table class="center">
   236          <tr>
   237              <td>Timestamp [UCT] (epoch):</td><td>{{.block.Block_time}} ({{.block.Epoch}})</td>
   238              <td>Age [h:m:s]:</td><td>{{.block.Age}}</td>
   239              <td>Δ [h:m:s]:</td><td></td>
   240          </tr>
   241          <tr>
   242              <td>Major.minor version:</td><td>{{.block.Major_Version}}.{{.block.Minor_Version}}</td>
   243              <td>Block reward:</td><td>{{.block.Reward}}</td>
   244              <td>Block size [kB]:</td><td>{{.block.Size}}</td>
   245          </tr>
   246          <tr>
   247              <td>nonce:</td><td>{{.block.Nonce}}</td>
   248              <td>Total fees:</td><td>{{.block.Fees}}</td>
   249              <td>No of txs:</td><td>{{.block.Tx_Count}}</td>
   250          </tr>
   251      </table>
   252  
   253      <h3>Miner reward transaction</h3>
   254      <table class="center">
   255          <tr>
   256              <td>hash</td>
   257              <td>outputs</td>
   258              <td>size [kB]</td>
   259              <td>version</td>
   260          </tr>
   261              <tr>
   262                  <td><a href="/tx/{{.block.Mtx.Hash}}">{{.block.Mtx.Hash}}</a>
   263                  <td>{{.block.Mtx.Amount}}</td>
   264                  <td>{{.block.Mtx.Size}}</td>
   265                  <td>{{.block.Mtx.Version}}</td>
   266              </tr>
   267  
   268      </table>
   269  
   270      <h3>Transactions ({{.block.Tx_Count}})</h3>
   271          <table class="center" style="width:80%">
   272              <tr>
   273                  <td>hash</td>
   274                  <td>outputs</td>
   275                  <td>fee</td>
   276                  <td>ring size</td>
   277                  <td>in/out</td>
   278                  
   279                  <td>version</td>
   280                  <td>size [kB]</td>
   281              </tr>
   282              {{range .block.Txs}}
   283                  <tr>
   284                     
   285                      {{if .Skipped }}<td><a href="/tx/{{.Hash}}"><font color="indianred">{{.Hash}}</font>  </a></td>
   286                      {{else}}
   287                      <td><a href="/tx/{{.Hash}}">{{.Hash}}</a></td>
   288                      {{end}}
   289  
   290                      <td>?</td>
   291                      <td>{{.Fee}}</td>
   292                      <td>{{.Ring_size}}</td>
   293                      <td>{{.In}}/{{.Out}}</td>                    
   294                      <td>{{.Version}}</td>
   295                      <td>{{.Size}}</td>
   296                  </tr>
   297                  {{end}}
   298          </table>
   299  
   300  </div>
   301  
   302  {{ template "footer" . }} 
   303  {{end}}
   304  `
   305  
   306  var tx_template string = `{{define "tx"}}
   307  {{ template "header" . }}
   308              <div>
   309                  <H4 style="margin:5px">Tx hash: {{.info.Hash}}</H4>
   310                  <H5 style="margin:5px">Tx prefix hash: {{.info.PrefixHash}}</H5>
   311  
   312                  <H5>Block: <a href="/block/{{.info.ValidBlock}}">{{.info.ValidBlock}}</a> (VALID) </H5>
   313  
   314                  {{range $i, $e := .info.InvalidBlock}} 
   315                   <H5>Block: <a href="/block/{{$e}}">{{$e}}</a></H5>
   316                  {{end}}
   317  
   318  
   319                  <H5 style="margin:5px">Tx public key: {{.info.TXpublickey}}</H5>
   320  
   321                  {{if .info.PayID32}} 
   322                   <H5 style="margin:5px">PaymentID: {{.info.PayID32}}</H5>
   323                  {{end}}
   324                  {{if .info.PayID8}} 
   325                   <H5 style="margin:5px">Encrypted PaymentID: {{.info.PayID8}}</H5>
   326                  {{end}}
   327    
   328                  <table class="center" style="width: 80%; margin-top:10px">
   329                      <tr>
   330                          <td>Timestamp: {{.info.Timestamp}} </td>
   331                          <td>Timestamp [UTC]: {{.info.Block_time}}</td>
   332                          <td>Age [y:d:h:m:s]: {{.info.Age}} </td>
   333                      </tr>
   334                      <tr>
   335                          <td>Block: <a href="/block/{{.info.Height}}">{{.info.Height}}</a></td>
   336                          <td>Fee: {{.info.Fee}}</td>
   337                          <td>Tx size: {{.info.Size}} kB</td>
   338                      </tr>
   339                      <tr>
   340                          <td>Tx version: {{.info.Version}}</td>
   341                          <td>No of confirmations: {{.info.Depth}}</td>
   342                          <td>Signature type:  {{.info.Type}}</td>
   343                      </tr>
   344                      <tr>
   345                          <td colspan="3">Extra: {{.info.Extra}}</td>
   346                      </tr>
   347                  </table>
   348                <h3>{{.info.Out}} output(s) for total of {{.info.Amount}} dero</h3>
   349                <div class="center">
   350                    <table class="center">
   351                        <tr>
   352                            <td>stealth address</td>
   353                            <td>amount</td>
   354                            <td>amount idx</td>
   355                        </tr>
   356                        
   357                        {{range $i, $e := .info.OutAddress}} 
   358                        <tr>
   359                            <td>{{ $e }}</td>
   360                            <td>{{$.info.Amount}}</td>
   361                            <td>{{index $.info.OutOffset $i}}</td>
   362                        </tr>
   363                        {{end}}
   364                    </table>
   365                </div>
   366                
   367  <!-- TODO currently we donot enable user to prove or decode something -->
   368  <br/>
   369  <br/>
   370  <div class="center" style="border: 1px">
   371                    <table class="center" border="1">
   372                        <tr>
   373                            <td> <h3>Prove to someone that you have sent them DERO in this transaction</h3>
   374                            </td>
   375                        </tr>
   376                        <tr>
   377                        <td>
   378                        Tx private key can be obtained using <i>get_tx_key</i>
   379                                      command in  <i>dero-wallet-cli</i>
   380                                      <br>
   381                                          Note: address and tx private key are sent to the server, as the calculations are done on the server side
   382                                  
   383                        </td>
   384                        </tr>
   385                        <tr>
   386                        <td>
   387  
   388  
   389  
   390                                  <form  method="post" style="width:100%;margin-top:2px" class="style-1">
   391                                     <input name="txprvkey" size="120" placeholder="Tx private key" type="text"><br>
   392                                      <input name="raw_tx_data" value="" type="hidden">
   393                                      <!--above raw_tx_data field only used when checking raw tx data through tx pusher-->
   394                                     <input name="deroaddress" size="120" placeholder="Recipient's dero address" style="margin-top:5px" type="text"><br>
   395              
   396                                         <input value="Prove sending" style="margin-top:5px" type="submit">
   397              
   398                                  </form>
   399                          </td>
   400                          </tr>
   401  
   402                          {{if .info.Proof_amount }}
   403                          <tr>
   404                          <td><h2><font color="blue">{{.info.Proof_address}} Received {{.info.Proof_amount}} DERO
   405  
   406                          {{if .info.Proof_PayID8}}
   407                             <br/> Decrypted Payment ID {{ .info.Proof_PayID8}}
   408                          {{end}}
   409                       </font>  </h2> 
   410     </td>
   411                          </tr>
   412                          {{end}} 
   413  
   414                          {{if .info.Proof_error }}
   415                          <tr>
   416                          <td>   <font color="red">{{.info.Proof_error}}</font>
   417     </td>
   418                          </tr>
   419                          {{end}}
   420  
   421  
   422                          </table>
   423  
   424                       </div>
   425  
   426  {{if eq .info.CoinBase false}}
   427  
   428                      <h3>{{.info.In}} input(s) for total of ? dero</h3>
   429                  <div class="center">
   430                     <table class="center">
   431                     <tr>
   432                     <td>
   433  
   434                  
   435  
   436                     {{range $i,$e :=  $.info.Ring  }} 
   437                    <tr>
   438                    </tr>
   439                     <tr>
   440                        <td style="text-align: center;">
   441                         {{$i}}    key image  {{ index $.info.Keyimages $i }}
   442                        </td>
   443                        <td>amount: ?</td>
   444                     </tr>
   445                  <tr>
   446                   <td>
   447                     <table class="center">
   448                     <tr>
   449                     <td style="text-align: center;">
   450                            Ring Member
   451                      </td>
   452                      <td style="text-align: center;">
   453                            Global Index
   454                      </td>
   455                      <td style="text-align: center;">
   456                            Height
   457                      </td>
   458                      <td style="text-align: center;">
   459                            TopoHeight
   460                      </td>
   461                     </tr>
   462                    
   463                     {{range $j :=  .  }} 
   464                      <tr>
   465                        <td style="text-align: center;">
   466                            {{ .InKey.Destination }}<br/>{{ .InKey.Mask }}<br/>
   467                        </td>
   468                        <td style="text-align: center;">{{ .Index_Global }}</td>
   469                        <td style="text-align: center;">{{ .Height }}</td>
   470                        <td style="text-align: center;">{{ .TopoHeight }}</td>
   471                       </tr>
   472                     {{end}}
   473                    
   474  
   475                     </table>
   476                     </tr>
   477  
   478  
   479  
   480                     {{end}}
   481  
   482  
   483                    </table>
   484                </div>
   485              {{end}}
   486             </div>
   487  {{ template "footer" . }} 
   488                
   489  {{end}}`
   490  
   491  var txpool_template string = `{{define "txpool"}}
   492  <h2 style="margin-bottom: 0px">
   493     Transaction pool
   494  </h2>
   495  <h4 style="font-size: 12px; margin-top: 0px">(no of txs: {{ .txpool_size }}, size: 0.00 kB, updated every 5 seconds)</h4>
   496  <div class="center">
   497      
   498        <table class="center" style="width:80%">
   499              <tr>
   500                  <td>age [h:m:s]</td>
   501                  <td>transaction hash</td>
   502                  <td>fee</td>
   503                  <td>outputs</td>
   504                  <td>in(nonrct)/out</td>
   505                  <td>ring size</td>
   506                  <td>tx size [kB]</td>
   507              </tr>
   508              
   509             
   510              {{range .mempool}}
   511              <tr>
   512                      <td></td>
   513                      <td><a href="/tx/{{.Hash}}">{{.Hash}}</a></td>
   514                      <td>{{.Fee}}</td>
   515                      <td>N/A</td>
   516                      <td>{{.In}}/{{.Out}}</td>
   517                      <td>{{.Ring_size}}</td>
   518                      <td>{{.Size}}</td>
   519  
   520              </tr>
   521              
   522              {{end}}
   523          </table>
   524  
   525  
   526  
   527  </div>
   528  {{end}}`
   529  
   530  // full page txpool_template
   531  var txpool_page_template string = `{{define "txpool_page"}}
   532  {{ template "header" . }}
   533  {{ template "txpool" . }}
   534  {{ template "footer" . }}  
   535  {{end}}`
   536  
   537  // not found page txpool_template
   538  var notfound_page_template string = `{{define "notfound_page"}}
   539  {{ template "header" . }}
   540  
   541  <h2 style="margin-bottom: 0px"><font color="red">No details found in database</font></h2>
   542  {{ template "footer" . }}  
   543  {{end}}`
   544  
   545  var main_template string = `
   546  {{define "main"}}
   547  {{ template "header" . }}
   548  {{ template "txpool" . }}
   549  
   550        <h2 style="margin-bottom: 0px">Transactions in the last 11 blocks</h2>
   551  
   552      <h4 style="font-size: 14px; margin-top: 0px">(Median size of these blocks: 0.09 kB)</h4>
   553  
   554      <div class="center">
   555  
   556              <table class="center">
   557                  <tr>
   558                      <td>height</td>
   559                      <td>topo height</td>
   560                      <td>age [h:m:s]<!--(Δm)--></td>
   561                      <td>size [kB]<!--(Δm)--></td>
   562                      <td>tx hash</td>
   563                      <td>fees</td>
   564                      <td>outputs</td>
   565                      <td>in(nonrct)/out</td>
   566                      <td>ring size</td>
   567                      <td>tx size [kB]</td>
   568                  </tr>
   569                  
   570                  
   571                  {{range .block_array}}
   572                  <tr>
   573                      <td>  {{if .SyncBlock }} <strong>{{.Height}}</strong> {{else}} <font color="purple">{{.Height}}</font>
   574     {{end}} </td>
   575                      <td><a href="/block/{{.TopoHeight}}">{{.TopoHeight}}</a></td>
   576                      
   577                         <td>{{.Age}}</td>
   578                      <td>{{.Size}}</td>
   579                      <td><a href="/tx/{{.Mtx.Hash}}">{{.Mtx.Hash}}  </a></td>
   580                      <td>N/A</td>
   581                      <td>{{.Mtx.Amount}}</td>
   582                      <td>{{.Mtx.In}}/{{.Mtx.Out}}</td>
   583                      <td>0</td>
   584                      <td>{{.Mtx.Size}}</td>
   585  
   586                  </tr>
   587                  
   588                  {{range .Txs}}
   589                  <tr>
   590                      <td></td>
   591                      <td></td>
   592                         <td></td>
   593                      <td></td>
   594                      
   595                      {{if .Skipped }}<td><a href="/tx/{{.Hash}}"><font color="indianred">{{.Hash}}</font>  </a></td>
   596                      {{else}}
   597                      <td><a href="/tx/{{.Hash}}">{{.Hash}}</a></td>
   598                      {{end}}
   599                      
   600                      
   601                      
   602                      <td>{{.Fee}}</td>
   603                      <td>N/A</td>
   604                      <td>{{.In}}/{{.Out}}</td>
   605                      <td>{{.Ring_size}}</td>
   606                      <td>{{.Size}}</td>
   607  
   608                  </tr>
   609                  {{end}}
   610                  
   611                  {{end}}
   612                </table>  
   613          {{ template "paging" . }}
   614          
   615          </div>
   616         {{ template "footer" . }}         
   617  {{end}}`
   618  
   619  var paging_template string = `{{ define "paging"}}
   620  
   621  <div id="pages" class="center" style="text-align: center;">
   622                 <a href="/page/{{.previous_page}}">previous page</a> |
   623                 <a href="/">first page</a> |
   624                  current page: {{.current_page}}/<a href="/page/{{.total_page}}">{{.total_page}}</a>
   625                  | <a href="/page/{{.next_page}}">next page</a>
   626              </div>
   627  
   628  {{end}}`
   629  
   630  var footer_template string = ` {{define "footer"}}
   631  <div class="center">
   632      <h6 style="margin-top:10px">
   633          <a href="https://github.com/deroproject/">DERO explorer source code</a>
   634          | explorer version (api): under development (1.0)
   635          | dero version: golang pre-alpha
   636          | Copyright 2017-2018  Dero Project
   637      </h6>
   638  </div>
   639  </body>
   640  </html>
   641  {{end}}
   642  `