@skalenetwork/upgrade-tools 4.0.0-ownership-helpers.8 → 4.0.0-ownership-helpers.10
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 +21 -10
- package/dist/src/ownership-transfer/ownershipAdmin.js +147 -123
- 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,20 +13,26 @@ 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
|
-
loadContractMetadataAndCreateTransactions(
|
|
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
38
|
private displayFindings;
|
|
@@ -32,9 +41,11 @@ export declare class OwnershipAdmin {
|
|
|
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,94 +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
|
-
await this.
|
|
76
|
-
|
|
77
|
-
await this.confirmMetadata();
|
|
78
|
-
}
|
|
50
|
+
await this.createRequiredTransactions();
|
|
51
|
+
await this.confirmData();
|
|
79
52
|
}
|
|
80
|
-
async
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
+
}
|
|
84
70
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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();
|
|
88
84
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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.");
|
|
92
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;
|
|
93
113
|
}
|
|
94
|
-
async
|
|
114
|
+
async createRequiredTransactions() {
|
|
95
115
|
// Clear previous transactions
|
|
96
116
|
console.log(chalk_1.default.grey("INFO: The next Following steps will NOT submit any transactions to the blockchain."));
|
|
97
117
|
if (!this.readonly && !this.newOwnerConfirmed) {
|
|
@@ -99,18 +119,14 @@ class OwnershipAdmin {
|
|
|
99
119
|
}
|
|
100
120
|
for (const contract of this.contractMetadata.values()) {
|
|
101
121
|
// eslint-disable-next-line no-await-in-loop
|
|
102
|
-
const txs = await this.
|
|
122
|
+
const txs = await this.createTxsToGrantContractOwnership(contract);
|
|
103
123
|
this.transactionsByContractName.set(contract.name, txs);
|
|
104
124
|
txs.forEach(txData => this.transactions.push(txData.transaction));
|
|
105
125
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const userConfirmed = await (0, utils_1.promptUserConfirmation)();
|
|
110
|
-
if (!userConfirmed) {
|
|
111
|
-
this.handleUserRejection();
|
|
126
|
+
if (!this.transactions.length) {
|
|
127
|
+
console.log(chalk_1.default.green("No ownership transfer transactions required."));
|
|
128
|
+
await this.createRevokeRolesTransactions();
|
|
112
129
|
}
|
|
113
|
-
console.log(chalk_1.default.green("\nUser confirmed. Proceeding...\n"));
|
|
114
130
|
}
|
|
115
131
|
getColumnWidths() {
|
|
116
132
|
let maxNameWidth = 0;
|
|
@@ -132,12 +148,12 @@ class OwnershipAdmin {
|
|
|
132
148
|
const name = contract.name.padEnd(maxNameWidth);
|
|
133
149
|
const address = contract.address.padEnd(maxAddressWidth);
|
|
134
150
|
const permissions = (contract.permissionModel?.join(", ") || "None").padEnd(maxPermissionsWidth);
|
|
135
|
-
let status = "";
|
|
151
|
+
let status = chalk_1.default.green("ALL DONE");
|
|
136
152
|
if (this.transactionsByContractName.get(contract.name)?.length) {
|
|
137
|
-
status = chalk_1.default.yellow("
|
|
153
|
+
status = chalk_1.default.yellow("GRANT OWNERSHIP REQUIRED");
|
|
138
154
|
}
|
|
139
|
-
else {
|
|
140
|
-
status = chalk_1.default.
|
|
155
|
+
else if (this.revokeTransactionsByContractName.get(contract.name)?.length) {
|
|
156
|
+
status = chalk_1.default.yellow("REVOKE ROLES REQUIRED");
|
|
141
157
|
}
|
|
142
158
|
console.log(chalk_1.default.gray(` ${name} ${address} ${permissions} `) + status);
|
|
143
159
|
}
|
|
@@ -156,7 +172,6 @@ class OwnershipAdmin {
|
|
|
156
172
|
console.log(chalk_1.default.red("User did not confirm. Aborting and clearing all data..."));
|
|
157
173
|
this.contractMetadata.clear();
|
|
158
174
|
this.transactions.length = 0;
|
|
159
|
-
this.isMetadataLoaded = false;
|
|
160
175
|
throw new Error("User aborted the operation. Data has been cleared.");
|
|
161
176
|
}
|
|
162
177
|
groupMetadataByPattern() {
|
|
@@ -202,29 +217,49 @@ class OwnershipAdmin {
|
|
|
202
217
|
}
|
|
203
218
|
async createAssignRolesTransactions(contractData) {
|
|
204
219
|
const txs = [];
|
|
220
|
+
/* eslint-disable no-await-in-loop */
|
|
221
|
+
// Required to process sequentially due to order of transactions
|
|
205
222
|
for (const role of this.bytes32RolesToCheck) {
|
|
206
|
-
// eslint-disable-next-line no-await-in-loop
|
|
207
223
|
const tx = await (0, permission_utils_1.grantRole)(contractData.address, role.identifier, this.newOwner, this.oldOwner);
|
|
208
224
|
if (typeof tx === "boolean" && tx) {
|
|
209
225
|
// eslint-disable-next-line no-continue
|
|
210
226
|
continue;
|
|
211
227
|
}
|
|
212
228
|
else if (this.isDuplicateTransaction(tx)) {
|
|
229
|
+
// Unexpected - better check
|
|
213
230
|
throw new Error(`Error: Transaction to grant role ${role} in ${contractData.name} was already created.`);
|
|
214
231
|
}
|
|
215
232
|
else {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
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 });
|
|
221
257
|
}
|
|
222
258
|
}
|
|
223
259
|
return txs;
|
|
224
260
|
}
|
|
225
|
-
// TODO: Remove this
|
|
226
261
|
// eslint-disable-next-line max-statements
|
|
227
|
-
async
|
|
262
|
+
async createTxsToGrantContractOwnership(contractData) {
|
|
228
263
|
console.log(chalk_1.default.white(`* Creating Transactions to change Ownership of ${contractData.name}.`));
|
|
229
264
|
const txs = [];
|
|
230
265
|
if (contractData.pattern === utils_1.Pattern.TUPP) {
|
|
@@ -252,70 +287,50 @@ class OwnershipAdmin {
|
|
|
252
287
|
}
|
|
253
288
|
// eslint-disable-next-line max-statements
|
|
254
289
|
async promptConfirmNewOwner() {
|
|
255
|
-
|
|
256
|
-
console.log(chalk_1.default.white("INFO: New owner already confirmed. Skipping confirmation."));
|
|
257
|
-
return;
|
|
258
|
-
}
|
|
259
|
-
const message1 = `You have specified the new owner address as ${this.newOwner}.`;
|
|
260
|
-
let message2 = "";
|
|
261
|
-
let message3 = "";
|
|
290
|
+
console.log(chalk_1.default.white(`You have specified the new owner address as ${this.newOwner}.`));
|
|
262
291
|
const isContract = await (0, utils_1.isContractAddress)(this.newOwner);
|
|
263
292
|
if (isContract) {
|
|
264
|
-
|
|
293
|
+
console.log(chalk_1.default.yellow(` INFO: It appears to be a contract address.`));
|
|
265
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.`);
|
|
266
296
|
if (owners) {
|
|
267
297
|
const ownersList = owners.join(", ");
|
|
268
|
-
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
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}`);
|
|
272
299
|
}
|
|
300
|
+
console.log(message);
|
|
301
|
+
message = chalk_1.default.red(`WARNING: The script was unable to determine the Multi-Sig threshold.`);
|
|
273
302
|
if (threshold) {
|
|
274
|
-
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
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}.`);
|
|
278
304
|
}
|
|
305
|
+
console.log(message);
|
|
279
306
|
}
|
|
280
|
-
|
|
281
|
-
const userConfirmed = await (0, utils_1.promptUserConfirmation)(message);
|
|
282
|
-
if (!userConfirmed) {
|
|
307
|
+
if (!await (0, utils_1.promptUserConfirmation)("")) {
|
|
283
308
|
throw new Error("User did not confirm the new owner address. Aborting...");
|
|
284
309
|
}
|
|
285
310
|
this.newOwnerConfirmed = true;
|
|
286
311
|
}
|
|
287
|
-
// TODO: Remove disable
|
|
288
|
-
// eslint-disable-next-line class-methods-use-this
|
|
289
|
-
async promptConfirmTransactions(transactions) {
|
|
290
|
-
if (!transactions.length) {
|
|
291
|
-
return true;
|
|
292
|
-
}
|
|
293
|
-
console.log(chalk_1.default.white("\n=== Prepared Following Ownership Transfer Transactions ===\n"));
|
|
294
|
-
transactions.forEach((txData, index) => {
|
|
295
|
-
console.log(chalk_1.default.gray(` - Transaction ${index}: ${txData.description || "No description"}`));
|
|
296
|
-
});
|
|
297
|
-
const msg = "Do you confirm these transactions? They will NOT be sent to the blockchain yet.";
|
|
298
|
-
const userConfirmed = await (0, utils_1.promptUserConfirmation)(msg);
|
|
299
|
-
return userConfirmed;
|
|
300
|
-
}
|
|
301
312
|
isDuplicateTransaction(transaction) {
|
|
302
313
|
return this.transactions.some((existingTx) => existingTx.to === transaction.to &&
|
|
314
|
+
existingTx.data === transaction.data) || this.revokeRolesTransactions.some((existingTx) => existingTx.to === transaction.to &&
|
|
303
315
|
existingTx.data === transaction.data);
|
|
304
316
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
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."));
|
|
312
324
|
return;
|
|
313
325
|
}
|
|
314
|
-
const [
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
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);
|
|
318
330
|
}
|
|
331
|
+
}
|
|
332
|
+
async submitTransactionsForContract(contractName, txs) {
|
|
333
|
+
console.log(chalk_1.default.cyan(`\nSubmitting transactions for contract ${contractName}...\n`));
|
|
319
334
|
for (const [index, txData] of txs.entries()) {
|
|
320
335
|
console.log(chalk_1.default.blue(`Transaction ${index}: ${txData.description || "No description"}`));
|
|
321
336
|
}
|
|
@@ -324,11 +339,20 @@ class OwnershipAdmin {
|
|
|
324
339
|
console.log(chalk_1.default.red("User did not confirm. Skipping submission for this contract."));
|
|
325
340
|
return;
|
|
326
341
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
this.
|
|
331
|
-
|
|
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
|
+
}
|
|
332
356
|
}
|
|
333
357
|
}
|
|
334
358
|
exports.OwnershipAdmin = OwnershipAdmin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownershipAdmin.js","sourceRoot":"","sources":["../../../src/ownership-transfer/ownershipAdmin.ts"],"names":[],"mappings":"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"}
|
|
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":"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"}
|