This commit is contained in:
Prema 2019-09-10 15:53:19 +05:30
commit aef03badda
12 changed files with 119 additions and 138 deletions

View File

@ -711,24 +711,66 @@ export class BlockchainBlockController {
next: NextFunction,
) => {
try {
var BlockchainBlockFetchQuery = await getConnection(Global.network).getRepository(
BlockchainBlock,
var BlockchainOutputFetchQuery = await getConnection(Global.network).getRepository(
BlockchainOutput,
).findOne({
select: [
'Hash',
'Height',
'Timestamp',
'TotalDifficultyCuckaroo',
'TotalDifficultyCuckatoo',
'TotalDifficultyProgpow',
'TotalDifficultyRandomx',
'PreviousId',
'EdgeBits',
'SecondaryScaling',
'Proof',
'BlockId'
],
where: { Hash: request.params.hash },
where: { Commit : request.params.hash },
});
if(BlockchainOutputFetchQuery){
var BlockchainBlockFetchQuery = await getConnection(Global.network).getRepository(
BlockchainBlock,
).findOne({
select: [
'Hash',
'Height',
'Timestamp',
'TotalDifficultyCuckaroo',
'TotalDifficultyCuckatoo',
'TotalDifficultyProgpow',
'TotalDifficultyRandomx',
'PreviousId',
'EdgeBits',
'SecondaryScaling',
'Proof',
],
where: { Hash: BlockchainOutputFetchQuery.BlockId },
});
}else{
var BlockchainBlockFetchQuery = await getConnection(Global.network).getRepository(
BlockchainBlock,
).findOne({
select: [
'Hash',
'Height',
'Timestamp',
'TotalDifficultyCuckaroo',
'TotalDifficultyCuckatoo',
'TotalDifficultyProgpow',
'TotalDifficultyRandomx',
'PreviousId',
'EdgeBits',
'SecondaryScaling',
'Proof',
],
where: { Hash: request.params.hash },
});
}
let paramVal = request.params.hash;
if (
!BlockchainBlockFetchQuery &&
@ -768,7 +810,7 @@ export class BlockchainBlockController {
const BlockchainBlockOutputFetchQuery = await getConnection(Global.network).getRepository(
BlockchainOutput,
).find({
select: ['OutputType', 'Commit', 'Spent'],
select: ['OutputType', 'Commit', 'Spent', 'MerkleProof', 'MmrIndex', 'ProofHash', 'Proof'],
where: { BlockId: BlockchainBlockFetchQuery.Hash },
});
@ -892,6 +934,8 @@ export class BlockchainBlockController {
let arr = balance.match(/.{1,6}/g);
BlockchainBlockFetchQuery['hasharray'] = arr.map(i => '#' + i);
var viewType = BlockchainOutputFetchQuery ? 'Commit' : 'HashHeight';
BlockchainBlockFetchQuery
? response.status(200).json({
status: 200,
@ -902,6 +946,7 @@ export class BlockchainBlockController {
BlockchainBlockInputFetchQuery: BlockchainBlockInputFetchQuery,
BlockchainBlockOutputFetchQuery: BlockchainBlockOutputFetchQuery,
BlockchainBlockKernalFetchQuery: BlockchainBlockKernalFetchQuery,
viewType: viewType
},
})
: next(new NoDataFoundException());

View File

@ -61,7 +61,7 @@
"DAYS" : "Tage",
"MONTHS" : "Monate",
"WEEK" : "Woche",
"SEARCH_TEXT" : "Suche nach Hash oder Blockhöhe",
"SEARCH_TEXT" : "Suche nach Hash oder Blockhöhe oder Ausgabe-Commit-ID",
"BLOCK_REWARD" : "Block Belohnung",
"NOT_FOUND" : "Seite nicht gefunden",
"NOT_FOUND1" : "Die von Ihnen gesuchte Seite wurde nicht gefunden",

View File

@ -61,7 +61,7 @@
"DAYS" : "days",
"MONTHS" : "months",
"WEEK" : "week",
"SEARCH_TEXT" : "Search by hash, or block height",
"SEARCH_TEXT" : "Search by hash, or block height or output commit id",
"BLOCK_REWARD" : "Block Reward",
"NOT_FOUND" : "Page Not Found",
"NOT_FOUND1" : "Page you are looking for is not found",

View File

@ -8,7 +8,7 @@
</p>
<h4>Real-Time Simple Queries</h4>
<ul>
<li><b>circulating</b>: returns the number of circulating coins (minus reserve, Prime holdings...)</li>
<li><b>circulating</b>: returns the number of circulating coins </li>
<li><b>getblockcount</b>: returns the current block height as a plain text string</li>
<li><b>getdifficulty-randomx</b>: returns the RandomX difficulty as a plain text string</li>
<li><b>getdifficulty-progpow</b>: returns the ProgPow difficulty as a plain text string</li>
@ -26,4 +26,4 @@
<li><b>getblocktime</b>: takes a <code>height</code> parameter and returns unixtime of the block.</li>
</ul>
</div>
</div>
</div>

View File

@ -1,5 +1,6 @@
<div class="view_content py-4">
<div *ngIf="hasdata" class="container">
<div *ngIf="hasdata" class="container">
<div *ngIf="hashdata.viewType == 'HashHeight' " >
<div *ngIf="TimeArr" class="box_shadow_large detail_div p-3 mb-4">
<!-- <h1 class="test_msg align-middle mb-0 d-inline-block mr-3 pl-3">{{'home.HEADER_TEXT' | translate}}</h1> -->
<!-- <h1 class="test_msg align-middle mb-0 float-right d-inline-block pl-3">{{'home.COUNTDOWN' | translate}}
@ -285,6 +286,59 @@
</div>
<div *ngIf="hashdata.viewType == 'Commit'" >
<div class="container">
<h3>&nbsp; Output Commit <span style="font-size:15px"></span></h3>
<table class="table table-horizontal-bordered table-hover">
<tbody>
<tr>
<td>Created at block </td>
<td>{{ hashdata.BlockchainBlockFetchQuery.Height }}</td>
</tr>
<tr>
<td>Created At </td>
<td>{{ hashdata.BlockchainBlockFetchQuery.Timestamp }}</td>
</tr>
<tr>
<td>Output Type</td>
<td>{{ hashdata.BlockchainBlockOutputFetchQuery[0].OutputType }}</td>
</tr>
<tr>
<td>Proof</td>
<td>{{ hashdata.BlockchainBlockOutputFetchQuery[0].Proof }}</td>
</tr>
<tr>
<td>Proof hash</td>
<td>{{ hashdata.BlockchainBlockOutputFetchQuery[0].ProofHash }}</td>
</tr>
<tr>
<td>Merkle Proof</td>
<td>{{ hashdata.BlockchainBlockOutputFetchQuery[0].MerkleProof }}</td>
</tr>
<tr>
<td>MMR Index</td>
<td>{{ hashdata.BlockchainBlockOutputFetchQuery[0].MmrIndex }}</td>
</tr>
</tbody>
</table>
<div *ngIf="hashdata.BlockchainBlockOutputFetchQuery[0].Proof == false" class="alert alert-success" role="alert">
The output commit was not spent.
</div>
</div>
</div>
</div>
<div *ngIf="!hasdata" class="container">

View File

@ -1,42 +0,0 @@
<div class="view_content py-4">
<div *ngIf="hasdata" class="container">
<h3>&nbsp; Output Commit <span style="font-size:15px">08cbff0ef3aabd991dc817c388459ad1935fc88ce293e11544bbd24d20830b8983</span></h3>
<h5>Created at block <a href="/block/340776"> 340776</a>
<span style="font-size:15px">(Confirmed count: 4)</span>
</h5>
<table class="table table-horizontal-bordered table-hover">
<tbody><tr>
<td>Created At </td>
<td>{{ hashdata.BlockchainBlockFetchQuery.BlockReward }}</td>
</tr>
<tr>
<td>Output Type</td>
<td>{{ hashdata.BlockchainBlockFetchQuery.BlockReward }}</td>
</tr>
<tr>
<td>Proof</td>
<td>{{ hashdata.BlockchainBlockFetchQuery.BlockReward }}</td>
</tr>
<tr>
<td>Proof hash</td>
<td>{{ hashdata.BlockchainBlockFetchQuery.BlockReward }}</td>
</tr>
<tr>
<td>Merkle Proof</td>
<td>{{ hashdata.BlockchainBlockFetchQuery.BlockReward }}</td>
</tr>
<tr>
<td>MMR Index</td>
<td>{{ hashdata.BlockchainBlockFetchQuery.BlockReward }}</td>
</tr>
</tbody>
</table>
<div class="alert alert-success" role="alert">
The output commit was not spent.
</div>
</div>
</div>

View File

@ -1,25 +0,0 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { OutputDetailComponent } from './output-detail.component';
describe('OutputDetailComponent', () => {
let component: OutputDetailComponent;
let fixture: ComponentFixture<OutputDetailComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ OutputDetailComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(OutputDetailComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,15 +0,0 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-output-detail',
templateUrl: './output-detail.component.html',
styleUrls: ['./output-detail.component.css']
})
export class OutputDetailComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}

View File

@ -1,15 +0,0 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { OutputDetailComponent } from './output-detail/output-detail.component';
const routes: Routes = [ {
path: '',
component: OutputDetailComponent,
},
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class OutputViewRoutingModule { }

View File

@ -1,14 +0,0 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { OutputViewRoutingModule } from './output-view-routing.module';
import { OutputDetailComponent } from './output-detail/output-detail.component';
@NgModule({
declarations: [OutputDetailComponent],
imports: [
CommonModule,
OutputViewRoutingModule
]
})
export class OutputViewModule { }

View File

@ -28,13 +28,6 @@ const siteRoutes: Routes = [
title: 'Epic Explorer - Block',
},
},
{
path: 'outputdetail/:hash',
loadChildren: './output-view/output-view.module#OutputViewModule',
data: {
title: 'Epic Explorer - Block',
},
},
{
path: 'chart',
loadChildren: './graph-view/graph-view.module#GraphViewModule',