@mainsail/evm-consensus 0.0.1-evm.14 → 0.0.1-evm.16
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.
- package/distribution/deployer.d.ts +1 -0
- package/distribution/deployer.d.ts.map +1 -1
- package/distribution/deployer.js +48 -43
- package/distribution/deployer.js.map +1 -1
- package/distribution/index.d.ts.map +1 -1
- package/distribution/index.js +4 -4
- package/distribution/index.js.map +1 -1
- package/distribution/services/rounds-iterator.d.ts +1 -0
- package/distribution/services/rounds-iterator.d.ts.map +1 -1
- package/distribution/services/rounds-iterator.js +5 -3
- package/distribution/services/rounds-iterator.js.map +1 -1
- package/distribution/validator-set.d.ts +1 -0
- package/distribution/validator-set.d.ts.map +1 -1
- package/distribution/validator-set.js +5 -2
- package/distribution/validator-set.js.map +1 -1
- package/package.json +9 -9
- package/distribution/selector.d.ts +0 -9
- package/distribution/selector.d.ts.map +0 -1
- package/distribution/selector.js +0 -60
- package/distribution/selector.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../source/deployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuB,MAAM,qBAAqB,CAAC;AAOrE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../source/deployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuB,MAAM,qBAAqB,CAAC;AAOrE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED,qBACa,QAAQ;;IAEpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAIlD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAG9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAO7B,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmS/D,mBAAmB,IAAI,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE;CAmB9D"}
|
package/distribution/deployer.js
CHANGED
@@ -18,11 +18,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
18
18
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
19
19
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
20
20
|
};
|
21
|
-
var _Deployer_instances, _Deployer_genesisBlockInfo, _Deployer_nonce, _Deployer_generateTxHash, _Deployer_initialize, _Deployer_getBlockContext, _Deployer_getSpecId, _Deployer_deployConsensusContract, _Deployer_deployConsensusProxy, _Deployer_deployUsernamesContract, _Deployer_deployUsernamesProxy, _Deployer_deployMultiPaymentContract, _Deployer_deployMultiPaymentProxy, _Deployer_deploymentEvents, _Deployer_emitContractDeployed;
|
21
|
+
var _Deployer_instances, _Deployer_genesisBlockInfo, _Deployer_nonce, _Deployer_generateTxHash, _Deployer_initialize, _Deployer_getBlockContext, _Deployer_getSpecId, _Deployer_deployConsensusContract, _Deployer_deployConsensusProxy, _Deployer_deployUsernamesContract, _Deployer_deployUsernamesProxy, _Deployer_deployMultiPaymentContract, _Deployer_deployMultiPaymentProxy, _Deployer_deploymentEvents, _Deployer_emitContractDeployed, _Deployer_processTransaction;
|
22
22
|
import { inject, injectable, tagged } from "@mainsail/container";
|
23
23
|
import { Contracts, Events, Identifiers } from "@mainsail/contracts";
|
24
24
|
import { ConsensusAbi, ERC1967ProxyAbi, MultiPaymentAbi, UsernamesAbi } from "@mainsail/evm-contracts";
|
25
|
-
import {
|
25
|
+
import { assert, BigNumber } from "@mainsail/utils";
|
26
26
|
import { ethers, sha256 } from "ethers";
|
27
27
|
import { Identifiers as EvmConsensusIdentifiers } from "./identifiers.js";
|
28
28
|
let Deployer = class Deployer {
|
@@ -58,11 +58,12 @@ _Deployer_generateTxHash = new WeakMap();
|
|
58
58
|
_Deployer_deploymentEvents = new WeakMap();
|
59
59
|
_Deployer_instances = new WeakSet();
|
60
60
|
_Deployer_initialize = async function _Deployer_initialize() {
|
61
|
-
|
61
|
+
assert.defined(__classPrivateFieldGet(this, _Deployer_genesisBlockInfo, "f"));
|
62
62
|
const genesisInfo = {
|
63
63
|
account: __classPrivateFieldGet(this, _Deployer_genesisBlockInfo, "f").generatorAddress,
|
64
64
|
deployerAccount: this.deployerAddress,
|
65
|
-
|
65
|
+
initialHeight: BigNumber.make(__classPrivateFieldGet(this, _Deployer_genesisBlockInfo, "f").initialHeight).toBigInt(),
|
66
|
+
initialSupply: BigNumber.make(__classPrivateFieldGet(this, _Deployer_genesisBlockInfo, "f").totalAmount).toBigInt(),
|
66
67
|
usernameContract: ethers.getCreateAddress({ from: this.deployerAddress, nonce: 3 }), // PROXY Uses nonce 3
|
67
68
|
validatorContract: ethers.getCreateAddress({ from: this.deployerAddress, nonce: 1 }), // PROXY Uses nonce 1
|
68
69
|
};
|
@@ -70,7 +71,7 @@ _Deployer_initialize = async function _Deployer_initialize() {
|
|
70
71
|
this.app.bind(EvmConsensusIdentifiers.Internal.GenesisInfo).toConstantValue(genesisInfo);
|
71
72
|
};
|
72
73
|
_Deployer_getBlockContext = function _Deployer_getBlockContext() {
|
73
|
-
const milestone = this.configuration.getMilestone(
|
74
|
+
const milestone = this.configuration.getMilestone();
|
74
75
|
// Commit Key chosen in a way such that it does not conflict with blocks.
|
75
76
|
return {
|
76
77
|
commitKey: { height: BigInt(2 ** 32 + 1), round: BigInt(0) },
|
@@ -80,12 +81,12 @@ _Deployer_getBlockContext = function _Deployer_getBlockContext() {
|
|
80
81
|
};
|
81
82
|
};
|
82
83
|
_Deployer_getSpecId = function _Deployer_getSpecId() {
|
83
|
-
const milestone = this.configuration.getMilestone(
|
84
|
+
const milestone = this.configuration.getMilestone();
|
84
85
|
return milestone.evmSpec;
|
85
86
|
};
|
86
87
|
_Deployer_deployConsensusContract = async function _Deployer_deployConsensusContract() {
|
87
88
|
// CONSENSUS
|
88
|
-
const
|
89
|
+
const receipt = await __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_processTransaction).call(this, {
|
89
90
|
blockContext: __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_getBlockContext).call(this),
|
90
91
|
caller: this.deployerAddress,
|
91
92
|
data: Buffer.concat([Buffer.from(ethers.getBytes(ConsensusAbi.bytecode.object))]),
|
@@ -96,15 +97,14 @@ _Deployer_deployConsensusContract = async function _Deployer_deployConsensusCont
|
|
96
97
|
txHash: __classPrivateFieldGet(this, _Deployer_generateTxHash, "f").call(this),
|
97
98
|
value: 0n,
|
98
99
|
});
|
99
|
-
if (!
|
100
|
+
if (!receipt.success) {
|
100
101
|
throw new Error("failed to deploy Consensus contract");
|
101
102
|
}
|
102
|
-
if (
|
103
|
-
ethers.getCreateAddress({ from: this.deployerAddress, nonce: 0 })) {
|
103
|
+
if (receipt.deployedContractAddress !== ethers.getCreateAddress({ from: this.deployerAddress, nonce: 0 })) {
|
104
104
|
throw new Error("Contract address mismatch");
|
105
105
|
}
|
106
|
-
this.logger.info(`Deployed Consensus contract from ${this.deployerAddress} to ${
|
107
|
-
return
|
106
|
+
this.logger.info(`Deployed Consensus contract from ${this.deployerAddress} to ${receipt.deployedContractAddress}`);
|
107
|
+
return receipt.deployedContractAddress;
|
108
108
|
};
|
109
109
|
_Deployer_deployConsensusProxy = async function _Deployer_deployConsensusProxy(consensusContractAddress) {
|
110
110
|
// Logic contract initializer function ABI
|
@@ -115,7 +115,7 @@ _Deployer_deployConsensusProxy = async function _Deployer_deployConsensusProxy(c
|
|
115
115
|
const proxyConstructorArguments = new ethers.AbiCoder()
|
116
116
|
.encode(["address", "bytes"], [consensusContractAddress, initializerCalldata])
|
117
117
|
.slice(2);
|
118
|
-
const
|
118
|
+
const receipt = await __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_processTransaction).call(this, {
|
119
119
|
blockContext: __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_getBlockContext).call(this),
|
120
120
|
caller: this.deployerAddress,
|
121
121
|
data: Buffer.concat([
|
@@ -129,27 +129,26 @@ _Deployer_deployConsensusProxy = async function _Deployer_deployConsensusProxy(c
|
|
129
129
|
txHash: __classPrivateFieldGet(this, _Deployer_generateTxHash, "f").call(this),
|
130
130
|
value: 0n,
|
131
131
|
});
|
132
|
-
if (!
|
132
|
+
if (!receipt.success) {
|
133
133
|
throw new Error("failed to deploy Consensus PROXY contract");
|
134
134
|
}
|
135
|
-
if (
|
136
|
-
ethers.getCreateAddress({ from: this.deployerAddress, nonce: 1 })) {
|
135
|
+
if (receipt.deployedContractAddress !== ethers.getCreateAddress({ from: this.deployerAddress, nonce: 1 })) {
|
137
136
|
throw new Error("Contract address mismatch");
|
138
137
|
}
|
139
|
-
this.logger.info(`Deployed Consensus PROXY contract from ${this.deployerAddress} to ${
|
138
|
+
this.logger.info(`Deployed Consensus PROXY contract from ${this.deployerAddress} to ${receipt.deployedContractAddress}`);
|
140
139
|
__classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_emitContractDeployed).call(this, {
|
141
140
|
activeImplementation: consensusContractAddress,
|
142
|
-
address:
|
141
|
+
address: receipt.deployedContractAddress,
|
143
142
|
implementations: [{ abi: ConsensusAbi.abi, address: consensusContractAddress }],
|
144
143
|
name: "consensus",
|
145
144
|
proxy: "UUPS",
|
146
145
|
});
|
147
146
|
this.app
|
148
147
|
.bind(EvmConsensusIdentifiers.Contracts.Addresses.Consensus)
|
149
|
-
.toConstantValue(
|
148
|
+
.toConstantValue(receipt.deployedContractAddress);
|
150
149
|
};
|
151
150
|
_Deployer_deployUsernamesContract = async function _Deployer_deployUsernamesContract() {
|
152
|
-
const
|
151
|
+
const receipt = await __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_processTransaction).call(this, {
|
153
152
|
blockContext: __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_getBlockContext).call(this),
|
154
153
|
caller: this.deployerAddress,
|
155
154
|
data: Buffer.concat([Buffer.from(ethers.getBytes(UsernamesAbi.bytecode.object))]),
|
@@ -160,14 +159,14 @@ _Deployer_deployUsernamesContract = async function _Deployer_deployUsernamesCont
|
|
160
159
|
txHash: __classPrivateFieldGet(this, _Deployer_generateTxHash, "f").call(this),
|
161
160
|
value: 0n,
|
162
161
|
});
|
163
|
-
if (!
|
162
|
+
if (!receipt.success) {
|
164
163
|
throw new Error("failed to deploy Usernames contract");
|
165
164
|
}
|
166
|
-
if (
|
165
|
+
if (receipt.deployedContractAddress !== ethers.getCreateAddress({ from: this.deployerAddress, nonce: 2 })) {
|
167
166
|
throw new Error("Contract address mismatch");
|
168
167
|
}
|
169
|
-
this.logger.info(`Deployed Usernames contract from ${this.deployerAddress} to ${
|
170
|
-
return
|
168
|
+
this.logger.info(`Deployed Usernames contract from ${this.deployerAddress} to ${receipt.deployedContractAddress}`);
|
169
|
+
return receipt.deployedContractAddress;
|
171
170
|
};
|
172
171
|
_Deployer_deployUsernamesProxy = async function _Deployer_deployUsernamesProxy(usernamesContractAddress) {
|
173
172
|
// Logic contract initializer function ABI
|
@@ -178,7 +177,7 @@ _Deployer_deployUsernamesProxy = async function _Deployer_deployUsernamesProxy(u
|
|
178
177
|
const proxyConstructorArguments = new ethers.AbiCoder()
|
179
178
|
.encode(["address", "bytes"], [usernamesContractAddress, initializerCalldata])
|
180
179
|
.slice(2);
|
181
|
-
const
|
180
|
+
const receipt = await __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_processTransaction).call(this, {
|
182
181
|
blockContext: __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_getBlockContext).call(this),
|
183
182
|
caller: this.deployerAddress,
|
184
183
|
data: Buffer.concat([
|
@@ -192,27 +191,26 @@ _Deployer_deployUsernamesProxy = async function _Deployer_deployUsernamesProxy(u
|
|
192
191
|
txHash: __classPrivateFieldGet(this, _Deployer_generateTxHash, "f").call(this),
|
193
192
|
value: 0n,
|
194
193
|
});
|
195
|
-
if (!
|
194
|
+
if (!receipt.success) {
|
196
195
|
throw new Error("failed to deploy Usernames PROXY contract");
|
197
196
|
}
|
198
|
-
if (
|
199
|
-
ethers.getCreateAddress({ from: this.deployerAddress, nonce: 3 })) {
|
197
|
+
if (receipt.deployedContractAddress !== ethers.getCreateAddress({ from: this.deployerAddress, nonce: 3 })) {
|
200
198
|
throw new Error("Contract address mismatch");
|
201
199
|
}
|
202
|
-
this.logger.info(`Deployed Usernames PROXY contract from ${this.deployerAddress} to ${
|
200
|
+
this.logger.info(`Deployed Usernames PROXY contract from ${this.deployerAddress} to ${receipt.deployedContractAddress}`);
|
203
201
|
__classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_emitContractDeployed).call(this, {
|
204
202
|
activeImplementation: usernamesContractAddress,
|
205
|
-
address:
|
203
|
+
address: receipt.deployedContractAddress,
|
206
204
|
implementations: [{ abi: UsernamesAbi.abi, address: usernamesContractAddress }],
|
207
205
|
name: "usernames",
|
208
206
|
proxy: "UUPS",
|
209
207
|
});
|
210
208
|
this.app
|
211
209
|
.bind(EvmConsensusIdentifiers.Contracts.Addresses.Usernames)
|
212
|
-
.toConstantValue(
|
210
|
+
.toConstantValue(receipt.deployedContractAddress);
|
213
211
|
};
|
214
212
|
_Deployer_deployMultiPaymentContract = async function _Deployer_deployMultiPaymentContract() {
|
215
|
-
const
|
213
|
+
const receipt = await __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_processTransaction).call(this, {
|
216
214
|
blockContext: __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_getBlockContext).call(this),
|
217
215
|
caller: this.deployerAddress,
|
218
216
|
data: Buffer.concat([Buffer.from(ethers.getBytes(MultiPaymentAbi.bytecode.object))]),
|
@@ -223,14 +221,14 @@ _Deployer_deployMultiPaymentContract = async function _Deployer_deployMultiPayme
|
|
223
221
|
txHash: __classPrivateFieldGet(this, _Deployer_generateTxHash, "f").call(this),
|
224
222
|
value: 0n,
|
225
223
|
});
|
226
|
-
if (!
|
224
|
+
if (!receipt.success) {
|
227
225
|
throw new Error("failed to deploy MultiPayment contract");
|
228
226
|
}
|
229
|
-
if (
|
227
|
+
if (receipt.deployedContractAddress !== ethers.getCreateAddress({ from: this.deployerAddress, nonce: 4 })) {
|
230
228
|
throw new Error("Contract address mismatch");
|
231
229
|
}
|
232
|
-
this.logger.info(`Deployed MultiPayment contract from ${this.deployerAddress} to ${
|
233
|
-
return
|
230
|
+
this.logger.info(`Deployed MultiPayment contract from ${this.deployerAddress} to ${receipt.deployedContractAddress}`);
|
231
|
+
return receipt.deployedContractAddress;
|
234
232
|
};
|
235
233
|
_Deployer_deployMultiPaymentProxy = async function _Deployer_deployMultiPaymentProxy(multiPaymentAddress) {
|
236
234
|
// Logic contract initializer function ABI
|
@@ -241,7 +239,7 @@ _Deployer_deployMultiPaymentProxy = async function _Deployer_deployMultiPaymentP
|
|
241
239
|
const proxyConstructorArguments = new ethers.AbiCoder()
|
242
240
|
.encode(["address", "bytes"], [multiPaymentAddress, initializerCalldata])
|
243
241
|
.slice(2);
|
244
|
-
const
|
242
|
+
const receipt = await __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_processTransaction).call(this, {
|
245
243
|
blockContext: __classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_getBlockContext).call(this),
|
246
244
|
caller: this.deployerAddress,
|
247
245
|
data: Buffer.concat([
|
@@ -255,29 +253,36 @@ _Deployer_deployMultiPaymentProxy = async function _Deployer_deployMultiPaymentP
|
|
255
253
|
txHash: __classPrivateFieldGet(this, _Deployer_generateTxHash, "f").call(this),
|
256
254
|
value: 0n,
|
257
255
|
});
|
258
|
-
if (!
|
256
|
+
if (!receipt.success) {
|
259
257
|
throw new Error("failed to deploy MultiPayment PROXY contract");
|
260
258
|
}
|
261
|
-
if (
|
262
|
-
ethers.getCreateAddress({ from: this.deployerAddress, nonce: 5 })) {
|
259
|
+
if (receipt.deployedContractAddress !== ethers.getCreateAddress({ from: this.deployerAddress, nonce: 5 })) {
|
263
260
|
throw new Error("Contract address mismatch");
|
264
261
|
}
|
265
|
-
this.logger.info(`Deployed MultiPayment PROXY contract from ${this.deployerAddress} to ${
|
262
|
+
this.logger.info(`Deployed MultiPayment PROXY contract from ${this.deployerAddress} to ${receipt.deployedContractAddress}`);
|
266
263
|
__classPrivateFieldGet(this, _Deployer_instances, "m", _Deployer_emitContractDeployed).call(this, {
|
267
264
|
activeImplementation: multiPaymentAddress,
|
268
|
-
address:
|
265
|
+
address: receipt.deployedContractAddress,
|
269
266
|
implementations: [{ abi: MultiPaymentAbi.abi, address: multiPaymentAddress }],
|
270
267
|
name: "multi-payments",
|
271
268
|
proxy: "UUPS",
|
272
269
|
});
|
273
270
|
this.app
|
274
271
|
.bind(EvmConsensusIdentifiers.Contracts.Addresses.MultiPayment)
|
275
|
-
.toConstantValue(
|
272
|
+
.toConstantValue(receipt.deployedContractAddress);
|
276
273
|
};
|
277
274
|
_Deployer_emitContractDeployed = function _Deployer_emitContractDeployed(event) {
|
278
275
|
__classPrivateFieldGet(this, _Deployer_deploymentEvents, "f").push(event);
|
279
276
|
void this.events.dispatch(Events.DeployerEvent.ContractCreated, event);
|
280
277
|
};
|
278
|
+
_Deployer_processTransaction = async function _Deployer_processTransaction(context) {
|
279
|
+
const { receipt } = await this.evm.getReceipt(context.blockContext.commitKey.height, context.txHash);
|
280
|
+
if (receipt) {
|
281
|
+
return receipt;
|
282
|
+
}
|
283
|
+
const result = await this.evm.process(context);
|
284
|
+
return result.receipt;
|
285
|
+
};
|
281
286
|
__decorate([
|
282
287
|
inject(Identifiers.Application.Instance),
|
283
288
|
__metadata("design:type", Object)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deployer.js","sourceRoot":"","sources":["../source/deployer.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"deployer.js","sourceRoot":"","sources":["../source/deployer.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBACa,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAUzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAelC;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
package/distribution/index.js
CHANGED
@@ -6,17 +6,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
6
6
|
};
|
7
7
|
import { injectable } from "@mainsail/container";
|
8
8
|
import { Identifiers } from "@mainsail/contracts";
|
9
|
-
import { Providers
|
9
|
+
import { Providers } from "@mainsail/kernel";
|
10
|
+
import { assert } from "@mainsail/utils";
|
10
11
|
import { Deployer } from "./deployer.js";
|
11
12
|
import { Identifiers as EvmConsensusIdentifiers } from "./identifiers.js";
|
12
|
-
import { Selector } from "./selector.js";
|
13
13
|
import { ConsensusContractService } from "./services/consensus-contract-service.js";
|
14
14
|
import { ValidatorSet } from "./validator-set.js";
|
15
15
|
export { Identifiers } from "./identifiers.js";
|
16
16
|
let ServiceProvider = class ServiceProvider extends Providers.ServiceProvider {
|
17
17
|
async register() {
|
18
18
|
this.app.bind(Identifiers.ValidatorSet.Service).to(ValidatorSet).inSingletonScope();
|
19
|
-
this.app.bind(Identifiers.Proposer.Selector).to(Selector).inSingletonScope();
|
20
19
|
this.app.bind(Identifiers.Evm.ContractService.Consensus).to(ConsensusContractService);
|
21
20
|
this.app
|
22
21
|
.bind(EvmConsensusIdentifiers.Internal.Addresses.Deployer)
|
@@ -25,10 +24,11 @@ let ServiceProvider = class ServiceProvider extends Providers.ServiceProvider {
|
|
25
24
|
async boot() {
|
26
25
|
this.app.get(Identifiers.Services.Log.Service).info("Booting EVM Consensus...");
|
27
26
|
const genesisBlock = this.app.config("crypto.genesisBlock");
|
28
|
-
|
27
|
+
assert.defined(genesisBlock);
|
29
28
|
this.app.bind(EvmConsensusIdentifiers.Internal.Deployer).to(Deployer).inSingletonScope();
|
30
29
|
await this.app.get(EvmConsensusIdentifiers.Internal.Deployer).deploy({
|
31
30
|
generatorAddress: genesisBlock.block.generatorAddress,
|
31
|
+
initialHeight: genesisBlock.block.height,
|
32
32
|
timestamp: genesisBlock.block.timestamp,
|
33
33
|
totalAmount: genesisBlock.block.totalAmount,
|
34
34
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,IAAI,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGxC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS,CAAC,eAAe;IACtD,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAEpF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;QAEtF,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;aACzD,eAAe,CAAC,4CAA4C,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAA0B,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEzG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAA8B,qBAAqB,CAAC,CAAC;QACzF,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAEzF,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAW,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC9E,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,gBAAgB;YACrD,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM;YACxC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS;YACvC,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW;SAC3C,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA1BY,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CA0B3B;;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
@@ -3,6 +3,7 @@ export declare class AsyncValidatorRoundsIterator implements AsyncIterable<Contr
|
|
3
3
|
#private;
|
4
4
|
private readonly app;
|
5
5
|
private readonly configuration;
|
6
|
+
private readonly roundCalculator;
|
6
7
|
private readonly evm;
|
7
8
|
[Symbol.asyncIterator](): AsyncIterator<Contracts.Evm.ValidatorRound>;
|
8
9
|
next(): Promise<IteratorResult<Contracts.Evm.ValidatorRound>>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rounds-iterator.d.ts","sourceRoot":"","sources":["../../source/services/rounds-iterator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;
|
1
|
+
{"version":3,"file":"rounds-iterator.d.ts","sourceRoot":"","sources":["../../source/services/rounds-iterator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAS7D,qBACa,4BAA6B,YAAW,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;;IAE/F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgC;IAGpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6C;IAI7E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAM9C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;IAI/D,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAerD,SAAS;CA4CvB"}
|
@@ -22,7 +22,6 @@ var _AsyncValidatorRoundsIterator_rounds, _AsyncValidatorRoundsIterator_index, _
|
|
22
22
|
import { inject, injectable, tagged } from "@mainsail/container";
|
23
23
|
import { Contracts, Identifiers } from "@mainsail/contracts";
|
24
24
|
import { ConsensusAbi } from "@mainsail/evm-contracts";
|
25
|
-
import { Utils } from "@mainsail/kernel";
|
26
25
|
import { BigNumber } from "@mainsail/utils";
|
27
26
|
import { ethers } from "ethers";
|
28
27
|
import { Identifiers as EvmConsensusIdentifiers } from "../identifiers.js";
|
@@ -71,8 +70,7 @@ let AsyncValidatorRoundsIterator = class AsyncValidatorRoundsIterator {
|
|
71
70
|
const roundNumber = Number(round);
|
72
71
|
validatorRounds.push({
|
73
72
|
round: roundNumber,
|
74
|
-
roundHeight:
|
75
|
-
.roundHeight,
|
73
|
+
roundHeight: this.roundCalculator.calculateRoundInfoByRound(roundNumber).roundHeight,
|
76
74
|
validators: validators.map((validator) => {
|
77
75
|
const [validatorAddress, voteBalance] = validator;
|
78
76
|
return {
|
@@ -93,6 +91,10 @@ __decorate([
|
|
93
91
|
inject(Identifiers.Cryptography.Configuration),
|
94
92
|
__metadata("design:type", Object)
|
95
93
|
], AsyncValidatorRoundsIterator.prototype, "configuration", void 0);
|
94
|
+
__decorate([
|
95
|
+
inject(Identifiers.BlockchainUtils.RoundCalculator),
|
96
|
+
__metadata("design:type", Object)
|
97
|
+
], AsyncValidatorRoundsIterator.prototype, "roundCalculator", void 0);
|
96
98
|
__decorate([
|
97
99
|
inject(Identifiers.Evm.Instance),
|
98
100
|
tagged("instance", "evm"),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rounds-iterator.js","sourceRoot":"","sources":["../../source/services/rounds-iterator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"rounds-iterator.js","sourceRoot":"","sources":["../../source/services/rounds-iterator.ts"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,7 @@ export declare class ValidatorSet implements Contracts.ValidatorSet.Service {
|
|
3
3
|
#private;
|
4
4
|
private readonly configuration;
|
5
5
|
private readonly consensusContractService;
|
6
|
+
private readonly roundCalculator;
|
6
7
|
restore(): Promise<void>;
|
7
8
|
onCommit(unit: Contracts.Processor.ProcessableUnit): Promise<void>;
|
8
9
|
getAllValidators(): Contracts.State.ValidatorWallet[];
|
@@ -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;
|
1
|
+
{"version":3,"file":"validator-set.d.ts","sourceRoot":"","sources":["../source/validator-set.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAEzE,qBACa,YAAa,YAAW,SAAS,CAAC,YAAY,CAAC,OAAO;;IAElE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA0C;IAGnF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6C;IAQhE,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;CAwCtE"}
|
@@ -21,7 +21,6 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
21
21
|
var _ValidatorSet_instances, _ValidatorSet_topValidators, _ValidatorSet_indexByAddress, _ValidatorSet_allValidators, _ValidatorSet_dirtyValidators, _ValidatorSet_buildActiveValidators, _ValidatorSet_calculateChangedValidators;
|
22
22
|
import { inject, injectable } from "@mainsail/container";
|
23
23
|
import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";
|
24
|
-
import { Utils } from "@mainsail/kernel";
|
25
24
|
let ValidatorSet = class ValidatorSet {
|
26
25
|
constructor() {
|
27
26
|
_ValidatorSet_instances.add(this);
|
@@ -36,7 +35,7 @@ let ValidatorSet = class ValidatorSet {
|
|
36
35
|
__classPrivateFieldSet(this, _ValidatorSet_allValidators, new Map(validators.map((validator) => [validator.address, validator])), "f");
|
37
36
|
}
|
38
37
|
async onCommit(unit) {
|
39
|
-
if (
|
38
|
+
if (this.roundCalculator.isNewRound(unit.height + 1)) {
|
40
39
|
await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_buildActiveValidators).call(this);
|
41
40
|
}
|
42
41
|
await __classPrivateFieldGet(this, _ValidatorSet_instances, "m", _ValidatorSet_calculateChangedValidators).call(this);
|
@@ -102,6 +101,10 @@ __decorate([
|
|
102
101
|
inject(Identifiers.Evm.ContractService.Consensus),
|
103
102
|
__metadata("design:type", Object)
|
104
103
|
], ValidatorSet.prototype, "consensusContractService", void 0);
|
104
|
+
__decorate([
|
105
|
+
inject(Identifiers.BlockchainUtils.RoundCalculator),
|
106
|
+
__metadata("design:type", Object)
|
107
|
+
], ValidatorSet.prototype, "roundCalculator", void 0);
|
105
108
|
ValidatorSet = __decorate([
|
106
109
|
injectable()
|
107
110
|
], ValidatorSet);
|
@@ -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,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
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
|
+
"version": "0.0.1-evm.16",
|
4
4
|
"description": "EVM development support for the Mainsail blockchain",
|
5
5
|
"license": "GPL-3.0-only",
|
6
6
|
"contributors": [],
|
@@ -11,16 +11,16 @@
|
|
11
11
|
"/distribution"
|
12
12
|
],
|
13
13
|
"dependencies": {
|
14
|
-
"ethers": "
|
15
|
-
"@mainsail/
|
16
|
-
"@mainsail/
|
17
|
-
"@mainsail/
|
18
|
-
"@mainsail/
|
19
|
-
"@mainsail/
|
14
|
+
"ethers": "6.13.5",
|
15
|
+
"@mainsail/container": "0.0.1-evm.16",
|
16
|
+
"@mainsail/contracts": "0.0.1-evm.16",
|
17
|
+
"@mainsail/evm-contracts": "0.0.1-evm.16",
|
18
|
+
"@mainsail/utils": "0.0.1-evm.16",
|
19
|
+
"@mainsail/kernel": "0.0.1-evm.16"
|
20
20
|
},
|
21
21
|
"devDependencies": {
|
22
|
-
"@types/seedrandom": "
|
23
|
-
"uvu": "
|
22
|
+
"@types/seedrandom": "3.0.8",
|
23
|
+
"uvu": "0.5.6"
|
24
24
|
},
|
25
25
|
"engines": {
|
26
26
|
"node": ">=20.x"
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { Contracts } from "@mainsail/contracts";
|
2
|
-
export declare class Selector implements Contracts.Proposer.Selector {
|
3
|
-
private readonly configuration;
|
4
|
-
private readonly stateStore;
|
5
|
-
private validatorMatrix;
|
6
|
-
onCommit(unit: Contracts.Processor.ProcessableUnit): Promise<void>;
|
7
|
-
getValidatorIndex(round: number): number;
|
8
|
-
}
|
9
|
-
//# sourceMappingURL=selector.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../source/selector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAI7D,qBACa,QAAS,YAAW,SAAS,CAAC,QAAQ,CAAC,QAAQ;IAE3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAEpD,OAAO,CAAC,eAAe,CAAoD;IAE9D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAgC/C"}
|
package/distribution/selector.js
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
-
};
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
9
|
-
};
|
10
|
-
import { inject, injectable } from "@mainsail/container";
|
11
|
-
import { Contracts, Identifiers } from "@mainsail/contracts";
|
12
|
-
import { Utils } from "@mainsail/kernel";
|
13
|
-
// import seedrandom from "seedrandom";
|
14
|
-
let Selector = class Selector {
|
15
|
-
constructor() {
|
16
|
-
this.validatorMatrix = [...Array.from({ length: 53 }).keys()];
|
17
|
-
// #updateValidatorMatrix(unit: Contracts.Processor.ProcessableUnit): void {
|
18
|
-
// const seed = this.#calculateSeed(unit.store);
|
19
|
-
// const rng = seedrandom(seed);
|
20
|
-
// const { activeValidators } = this.configuration.getMilestone();
|
21
|
-
// const matrix = [...Array.from({ length: activeValidators }).keys()];
|
22
|
-
// // Based on https://stackoverflow.com/a/12646864
|
23
|
-
// for (let index = matrix.length - 1; index > 0; index--) {
|
24
|
-
// const index_ = Math.floor(rng() * (index + 1));
|
25
|
-
// [matrix[index], matrix[index_]] = [matrix[index_], matrix[index]];
|
26
|
-
// }
|
27
|
-
// unit.store.setAttribute<string>("validatorMatrix", JSON.stringify(matrix));
|
28
|
-
// }
|
29
|
-
// #calculateSeed(store: Contracts.State.Store): string {
|
30
|
-
// const totalRound = store.getTotalRound();
|
31
|
-
// // TODO: take block id into account
|
32
|
-
// return `${totalRound}`;
|
33
|
-
// }
|
34
|
-
}
|
35
|
-
async onCommit(unit) {
|
36
|
-
// if (Utils.roundCalculator.isNewRound(unit.height + 1, this.configuration)) {
|
37
|
-
// this.#updateValidatorMatrix(unit);
|
38
|
-
// }
|
39
|
-
}
|
40
|
-
getValidatorIndex(round) {
|
41
|
-
const { activeValidators } = this.configuration.getMilestone();
|
42
|
-
const offset = (this.stateStore.getTotalRound() + round) % activeValidators;
|
43
|
-
const result = this.validatorMatrix[offset % activeValidators];
|
44
|
-
Utils.assert.defined(result);
|
45
|
-
return result;
|
46
|
-
}
|
47
|
-
};
|
48
|
-
__decorate([
|
49
|
-
inject(Identifiers.Cryptography.Configuration),
|
50
|
-
__metadata("design:type", Object)
|
51
|
-
], Selector.prototype, "configuration", void 0);
|
52
|
-
__decorate([
|
53
|
-
inject(Identifiers.State.Store),
|
54
|
-
__metadata("design:type", Object)
|
55
|
-
], Selector.prototype, "stateStore", void 0);
|
56
|
-
Selector = __decorate([
|
57
|
-
injectable()
|
58
|
-
], Selector);
|
59
|
-
export { Selector };
|
60
|
-
//# sourceMappingURL=selector.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../source/selector.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,uCAAuC;AAGhC,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAAd;QAOE,oBAAe,GAAa,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAiB3E,4EAA4E;QAC5E,iDAAiD;QACjD,iCAAiC;QAEjC,mEAAmE;QACnE,wEAAwE;QAExE,oDAAoD;QACpD,6DAA6D;QAC7D,oDAAoD;QACpD,uEAAuE;QACvE,KAAK;QAEL,+EAA+E;QAC/E,IAAI;QAEJ,yDAAyD;QACzD,6CAA6C;QAE7C,uCAAuC;QAEvC,2BAA2B;QAC3B,IAAI;IACL,CAAC;IAtCO,KAAK,CAAC,QAAQ,CAAC,IAAyC;QAC9D,+EAA+E;QAC/E,sCAAsC;QACtC,IAAI;IACL,CAAC;IAEM,iBAAiB,CAAC,KAAa;QACrC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAE/D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;QAC/D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAS,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IACf,CAAC;CAyBD,CAAA;AA7CiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;+CACiB;AAG/C;IADhB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;;4CACoB;AALxC,QAAQ;IADpB,UAAU,EAAE;GACA,QAAQ,CA+CpB"}
|