@mainsail/evm-consensus 0.0.1-evm.3 → 0.0.1-evm.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,8 @@ export declare class ValidatorSet implements Contracts.ValidatorSet.Service {
6
6
  private readonly evm;
7
7
  restore(): Promise<void>;
8
8
  onCommit(unit: Contracts.Processor.ProcessableUnit): Promise<void>;
9
+ getAllValidators(): Contracts.State.ValidatorWallet[];
10
+ getDirtyValidators(): Contracts.State.ValidatorWallet[];
9
11
  getActiveValidators(): Contracts.State.ValidatorWallet[];
10
12
  getValidator(index: number): Contracts.State.ValidatorWallet;
11
13
  getValidatorIndexByWalletAddress(walletAddress: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"validator-set.d.ts","sourceRoot":"","sources":["../source/validator-set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAOzE,qBACa,YAAa,YAAW,SAAS,CAAC,YAAY,CAAC,OAAO;;IAElE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAIhE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAKjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE,mBAAmB,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE;IAUxD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe;IAI5D,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;CA4DtE"}
1
+ {"version":3,"file":"validator-set.d.ts","sourceRoot":"","sources":["../source/validator-set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAOzE,qBACa,YAAa,YAAW,SAAS,CAAC,YAAY,CAAC,OAAO;;IAElE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAIhE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAQjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxE,gBAAgB,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE;IAIrD,kBAAkB,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE;IAIvD,mBAAmB,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE;IAUxD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe;IAI5D,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;CAsHtE"}
@@ -18,7 +18,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
18
18
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
19
19
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
20
20
  };
21
- var _ValidatorSet_instances, _ValidatorSet_validators, _ValidatorSet_indexByAddress, _ValidatorSet_buildActiveValidators, _ValidatorSet_getActiveValidators;
21
+ var _ValidatorSet_instances, _ValidatorSet_topValidators, _ValidatorSet_indexByAddress, _ValidatorSet_allValidators, _ValidatorSet_dirtyValidators, _ValidatorSet_buildActiveValidators, _ValidatorSet_calculateChangedValidators, _ValidatorSet_getActiveValidators, _ValidatorSet_getAllValidators;
22
22
  import { inject, injectable, tagged } from "@mainsail/container";
23
23
  import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
24
24
  import { ConsensusAbi } from "@mainsail/evm-contracts";
@@ -28,26 +28,37 @@ import { Identifiers as EvmConsensusIdentifiers } from "./identifiers.js";
28
28
  let ValidatorSet = class ValidatorSet {
29
29
  constructor() {
30
30
  _ValidatorSet_instances.add(this);
31
- _ValidatorSet_validators.set(this, []);
31
+ _ValidatorSet_topValidators.set(this, []);
32
32
  _ValidatorSet_indexByAddress.set(this, new Map());
33
+ _ValidatorSet_allValidators.set(this, new Map());
34
+ _ValidatorSet_dirtyValidators.set(this, []);
33
35
  }
34
36
  async restore() {
35
37
  await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_buildActiveValidators).call(this);
38
+ const validators = await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_getAllValidators).call(this);
39
+ __classPrivateFieldSet(this, _ValidatorSet_allValidators, new Map(validators.map((validator) => [validator.address, validator])), "f");
36
40
  }
37
41
  async onCommit(unit) {
38
42
  if (Utils.roundCalculator.isNewRound(unit.height + 1, this.configuration)) {
39
43
  await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_buildActiveValidators).call(this);
40
44
  }
45
+ await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_calculateChangedValidators).call(this);
46
+ }
47
+ getAllValidators() {
48
+ return [...__classPrivateFieldGet(this, _ValidatorSet_allValidators, "f").values()];
49
+ }
50
+ getDirtyValidators() {
51
+ return __classPrivateFieldGet(this, _ValidatorSet_dirtyValidators, "f");
41
52
  }
