@skalenetwork/upgrade-tools 4.0.0-ownership-helpers.7 → 4.0.0-ownership-helpers.9
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/dist/src/ownership-transfer/ownershipAdmin.d.ts +22 -11
- package/dist/src/ownership-transfer/ownershipAdmin.js +161 -125
- package/dist/src/ownership-transfer/ownershipAdmin.js.map +1 -1
- package/dist/src/ownership-transfer/permission-utils.d.ts +1 -0
- package/dist/src/ownership-transfer/permission-utils.js +19 -2
- package/dist/src/ownership-transfer/permission-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { EoaSubmitter, SafeSubmitter } from "../submitters";
|
|
1
2
|
import { Instance } from "@skalenetwork/skale-contracts-ethers-v6";
|
|
2
3
|
export interface OwnershipAdminOptions {
|
|
3
4
|
oldOwner: string;
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
submitter: SafeSubmitter | EoaSubmitter;
|
|
6
|
+
revokeRoles: boolean;
|
|
7
|
+
newOwner: string;
|
|
8
|
+
readonly: boolean;
|
|
6
9
|
rolesToCheck?: string[];
|
|
7
10
|
managerRolesToCheck?: number[];
|
|
8
11
|
}
|
|
@@ -10,31 +13,39 @@ export declare class OwnershipAdmin {
|
|
|
10
13
|
private instance;
|
|
11
14
|
private contractMetadata;
|
|
12
15
|
private contractNames;
|
|
13
|
-
private isMetadataLoaded;
|
|
14
16
|
private transactionsByContractName;
|
|
17
|
+
private revokeTransactionsByContractName;
|
|
15
18
|
private transactions;
|
|
19
|
+
private revokeRolesTransactions;
|
|
16
20
|
private bytes32RolesToCheck;
|
|
17
21
|
private managerRolesToCheck;
|
|
22
|
+
private newOwnerConfirmed;
|
|
18
23
|
private oldOwner;
|
|
19
24
|
private newOwner;
|
|
20
|
-
private newOwnerConfirmed;
|
|
21
25
|
private readonly;
|
|
26
|
+
private submitter;
|
|
27
|
+
private revokeRoles;
|
|
22
28
|
constructor(instance: Instance, contractNames: string[], options: OwnershipAdminOptions);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
loadContractMetadataAndCreateTransactions(): Promise<void>;
|
|
30
|
+
createRevokeRolesTransactions(): Promise<void>;
|
|
31
|
+
submitGrantOwnershipTransactions(): Promise<void>;
|
|
32
|
+
submitRevokeRolesTransactions(): Promise<void>;
|
|
33
|
+
confirmData(): Promise<void>;
|
|
34
|
+
private processOptions;
|
|
35
|
+
private createRequiredTransactions;
|
|
27
36
|
private getColumnWidths;
|
|
28
37
|
private displayPatternGroup;
|
|
29
|
-
private
|
|
38
|
+
private displayFindings;
|
|
30
39
|
private handleUserRejection;
|
|
31
40
|
private groupMetadataByPattern;
|
|
32
41
|
private createTUPPOwnershipTransaction;
|
|
33
42
|
private createOwnableOwnershipTransaction;
|
|
34
43
|
private createAssignRolesTransactions;
|
|
35
|
-
private
|
|
44
|
+
private createRevokeBytes32RolesTransactions;
|
|
45
|
+
private createTxsToGrantContractOwnership;
|
|
36
46
|
private promptConfirmNewOwner;
|
|
37
|
-
private promptConfirmTransactions;
|
|
38
47
|
private isDuplicateTransaction;
|
|
48
|
+
private submitTransactions;
|
|
39
49
|
private submitTransactionsForContract;
|
|
50
|
+
private removeSubmittedTransactions;
|
|
40
51
|
}
|
|
@@ -4,93 +4,114 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.OwnershipAdmin = void 0;
|
|
7
|
-
/* eslint-disable max-lines */
|
|
8
|
-
// Cspell:words TUPP keccak
|
|
9
7
|
const utils_1 = require("./utils");
|
|
10
8
|
const permission_utils_1 = require("./permission-utils");
|
|
11
|
-
const submitters_1 = require("../submitters");
|
|
12
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
13
10
|
const hardhat_1 = require("hardhat");
|
|
14
11
|
const ZERO = 0;
|
|
15
12
|
class OwnershipAdmin {
|
|
16
|
-
// eslint-disable-next-line max-statements
|
|
17
13
|
constructor(instance, contractNames, options) {
|
|
14
|
+
this.contractMetadata = new Map();
|
|
15
|
+
this.transactionsByContractName = new Map();
|
|
16
|
+
this.revokeTransactionsByContractName = new Map();
|
|
18
17
|
this.transactions = [];
|
|
18
|
+
this.revokeRolesTransactions = [];
|
|
19
19
|
this.bytes32RolesToCheck = [];
|
|
20
20
|
this.managerRolesToCheck = [];
|
|
21
21
|
this.newOwnerConfirmed = false;
|
|
22
22
|
this.instance = instance;
|
|
23
|
-
this.contractMetadata = new Map();
|
|
24
|
-
this.isMetadataLoaded = false;
|
|
25
|
-
this.transactionsByContractName = new Map();
|
|
26
|
-
// If true, does not allow to send transactions to blockchain
|
|
27
|
-
this.readonly = options.readonly ?? true;
|
|
28
|
-
this.newOwner = options.newOwner ?? hardhat_1.ethers.ZeroAddress;
|
|
29
|
-
this.bytes32RolesToCheck = (options.rolesToCheck ?? []).map(role => ({
|
|
30
|
-
identifier: hardhat_1.ethers.id(role),
|
|
31
|
-
name: role
|
|
32
|
-
}));
|
|
33
|
-
// Always check DEFAULT_ADMIN_ROLE at the end!
|
|
34
|
-
this.bytes32RolesToCheck.push({ identifier: hardhat_1.ethers.ZeroHash, name: "DEFAULT_ADMIN_ROLE" });
|
|
35
|
-
this.managerRolesToCheck = (options.managerRolesToCheck ?? []).map(role => {
|
|
36
|
-
if (typeof role !== "number" || !Number.isInteger(role) || role < ZERO) {
|
|
37
|
-
throw new Error(`Invalid manager role: ${role}. Must be a non-negative integer.`);
|
|
38
|
-
}
|
|
39
|
-
return { identifier: role, name: `Role ${role}` };
|
|
40
|
-
});
|
|
41
|
-
this.managerRolesToCheck.push({ identifier: ZERO, name: "ADMIN_ROLE" });
|
|
42
|
-
this.oldOwner = options.oldOwner;
|
|
43
|
-
if (!this.readonly && this.newOwner === hardhat_1.ethers.ZeroAddress) {
|
|
44
|
-
throw new Error("New owner address must be provided in options when in write mode.");
|
|
45
|
-
}
|
|
46
23
|
this.contractNames = contractNames;
|
|
24
|
+
this.processOptions(options);
|
|
47
25
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
console.log(chalk_1.default.yellow("Contract metadata is already loaded. Skipping reload."));
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
// TODO: Refactor to parallelize
|
|
26
|
+
async loadContractMetadataAndCreateTransactions() {
|
|
27
|
+
/* eslint-disable no-await-in-loop */
|
|
28
|
+
// Do not parallelize to avoid rate limit issues which CAN produce wrong outputs
|
|
55
29
|
for (const contractName of this.contractNames) {
|
|
56
|
-
|
|
30
|
+
/*
|
|
31
|
+
* We use getContractAddress to not depend on downloaded ABI artifacts
|
|
32
|
+
* all ABIs are checked locally
|
|
33
|
+
*/
|
|
57
34
|
const address = await this.instance.getContractAddress(contractName);
|
|
58
35
|
if (!this.contractMetadata.has(address)) {
|
|
59
|
-
// eslint-disable-next-line no-await-in-loop
|
|
60
36
|
const pattern = await (0, utils_1.detectPattern)(address);
|
|
61
37
|
const details = {
|
|
62
38
|
address,
|
|
63
39
|
name: contractName,
|
|
64
40
|
pattern,
|
|
65
|
-
// eslint-disable-next-line no-await-in-loop
|
|
66
41
|
permissionModel: await (0, permission_utils_1.getPermissionModels)(address)
|
|
67
42
|
};
|
|
68
43
|
this.contractMetadata.set(address, details);
|
|
69
44
|
}
|
|
70
45
|
}
|
|
71
|
-
|
|
46
|
+
/* eslint-enable no-await-in-loop */
|
|
72
47
|
if (this.contractMetadata.size !== this.contractNames.length) {
|
|
73
48
|
throw new Error("Some contract names did not yield metadata. Names duplicated? Aborting...");
|
|
74
49
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
50
|
+
await this.createRequiredTransactions();
|
|
51
|
+
await this.confirmData();
|
|
78
52
|
}
|
|
79
|
-
async
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
53
|
+
async createRevokeRolesTransactions() {
|
|
54
|
+
for (const contract of this.contractMetadata.values()) {
|
|
55
|
+
if (!this.revokeTransactionsByContractName.has(contract.name)) {
|
|
56
|
+
this.revokeTransactionsByContractName.set(contract.name, []);
|
|
57
|
+
}
|
|
58
|
+
if (contract.permissionModel?.includes(permission_utils_1.PermissionModel.ROLE_BASED)) {
|
|
59
|
+
// Required to be in order - Admin last
|
|
60
|
+
// eslint-disable-next-line no-await-in-loop
|
|
61
|
+
const txs = await this.createRevokeBytes32RolesTransactions(contract);
|
|
62
|
+
txs.forEach(txData => {
|
|
63
|
+
this.revokeRolesTransactions.push(txData.transaction);
|
|
64
|
+
this.revokeTransactionsByContractName.get(contract.name).push(txData);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (contract.permissionModel?.includes(permission_utils_1.PermissionModel.ACCESS_MANAGER)) {
|
|
68
|
+
console.log(chalk_1.default.yellow("Not implemented yet: Access Manager role revocations."));
|
|
69
|
+
}
|
|
83
70
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
71
|
+
await this.confirmData();
|
|
72
|
+
}
|
|
73
|
+
async submitGrantOwnershipTransactions() {
|
|
74
|
+
await this.submitTransactions(this.transactions, this.transactionsByContractName);
|
|
75
|
+
}
|
|
76
|
+
async submitRevokeRolesTransactions() {
|
|
77
|
+
await this.submitTransactions(this.revokeRolesTransactions, this.revokeTransactionsByContractName);
|
|
78
|
+
}
|
|
79
|
+
async confirmData() {
|
|
80
|
+
this.displayFindings();
|
|
81
|
+
const userConfirmed = await (0, utils_1.promptUserConfirmation)();
|
|
82
|
+
if (!userConfirmed) {
|
|
83
|
+
this.handleUserRejection();
|
|
87
84
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
85
|
+
console.log(chalk_1.default.green("\nUser confirmed. Proceeding...\n"));
|
|
86
|
+
}
|
|
87
|
+
// By 1
|
|
88
|
+
// eslint-disable-next-line max-statements
|
|
89
|
+
processOptions(options) {
|
|
90
|
+
// If true, does not allow to send transactions to blockchain
|
|
91
|
+
this.readonly = options.readonly;
|
|
92
|
+
this.newOwner = options.newOwner;
|
|
93
|
+
this.bytes32RolesToCheck = (options.rolesToCheck ?? []).map(role => ({
|
|
94
|
+
identifier: hardhat_1.ethers.id(role),
|
|
95
|
+
name: role
|
|
96
|
+
}));
|
|
97
|
+
this.submitter = options.submitter;
|
|
98
|
+
// Always have DEFAULT_ADMIN_ROLE at the end!
|
|
99
|
+
this.bytes32RolesToCheck.push({ identifier: hardhat_1.ethers.ZeroHash, name: "DEFAULT_ADMIN_ROLE" });
|
|
100
|
+
if (!this.readonly && this.newOwner === hardhat_1.ethers.ZeroAddress) {
|
|
101
|
+
throw new Error("New owner address must be provided in options when in write mode.");
|
|
91
102
|
}
|
|
103
|
+
this.managerRolesToCheck = (options.managerRolesToCheck ?? []).map(role => {
|
|
104
|
+
if (typeof role !== "number" || !Number.isInteger(role) || role < ZERO) {
|
|
105
|
+
throw new Error(`Invalid manager role: ${role}. Must be a non-negative integer.`);
|
|
106
|
+
}
|
|
107
|
+
return { identifier: role, name: `Role ${role}` };
|
|
108
|
+
});
|
|
109
|
+
// Always have ADMIN_ROLE at the end!
|
|
110
|
+
this.managerRolesToCheck.push({ identifier: ZERO, name: "ADMIN_ROLE" });
|
|
111
|
+
this.oldOwner = options.oldOwner;
|
|
112
|
+
this.revokeRoles = options.revokeRoles;
|
|
92
113
|
}
|
|
93
|
-
async
|
|
114
|
+
async createRequiredTransactions() {
|
|
94
115
|
// Clear previous transactions
|
|
95
116
|
console.log(chalk_1.default.grey("INFO: The next Following steps will NOT submit any transactions to the blockchain."));
|
|
96
117
|
if (!this.readonly && !this.newOwnerConfirmed) {
|
|
@@ -98,40 +119,47 @@ class OwnershipAdmin {
|
|
|
98
119
|
}
|
|
99
120
|
for (const contract of this.contractMetadata.values()) {
|
|
100
121
|
// eslint-disable-next-line no-await-in-loop
|
|
101
|
-
const txs = await this.
|
|
122
|
+
const txs = await this.createTxsToGrantContractOwnership(contract);
|
|
102
123
|
this.transactionsByContractName.set(contract.name, txs);
|
|
103
124
|
txs.forEach(txData => this.transactions.push(txData.transaction));
|
|
104
125
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
this.displayMetadataFindings();
|
|
108
|
-
const userConfirmed = await (0, utils_1.promptUserConfirmation)();
|
|
109
|
-
if (!userConfirmed) {
|
|
110
|
-
this.handleUserRejection();
|
|
126
|
+
if (!this.transactions.length) {
|
|
127
|
+
console.log(chalk_1.default.green("No ownership transfer transactions required."));
|
|
111
128
|
}
|
|
112
|
-
|
|
129
|
+
await this.createRevokeRolesTransactions();
|
|
113
130
|
}
|
|
114
131
|
getColumnWidths() {
|
|
115
132
|
let maxNameWidth = 0;
|
|
116
133
|
let maxAddressWidth = 0;
|
|
134
|
+
let maxPermissionsWidth = 0;
|
|
117
135
|
for (const contract of this.contractMetadata.values()) {
|
|
118
136
|
maxNameWidth = Math.max(maxNameWidth, contract.name.length);
|
|
119
137
|
maxAddressWidth = Math.max(maxAddressWidth, contract.address.length);
|
|
138
|
+
const permissions = contract.permissionModel?.join(", ") || "None";
|
|
139
|
+
maxPermissionsWidth = Math.max(maxPermissionsWidth, permissions.length);
|
|
120
140
|
}
|
|
121
|
-
return { maxAddressWidth, maxNameWidth };
|
|
141
|
+
return { maxAddressWidth, maxNameWidth, maxPermissionsWidth };
|
|
122
142
|
}
|
|
143
|
+
// eslint-disable-next-line max-statements
|
|
123
144
|
displayPatternGroup(pattern, contracts) {
|
|
124
|
-
const { maxNameWidth, maxAddressWidth } = this.getColumnWidths();
|
|
145
|
+
const { maxNameWidth, maxAddressWidth, maxPermissionsWidth } = this.getColumnWidths();
|
|
125
146
|
console.log(chalk_1.default.bold(`\n${pattern} Pattern (${contracts.length} contracts):`));
|
|
126
147
|
for (const contract of contracts) {
|
|
127
148
|
const name = contract.name.padEnd(maxNameWidth);
|
|
128
149
|
const address = contract.address.padEnd(maxAddressWidth);
|
|
129
|
-
const permissions = contract.permissionModel?.join(", ") || "None";
|
|
130
|
-
|
|
150
|
+
const permissions = (contract.permissionModel?.join(", ") || "None").padEnd(maxPermissionsWidth);
|
|
151
|
+
let status = chalk_1.default.green("ALL DONE");
|
|
152
|
+
if (this.transactionsByContractName.get(contract.name)?.length) {
|
|
153
|
+
status = chalk_1.default.yellow("GRANT OWNERSHIP REQUIRED");
|
|
154
|
+
}
|
|
155
|
+
else if (this.revokeTransactionsByContractName.get(contract.name)?.length) {
|
|
156
|
+
status = chalk_1.default.yellow("REVOKE ROLES REQUIRED");
|
|
157
|
+
}
|
|
158
|
+
console.log(chalk_1.default.gray(` ${name} ${address} ${permissions} `) + status);
|
|
131
159
|
}
|
|
132
160
|
}
|
|
133
|
-
|
|
134
|
-
console.log(chalk_1.default.cyan("\n===
|
|
161
|
+
displayFindings() {
|
|
162
|
+
console.log(chalk_1.default.cyan("\n=== Ownership Status Results ===\n"));
|
|
135
163
|
const groupedByPattern = this.groupMetadataByPattern();
|
|
136
164
|
for (const [pattern, contracts] of Object.entries(groupedByPattern)) {
|
|
137
165
|
if (contracts.length) {
|
|
@@ -144,7 +172,6 @@ class OwnershipAdmin {
|
|
|
144
172
|
console.log(chalk_1.default.red("User did not confirm. Aborting and clearing all data..."));
|
|
145
173
|
this.contractMetadata.clear();
|
|
146
174
|
this.transactions.length = 0;
|
|
147
|
-
this.isMetadataLoaded = false;
|
|
148
175
|
throw new Error("User aborted the operation. Data has been cleared.");
|
|
149
176
|
}
|
|
150
177
|
groupMetadataByPattern() {
|
|
@@ -184,35 +211,55 @@ class OwnershipAdmin {
|
|
|
184
211
|
}
|
|
185
212
|
console.log(chalk_1.default.yellow(` -> Tx to change Owner of ${contractData.name} at ${contractData.address} created.`));
|
|
186
213
|
return {
|
|
187
|
-
description: `-> Tx to change Owner of ${contractData.name} at ${contractData.address} to ${this.newOwner}
|
|
214
|
+
description: `-> Tx to change Owner of ${contractData.name} at ${contractData.address} to ${this.newOwner}.`,
|
|
188
215
|
transaction: tx
|
|
189
216
|
};
|
|
190
217
|
}
|
|
191
218
|
async createAssignRolesTransactions(contractData) {
|
|
192
219
|
const txs = [];
|
|
220
|
+
/* eslint-disable no-await-in-loop */
|
|
221
|
+
// Required to process sequentially due to order of transactions
|
|
193
222
|
for (const role of this.bytes32RolesToCheck) {
|
|
194
|
-
// eslint-disable-next-line no-await-in-loop
|
|
195
223
|
const tx = await (0, permission_utils_1.grantRole)(contractData.address, role.identifier, this.newOwner, this.oldOwner);
|
|
196
224
|
if (typeof tx === "boolean" && tx) {
|
|
197
225
|
// eslint-disable-next-line no-continue
|
|
198
226
|
continue;
|
|
199
227
|
}
|
|
200
228
|
else if (this.isDuplicateTransaction(tx)) {
|
|
229
|
+
// Unexpected - better check
|
|
201
230
|
throw new Error(`Error: Transaction to grant role ${role} in ${contractData.name} was already created.`);
|
|
202
231
|
}
|
|
203
232
|
else {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
233
|
+
const description = `-> Tx to grant role ${role.name} to ${this.newOwner} in ${contractData.name}`;
|
|
234
|
+
console.log(chalk_1.default.yellow(` ${description} created.`));
|
|
235
|
+
txs.push({ description, transaction: tx });
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return txs;
|
|
239
|
+
}
|
|
240
|
+
async createRevokeBytes32RolesTransactions(contractData) {
|
|
241
|
+
const txs = [];
|
|
242
|
+
/* eslint-disable no-await-in-loop */
|
|
243
|
+
// Required to process sequentially due to order of transactions
|
|
244
|
+
for (const role of this.bytes32RolesToCheck) {
|
|
245
|
+
const tx = await (0, permission_utils_1.revokeRole)(contractData.address, role.identifier, this.oldOwner);
|
|
246
|
+
if (typeof tx === "boolean" && !tx) {
|
|
247
|
+
console.log(chalk_1.default.yellow(` WARNING: Skipping revocation of role ${role.name} in ${contractData.name} as it requires at least 1 member left.`));
|
|
248
|
+
}
|
|
249
|
+
else if (typeof tx !== "boolean" && this.isDuplicateTransaction(tx)) {
|
|
250
|
+
// Unexpected - better check
|
|
251
|
+
throw new Error(`Error: Transaction to revoke role ${role} in ${contractData.name} was already created.`);
|
|
252
|
+
}
|
|
253
|
+
else if (typeof tx !== "boolean") {
|
|
254
|
+
const description = `-> Tx to revoke role ${role.name} from ${this.oldOwner} in ${contractData.name}`;
|
|
255
|
+
console.log(chalk_1.default.yellow(` ${description} created.`));
|
|
256
|
+
txs.push({ description, transaction: tx });
|
|
209
257
|
}
|
|
210
258
|
}
|
|
211
259
|
return txs;
|
|
212
260
|
}
|
|
213
|
-
// TODO: Remove this
|
|
214
261
|
// eslint-disable-next-line max-statements
|
|
215
|
-
async
|
|
262
|
+
async createTxsToGrantContractOwnership(contractData) {
|
|
216
263
|
console.log(chalk_1.default.white(`* Creating Transactions to change Ownership of ${contractData.name}.`));
|
|
217
264
|
const txs = [];
|
|
218
265
|
if (contractData.pattern === utils_1.Pattern.TUPP) {
|
|
@@ -240,70 +287,50 @@ class OwnershipAdmin {
|
|
|
240
287
|
}
|
|
241
288
|
// eslint-disable-next-line max-statements
|
|
242
289
|
async promptConfirmNewOwner() {
|
|
243
|
-
|
|
244
|
-
console.log(chalk_1.default.white("INFO: New owner already confirmed. Skipping confirmation."));
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
const message1 = `You have specified the new owner address as ${this.newOwner}.`;
|
|
248
|
-
let message2 = "";
|
|
249
|
-
let message3 = "";
|
|
290
|
+
console.log(chalk_1.default.white(`You have specified the new owner address as ${this.newOwner}.`));
|
|
250
291
|
const isContract = await (0, utils_1.isContractAddress)(this.newOwner);
|
|
251
292
|
if (isContract) {
|
|
252
|
-
|
|
293
|
+
console.log(chalk_1.default.yellow(` INFO: It appears to be a contract address.`));
|
|
253
294
|
const { owners, threshold } = await (0, permission_utils_1.tryGetMultiSigInfo)(this.newOwner);
|
|
295
|
+
let message = chalk_1.default.red(`WARNING: The script was unable to collect owners details.`);
|
|
254
296
|
if (owners) {
|
|
255
297
|
const ownersList = owners.join(", ");
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
message3 = chalk_1.default.red(`WARNING: The script was unable to collect owners details.`);
|
|
298
|
+
message = chalk_1.default.green(`INFO: Found owners of new Owner Multi-Sig: ${ownersList}`);
|
|
260
299
|
}
|
|
300
|
+
console.log(message);
|
|
301
|
+
message = chalk_1.default.red(`WARNING: The script was unable to determine the Multi-Sig threshold.`);
|
|
261
302
|
if (threshold) {
|
|
262
|
-
|
|
263
|
-
}
|
|
264
|
-
else {
|
|
265
|
-
message3 += chalk_1.default.red(`WARNING: The script was unable to determine the Multi-Sig threshold.`);
|
|
303
|
+
message = chalk_1.default.green(`INFO: Multi-Sig threshold is set to ${threshold}.`);
|
|
266
304
|
}
|
|
305
|
+
console.log(message);
|
|
267
306
|
}
|
|
268
|
-
|
|
269
|
-
const userConfirmed = await (0, utils_1.promptUserConfirmation)(message);
|
|
270
|
-
if (!userConfirmed) {
|
|
307
|
+
if (!await (0, utils_1.promptUserConfirmation)("")) {
|
|
271
308
|
throw new Error("User did not confirm the new owner address. Aborting...");
|
|
272
309
|
}
|
|
273
310
|
this.newOwnerConfirmed = true;
|
|
274
311
|
}
|
|
275
|
-
// TODO: Remove disable
|
|
276
|
-
// eslint-disable-next-line class-methods-use-this
|
|
277
|
-
async promptConfirmTransactions(transactions) {
|
|
278
|
-
if (!transactions.length) {
|
|
279
|
-
return true;
|
|
280
|
-
}
|
|
281
|
-
console.log(chalk_1.default.white("\n=== Prepared Following Ownership Transfer Transactions ===\n"));
|
|
282
|
-
transactions.forEach((txData, index) => {
|
|
283
|
-
console.log(chalk_1.default.gray(` - Transaction ${index}: ${txData.description || "No description"}`));
|
|
284
|
-
});
|
|
285
|
-
const msg = "Do you confirm these transactions? They will NOT be sent to the blockchain yet.";
|
|
286
|
-
const userConfirmed = await (0, utils_1.promptUserConfirmation)(msg);
|
|
287
|
-
return userConfirmed;
|
|
288
|
-
}
|
|
289
312
|
isDuplicateTransaction(transaction) {
|
|
290
313
|
return this.transactions.some((existingTx) => existingTx.to === transaction.to &&
|
|
314
|
+
existingTx.data === transaction.data) || this.revokeRolesTransactions.some((existingTx) => existingTx.to === transaction.to &&
|
|
291
315
|
existingTx.data === transaction.data);
|
|
292
316
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
317
|
+
async submitTransactions(txList, txByContractName) {
|
|
318
|
+
if (this.readonly) {
|
|
319
|
+
console.log(chalk_1.default.yellow("INFO: Read-only mode is enabled. No transactions will be submitted."));
|
|
320
|
+
console.log(chalk_1.default.yellow("INFO: We will still iterate through transactions to demonstrate the flow."));
|
|
321
|
+
}
|
|
322
|
+
if (!txList.length) {
|
|
323
|
+
console.log(chalk_1.default.yellow("No transactions to submit."));
|
|
300
324
|
return;
|
|
301
325
|
}
|
|
302
|
-
const [
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
326
|
+
for (const [contract, txs] of txByContractName.entries()) {
|
|
327
|
+
// We should process contract by contract - prompting user each time
|
|
328
|
+
// eslint-disable-next-line no-await-in-loop
|
|
329
|
+
await this.submitTransactionsForContract(contract, txs);
|
|
306
330
|
}
|
|
331
|
+
}
|
|
332
|
+
async submitTransactionsForContract(contractName, txs) {
|
|
333
|
+
console.log(chalk_1.default.cyan(`\nSubmitting transactions for contract ${contractName}...\n`));
|
|
307
334
|
for (const [index, txData] of txs.entries()) {
|
|
308
335
|
console.log(chalk_1.default.blue(`Transaction ${index}: ${txData.description || "No description"}`));
|
|
309
336
|
}
|
|
@@ -312,11 +339,20 @@ class OwnershipAdmin {
|
|
|
312
339
|
console.log(chalk_1.default.red("User did not confirm. Skipping submission for this contract."));
|
|
313
340
|
return;
|
|
314
341
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
this.
|
|
319
|
-
|
|
342
|
+
if (!this.readonly) {
|
|
343
|
+
await this.submitter.submit(txs.map(txData => txData.transaction));
|
|
344
|
+
}
|
|
345
|
+
this.removeSubmittedTransactions(contractName, txs.map(txData => txData.transaction));
|
|
346
|
+
}
|
|
347
|
+
removeSubmittedTransactions(contractName, transactions) {
|
|
348
|
+
if (this.transactionsByContractName.get(contractName)?.map(tx => tx.transaction).some((tx) => transactions.includes(tx))) {
|
|
349
|
+
this.transactions = this.transactions.filter((tx) => !transactions.includes(tx));
|
|
350
|
+
this.transactionsByContractName.set(contractName, []);
|
|
351
|
+
}
|
|
352
|
+
else if (this.revokeTransactionsByContractName.get(contractName)?.map(tx => tx.transaction).some((tx) => transactions.includes(tx))) {
|
|
353
|
+
this.revokeRolesTransactions = this.revokeRolesTransactions.filter((tx) => !transactions.includes(tx));
|
|
354
|
+
this.revokeTransactionsByContractName.set(contractName, []);
|
|
355
|
+
}
|
|
320
356
|
}
|
|
321
357
|
}
|
|
322
358
|
exports.OwnershipAdmin = OwnershipAdmin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownershipAdmin.js","sourceRoot":"","sources":["../../../src/ownership-transfer/ownershipAdmin.ts"],"names":[],"mappings":";;;;;;AAAA,8BAA8B;AAC9B,2BAA2B;AAC3B,mCAMiB;AACjB,yDAA0H;AAC1H,8CAA2C;AAG3C,kDAA0B;AAC1B,qCAA+B;AAE/B,MAAM,IAAI,GAAG,CAAC,CAAC;AAgCf,MAAa,cAAc;IAcvB,0CAA0C;IAC1C,YAAY,QAAkB,EAAE,aAAuB,EAAE,OAA8B;QAT/E,iBAAY,GAAkB,EAAE,CAAC;QACjC,wBAAmB,GAAgB,EAAE,CAAC;QACtC,wBAAmB,GAAkB,EAAE,CAAC;QAGxC,sBAAiB,GAAY,KAAK,CAAC;QAKvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAmC,CAAC;QAEnE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,0BAA0B,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEvE,6DAA6D;QAC7D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAM,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,UAAU,EAAE,gBAAM,CAAC,EAAE,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,IAAI;SACb,CAAC,CAAC,CAAC;QACJ,8CAA8C;QAC9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,gBAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAC,CAAC,CAAC;QAEzF,IAAI,CAAC,mBAAmB,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;gBACrE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,mCAAmC,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAM,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,0CAA0C;IACnC,KAAK,CAAC,oBAAoB,CAAC,kBAA2B,IAAI;QAC7D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACnF,OAAO;QACX,CAAC;QACD,gCAAgC;QAChC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAErE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,4CAA4C;gBAC5C,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAA4B;oBACrC,OAAO;oBACP,IAAI,EAAE,YAAY;oBAClB,OAAO;oBACP,4CAA4C;oBAC5C,eAAe,EAAE,MAAM,IAAA,sCAAmB,EAAC,OAAO,CAAC;iBACtD,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qEAAqE,CAAC,CAAC,CAAC;YACjG,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACxD,OAAO;QACX,CAAC;QACD,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC;YACtE,4CAA4C;YAC5C,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,2BAA2B;QACpC,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvC,CAAC;QAED,KAAI,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,4CAA4C;YAC5C,MAAM,GAAG,GAAsB,MAAM,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC;YACvF,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAGO,KAAK,CAAC,eAAe;QACzB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,aAAa,GAAG,MAAM,IAAA,8BAAsB,GAAE,CAAC;QAErD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,eAAe;QACnB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,CAAC;IAC3C,CAAC;IAEO,mBAAmB,CAAC,OAAe,EAAE,SAAoC;QAC7E,MAAM,EAAC,YAAY,EAAE,eAAe,EAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,OAAO,aAAa,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC;QACjF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,OAAO,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAEO,uBAAuB;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEvD,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEO,mBAAmB;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IAEO,sBAAsB;QAC1B,MAAM,OAAO,GAA+C,MAAM,CAAC,MAAM,CAAC,eAAO,CAAC;YAC9E,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACpB,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAgD,CAAC,CAAC;QAEzD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,8BAA8B,CACxC,YAAqC;QAErC,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAe,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,MAAM,IAAA,oCAAiB,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,gEAAgE;YAChE,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,MAAM,CACR,4CAA4C,KAAK,WAAW,CAC/D,CACJ,CAAC;QACF,OAAO;YACH,WAAW,EAAE,wCAAwC,KAAK,OAAO,IAAI,CAAC,QAAQ,EAAE;YAChF,WAAW,EAAC,EAAE;SACjB,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC3C,YAAqC;QAErC,MAAM,EAAE,GAAG,MAAM,IAAA,oCAAiB,EAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,CAAC,IAAI,uBAAuB,CAAC,CAAC;QACvG,CAAC;QAED,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,MAAM,CACR,gCAAgC,YAAY,CAAC,IAAI,OAAO,YAAY,CAAC,OAAO,WAAW,CAC1F,CACJ,CAAC;QACF,OAAO;YACH,WAAW,EAAE,4BAA4B,YAAY,CAAC,IAAI,OAAO,YAAY,CAAC,OAAO,OAAO,IAAI,CAAC,QAAQ,UAAU;YACnH,WAAW,EAAC,EAAE;SACjB,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACvC,YAAqC;QAErC,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,4CAA4C;YAC5C,MAAM,EAAE,GAAG,MAAM,IAAA,4BAAS,EAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChG,IAAI,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,EAAE,CAAC;gBAChC,uCAAuC;gBACvC,SAAS;YACb,CAAC;iBACI,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,OAAO,YAAY,CAAC,IAAI,uBAAuB,CAAC,CAAC;YAC7G,CAAC;iBACI,CAAC;gBACF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,MAAM,CACR,2BAA2B,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,OAAO,YAAY,CAAC,IAAI,WAAW,CAC9F,CACJ,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC;oBACL,WAAW,EAAE,uBAAuB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,QAAQ,OAAO,YAAY,CAAC,IAAI,EAAE;oBAC3F,WAAW,EAAE,EAAE;iBAClB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,oBAAoB;IACpB,0CAA0C;IAClC,KAAK,CAAC,kCAAkC,CAAC,YAAqC;QAClF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAChG,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,OAAO,KAAK,eAAO,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;YACnE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QACD,IAAI,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,kCAAe,CAAC,OAAO,CAAC,EAAC,CAAC;YACjE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,YAAY,CAAC,CAAC;YACtE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QACD,IAAI,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,kCAAe,CAAC,UAAU,CAAC,EAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,IAAI,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,kCAAe,CAAC,cAAc,CAAC,EAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,0CAA0C;IAClC,KAAK,CAAC,qBAAqB;QAC/B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,CAAC;YACtF,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,+CAA+C,IAAI,CAAC,QAAQ,GAAG,CAAC;QACjF,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YACb,QAAQ,GAAG,eAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACrE,MAAM,EAAC,MAAM,EAAE,SAAS,EAAC,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,QAAQ,GAAG,eAAK,CAAC,KAAK,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAC;YACvF,CAAC;iBACI,CAAC;gBACF,QAAQ,GAAG,eAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACZ,QAAQ,IAAI,eAAK,CAAC,KAAK,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAC;YACjF,CAAC;iBACI,CAAC;gBACF,QAAQ,IAAI,eAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;YAClG,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,QAAQ,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,mCAAmC,CAAC;QACrG,MAAM,aAAa,GAAG,MAAM,IAAA,8BAAsB,EAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,uBAAuB;IACvB,kDAAkD;IAC1C,KAAK,CAAC,yBAAyB,CAAC,YAA+B;QACnE,IAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC,CAAC;QAC3F,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,KAAK,MAAM,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,iFAAiF,CAAC;QAC9F,MAAM,aAAa,GAAG,MAAM,IAAA,8BAAsB,EAAC,GAAG,CAAC,CAAC;QACxD,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,sBAAsB,CAAC,WAAwB;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CACzB,CAAC,UAAU,EAAE,EAAE,CACX,UAAU,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE;YAChC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAC3C,CAAC;IACN,CAAC;IAED,0CAA0C;IAClC,KAAK,CAAC,6BAA6B,CACvC,YAAoB,EACpB,GAAsB;QAEtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,YAAY,OAAO,CAAC,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAA,yBAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,MAAM,CACR,0BAA0B,IAAI,CAAC,QAAQ,qCAAqC;gBAC5E,kFAAkF,CACrF,CACJ,CAAC;YACF,OAAO;QACX,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,gBAAM,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CACX,wBAAwB,MAAM,CAAC,OAAO,iCAAiC,IAAI,CAAC,QAAQ,IAAI;gBACxF,yCAAyC,CAC5C,CAAC;QACN,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,IAAI,CACN,eAAe,KAAK,KAAK,MAAM,CAAC,WAAW,IAAI,gBAAgB,EAAE,CACpE,CACJ,CAAC;QACN,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,IAAA,8BAAsB,EAC9C,iEAAiE,CACpE,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;YACvF,OAAO;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,yBAAY,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACxC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CACrC,CAAC;QACF,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;CACJ;AApYD,wCAoYC"}
|
|
1
|
+
{"version":3,"file":"ownershipAdmin.js","sourceRoot":"","sources":["../../../src/ownership-transfer/ownershipAdmin.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,4 +15,5 @@ export declare const tryGetMultiSigInfo: (contractAddress: string) => Promise<{
|
|
|
15
15
|
}>;
|
|
16
16
|
export declare const transferOwnership: (contractAddress: string, newOwner: string, oldOwner: string) => Promise<Transaction | true>;
|
|
17
17
|
export declare const grantRole: (contractAddress: string, role: string, newAccount: AddressLike, oldAccount: AddressLike) => Promise<Transaction | true>;
|
|
18
|
+
export declare const revokeRole: (contractAddress: string, role: string, oldAccount: AddressLike) => Promise<Transaction | boolean>;
|
|
18
19
|
export declare const getPermissionModels: (address: AddressLike) => Promise<PermissionModel[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPermissionModels = exports.grantRole = exports.transferOwnership = exports.tryGetMultiSigInfo = exports.isAccessManaged = exports.isAccessManager = exports.isAccessControl = exports.isOwnable = exports.PermissionModel = void 0;
|
|
3
|
+
exports.getPermissionModels = exports.revokeRole = exports.grantRole = exports.transferOwnership = exports.tryGetMultiSigInfo = exports.isAccessManaged = exports.isAccessManager = exports.isAccessControl = exports.isOwnable = exports.PermissionModel = void 0;
|
|
4
4
|
/* eslint-disable max-lines */
|
|
5
5
|
const ethers_1 = require("ethers");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
@@ -27,7 +27,8 @@ const OWNABLE_ABI = [
|
|
|
27
27
|
const ACCESS_CONTROL_ABI = [
|
|
28
28
|
"function hasRole(bytes32 role, address account) view returns (bool)",
|
|
29
29
|
"function grantRole(bytes32 role, address account)",
|
|
30
|
-
"function revokeRole(bytes32 role, address account)"
|
|
30
|
+
"function revokeRole(bytes32 role, address account)",
|
|
31
|
+
"function getRoleMemberCount(bytes32 role) view returns (uint256)"
|
|
31
32
|
];
|
|
32
33
|
const ACCESS_MANAGER_ABI = [
|
|
33
34
|
"function hasRole(uint64 role, address account) view returns (bool)",
|
|
@@ -265,6 +266,22 @@ const grantRole = async (contractAddress, role, newAccount, oldAccount
|
|
|
265
266
|
return transaction;
|
|
266
267
|
};
|
|
267
268
|
exports.grantRole = grantRole;
|
|
269
|
+
const revokeRole = async (contractAddress, role, oldAccount) => {
|
|
270
|
+
const contract = new ethers_1.Contract(contractAddress, ACCESS_CONTROL_ABI, hardhat_1.ethers.provider);
|
|
271
|
+
if (!await contract.hasRole(role, oldAccount)) {
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
// eslint-disable-next-line no-magic-numbers
|
|
275
|
+
if ((await contract.getRoleMemberCount(role)) < 2n && role === hardhat_1.ethers.ZeroHash) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
const data = contract.interface.encodeFunctionData("revokeRole", [role, oldAccount]);
|
|
279
|
+
const transaction = new ethers_1.Transaction();
|
|
280
|
+
transaction.to = contractAddress;
|
|
281
|
+
transaction.data = data;
|
|
282
|
+
return transaction;
|
|
283
|
+
};
|
|
284
|
+
exports.revokeRole = revokeRole;
|
|
268
285
|
// eslint-disable-next-line max-statements
|
|
269
286
|
const getPermissionModels = async (address) => {
|
|
270
287
|
const models = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-utils.js","sourceRoot":"","sources":["../../../src/ownership-transfer/permission-utils.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,mCAA0D;AAC1D,mCAA+D;AAC/D,qCAA+B;AAE/B,IAAY,eAOX;AAPD,WAAY,eAAe;IACvB,sDAAsD;IACtD,sCAAmB,CAAA;IACnB,kDAAkD;IAClD,4CAAyB,CAAA;IACzB,oDAAiC,CAAA;IACjC,oDAAiC,CAAA;AACrC,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAChB,8CAA8C;IAC9C,yCAAyC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACvB,qEAAqE;IACrE,mDAAmD;IACnD,oDAAoD;
|
|
1
|
+
{"version":3,"file":"permission-utils.js","sourceRoot":"","sources":["../../../src/ownership-transfer/permission-utils.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,mCAA0D;AAC1D,mCAA+D;AAC/D,qCAA+B;AAE/B,IAAY,eAOX;AAPD,WAAY,eAAe;IACvB,sDAAsD;IACtD,sCAAmB,CAAA;IACnB,kDAAkD;IAClD,4CAAyB,CAAA;IACzB,oDAAiC,CAAA;IACjC,oDAAiC,CAAA;AACrC,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAChB,8CAA8C;IAC9C,yCAAyC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACvB,qEAAqE;IACrE,mDAAmD;IACnD,oDAAoD;IACpD,kEAAkE;CACrE,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACvB,oEAAoE;IACpE,yEAAyE;IACzE,mDAAmD;CACtD,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACvB,6CAA6C;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG;IACjB,+CAA+C;IAC/C,gDAAgD;CACnD,CAAC;AAGF,MAAM,sBAAsB,GAAG,KAAK,EAChC,QAAkB,EAClB,eAAuB,EACP,EAAE;IAClB;;OAEG;IACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IACrC,IAAI,KAAK,KAAK,gBAAM,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,OAAO,MAAM,IAAA,2BAAmB,EAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACI,MAAM,SAAS,GAAG,KAAK,EAAE,eAA4B,EAAoB,EAAE;IAC9E,IAAI,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,gBAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,IAAA,yBAAiB,EAAC,eAAe,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,WAAW,EACX,gBAAM,CAAC,QAAQ,CAClB,CAAC;QAEF,OAAO,MAAM,sBAAsB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,SAAS,aAkBpB;AAEF,MAAM,4BAA4B,GAAG,KAAK,EACtC,QAAkB,EAClB,eAAuB,EACP,EAAE;IAClB;;OAEG;IACH,MAAM,QAAQ,CAAC,OAAO,CAAC,gBAAM,CAAC,QAAQ,EAAE,gBAAM,CAAC,WAAW,CAAC,CAAC;IAE5D;;OAEG;IACH,OAAO,MAAM,IAAA,2BAAmB,EAAC,eAAe,EAAE,4BAA4B,CAAC;QAC3E,MAAM,IAAA,2BAAmB,EAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,eAA4B,EAAoB,EAAE;IACpF,IAAI,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,gBAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,IAAA,yBAAiB,EAAC,eAAe,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,kBAAkB,EAClB,gBAAM,CAAC,QAAQ,CAClB,CAAC;QAEF,OAAO,MAAM,4BAA4B,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B;AAEF,MAAM,4BAA4B,GAAG,KAAK,EACtC,QAAkB,EAClB,eAAuB,EACP,EAAE;IAClB;;;OAGG;IACH,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAM,CAAC,WAAW,CAAC,CAAC;IAErD;;;OAGG;IACH,OAAO,MAAM,IAAA,2BAAmB,EAAC,eAAe,EAAE,kCAAkC,CAAC;QACjF,MAAM,IAAA,2BAAmB,EAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,eAA4B,EAAoB,EAAE;IACpF,IAAI,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,gBAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,IAAA,yBAAiB,EAAC,eAAe,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,kBAAkB,EAClB,gBAAM,CAAC,QAAQ,CAClB,CAAC;QAEF,OAAO,MAAM,4BAA4B,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B;AAEF;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,KAAK,EAAE,eAA4B,EAAoB,EAAE;IACpF,IAAI,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,gBAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAErE,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAiB,EAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,kBAAkB,EAClB,gBAAM,CAAC,QAAQ,CAClB,CAAC;QAEF;;;WAGG;QACH,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEpD,OAAO,MAAM,IAAA,uBAAe,EAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAzBW,QAAA,eAAe,mBAyB1B;AAEF;;;;;;;GAOG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,eAAuB,EAAE,EAAE;IAChE,IAAI,MAAM,GAAoB,IAAI,CAAC;IACnC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,YAAY,EACZ,gBAAM,CAAC,QAAQ,CAClB,CAAC;QAEF,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QACpC,SAAS,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1C,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;QACvE,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC;IAC/B,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,kBAAkB,sBAiB7B;AAEF;;;;;;;;;;GAUG;AACH,0CAA0C;AACnC,MAAM,iBAAiB,GAAG,KAAK,EAClC,eAAuB,EACvB,QAAgB,EAChB,QAAgB,EACU,EAAE;IAC5B,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,WAAW,EACX,gBAAM,CAAC,QAAQ,CAClB,CAAC;IAEF,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,6BAA6B,eAAe,iDAAiD,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAC9C,mBAAmB,EACnB,CAAC,QAAQ,CAAC,CACb,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC;IACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AA3BW,QAAA,iBAAiB,qBA2B5B;AAEF;;;;;;;;;;;GAWG;AACH,0CAA0C;AACnC,MAAM,SAAS,GAAG,KAAK,EAC1B,eAAuB,EACvB,IAAY,EACZ,UAAuB,EACvB,UAAuB;AAC3B,sCAAsC;EACP,EAAE;IAC7B,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,kBAAkB,EAClB,gBAAM,CAAC,QAAQ,CAClB,CAAC;IAEF;;OAEG;IACH,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,gBAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,wDAAwD,eAAe,GAAG,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAC9C,WAAW,EACX,CAAC,IAAI,EAAE,UAAU,CAAC,CACrB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC;IACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AArCW,QAAA,SAAS,aAqCpB;AAEK,MAAM,UAAU,GAAG,KAAK,EAC3B,eAAuB,EACvB,IAAY,EACZ,UAAuB,EACO,EAAE;IAChC,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CACzB,eAAe,EACf,kBAAkB,EAClB,gBAAM,CAAC,QAAQ,CAClB,CAAC;IACF,IACI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAC3C,CAAC;QACC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,4CAA4C;IAC5C,IAAI,CAAC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,gBAAM,CAAC,QAAQ,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAC9C,YAAY,EACZ,CAAC,IAAI,EAAE,UAAU,CAAC,CACrB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC;IACjC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AA5BW,QAAA,UAAU,cA4BrB;AAGF,0CAA0C;AACnC,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAoB,EAA8B,EAAE;IAC1F,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,IAAI,MAAM,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QACjG,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,kEAAkE,CAAC,CAAC;IAC1G,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA;AAxBY,QAAA,mBAAmB,uBAwB/B"}
|