Fix: Don't calculate block fee for Liquid.

Completing interfaces.
This commit is contained in:
softsimon 2020-06-17 15:01:58 +07:00
parent 6eca311147
commit cc48e0be2c
No known key found for this signature in database
GPG Key ID: 488D7DCFB5A430D7
3 changed files with 39 additions and 61 deletions

View File

@ -16,12 +16,10 @@ export interface MempoolBlock {
feeRange: number[]; feeRange: number[];
} }
export interface MempoolBlockWithTransactions extends MempoolBlock { export interface MempoolBlockWithTransactions extends MempoolBlock {
transactionIds: string[]; transactionIds: string[];
} }
export interface Transaction { export interface Transaction {
txid: string; txid: string;
version: number; version: number;
@ -53,26 +51,18 @@ export interface TransactionExtended extends Transaction {
firstSeen: number; firstSeen: number;
} }
export interface Prevout {
scriptpubkey: string;
scriptpubkey_asm: string;
scriptpubkey_type: string;
scriptpubkey_address: string;
value: number;
asset?: string;
}
export interface Vin { export interface Vin {
txid: string; txid: string;
vout: number; vout: number;
prevout?: Prevout; is_coinbase: boolean;
scriptsig: string; scriptsig: string;
scriptsig_asm: string; scriptsig_asm: string;
inner_redeemscript_asm?: string; inner_redeemscript_asm?: string;
is_coinbase: boolean; inner_witnessscript_asm?: string;
sequence: any; sequence: any;
witness?: string[]; witness?: string[];
inner_witnessscript_asm?: string; prevout: Vout;
// Elements
is_pegin?: boolean; is_pegin?: boolean;
issuance?: Issuance; issuance?: Issuance;
} }
@ -93,11 +83,19 @@ export interface Vout {
scriptpubkey: string; scriptpubkey: string;
scriptpubkey_asm: string; scriptpubkey_asm: string;
scriptpubkey_type: string; scriptpubkey_type: string;
scriptpubkey_address?: string; scriptpubkey_address: string;
value: number; value: number;
// Elements
pegout?: any; valuecommitment?: number;
asset?: string; asset?: string;
pegout?: Pegout;
}
interface Pegout {
genesis_hash: string;
scriptpubkey: string;
scriptpubkey_asm: string;
scriptpubkey_address: string;
} }
export interface Status { export interface Status {
@ -112,19 +110,22 @@ export interface Block {
height: number; height: number;
version: number; version: number;
timestamp: number; timestamp: number;
bits: number;
nounce: number;
difficulty: number;
merkle_root: string;
tx_count: number; tx_count: number;
size: number; size: number;
weight: number; weight: number;
merkle_root: string;
previousblockhash: string; previousblockhash: string;
nonce: any;
bits: number;
// Custom properties
medianFee?: number; medianFee?: number;
feeRange?: number[]; feeRange?: number[];
reward?: number; reward?: number;
coinbaseTx?: TransactionMinerInfo; coinbaseTx?: Transaction;
matchRate?: number; matchRate: number;
stage: number;
} }
export interface Address { export interface Address {

View File

@ -108,7 +108,7 @@ export class BlockComponent implements OnInit, OnDestroy {
), ),
) )
.subscribe((transactions: Transaction[]) => { .subscribe((transactions: Transaction[]) => {
if (this.fees === undefined && transactions[0]) { if (this.fees === undefined && transactions[0] && this.network !== 'liquid') {
this.fees = transactions[0].vout.reduce((acc: number, curr: Vout) => acc + curr.value, 0) / 100000000 - this.blockSubsidy; this.fees = transactions[0].vout.reduce((acc: number, curr: Vout) => acc + curr.value, 0) / 100000000 - this.blockSubsidy;
} }
this.transactions = transactions; this.transactions = transactions;

View File

@ -2,12 +2,14 @@ export interface Transaction {
txid: string; txid: string;
version: number; version: number;
locktime: number; locktime: number;
fee: number;
size: number; size: number;
weight: number; weight: number;
fee: number;
vin: Vin[]; vin: Vin[];
vout: Vout[]; vout: Vout[];
status: Status; status: Status;
// Custom properties
firstSeen?: number; firstSeen?: number;
} }
@ -18,26 +20,18 @@ export interface Recent {
value: number; value: number;
} }
export interface Prevout {
scriptpubkey: string;
scriptpubkey_asm: string;
scriptpubkey_type: string;
scriptpubkey_address: string;
value: number;
asset?: string;
}
export interface Vin { export interface Vin {
txid: string; txid: string;
vout: number; vout: number;
prevout: Prevout; is_coinbase: boolean;
scriptsig: string; scriptsig: string;
scriptsig_asm: string; scriptsig_asm: string;
inner_redeemscript_asm?: string; inner_redeemscript_asm?: string;
is_coinbase: boolean; inner_witnessscript_asm?: string;
sequence: any; sequence: any;
witness?: string[]; witness?: string[];
inner_witnessscript_asm?: string; prevout: Vout;
// Elements
is_pegin?: boolean; is_pegin?: boolean;
issuance?: Issuance; issuance?: Issuance;
} }
@ -60,6 +54,7 @@ export interface Vout {
scriptpubkey_type: string; scriptpubkey_type: string;
scriptpubkey_address: string; scriptpubkey_address: string;
value: number; value: number;
// Elements
valuecommitment?: number; valuecommitment?: number;
asset?: string; asset?: string;
pegout?: Pegout; pegout?: Pegout;
@ -84,10 +79,13 @@ export interface Block {
height: number; height: number;
version: number; version: number;
timestamp: number; timestamp: number;
bits: number;
nounce: number;
difficulty: number;
merkle_root: string;
tx_count: number; tx_count: number;
size: number; size: number;
weight: number; weight: number;
merkle_root: string;
previousblockhash: string; previousblockhash: string;
// Custom properties // Custom properties
@ -135,8 +133,8 @@ export interface Asset {
reissuance_token: string; reissuance_token: string;
contract_hash: string; contract_hash: string;
status: Status; status: Status;
chain_stats: AssetChainStats; chain_stats: AssetStats;
mempool_stats: AssetMempoolStats; mempool_stats: AssetStats;
} }
interface IssuanceTxin { interface IssuanceTxin {
@ -149,7 +147,7 @@ interface IssuancePrevout {
vout: number; vout: number;
} }
interface AssetChainStats { interface AssetStats {
tx_count: number; tx_count: number;
issuance_count: number; issuance_count: number;
issued_amount: number; issued_amount: number;
@ -157,30 +155,9 @@ interface AssetChainStats {
has_blinded_issuances: boolean; has_blinded_issuances: boolean;
reissuance_tokens: number; reissuance_tokens: number;
burned_reissuance_tokens: number; burned_reissuance_tokens: number;
peg_in_count: number; peg_in_count: number;
peg_in_amount: number; peg_in_amount: number;
peg_out_count: number; peg_out_count: number;
peg_out_amount: number; peg_out_amount: number;
burn_count: number; burn_count: number;
} }
interface AssetMempoolStats {
tx_count: number;
issuance_count: number;
issued_amount: number;
burned_amount: number;
has_blinded_issuances: boolean;
reissuance_tokens: any;
burned_reissuance_tokens: number;
peg_in_count: number;
peg_in_amount: number;
peg_out_count: number;
peg_out_amount: number;
burn_count: number;
}
interface Entity {
domain: string;
}