diff --git a/src/services/new/witness/electionManager.ts b/src/services/new/witness/electionManager.ts index 5f09117..5f3435d 100644 --- a/src/services/new/witness/electionManager.ts +++ b/src/services/new/witness/electionManager.ts @@ -164,9 +164,9 @@ export class ElectionManager { return witnesses.map(e => { return { account: e.account, - key: e.keys.find(b => b.t === 'consensus').key + key: e.keys.find(b => b.t === 'consensus')?.key } - }) + }).filter(e => !!e.key) } } @@ -367,7 +367,7 @@ export class ElectionManager { //Don't require 2/3 consensus for initial startup. const voteMajority = 2/3 - if(isValid && (((pubKeys.length / members.length) < voteMajority) || json.epoch === 0)) { + if(isValid && (((pubKeys.length / members.length) > voteMajority) || json.epoch === 0)) { //Must be valid const fullContent = (await this.self.ipfs.dag.get(CID.parse(json.data))).value @@ -486,7 +486,7 @@ export class ElectionManager { const members = await this.getMembersOfBlock(blk) const voteMajority = calcVotingWeight(0); //Hardcode for 0 until the future - if((((circuit.aggPubKeys.size / members.length) < voteMajority) || electionHeader.epoch < 200)) { + if((((circuit.aggPubKeys.size / members.length) > voteMajority) || electionHeader.epoch < 200)) { //Must be valid const electionResult = { @@ -533,7 +533,7 @@ export class ElectionManager { //Don't require 2/3 consensus for initial startup. const voteMajority = 2/3 - if(isValid && (((pubKeys.length / members.length) < voteMajority) || electionResult.epoch === 0)) { + if(isValid && (((pubKeys.length / members.length) > voteMajority) || electionResult.epoch === 0)) { //Must be valid const fullContent = (await this.self.ipfs.dag.get(CID.parse(electionResult.data))).value diff --git a/src/services/new/witness/index.ts b/src/services/new/witness/index.ts index f6463c6..906e8f9 100644 --- a/src/services/new/witness/index.ts +++ b/src/services/new/witness/index.ts @@ -546,7 +546,8 @@ export class WitnessServiceV2 { const circuit = new BlsCircuit({ hash: blockHash.bytes }) - const keysMap = (await this.self.electionManager.getMembersOfBlock(block_height)).map(e => e.key) + const membersOfBlock = (await this.self.electionManager.getMembersOfBlock(block_height)) + const keysMap = membersOfBlock.map(e => e.key) const signedData = await this.self.consensusKey.signRaw(blockHash.bytes); console.log('signedData', signedData) @@ -559,6 +560,7 @@ export class WitnessServiceV2 { // console.log('witness.sign', blockHeader) // console.log(keysMap) + let voteMajority = 0.67 for await(let sigMsg of drain) { const from = sigMsg.from @@ -587,7 +589,9 @@ export class WitnessServiceV2 { sig, did: pub, }) - + + const signerNode = membersOfBlock.find(e => e.key === pub) + console.log('signerNode', signerNode, pub) // console.log('result', pub) // console.log('aggregated DID', circuit.did.id) diff --git a/src/services/new/witness/versionManager.ts b/src/services/new/witness/versionManager.ts index 0e53e99..e708780 100644 --- a/src/services/new/witness/versionManager.ts +++ b/src/services/new/witness/versionManager.ts @@ -6,7 +6,7 @@ import { Collection } from "mongodb"; export const VersionConfig = { - index_reset_id: 5, + index_reset_id: 6, //Match with package.json and tag version_id: 'v0.1.1' }