diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index f258fefea..53a2ce1ac 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -295,7 +295,7 @@ class Blocks { extras.virtualSize = block.weight / 4.0; if (coinbaseTx?.vout.length > 0) { extras.coinbaseAddress = coinbaseTx.vout[0].scriptpubkey_address ?? null; - extras.coinbaseAddresses = [...new Set(...coinbaseTx.vout.map(v => v.scriptpubkey_address).filter(a => a) as string[])]; + extras.coinbaseAddresses = [...new Set(coinbaseTx.vout.map(v => v.scriptpubkey_address).filter(a => a) as string[])]; extras.coinbaseSignature = coinbaseTx.vout[0].scriptpubkey_asm ?? null; extras.coinbaseSignatureAscii = transactionUtils.hex2ascii(coinbaseTx.vin[0].scriptsig) ?? null; } else { diff --git a/backend/src/repositories/BlocksRepository.ts b/backend/src/repositories/BlocksRepository.ts index b2e4b0f11..b2737b46d 100644 --- a/backend/src/repositories/BlocksRepository.ts +++ b/backend/src/repositories/BlocksRepository.ts @@ -40,7 +40,7 @@ interface DatabaseBlock { avgFeeRate: number; coinbaseRaw: string; coinbaseAddress: string; - coinbaseAddresses: string[]; + coinbaseAddresses: string; coinbaseSignature: string; coinbaseSignatureAscii: string; avgTxSize: number; @@ -163,7 +163,7 @@ class BlocksRepository { block.mediantime, block.extras.header, block.extras.coinbaseAddress, - block.extras.coinbaseAddresses, + block.extras.coinbaseAddresses ? JSON.stringify(block.extras.coinbaseAddresses) : null, truncatedCoinbaseSignature, block.extras.utxoSetSize, block.extras.utxoSetChange, @@ -1040,7 +1040,7 @@ class BlocksRepository { extras.avgFeeRate = dbBlk.avgFeeRate; extras.coinbaseRaw = dbBlk.coinbaseRaw; extras.coinbaseAddress = dbBlk.coinbaseAddress; - extras.coinbaseAddresses = dbBlk.coinbaseAddresses; + extras.coinbaseAddresses = dbBlk.coinbaseAddresses ? JSON.parse(dbBlk.coinbaseAddresses) : []; extras.coinbaseSignature = dbBlk.coinbaseSignature; extras.coinbaseSignatureAscii = dbBlk.coinbaseSignatureAscii; extras.avgTxSize = dbBlk.avgTxSize;