2019-07-09 09:22:36 +00:00
|
|
|
import { Column, Entity, Index, OneToMany } from 'typeorm';
|
|
|
|
import { BlockchainInput } from './BlockchainInput';
|
|
|
|
import { BlockchainKernel } from './BlockchainKernel';
|
|
|
|
import { BlockchainOutput } from './BlockchainOutput';
|
|
|
|
|
|
|
|
@Entity('blockchain_block', { schema: 'public' })
|
|
|
|
export class BlockchainBlock {
|
|
|
|
@Index()
|
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
primary: true,
|
|
|
|
length: 64,
|
|
|
|
name: 'hash',
|
|
|
|
})
|
|
|
|
Hash: string;
|
|
|
|
|
|
|
|
@Column('integer', {
|
|
|
|
nullable: false,
|
|
|
|
name: 'version',
|
|
|
|
})
|
|
|
|
Version: number;
|
|
|
|
|
|
|
|
@Column('integer', {
|
|
|
|
nullable: false,
|
|
|
|
name: 'height',
|
|
|
|
})
|
|
|
|
Height: number;
|
|
|
|
|
|
|
|
@Column('timestamp with time zone', {
|
|
|
|
nullable: false,
|
|
|
|
name: 'timestamp',
|
|
|
|
})
|
|
|
|
Timestamp: Date;
|
|
|
|
|
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
length: 64,
|
|
|
|
name: 'output_root',
|
|
|
|
})
|
|
|
|
OutputRoot: string;
|
|
|
|
|
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
length: 64,
|
|
|
|
name: 'range_proof_root',
|
|
|
|
})
|
|
|
|
RangeProofRoot: string;
|
|
|
|
|
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
length: 64,
|
|
|
|
name: 'kernel_root',
|
|
|
|
})
|
|
|
|
KernelRoot: string;
|
|
|
|
|
|
|
|
@Column('text', {
|
|
|
|
nullable: false,
|
|
|
|
name: 'nonce',
|
|
|
|
})
|
|
|
|
Nonce: string;
|
|
|
|
|
|
|
|
@Column('bigint', {
|
|
|
|
nullable: false,
|
|
|
|
name: 'total_difficulty',
|
|
|
|
})
|
|
|
|
TotalDifficulty: string;
|
|
|
|
|
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
length: 64,
|
|
|
|
name: 'previous_id',
|
|
|
|
})
|
|
|
|
PreviousId: string;
|
|
|
|
|
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
length: 64,
|
|
|
|
name: 'total_kernel_offset',
|
|
|
|
})
|
|
|
|
TotalKernelOffset: string;
|
|
|
|
|
|
|
|
@Column('integer', {
|
|
|
|
nullable: false,
|
|
|
|
name: 'edge_bits',
|
|
|
|
})
|
|
|
|
EdgeBits: number;
|
|
|
|
|
2019-07-29 06:01:50 +00:00
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
length: 64,
|
|
|
|
name: 'proof',
|
|
|
|
})
|
|
|
|
Proof: string;
|
|
|
|
|
2019-07-09 09:22:36 +00:00
|
|
|
@Column('int4', {
|
|
|
|
nullable: false,
|
|
|
|
array: true,
|
|
|
|
name: 'cuckoo_solution',
|
|
|
|
})
|
|
|
|
CuckooSolution: number[];
|
|
|
|
|
|
|
|
@Column('character varying', {
|
|
|
|
nullable: false,
|
|
|
|
length: 64,
|
|
|
|
name: 'prev_root',
|
|
|
|
})
|
|
|
|
PrevRoot: string;
|
|
|
|
|
|
|
|
@Column('integer', {
|
|
|
|
nullable: false,
|
|
|
|
name: 'secondary_scaling',
|
|
|
|
})
|
|
|
|
SecondaryScaling: number;
|
|
|
|
|
|
|
|
@OneToMany(
|
|
|
|
type => BlockchainInput,
|
|
|
|
blockchain_input => blockchain_input.Block,
|
|
|
|
)
|
|
|
|
BlockchainInputs: BlockchainInput[];
|
|
|
|
|
|
|
|
@OneToMany(
|
|
|
|
type => BlockchainKernel,
|
|
|
|
blockchain_kernel => blockchain_kernel.Block,
|
|
|
|
)
|
|
|
|
BlockchainKernels: BlockchainKernel[];
|
|
|
|
|
|
|
|
@OneToMany(
|
|
|
|
type => BlockchainOutput,
|
|
|
|
blockchain_output => blockchain_output.Block,
|
|
|
|
)
|
|
|
|
BlockchainOutputs: BlockchainOutput[];
|
|
|
|
}
|