@skalenetwork/upgrade-tools 3.0.0-linter.40 → 3.0.0-linter.41
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.
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Signer } from "ethers";
|
|
2
2
|
export declare class NonceProvider {
|
|
3
3
|
currentNonce: number;
|
|
4
|
+
releasedNonces: number[];
|
|
4
5
|
constructor(nonce: number);
|
|
5
6
|
static createForWallet(signer: Signer): Promise<NonceProvider>;
|
|
6
|
-
reserveNonce(): number;
|
|
7
|
+
reserveNonce(): number | undefined;
|
|
8
|
+
releaseNonce(nonce: number): void;
|
|
9
|
+
private static next;
|
|
7
10
|
}
|
|
@@ -4,14 +4,30 @@ exports.NonceProvider = void 0;
|
|
|
4
4
|
class NonceProvider {
|
|
5
5
|
constructor(nonce) {
|
|
6
6
|
this.currentNonce = nonce;
|
|
7
|
+
this.releasedNonces = [];
|
|
7
8
|
}
|
|
8
9
|
static async createForWallet(signer) {
|
|
9
10
|
return new NonceProvider(await signer.getNonce());
|
|
10
11
|
}
|
|
11
12
|
reserveNonce() {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
if (!this.releasedNonces) {
|
|
14
|
+
const nonce = this.currentNonce;
|
|
15
|
+
this.currentNonce += 1;
|
|
16
|
+
return nonce;
|
|
17
|
+
}
|
|
18
|
+
return this.releasedNonces.shift();
|
|
19
|
+
}
|
|
20
|
+
releaseNonce(nonce) {
|
|
21
|
+
if (NonceProvider.next(nonce) === this.currentNonce) {
|
|
22
|
+
this.currentNonce -= 1;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.releasedNonces.push(nonce);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
static next(nonce) {
|
|
29
|
+
const nextDiff = 1;
|
|
30
|
+
return nonce + nextDiff;
|
|
15
31
|
}
|
|
16
32
|
}
|
|
17
33
|
exports.NonceProvider = NonceProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonceProvider.js","sourceRoot":"","sources":["../../src/nonceProvider.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"nonceProvider.js","sourceRoot":"","sources":["../../src/nonceProvider.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAItB,YAAa,KAAa;QACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAE,MAAc;QACxC,OAAO,IAAI,aAAa,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACvB,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,YAAY,CAAE,KAAa;QACvB,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;YACjD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;SAC1B;aAAM;YACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;IACL,CAAC;IAEO,MAAM,CAAC,IAAI,CAAE,KAAa;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,GAAG,QAAQ,CAAC;IAC5B,CAAC;CACJ;AAlCD,sCAkCC"}
|
package/dist/src/upgrader.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { Transaction } from "ethers";
|
|
1
2
|
import { Instance } from "@skalenetwork/skale-contracts-ethers-v6";
|
|
2
3
|
import { NonceProvider } from "./nonceProvider";
|
|
3
4
|
import { ProxyAdmin } from "../typechain-types";
|
|
4
5
|
import Semaphore from 'semaphore-async-await';
|
|
5
6
|
import { Submitter } from "./submitters/submitter";
|
|
6
|
-
import { Transaction } from "ethers";
|
|
7
7
|
interface Project {
|
|
8
8
|
name: string;
|
|
9
9
|
instance: Instance;
|
|
@@ -35,6 +35,7 @@ export declare abstract class Upgrader {
|
|
|
35
35
|
private deployNewImplementations;
|
|
36
36
|
private protectedDeployNewImplementation;
|
|
37
37
|
private deployNewImplementation;
|
|
38
|
+
private prepareUpgrade;
|
|
38
39
|
private getNormalizedDeployedVersion;
|
|
39
40
|
private checkVersion;
|
|
40
41
|
}
|
package/dist/src/upgrader.js
CHANGED
|
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Upgrader = void 0;
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
7
8
|
const upgrades_core_1 = require("@openzeppelin/upgrades-core");
|
|
8
9
|
const hardhat_1 = require("hardhat");
|
|
9
10
|
const auto_submitter_1 = require("./submitters/auto-submitter");
|
|
10
11
|
const exitCodes_1 = require("./exitCodes");
|
|
11
12
|
const nonceProvider_1 = require("./nonceProvider");
|
|
12
13
|
const semaphore_async_await_1 = __importDefault(require("semaphore-async-await"));
|
|
13
|
-
const ethers_1 = require("ethers");
|
|
14
14
|
const chalk_1 = __importDefault(require("chalk"));
|
|
15
15
|
const fs_1 = require("fs");
|
|
16
16
|
const contractFactory_1 = require("./contractFactory");
|
|
@@ -18,7 +18,7 @@ const version_1 = require("./version");
|
|
|
18
18
|
const verification_1 = require("./verification");
|
|
19
19
|
const withoutNull = (array) => array.
|
|
20
20
|
filter((element) => element !== null);
|
|
21
|
-
const maxSimultaneousDeployments =
|
|
21
|
+
const maxSimultaneousDeployments = 8;
|
|
22
22
|
// 10 minutes
|
|
23
23
|
const deployTimeout = 60e4;
|
|
24
24
|
class Upgrader {
|
|
@@ -126,11 +126,15 @@ class Upgrader {
|
|
|
126
126
|
const contractFactory = await (0, contractFactory_1.getContractFactoryAndUpdateManifest)(contract, this.nonceProvider);
|
|
127
127
|
const proxyAddress = await (await this.instance.getContract(contract)).getAddress();
|
|
128
128
|
console.log(`Prepare upgrade of ${contract}`);
|
|
129
|
+
return this.prepareUpgrade(contract, proxyAddress, contractFactory);
|
|
130
|
+
}
|
|
131
|
+
async prepareUpgrade(contractName, proxyAddress, contractFactory) {
|
|
129
132
|
const currentImplementationAddress = await (0, upgrades_core_1.getImplementationAddress)(hardhat_1.network.provider, proxyAddress);
|
|
133
|
+
const nonce = this.nonceProvider?.reserveNonce();
|
|
130
134
|
const newImplementationAddress = await hardhat_1.upgrades.prepareUpgrade(proxyAddress, contractFactory, {
|
|
131
135
|
"timeout": deployTimeout,
|
|
132
136
|
"txOverrides": {
|
|
133
|
-
|
|
137
|
+
nonce
|
|
134
138
|
},
|
|
135
139
|
"unsafeAllowLinkedLibraries": true,
|
|
136
140
|
"unsafeAllowRenames": true
|
|
@@ -138,11 +142,14 @@ class Upgrader {
|
|
|
138
142
|
if (newImplementationAddress !== currentImplementationAddress) {
|
|
139
143
|
return {
|
|
140
144
|
"implementationAddress": newImplementationAddress,
|
|
141
|
-
"name":
|
|
145
|
+
"name": contractName,
|
|
142
146
|
proxyAddress
|
|
143
147
|
};
|
|
144
148
|
}
|
|
145
|
-
console.log(chalk_1.default.gray(`Contract ${
|
|
149
|
+
console.log(chalk_1.default.gray(`Contract ${contractName} is up to date`));
|
|
150
|
+
if (nonce) {
|
|
151
|
+
this.nonceProvider?.releaseNonce(nonce);
|
|
152
|
+
}
|
|
146
153
|
return null;
|
|
147
154
|
}
|
|
148
155
|
async getNormalizedDeployedVersion() {
|
package/dist/src/upgrader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA+E;AAC/E,qCAAkD;AAClD,gEAA0D;AAC1D,2CAAuC;AAEvC,mDAA8C;AAE9C,kFAA8C;AAE9C,
|
|
1
|
+
{"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
|