42
53
  getActiveValidators() {
43
54
  const { activeValidators } = this.configuration.getMilestone();
44
- if (__classPrivateFieldGet(this, _ValidatorSet_validators, "f").length !== activeValidators) {
45
- throw new Exceptions.NotEnoughActiveValidatorsError(__classPrivateFieldGet(this, _ValidatorSet_validators, "f").length, activeValidators);
55
+ if (__classPrivateFieldGet(this, _ValidatorSet_topValidators, "f").length !== activeValidators) {
56
+ throw new Exceptions.NotEnoughActiveValidatorsError(__classPrivateFieldGet(this, _ValidatorSet_topValidators, "f").length, activeValidators);
46
57
  }
47
- return __classPrivateFieldGet(this, _ValidatorSet_validators, "f").slice(0, activeValidators);
58
+ return __classPrivateFieldGet(this, _ValidatorSet_topValidators, "f").slice(0, activeValidators);
48
59
  }
49
60
  getValidator(index) {
50
- return __classPrivateFieldGet(this, _ValidatorSet_validators, "f")[index];
61
+ return __classPrivateFieldGet(this, _ValidatorSet_topValidators, "f")[index];
51
62
  }
52
63
  getValidatorIndexByWalletAddress(walletAddress) {
53
64
  const result = __classPrivateFieldGet(this, _ValidatorSet_indexByAddress, "f").get(walletAddress);
@@ -57,17 +68,34 @@ let ValidatorSet = class ValidatorSet {
57
68
  return result;
58
69
  }
59
70
  };
60
- _ValidatorSet_validators = new WeakMap();
71
+ _ValidatorSet_topValidators = new WeakMap();
61
72
  _ValidatorSet_indexByAddress = new WeakMap();
73
+ _ValidatorSet_allValidators = new WeakMap();
74
+ _ValidatorSet_dirtyValidators = new WeakMap();
62
75
  _ValidatorSet_instances = new WeakSet();
63
76
  _ValidatorSet_buildActiveValidators = async function _ValidatorSet_buildActiveValidators() {
64
77
  const { activeValidators } = this.configuration.getMilestone();
65
78
  const validators = await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_getActiveValidators).call(this);
66
79
  if (validators.length < activeValidators) {
67
- throw new Exceptions.NotEnoughActiveValidatorsError(__classPrivateFieldGet(this, _ValidatorSet_validators, "f").length, activeValidators);
80
+ throw new Exceptions.NotEnoughActiveValidatorsError(__classPrivateFieldGet(this, _ValidatorSet_topValidators, "f").length, activeValidators);
68
81
  }
69
- __classPrivateFieldSet(this, _ValidatorSet_validators, validators.slice(0, activeValidators), "f");
70
- __classPrivateFieldSet(this, _ValidatorSet_indexByAddress, new Map(__classPrivateFieldGet(this, _ValidatorSet_validators, "f").map((validator, index) => [validator.address, index])), "f");
82
+ __classPrivateFieldSet(this, _ValidatorSet_topValidators, validators.slice(0, activeValidators), "f");
83
+ __classPrivateFieldSet(this, _ValidatorSet_indexByAddress, new Map(__classPrivateFieldGet(this, _ValidatorSet_topValidators, "f").map((validator, index) => [validator.address, index])), "f");
84
+ };
85
+ _ValidatorSet_calculateChangedValidators = async function _ValidatorSet_calculateChangedValidators() {
86
+ __classPrivateFieldSet(this, _ValidatorSet_dirtyValidators, [], "f");
87
+ const validators = await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_getAllValidators).call(this);
88
+ for (const validator of validators) {
89
+ const currentValidator = __classPrivateFieldGet(this, _ValidatorSet_allValidators, "f").get(validator.address);
90
+ if (!currentValidator ||
91
+ !currentValidator.voteBalance.isEqualTo(validator.voteBalance) ||
92
+ currentValidator.isResigned !== validator.isResigned ||
93
+ currentValidator.votersCount !== validator.votersCount ||
94
+ currentValidator.blsPublicKey !== validator.blsPublicKey) {
95
+ __classPrivateFieldGet(this, _ValidatorSet_dirtyValidators, "f").push(validator);
96
+ }
97
+ }
98
+ __classPrivateFieldSet(this, _ValidatorSet_allValidators, new Map(validators.map((validator) => [validator.address, validator])), "f");
71
99
  };
72
100
  _ValidatorSet_getActiveValidators = async function _ValidatorSet_getActiveValidators() {
73
101
  const consensusContractAddress = this.app.get(EvmConsensusIdentifiers.Contracts.Addresses.Consensus);
@@ -87,16 +115,46 @@ _ValidatorSet_getActiveValidators = async function _ValidatorSet_getActiveValida
87
115
  const [validators] = iface.decodeFunctionResult("getTopValidators", result.output);
88
116
  const validatorWallets = [];
89
117
  for (const [, validator] of validators.entries()) {
90
- const [address, [voteBalance, , blsPublicKey]] = validator;
118
+ const [address, [votersCount, voteBalance, isResigned, blsPublicKey]] = validator;
119
+ const validatorWallet = {
120
+ address,
121
+ blsPublicKey: blsPublicKey.slice(2),
122
+ isResigned,
123
+ voteBalance: Utils.BigNumber.make(voteBalance),
124
+ votersCount: Number(votersCount),
125
+ };
126
+ validatorWallets.push(validatorWallet);
127
+ }
128
+ return validatorWallets;
129
+ };
130
+ _ValidatorSet_getAllValidators = async function _ValidatorSet_getAllValidators() {
131
+ const consensusContractAddress = this.app.get(EvmConsensusIdentifiers.Contracts.Addresses.Consensus);
132
+ const deployerAddress = this.app.get(EvmConsensusIdentifiers.Internal.Addresses.Deployer);
133
+ const { evmSpec } = this.configuration.getMilestone();
134
+ const iface = new ethers.Interface(ConsensusAbi.abi);
135
+ const data = iface.encodeFunctionData("getAllValidators").slice(2);
136
+ const result = await this.evm.view({
137
+ caller: deployerAddress,
138
+ data: Buffer.from(data, "hex"),
139
+ recipient: consensusContractAddress,
140
+ specId: evmSpec,
141
+ });
142
+ if (!result.success) {
143
+ this.app.terminate("getAllValidators failed");
144
+ }
145
+ const [validators] = iface.decodeFunctionResult("getAllValidators", result.output);
146
+ const validatorWallets = [];
147
+ for (const [, validator] of validators.entries()) {
148
+ const [address, [votersCount, voteBalance, isResigned, blsPublicKey]] = validator;
91
149
  const validatorWallet = {
92
150
  address,
93
151
  blsPublicKey: blsPublicKey.slice(2),
152
+ isResigned,
94
153
  voteBalance: Utils.BigNumber.make(voteBalance),
154
+ votersCount: Number(votersCount),
95
155
  };
96
156
  validatorWallets.push(validatorWallet);
97
157
  }
98
- console.log("Getting active validators", validatorWallets);
99
- console.log(validatorWallets.map((v) => v));
100
158
  return validatorWallets;
101
159
  };
