diff --git a/src/services/new/witness/electionManager.ts b/src/services/new/witness/electionManager.ts index a124cbe..19f61c2 100644 --- a/src/services/new/witness/electionManager.ts +++ b/src/services/new/witness/electionManager.ts @@ -404,9 +404,11 @@ export class ElectionManager { async handlePeerMsg(data) { const election = await this.generateElection(data.message.block_height) - if(data.message.block_height % 40 === 0) { + if(data.message.block_height % this.epochLength === 0 || data.message.block_height % 40 === 0) { const signRaw = (await this.self.ipfs.dag.put({ - data: (await this.self.ipfs.dag.put(election)).toString(), + data: (await this.self.ipfs.dag.put(election, { + pin: true + })).toString(), epoch: election.epoch, net_id: this.self.config.get('network.id') })).bytes; diff --git a/src/services/new/witness/index.ts b/src/services/new/witness/index.ts index 796237b..f6463c6 100644 --- a/src/services/new/witness/index.ts +++ b/src/services/new/witness/index.ts @@ -939,9 +939,12 @@ export class WitnessServiceV2 { console.log('block_header - before sign', block_header, await this.self.ipfs.dag.put(block_header)) const signData = await this.self.consensusKey.signRaw((await this.self.ipfs.dag.put(block_header, { - onlyHash: true + pin: true })).bytes) drain.push(signData) + await this.self.ipfs.dag.put(block_full, { + pin: true + }) if(cadBlock) { // delete cadBlock.block