diff --git a/app/lib/blockchain/DuniterBlockchain.ts b/app/lib/blockchain/DuniterBlockchain.ts index af3cbbc68febd192b9fb8d9fdd9dea865e9e62ed..0b446a7375ca4d8fe4daa701f28e86eb54edbe34 100644 --- a/app/lib/blockchain/DuniterBlockchain.ts +++ b/app/lib/blockchain/DuniterBlockchain.ts @@ -213,15 +213,15 @@ export class DuniterBlockchain extends MiscIndexedBlockchain { const TAIL = await dal.bindexDAL.tail(); const bindexSize = [ - block.issuersCount, - block.issuersFrame, + TAIL.issuersCount, + TAIL.issuersFrame, conf.medianTimeBlocks, conf.dtDiffEval ].reduce((max, value) => { return Math.max(max, value); }, 0); - const MAX_BINDEX_SIZE = 2 * bindexSize; - const currentSize = indexes.HEAD.number - TAIL.number + 1; + const MAX_BINDEX_SIZE = conf.forksize + bindexSize + const currentSize = indexes.HEAD.number - TAIL.number + 1 if (currentSize > MAX_BINDEX_SIZE) { await dal.trimIndexes(indexes.HEAD.number - MAX_BINDEX_SIZE); } diff --git a/app/lib/computation/QuickSync.ts b/app/lib/computation/QuickSync.ts index 0bf46bd7b74caa056a3106c7a94e9297ecc3c49e..1979c7cb1fa15ffe8f4660c5a8248ef08eeb304c 100644 --- a/app/lib/computation/QuickSync.ts +++ b/app/lib/computation/QuickSync.ts @@ -203,7 +203,7 @@ export class QuickSynchronizer { } // Trim the bindex - sync_bindexSize = [ + sync_bindexSize = this.conf.forksize + [ block.issuersCount, block.issuersFrame, this.conf.medianTimeBlocks, diff --git a/test/dal/triming.js b/test/dal/triming.js index 114decf96c45caf5239bfbd6e69665a4a0cf2865..db2c0cb849343c53b7db558a368729cf7185b440 100644 --- a/test/dal/triming.js +++ b/test/dal/triming.js @@ -128,6 +128,7 @@ describe("Triming", function(){ pub: 'HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd', sec: '51w4fEShBk1jCMauWu4mLpmDVfHksKmWcygpxriqCEZizbtERA6de4STKRkQBpxmMUwsKXRjSzuQ8ECwmqN1u2DP' }, + forksize: 9, sigQty: 1, dtDiffEval: 2, medianTimeBlocks: 3