102
160
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"validator-set.js","sourceRoot":"","sources":["../source/validator-set.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,IAAI,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGnE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;;QAWN,mCAAiD,EAAE,EAAC;QACpD,uCAAuC,IAAI,GAAG,EAAE,EAAC;IAsFlD,CAAC;IApFO,KAAK,CAAC,OAAO;QACnB,MAAM,uBAAA,IAAI,oEAAuB,MAA3B,IAAI,CAAyB,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,IAAyC;QAC9D,IAAI,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3E,MAAM,uBAAA,IAAI,oEAAuB,MAA3B,IAAI,CAAyB,CAAC;QACrC,CAAC;IACF,CAAC;IAEM,mBAAmB;QACzB,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAE/D,IAAI,uBAAA,IAAI,gCAAY,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAClD,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,uBAAA,IAAI,gCAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAEM,YAAY,CAAC,KAAa;QAChC,OAAO,uBAAA,IAAI,gCAAY,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,gCAAgC,CAAC,aAAqB;QAC5D,MAAM,MAAM,GAAG,uBAAA,IAAI,oCAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,aAAa,aAAa,aAAa,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CAoDD,CAAA;;;;sCAlDA,KAAK;IACJ,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,uBAAA,IAAI,kEAAqB,MAAzB,IAAI,CAAuB,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,uBAAA,IAAI,gCAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChG,CAAC;IAED,uBAAA,IAAI,4BAAe,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAA,CAAC;IACzD,uBAAA,IAAI,gCAAmB,IAAI,GAAG,CAAC,uBAAA,IAAI,gCAAY,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAA,CAAC;AACxG,CAAC;oCAED,KAAK;IACJ,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAS,uBAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7G,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAS,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAEtD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAC9B,SAAS,EAAE,wBAAwB;QACnC,MAAM,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAO,CAAC,CAAC;IAEpF,MAAM,gBAAgB,GAAsC,EAAE,CAAC;IAC/D,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,AAAD,EAAG,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC;QAE3D,MAAM,eAAe,GAAoC;YACxD,OAAO;YACP,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;SAC9C,CAAC;QAEF,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,gBAAgB,CAAC;AACzB,CAAC;AA/FgB;IADhB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;yCACW;AAGnC;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;mDACiB;AAI/C;IAFhB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC;;yCACoB;AATlC,YAAY;IADxB,UAAU,EAAE;GACA,YAAY,CAkGxB"}
1
+ {"version":3,"file":"validator-set.js","sourceRoot":"","sources":["../source/validator-set.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainsail/evm-consensus",
3
- "version": "0.0.1-evm.3",
3
+ "version": "0.0.1-evm.5",
4
4
  "description": "EVM development support for the Mainsail blockchain",
5
5
  "license": "GPL-3.0-only",
6
6
  "contributors": [],
@@ -12,10 +12,10 @@
12
12
  ],
13
13
  "dependencies": {
14
14
  "ethers": "^6.11.0",
15
- "@mainsail/container": "0.0.1-evm.3",
16
- "@mainsail/contracts": "0.0.1-evm.3",
17
- "@mainsail/evm-contracts": "0.0.1-evm.3",
18
- "@mainsail/kernel": "0.0.1-evm.3"
15
+ "@mainsail/container": "0.0.1-evm.5",
16
+ "@mainsail/evm-contracts": "0.0.1-evm.5",
17
+ "@mainsail/contracts": "0.0.1-evm.5",
18
+ "@mainsail/kernel": "0.0.1-evm.5"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/seedrandom": "^3.0.8",