Skip to content

Commit 9529215

Browse files
refactor: update Hardhat configuration to prefer committed random-beacon export for deployment scripts, enhancing CI compatibility
1 parent b55e334 commit 9529215

11 files changed

Lines changed: 772 additions & 2 deletions
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
"use strict";
2+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4+
return new (P || (P = Promise))(function (resolve, reject) {
5+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8+
step((generator = generator.apply(thisArg, _arguments || [])).next());
9+
});
10+
};
11+
var __generator = (this && this.__generator) || function (thisArg, body) {
12+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14+
function verb(n) { return function (v) { return step([n, v]); }; }
15+
function step(op) {
16+
if (f) throw new TypeError("Generator is already executing.");
17+
while (_) try {
18+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19+
if (y = 0, t) op = [op[0] & 2, t.value];
20+
switch (op[0]) {
21+
case 0: case 1: t = op; break;
22+
case 4: _.label++; return { value: op[1], done: false };
23+
case 5: _.label++; y = op[1]; op = [0]; continue;
24+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
25+
default:
26+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30+
if (t[2]) _.ops.pop();
31+
_.trys.pop(); continue;
32+
}
33+
op = body.call(thisArg, _);
34+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36+
}
37+
};
38+
Object.defineProperty(exports, "__esModule", { value: true });
39+
var func = function (hre) { return __awaiter(void 0, void 0, void 0, function () {
40+
var getNamedAccounts, deployments, helpers, deployer, staticGas, maxGasPrice, ReimbursementPool;
41+
return __generator(this, function (_a) {
42+
switch (_a.label) {
43+
case 0:
44+
getNamedAccounts = hre.getNamedAccounts, deployments = hre.deployments, helpers = hre.helpers;
45+
return [4 /*yield*/, getNamedAccounts()];
46+
case 1:
47+
deployer = (_a.sent()).deployer;
48+
staticGas = 40800 // gas amount consumed by the refund() + tx cost
49+
;
50+
maxGasPrice = 500000000000 // 500 Gwei
51+
;
52+
return [4 /*yield*/, deployments.deploy("ReimbursementPool", {
53+
from: deployer,
54+
args: [staticGas, maxGasPrice],
55+
log: true,
56+
waitConfirmations: 1,
57+
})];
58+
case 2:
59+
ReimbursementPool = _a.sent();
60+
if (!hre.network.tags.etherscan) return [3 /*break*/, 5];
61+
return [4 /*yield*/, hre.ethers.provider.waitForTransaction(ReimbursementPool.transactionHash, 2, 300000)];
62+
case 3:
63+
_a.sent();
64+
return [4 /*yield*/, helpers.etherscan.verify(ReimbursementPool)];
65+
case 4:
66+
_a.sent();
67+
_a.label = 5;
68+
case 5:
69+
if (!hre.network.tags.tenderly) return [3 /*break*/, 7];
70+
return [4 /*yield*/, hre.tenderly.verify({
71+
name: "ReimbursementPool",
72+
address: ReimbursementPool.address,
73+
})];
74+
case 6:
75+
_a.sent();
76+
_a.label = 7;
77+
case 7: return [2 /*return*/];
78+
}
79+
});
80+
}); };
81+
exports.default = func;
82+
func.tags = ["ReimbursementPool"];
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
"use strict";
2+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4+
return new (P || (P = Promise))(function (resolve, reject) {
5+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8+
step((generator = generator.apply(thisArg, _arguments || [])).next());
9+
});
10+
};
11+
var __generator = (this && this.__generator) || function (thisArg, body) {
12+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14+
function verb(n) { return function (v) { return step([n, v]); }; }
15+
function step(op) {
16+
if (f) throw new TypeError("Generator is already executing.");
17+
while (_) try {
18+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19+
if (y = 0, t) op = [op[0] & 2, t.value];
20+
switch (op[0]) {
21+
case 0: case 1: t = op; break;
22+
case 4: _.label++; return { value: op[1], done: false };
23+
case 5: _.label++; y = op[1]; op = [0]; continue;
24+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
25+
default:
26+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30+
if (t[2]) _.ops.pop();
31+
_.trys.pop(); continue;
32+
}
33+
op = body.call(thisArg, _);
34+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36+
}
37+
};
38+
Object.defineProperty(exports, "__esModule", { value: true });
39+
var func = function (hre) { return __awaiter(void 0, void 0, void 0, function () {
40+
var getNamedAccounts, deployments, helpers, _a, deployer, chaosnetOwner, execute, to1e18, POOL_WEIGHT_DIVISOR, T, BeaconSortitionPool;
41+
return __generator(this, function (_b) {
42+
switch (_b.label) {
43+
case 0:
44+
getNamedAccounts = hre.getNamedAccounts, deployments = hre.deployments, helpers = hre.helpers;
45+
return [4 /*yield*/, getNamedAccounts()];
46+
case 1:
47+
_a = _b.sent(), deployer = _a.deployer, chaosnetOwner = _a.chaosnetOwner;
48+
execute = deployments.execute;
49+
to1e18 = helpers.number.to1e18;
50+
POOL_WEIGHT_DIVISOR = to1e18(1);
51+
return [4 /*yield*/, deployments.get("T")];
52+
case 2:
53+
T = _b.sent();
54+
return [4 /*yield*/, deployments.deploy("BeaconSortitionPool", {
55+
contract: "SortitionPool",
56+
from: deployer,
57+
args: [T.address, POOL_WEIGHT_DIVISOR],
58+
log: true,
59+
waitConfirmations: 1,
60+
})];
61+
case 3:
62+
BeaconSortitionPool = _b.sent();
63+
return [4 /*yield*/, execute("BeaconSortitionPool", { from: deployer, log: true, waitConfirmations: 1 }, "transferChaosnetOwnerRole", chaosnetOwner)];
64+
case 4:
65+
_b.sent();
66+
if (!hre.network.tags.etherscan) return [3 /*break*/, 7];
67+
return [4 /*yield*/, hre.ethers.provider.waitForTransaction(BeaconSortitionPool.transactionHash, 2, 300000)];
68+
case 5:
69+
_b.sent();
70+
return [4 /*yield*/, helpers.etherscan.verify(BeaconSortitionPool)];
71+
case 6:
72+
_b.sent();
73+
_b.label = 7;
74+
case 7:
75+
if (!hre.network.tags.tenderly) return [3 /*break*/, 9];
76+
return [4 /*yield*/, hre.tenderly.verify({
77+
name: "BeaconSortitionPool",
78+
address: BeaconSortitionPool.address,
79+
})];
80+
case 8:
81+
_b.sent();
82+
_b.label = 9;
83+
case 9: return [2 /*return*/];
84+
}
85+
});
86+
}); };
87+
exports.default = func;
88+
func.tags = ["BeaconSortitionPool"];
89+
// TokenStaking and T deployments are expected to be resolved from
90+
// @threshold-network/solidity-contracts
91+
func.dependencies = ["TokenStaking", "T"];
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
"use strict";
2+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4+
return new (P || (P = Promise))(function (resolve, reject) {
5+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8+
step((generator = generator.apply(thisArg, _arguments || [])).next());
9+
});
10+
};
11+
var __generator = (this && this.__generator) || function (thisArg, body) {
12+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14+
function verb(n) { return function (v) { return step([n, v]); }; }
15+
function step(op) {
16+
if (f) throw new TypeError("Generator is already executing.");
17+
while (_) try {
18+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19+
if (y = 0, t) op = [op[0] & 2, t.value];
20+
switch (op[0]) {
21+
case 0: case 1: t = op; break;
22+
case 4: _.label++; return { value: op[1], done: false };
23+
case 5: _.label++; y = op[1]; op = [0]; continue;
24+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
25+
default:
26+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30+
if (t[2]) _.ops.pop();
31+
_.trys.pop(); continue;
32+
}
33+
op = body.call(thisArg, _);
34+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36+
}
37+
};
38+
Object.defineProperty(exports, "__esModule", { value: true });
39+
var func = function (hre) { return __awaiter(void 0, void 0, void 0, function () {
40+
var getNamedAccounts, deployments, helpers, deployer, BeaconSortitionPool, BeaconDkgValidator;
41+
return __generator(this, function (_a) {
42+
switch (_a.label) {
43+
case 0:
44+
getNamedAccounts = hre.getNamedAccounts, deployments = hre.deployments, helpers = hre.helpers;
45+
return [4 /*yield*/, getNamedAccounts()];
46+
case 1:
47+
deployer = (_a.sent()).deployer;
48+
return [4 /*yield*/, deployments.get("BeaconSortitionPool")];
49+
case 2:
50+
BeaconSortitionPool = _a.sent();
51+
return [4 /*yield*/, deployments.deploy("BeaconDkgValidator", {
52+
from: deployer,
53+
args: [BeaconSortitionPool.address],
54+
log: true,
55+
waitConfirmations: 1,
56+
})];
57+
case 3:
58+
BeaconDkgValidator = _a.sent();
59+
if (!hre.network.tags.etherscan) return [3 /*break*/, 6];
60+
return [4 /*yield*/, hre.ethers.provider.waitForTransaction(BeaconDkgValidator.transactionHash, 2, 300000)];
61+
case 4:
62+
_a.sent();
63+
return [4 /*yield*/, helpers.etherscan.verify(BeaconDkgValidator)];
64+
case 5:
65+
_a.sent();
66+
_a.label = 6;
67+
case 6:
68+
if (!hre.network.tags.tenderly) return [3 /*break*/, 8];
69+
return [4 /*yield*/, hre.tenderly.verify({
70+
name: "BeaconDkgValidator",
71+
address: BeaconDkgValidator.address,
72+
})];
73+
case 7:
74+
_a.sent();
75+
_a.label = 8;
76+
case 8: return [2 /*return*/];
77+
}
78+
});
79+
}); };
80+
exports.default = func;
81+
func.tags = ["BeaconDkgValidator"];
82+
func.dependencies = ["BeaconSortitionPool"];

0 commit comments

Comments
 (0)