@skalenetwork/upgrade-tools 4.0.0-beacon.3 → 4.0.0-beacon.4
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/proxyUpgrader.d.ts +1 -0
- package/dist/src/proxyUpgrader.js +1 -2
- package/dist/src/proxyUpgrader.js.map +1 -1
- package/dist/src/upgraders/abstractTransparentProxyUpgrader.d.ts +1 -0
- package/dist/src/upgraders/abstractTransparentProxyUpgrader.js +4 -0
- package/dist/src/upgraders/abstractTransparentProxyUpgrader.js.map +1 -1
- package/dist/src/upgraders/beaconUpgrader.d.ts +2 -1
- package/dist/src/upgraders/beaconUpgrader.js +8 -2
- package/dist/src/upgraders/beaconUpgrader.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,5 +13,6 @@ export declare abstract class ProxyUpgrader {
|
|
|
13
13
|
getNewImplementationAddress(): AddressLike;
|
|
14
14
|
abstract getOwner(): Promise<string>;
|
|
15
15
|
protected abstract makeUpgradeTransaction(): Promise<Transaction>;
|
|
16
|
+
protected abstract getCurrentImplementationAddress(): Promise<AddressLike>;
|
|
16
17
|
private prepareUpgrade;
|
|
17
18
|
}
|
|
@@ -7,7 +7,6 @@ exports.ProxyUpgrader = void 0;
|
|
|
7
7
|
const hardhat_1 = require("hardhat");
|
|
8
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
9
|
const contractFactory_1 = require("./contractFactory");
|
|
10
|
-
const upgrades_core_1 = require("@openzeppelin/upgrades-core");
|
|
11
10
|
// 10 minutes
|
|
12
11
|
const deployTimeout = 60e4;
|
|
13
12
|
class ProxyUpgrader {
|
|
@@ -47,7 +46,7 @@ class ProxyUpgrader {
|
|
|
47
46
|
}
|
|
48
47
|
// Private
|
|
49
48
|
async prepareUpgrade(contractFactory) {
|
|
50
|
-
const currentImplementationAddress = await
|
|
49
|
+
const currentImplementationAddress = await this.getCurrentImplementationAddress();
|
|
51
50
|
const nonce = this.nonceProvider?.reserveNonce();
|
|
52
51
|
const newImplementationAddress = await hardhat_1.upgrades.prepareUpgrade(await hardhat_1.ethers.resolveAddress(this.proxyAddress), contractFactory, {
|
|
53
52
|
"timeout": deployTimeout,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxyUpgrader.js","sourceRoot":"","sources":["../../src/proxyUpgrader.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"proxyUpgrader.js","sourceRoot":"","sources":["../../src/proxyUpgrader.ts"],"names":[],"mappings":";;;;;;AACA,qCAAyC;AAEzC,kDAA0B;AAC1B,uDAAsE;AAGtE,gCAAgC;AAChC,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAsB,aAAa;IAM/B,YACI,YAAoB,EACpB,YAAyB,EACzB,aAA6B;QAPvB,6BAAwB,GAAuB,IAAI,CAAC;QAS1D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,SAAS;IAEF,KAAK,CAAC,uBAAuB;QAChC,MAAM,eAAe,GAAG,MAAM,IAAA,qDAAmC,EAC7D,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,CACrB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAC9B,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACX,cAAc,IAAI,CAAC,YAAY,gCAAgC,CAClE,CAAC;QACN,CAAC;QACD,MAAM,WAAW,GACb,kCAAkC,IAAI,CAAC,YAAY,EAAE;YACrD,OAAO,IAAI,CAAC,YAAY,EAAE;YAC1B,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC/C,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,2BAA2B;QAC9B,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACX,8CAA8C,IAAI,CAAC,YAAY,EAAE,CACpE,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACzC,CAAC;IASD,UAAU;IAEF,KAAK,CAAC,cAAc,CAAC,eAAgC;QACzD,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAElF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;QAEjD,MAAM,wBAAwB,GAAG,MAAM,kBAAQ,CAAC,cAAc,CAC1D,MAAM,gBAAM,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAC9C,eAAe,EACf;YACI,SAAS,EAAE,aAAa;YACxB,aAAa,EAAE;gBACX,KAAK;aACR;YACD,4BAA4B,EAAE,IAAI;YAClC,oBAAoB,EAAE,IAAI;SAC7B,CACW,CAAC;QACjB,IAAI,wBAAwB,KAAK,4BAA4B,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,gBAAgB,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;CACJ;AA7FD,sCA6FC"}
|
|
@@ -14,5 +14,6 @@ export declare abstract class AbstractTransparentProxyUpgrader extends ProxyUpgr
|
|
|
14
14
|
static getProxyAdmin(proxy: AddressLike): Promise<Contract>;
|
|
15
15
|
static getProxyAdminVersion(proxyAdmin: Contract): Promise<string | null>;
|
|
16
16
|
static isNewProxyAdmin(proxyAdmin: Contract): Promise<boolean>;
|
|
17
|
+
protected getCurrentImplementationAddress(): Promise<AddressLike>;
|
|
17
18
|
}
|
|
18
19
|
export {};
|
|
@@ -7,6 +7,7 @@ exports.AbstractTransparentProxyUpgrader = void 0;
|
|
|
7
7
|
const hardhat_1 = require("hardhat");
|
|
8
8
|
const proxyUpgrader_1 = require("../proxyUpgrader");
|
|
9
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const upgrades_core_1 = require("@openzeppelin/upgrades-core");
|
|
10
11
|
class AbstractTransparentProxyUpgrader extends proxyUpgrader_1.ProxyUpgrader {
|
|
11
12
|
constructor(options) {
|
|
12
13
|
super(options.contractName, options.proxyAddress, options.nonceProvider);
|
|
@@ -48,6 +49,9 @@ class AbstractTransparentProxyUpgrader extends proxyUpgrader_1.ProxyUpgrader {
|
|
|
48
49
|
return false;
|
|
49
50
|
}
|
|
50
51
|
}
|
|
52
|
+
async getCurrentImplementationAddress() {
|
|
53
|
+
return await (0, upgrades_core_1.getImplementationAddress)(hardhat_1.network.provider, await hardhat_1.ethers.resolveAddress(this.proxyAddress));
|
|
54
|
+
}
|
|
51
55
|
}
|
|
52
56
|
exports.AbstractTransparentProxyUpgrader = AbstractTransparentProxyUpgrader;
|
|
53
57
|
//# sourceMappingURL=abstractTransparentProxyUpgrader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractTransparentProxyUpgrader.js","sourceRoot":"","sources":["../../../src/upgraders/abstractTransparentProxyUpgrader.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"abstractTransparentProxyUpgrader.js","sourceRoot":"","sources":["../../../src/upgraders/abstractTransparentProxyUpgrader.ts"],"names":[],"mappings":";;;;;;AACA,qCAAkD;AAElD,oDAA+C;AAC/C,kDAA0B;AAC1B,+DAAqE;AASrE,MAAsB,gCAAiC,SAAQ,6BAAa;IAGxE,YACI,OAAqD;QAErD,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,QAAQ;QACjB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAkB;QAChD,MAAM,iBAAiB,GAAG,MAAM,kBAAQ,CAAC,OAAO,CAAC,eAAe,CAC5D,MAAM,gBAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CACrC,CAAC;QACF,MAAM,oBAAoB,GAAG;YACzB,4DAA4D;YAC5D,mCAAmC;YACnC,wDAAwD;YACxD,yCAAyC;SAC5C,CAAC;QACF,OAAO,IAAI,gBAAM,CAAC,QAAQ,CACtB,iBAAiB,EACjB,oBAAoB,EACpB,MAAM,gBAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CACpC,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,UAAoB;QACzD,IAAI,CAAC;YACD,gDAAgD;YAChD,mCAAmC;YACnC,OAAO,MAAM,UAAU,CAAC,yBAAyB,EAAY,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAoB;QACpD,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB;YACzC,gDAAgD;YAChD,mCAAmC;YACnC,MAAM,UAAU,CAAC,yBAAyB,EAC9C,EAAE,CAAC,CAAC,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAES,KAAK,CAAC,+BAA+B;QAC3C,OAAO,MAAM,IAAA,wCAAwB,EACjC,iBAAO,CAAC,QAAQ,EAChB,MAAM,gBAAM,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CACjD,CAAC;IACN,CAAC;CACJ;AA7DD,4EA6DC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { AddressLike, Transaction } from "ethers";
|
|
1
2
|
import { ProxyUpgrader } from "../proxyUpgrader";
|
|
2
|
-
import { Transaction } from "ethers";
|
|
3
3
|
export declare class BeaconUpgrader extends ProxyUpgrader {
|
|
4
4
|
getOwner(): Promise<string>;
|
|
5
5
|
protected makeUpgradeTransaction(): Promise<Transaction>;
|
|
6
|
+
protected getCurrentImplementationAddress(): Promise<AddressLike>;
|
|
6
7
|
private getBeacon;
|
|
7
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BeaconUpgrader = void 0;
|
|
4
|
-
const proxyUpgrader_1 = require("../proxyUpgrader");
|
|
5
4
|
const ethers_1 = require("ethers");
|
|
5
|
+
const proxyUpgrader_1 = require("../proxyUpgrader");
|
|
6
6
|
const hardhat_1 = require("hardhat");
|
|
7
7
|
class BeaconUpgrader extends proxyUpgrader_1.ProxyUpgrader {
|
|
8
8
|
async getOwner() {
|
|
@@ -18,11 +18,17 @@ class BeaconUpgrader extends proxyUpgrader_1.ProxyUpgrader {
|
|
|
18
18
|
"to": await hardhat_1.ethers.resolveAddress(beacon)
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
+
// Protected
|
|
22
|
+
async getCurrentImplementationAddress() {
|
|
23
|
+
const beacon = await this.getBeacon();
|
|
24
|
+
return await beacon.implementation();
|
|
25
|
+
}
|
|
21
26
|
// Private
|
|
22
27
|
async getBeacon() {
|
|
23
28
|
const generalUpgradeableBeaconAbi = [
|
|
29
|
+
"function implementation() view returns (address)",
|
|
30
|
+
"function owner() view returns (address)",
|
|
24
31
|
"function upgradeTo(address newImplementation)",
|
|
25
|
-
"function owner() returns (address)"
|
|
26
32
|
];
|
|
27
33
|
return new hardhat_1.ethers.Contract(await hardhat_1.ethers.resolveAddress(this.proxyAddress), generalUpgradeableBeaconAbi, await hardhat_1.ethers.provider.getSigner());
|
|
28
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconUpgrader.js","sourceRoot":"","sources":["../../../src/upgraders/beaconUpgrader.ts"],"names":[],"mappings":";;;AAAA,oDAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"beaconUpgrader.js","sourceRoot":"","sources":["../../../src/upgraders/beaconUpgrader.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AAChD,oDAA+C;AAC/C,qCAA+B;AAG/B,MAAa,cAAe,SAAQ,6BAAa;IACtC,KAAK,CAAC,QAAQ;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAES,KAAK,CAAC,sBAAsB;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,oBAAW,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CACvC,WAAW,EACX;gBACI,MAAM,gBAAM,CAAC,cAAc,CAAC,IAAI,CAAC,wBAAyB,CAAC;aAC9D,CACJ;YACD,IAAI,EAAE,MAAM,gBAAM,CAAC,cAAc,CAAC,MAAM,CAAC;SAC5C,CAAC,CAAC;IACP,CAAC;IAED,YAAY;IAEF,KAAK,CAAC,+BAA+B;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IAED,UAAU;IAEF,KAAK,CAAC,SAAS;QACnB,MAAM,2BAA2B,GAAG;YAChC,kDAAkD;YAClD,yCAAyC;YACzC,+CAA+C;SAClD,CAAC;QACF,OAAO,IAAI,gBAAM,CAAC,QAAQ,CACtB,MAAM,gBAAM,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,EAC9C,2BAA2B,EAC3B,MAAM,gBAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CACpC,CAAC;IACN,CAAC;CACJ;AAxCD,wCAwCC"}
|