From bec3d7c664750422be496b55af0b1f3f14b8b917 Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Sat, 14 Jul 2018 15:26:06 +0200
Subject: [PATCH] [fix] `dump` was broken for block#0 members

---
 app/lib/dal/fileDAL.ts | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/app/lib/dal/fileDAL.ts b/app/lib/dal/fileDAL.ts
index 138c48ee3..8109af996 100644
--- a/app/lib/dal/fileDAL.ts
+++ b/app/lib/dal/fileDAL.ts
@@ -357,7 +357,12 @@ export class FileDAL {
   }
 
   async getAbsoluteBlockByNumberAndHash(number:number, hash:string): Promise<DBBlock|null> {
-    return (await this.blockDAL.getAbsoluteBlock(number, hash)) || (await this.blockchainArchiveDAL.getBlock(number, hash))
+    if (number > 0) {
+      return (await this.blockDAL.getAbsoluteBlock(number, hash)) || (await this.blockchainArchiveDAL.getBlock(number, hash))
+    } else {
+      // Block#0 is special
+      return (await this.blockDAL.getBlock(number)) || (await this.blockchainArchiveDAL.getBlockByNumber(number))
+    }
   }
 
   async getAbsoluteBlockByBlockstamp(blockstamp: string): Promise<DBBlock|null> {
@@ -1072,9 +1077,9 @@ export class FileDAL {
       await this.iindexDAL.trimRecords(maxNumber)
       await this.mindexDAL.trimRecords(maxNumber)
       await this.cindexDAL.trimExpiredCerts(maxNumber)
-      await this.sindexDAL.trimConsumedSource(maxNumber)
-      await this.dividendDAL.trimConsumedUDs(maxNumber)
     }
+    await this.sindexDAL.trimConsumedSource(maxNumber)
+    await this.dividendDAL.trimConsumedUDs(maxNumber)
   }
 
   async trimSandboxes(block:{ medianTime: number }) {
-- 
GitLab