@keep-network/tbtc-v2 1.0.0-dev.4 → 1.0.0-dev.6
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/artifacts/BLS.json +1 -1
- package/artifacts/Bank.json +3 -3
- package/artifacts/BeaconAuthorization.json +1 -1
- package/artifacts/BeaconDkg.json +1 -1
- package/artifacts/BeaconDkgValidator.json +1 -1
- package/artifacts/BeaconInactivity.json +1 -1
- package/artifacts/BeaconSortitionPool.json +3 -3
- package/artifacts/Bridge.json +5 -5
- package/artifacts/BridgeGovernance.json +19 -19
- package/artifacts/BridgeGovernanceParameters.json +7 -7
- package/artifacts/Deposit.json +7 -7
- package/artifacts/DepositSweep.json +7 -7
- package/artifacts/DonationVault.json +188 -0
- package/artifacts/EcdsaDkgValidator.json +1 -1
- package/artifacts/EcdsaInactivity.json +1 -1
- package/artifacts/EcdsaSortitionPool.json +3 -3
- package/artifacts/Fraud.json +9 -9
- package/artifacts/KeepRegistry.json +1 -1
- package/artifacts/KeepStake.json +2 -2
- package/artifacts/KeepToken.json +2 -2
- package/artifacts/KeepTokenStaking.json +1 -1
- package/artifacts/LightRelay.json +3 -3
- package/artifacts/MaintainerProxy.json +15 -15
- package/artifacts/MovingFunds.json +7 -7
- package/artifacts/NuCypherStakingEscrow.json +1 -1
- package/artifacts/NuCypherToken.json +2 -2
- package/artifacts/RandomBeacon.json +2 -2
- package/artifacts/RandomBeaconChaosnet.json +2 -2
- package/artifacts/RandomBeaconGovernance.json +2 -2
- package/artifacts/Redemption.json +7 -7
- package/artifacts/ReimbursementPool.json +2 -2
- package/artifacts/T.json +2 -2
- package/artifacts/TBTC.json +3 -3
- package/artifacts/TBTCToken.json +3 -3
- package/artifacts/TBTCVault.json +9 -9
- package/artifacts/TokenStaking.json +1 -1
- package/artifacts/TokenholderGovernor.json +9 -9
- package/artifacts/TokenholderTimelock.json +8 -8
- package/artifacts/VendingMachine.json +3 -3
- package/artifacts/VendingMachineKeep.json +1 -1
- package/artifacts/VendingMachineNuCypher.json +1 -1
- package/artifacts/WalletRegistry.json +5 -5
- package/artifacts/WalletRegistryGovernance.json +2 -2
- package/artifacts/Wallets.json +7 -7
- package/artifacts/solcInputs/{b63dab89a2e89a0f54eb7f775a5bd516.json → 79a96d1cf4af176d93e6844dc248dcff.json} +2 -2
- package/artifacts/solcInputs/{c88caf1374ff7ffc912d8c7e982bd645.json → fccb130292c8c7cc958ab4fa31a3e180.json} +2 -2
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +2 -2
- package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.dbg.json +1 -1
- package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +2 -2
- package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
- package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
- package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
- package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
- package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +2 -2
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
- package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
- package/build/contracts/bridge/Fraud.sol/Fraud.json +2 -2
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
- package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +2 -2
- package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
- package/build/contracts/bridge/Redemption.sol/OutboundTx.json +2 -2
- package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
- package/build/contracts/bridge/Redemption.sol/Redemption.json +2 -2
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
- package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
- package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +2 -2
- package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
- package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
- package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +2 -2
- package/contracts/bridge/Bridge.sol +1 -1
- package/contracts/bridge/BridgeState.sol +1 -1
- package/deploy/01_deploy_light_relay.ts +1 -1
- package/deploy/05_deploy_bank.ts +1 -2
- package/deploy/06_deploy_bridge.ts +3 -2
- package/deploy/{11_deploy_tbtc_vault.ts → 07_deploy_tbtc_vault.ts} +0 -0
- package/deploy/08_deploy_donation_vault.ts +34 -0
- package/deploy/{12_deploy_bridge_governance.ts → 09_deploy_bridge_governance.ts} +3 -2
- package/deploy/{13_deploy_maintainer_proxy.ts → 10_deploy_maintainer_proxy.ts} +0 -0
- package/deploy/{14_bank_update_bridge.ts → 11_bank_update_bridge.ts} +0 -0
- package/deploy/{15_authorize_spv_maintainer_in_bridge.ts → 12_authorize_tbtc_vault_in_bridge.ts} +7 -5
- package/deploy/{22_authorize_maintainer_proxy_in_bridge.ts → 13_authorize_maintainer_proxy_in_bridge.ts} +0 -0
- package/deploy/{10_set_deposit_params.ts → 14_set_deposit_parameters.ts} +1 -1
- package/deploy/15_set_wallet_parameters.ts +42 -0
- package/deploy/{07_disable_fraud_challenges.ts → 16_disable_fraud_challenges.ts} +7 -8
- package/deploy/{08_disable_redemptions.ts → 17_disable_redemptions.ts} +6 -4
- package/deploy/{09_disable_moving_funds.ts → 18_disable_moving_funds.ts} +16 -7
- package/deploy/19_authorize_spv_maintainer_in_bridge.ts +31 -0
- package/deploy/{16_transfer_bank_ownership.ts → 20_transfer_bank_ownership.ts} +1 -1
- package/deploy/{17_transfer_bridge_governance.ts → 21_transfer_bridge_governance.ts} +11 -1
- package/deploy/{18_transfer_bridge_governance_ownership.ts → 22_transfer_bridge_governance_ownership.ts} +0 -0
- package/deploy/{19_transfer_tbtc_vault_ownership.ts → 23_transfer_tbtc_vault_ownership.ts} +0 -0
- package/deploy/{20_transfer_maintainer_proxy_ownership.ts → 24_transfer_maintainer_proxy_ownership.ts} +0 -0
- package/deploy/{21_transfer_proxy_admin_ownership.ts → 25_transfer_proxy_admin_ownership.ts} +0 -0
- package/deploy/{23_authorize_maintainer_proxy_in_reimbursement_pool.ts → 26_authorize_maintainer_proxy_in_reimbursement_pool.ts} +7 -0
- package/deploy/{24_authorize_bridge_in_reimbursement_pool.ts → 27_authorize_bridge_in_reimbursement_pool.ts} +7 -0
- package/deploy/{25_deploy_proxy_admin_with_deputy.ts → 28_deploy_proxy_admin_with_deputy.ts} +0 -0
- package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +6 -6
- package/export/artifacts/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +5 -5
- package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +5 -5
- package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +6 -6
- package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +5 -5
- package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +5 -5
- package/export/deploy/01_deploy_light_relay.js +1 -1
- package/export/deploy/05_deploy_bank.js +1 -1
- package/export/deploy/06_deploy_bridge.js +3 -2
- package/export/deploy/{11_deploy_tbtc_vault.js → 07_deploy_tbtc_vault.js} +0 -0
- package/export/deploy/08_deploy_donation_vault.js +83 -0
- package/export/deploy/{12_deploy_bridge_governance.js → 09_deploy_bridge_governance.js} +3 -2
- package/export/deploy/{13_deploy_maintainer_proxy.js → 10_deploy_maintainer_proxy.js} +0 -0
- package/export/deploy/{14_bank_update_bridge.js → 11_bank_update_bridge.js} +0 -0
- package/export/deploy/12_authorize_tbtc_vault_in_bridge.js +63 -0
- package/export/deploy/{22_authorize_maintainer_proxy_in_bridge.js → 13_authorize_maintainer_proxy_in_bridge.js} +0 -0
- package/export/deploy/{10_set_deposit_params.js → 14_set_deposit_parameters.js} +1 -1
- package/export/deploy/15_set_wallet_parameters.js +67 -0
- package/export/deploy/{07_disable_fraud_challenges.js → 16_disable_fraud_challenges.js} +4 -6
- package/export/deploy/{08_disable_redemptions.js → 17_disable_redemptions.js} +3 -2
- package/export/deploy/{09_disable_moving_funds.js → 18_disable_moving_funds.js} +13 -5
- package/export/deploy/{15_authorize_spv_maintainer_in_bridge.js → 19_authorize_spv_maintainer_in_bridge.js} +10 -0
- package/export/deploy/{16_transfer_bank_ownership.js → 20_transfer_bank_ownership.js} +1 -1
- package/export/deploy/{17_transfer_bridge_governance.js → 21_transfer_bridge_governance.js} +11 -1
- package/export/deploy/{18_transfer_bridge_governance_ownership.js → 22_transfer_bridge_governance_ownership.js} +0 -0
- package/export/deploy/{19_transfer_tbtc_vault_ownership.js → 23_transfer_tbtc_vault_ownership.js} +0 -0
- package/export/deploy/{20_transfer_maintainer_proxy_ownership.js → 24_transfer_maintainer_proxy_ownership.js} +0 -0
- package/export/deploy/{21_transfer_proxy_admin_ownership.js → 25_transfer_proxy_admin_ownership.js} +0 -0
- package/export/deploy/{23_authorize_maintainer_proxy_in_reimbursement_pool.js → 26_authorize_maintainer_proxy_in_reimbursement_pool.js} +7 -0
- package/export/deploy/{24_authorize_bridge_in_reimbursement_pool.js → 27_authorize_bridge_in_reimbursement_pool.js} +7 -0
- package/export/deploy/{25_deploy_proxy_admin_with_deputy.js → 28_deploy_proxy_admin_with_deputy.js} +0 -0
- package/export/hardhat.config.js +19 -8
- package/export/tasks/test-utils.js +133 -43
- package/export/test/integration/data/bls.js +12 -0
- package/export/test/integration/data/integration.js +133 -0
- package/export/test/integration/utils/random-beacon.js +193 -0
- package/export/typechain/factories/BridgeGovernance__factory.js +1 -1
- package/export/typechain/factories/BridgeState__factory.js +1 -1
- package/export/typechain/factories/BridgeStub__factory.js +1 -1
- package/export/typechain/factories/Bridge__factory.js +1 -1
- package/export/typechain/factories/DepositSweep__factory.js +1 -1
- package/export/typechain/factories/Deposit__factory.js +1 -1
- package/export/typechain/factories/Fraud__factory.js +1 -1
- package/export/typechain/factories/MaintainerProxy__factory.js +1 -1
- package/export/typechain/factories/MovingFunds__factory.js +1 -1
- package/export/typechain/factories/Redemption__factory.js +1 -1
- package/export/typechain/factories/SystemTestRelay__factory.js +1 -1
- package/export/typechain/factories/TBTCVault__factory.js +1 -1
- package/export/typechain/factories/Wallets__factory.js +1 -1
- package/package.json +3 -3
- package/tasks/test-utils.ts +88 -4
|
@@ -48,7 +48,7 @@ var func = function (hre) {
|
|
|
48
48
|
case 1:
|
|
49
49
|
deployer = (_a.sent()).deployer;
|
|
50
50
|
return [4 /*yield*/, deploy("Bank", {
|
|
51
|
-
contract: process.env.TEST_USE_STUBS_TBTC === "true" ? "BankStub" :
|
|
51
|
+
contract: process.env.TEST_USE_STUBS_TBTC === "true" ? "BankStub" : "Bank",
|
|
52
52
|
from: deployer,
|
|
53
53
|
args: [],
|
|
54
54
|
log: true,
|
|
@@ -90,7 +90,8 @@ var func = function (hre) {
|
|
|
90
90
|
case 5:
|
|
91
91
|
ReimbursementPool = _h.sent();
|
|
92
92
|
txProofDifficultyFactor = deployments.getNetworkName() === "hardhat" ||
|
|
93
|
-
deployments.getNetworkName() === "development"
|
|
93
|
+
deployments.getNetworkName() === "development" ||
|
|
94
|
+
deployments.getNetworkName() === "system_tests"
|
|
94
95
|
? 1
|
|
95
96
|
: 6;
|
|
96
97
|
deployOptions = {
|
|
@@ -119,7 +120,7 @@ var func = function (hre) {
|
|
|
119
120
|
_d = (_c = helpers.upgrades).deployProxy;
|
|
120
121
|
_e = ["Bridge"];
|
|
121
122
|
_f = {
|
|
122
|
-
contractName: process.env.TEST_USE_STUBS_TBTC === "true" ? "BridgeStub" :
|
|
123
|
+
contractName: process.env.TEST_USE_STUBS_TBTC === "true" ? "BridgeStub" : "Bridge",
|
|
123
124
|
initializerArgs: [
|
|
124
125
|
Bank.address,
|
|
125
126
|
LightRelay.address,
|
|
File without changes
|
|
@@ -0,0 +1,83 @@
|
|
|
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) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
41
|
+
var deployments, getNamedAccounts, helpers, deploy, deployer, Bank, donationVault;
|
|
42
|
+
return __generator(this, function (_a) {
|
|
43
|
+
switch (_a.label) {
|
|
44
|
+
case 0:
|
|
45
|
+
deployments = hre.deployments, getNamedAccounts = hre.getNamedAccounts, helpers = hre.helpers;
|
|
46
|
+
deploy = deployments.deploy;
|
|
47
|
+
return [4 /*yield*/, getNamedAccounts()];
|
|
48
|
+
case 1:
|
|
49
|
+
deployer = (_a.sent()).deployer;
|
|
50
|
+
return [4 /*yield*/, deployments.get("Bank")];
|
|
51
|
+
case 2:
|
|
52
|
+
Bank = _a.sent();
|
|
53
|
+
return [4 /*yield*/, deploy("DonationVault", {
|
|
54
|
+
contract: "DonationVault",
|
|
55
|
+
from: deployer,
|
|
56
|
+
args: [Bank.address],
|
|
57
|
+
log: true,
|
|
58
|
+
waitConfirmations: 1,
|
|
59
|
+
})];
|
|
60
|
+
case 3:
|
|
61
|
+
donationVault = _a.sent();
|
|
62
|
+
if (!hre.network.tags.etherscan) return [3 /*break*/, 5];
|
|
63
|
+
return [4 /*yield*/, helpers.etherscan.verify(donationVault)];
|
|
64
|
+
case 4:
|
|
65
|
+
_a.sent();
|
|
66
|
+
_a.label = 5;
|
|
67
|
+
case 5:
|
|
68
|
+
if (!hre.network.tags.tenderly) return [3 /*break*/, 7];
|
|
69
|
+
return [4 /*yield*/, hre.tenderly.verify({
|
|
70
|
+
name: "DonationVault",
|
|
71
|
+
address: donationVault.address,
|
|
72
|
+
})];
|
|
73
|
+
case 6:
|
|
74
|
+
_a.sent();
|
|
75
|
+
_a.label = 7;
|
|
76
|
+
case 7: return [2 /*return*/];
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
exports.default = func;
|
|
82
|
+
func.tags = ["DonationVault"];
|
|
83
|
+
func.dependencies = ["Bank"];
|
|
@@ -55,12 +55,13 @@ var func = function (hre) {
|
|
|
55
55
|
log: true,
|
|
56
56
|
waitConfirmations: 1,
|
|
57
57
|
})
|
|
58
|
-
// 60 seconds for Goerli.
|
|
58
|
+
// 60 seconds for Goerli. 48 hours otherwise.
|
|
59
59
|
];
|
|
60
60
|
case 3:
|
|
61
61
|
bridgeGovernanceParameters = _a.sent();
|
|
62
|
-
GOVERNANCE_DELAY = hre.network.name === "goerli" ? 60 :
|
|
62
|
+
GOVERNANCE_DELAY = hre.network.name === "goerli" ? 60 : 172800;
|
|
63
63
|
return [4 /*yield*/, deploy("BridgeGovernance", {
|
|
64
|
+
contract: "BridgeGovernance",
|
|
64
65
|
from: deployer,
|
|
65
66
|
args: [Bridge.address, GOVERNANCE_DELAY],
|
|
66
67
|
log: true,
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,63 @@
|
|
|
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) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
41
|
+
var getNamedAccounts, deployments, execute, deployer, TBTCVault;
|
|
42
|
+
return __generator(this, function (_a) {
|
|
43
|
+
switch (_a.label) {
|
|
44
|
+
case 0:
|
|
45
|
+
getNamedAccounts = hre.getNamedAccounts, deployments = hre.deployments;
|
|
46
|
+
execute = deployments.execute;
|
|
47
|
+
return [4 /*yield*/, getNamedAccounts()];
|
|
48
|
+
case 1:
|
|
49
|
+
deployer = (_a.sent()).deployer;
|
|
50
|
+
return [4 /*yield*/, deployments.get("TBTCVault")];
|
|
51
|
+
case 2:
|
|
52
|
+
TBTCVault = _a.sent();
|
|
53
|
+
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "setVaultStatus", TBTCVault.address, true)];
|
|
54
|
+
case 3:
|
|
55
|
+
_a.sent();
|
|
56
|
+
return [2 /*return*/];
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
exports.default = func;
|
|
62
|
+
func.tags = ["AuthorizeTBTCVault"];
|
|
63
|
+
func.dependencies = ["Bridge", "TBTCVault"];
|
|
File without changes
|
|
@@ -60,7 +60,7 @@ var func = function (hre) { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
60
60
|
});
|
|
61
61
|
}); };
|
|
62
62
|
exports.default = func;
|
|
63
|
-
func.tags = ["
|
|
63
|
+
func.tags = ["SetDepositParameters"];
|
|
64
64
|
func.dependencies = ["Bridge"];
|
|
65
65
|
func.skip = function (hre) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
66
66
|
return [2 /*return*/, hre.network.name !== "mainnet"];
|
|
@@ -0,0 +1,67 @@
|
|
|
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 deployments, ethers, getNamedAccounts, execute, read, deployer, walletCreationPeriod, walletCreationMinBtcBalance, walletParameters;
|
|
41
|
+
return __generator(this, function (_a) {
|
|
42
|
+
switch (_a.label) {
|
|
43
|
+
case 0:
|
|
44
|
+
deployments = hre.deployments, ethers = hre.ethers, getNamedAccounts = hre.getNamedAccounts;
|
|
45
|
+
execute = deployments.execute, read = deployments.read;
|
|
46
|
+
return [4 /*yield*/, getNamedAccounts()];
|
|
47
|
+
case 1:
|
|
48
|
+
deployer = (_a.sent()).deployer;
|
|
49
|
+
deployments.log("setting initial wallet parameters");
|
|
50
|
+
walletCreationPeriod = ethers.BigNumber.from("1209600");
|
|
51
|
+
walletCreationMinBtcBalance = ethers.BigNumber.from("0");
|
|
52
|
+
return [4 /*yield*/, read("Bridge", "walletParameters")];
|
|
53
|
+
case 2:
|
|
54
|
+
walletParameters = _a.sent();
|
|
55
|
+
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateWalletParameters", walletCreationPeriod, walletCreationMinBtcBalance, walletParameters.walletCreationMaxBtcBalance, walletParameters.walletClosureMinBtcBalance, walletParameters.walletMaxAge, walletParameters.walletMaxBtcTransfer, walletParameters.walletClosingPeriod)];
|
|
56
|
+
case 3:
|
|
57
|
+
_a.sent();
|
|
58
|
+
return [2 /*return*/];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}); };
|
|
62
|
+
exports.default = func;
|
|
63
|
+
func.tags = ["SetWalletParameters"];
|
|
64
|
+
func.dependencies = ["Bridge"];
|
|
65
|
+
func.skip = function (hre) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
66
|
+
return [2 /*return*/, hre.network.name !== "mainnet"];
|
|
67
|
+
}); }); };
|
|
@@ -37,12 +37,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
var func = function (hre) { return __awaiter(void 0, void 0, void 0, function () {
|
|
40
|
-
var deployments, ethers, getNamedAccounts, execute,
|
|
40
|
+
var deployments, ethers, getNamedAccounts, execute, deployer, fraudChallengeDepositAmount, fraudChallengeDefeatTimeout, fraudSlashingAmount, fraudNotifierRewardMultiplier;
|
|
41
41
|
return __generator(this, function (_a) {
|
|
42
42
|
switch (_a.label) {
|
|
43
43
|
case 0:
|
|
44
44
|
deployments = hre.deployments, ethers = hre.ethers, getNamedAccounts = hre.getNamedAccounts;
|
|
45
|
-
execute = deployments.execute
|
|
45
|
+
execute = deployments.execute;
|
|
46
46
|
return [4 /*yield*/, getNamedAccounts()];
|
|
47
47
|
case 1:
|
|
48
48
|
deployer = (_a.sent()).deployer;
|
|
@@ -50,11 +50,9 @@ var func = function (hre) { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
50
50
|
fraudChallengeDepositAmount = ethers.BigNumber.from("79228162514264337593543950335");
|
|
51
51
|
fraudChallengeDefeatTimeout = ethers.BigNumber.from("4294967295");
|
|
52
52
|
fraudSlashingAmount = ethers.BigNumber.from("0");
|
|
53
|
-
|
|
53
|
+
fraudNotifierRewardMultiplier = ethers.BigNumber.from("0");
|
|
54
|
+
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateFraudParameters", fraudChallengeDepositAmount, fraudChallengeDefeatTimeout, fraudSlashingAmount, fraudNotifierRewardMultiplier)];
|
|
54
55
|
case 2:
|
|
55
|
-
fraudParameters = _a.sent();
|
|
56
|
-
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateFraudParameters", fraudChallengeDepositAmount, fraudChallengeDefeatTimeout, fraudSlashingAmount, fraudParameters.fraudNotifierRewardMultiplier)];
|
|
57
|
-
case 3:
|
|
58
56
|
_a.sent();
|
|
59
57
|
return [2 /*return*/];
|
|
60
58
|
}
|
|
@@ -37,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
var func = function (hre) { return __awaiter(void 0, void 0, void 0, function () {
|
|
40
|
-
var deployments, ethers, getNamedAccounts, execute, read, deployer, redemptionDustThreshold, redemptionTimeout, redemptionTimeoutSlashingAmount, redemptionParameters;
|
|
40
|
+
var deployments, ethers, getNamedAccounts, execute, read, deployer, redemptionDustThreshold, redemptionTimeout, redemptionTimeoutSlashingAmount, redemptionTimeoutNotifierRewardMultiplier, redemptionParameters;
|
|
41
41
|
return __generator(this, function (_a) {
|
|
42
42
|
switch (_a.label) {
|
|
43
43
|
case 0:
|
|
@@ -50,10 +50,11 @@ var func = function (hre) { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
50
50
|
redemptionDustThreshold = ethers.BigNumber.from("18446744073709551615");
|
|
51
51
|
redemptionTimeout = ethers.BigNumber.from("4294967295");
|
|
52
52
|
redemptionTimeoutSlashingAmount = ethers.BigNumber.from("0");
|
|
53
|
+
redemptionTimeoutNotifierRewardMultiplier = ethers.BigNumber.from("0");
|
|
53
54
|
return [4 /*yield*/, read("Bridge", "redemptionParameters")];
|
|
54
55
|
case 2:
|
|
55
56
|
redemptionParameters = _a.sent();
|
|
56
|
-
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateRedemptionParameters", redemptionDustThreshold, redemptionParameters.redemptionTreasuryFeeDivisor, redemptionParameters.redemptionTxMaxFee, redemptionParameters.redemptionTxMaxTotalFee, redemptionTimeout, redemptionTimeoutSlashingAmount,
|
|
57
|
+
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateRedemptionParameters", redemptionDustThreshold, redemptionParameters.redemptionTreasuryFeeDivisor, redemptionParameters.redemptionTxMaxFee, redemptionParameters.redemptionTxMaxTotalFee, redemptionTimeout, redemptionTimeoutSlashingAmount, redemptionTimeoutNotifierRewardMultiplier)];
|
|
57
58
|
case 3:
|
|
58
59
|
_a.sent();
|
|
59
60
|
return [2 /*return*/];
|
|
@@ -37,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
var func = function (hre) { return __awaiter(void 0, void 0, void 0, function () {
|
|
40
|
-
var deployments, ethers, getNamedAccounts, execute, read, deployer, walletMaxAge, walletClosureMinBtcBalance, walletParameters, movingFundsTimeout, movingFundsTimeoutSlashingAmount, movingFundsParameters;
|
|
40
|
+
var deployments, ethers, getNamedAccounts, execute, read, deployer, walletMaxAge, walletClosureMinBtcBalance, walletParameters, movingFundsTimeout, movedFundsSweepTimeout, movingFundsTimeoutSlashingAmount, movedFundsSweepTimeoutSlashingAmount, movingFundsTimeoutNotifierRewardMultiplier, movedFundsSweepTimeoutNotifierRewardMultiplier, movingFundsParameters;
|
|
41
41
|
return __generator(this, function (_a) {
|
|
42
42
|
switch (_a.label) {
|
|
43
43
|
case 0:
|
|
@@ -53,18 +53,26 @@ var func = function (hre) { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
53
53
|
case 2:
|
|
54
54
|
walletParameters = _a.sent();
|
|
55
55
|
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateWalletParameters", walletParameters.walletCreationPeriod, walletParameters.walletCreationMinBtcBalance, walletParameters.walletCreationMaxBtcBalance, walletClosureMinBtcBalance, walletMaxAge, walletParameters.walletMaxBtcTransfer, walletParameters.walletClosingPeriod)
|
|
56
|
-
// To emphasize the fact that moving funds is disabled, we set
|
|
57
|
-
// movingFundsTimeout to uint32 max value (2^32-1 = 4294967295)
|
|
58
|
-
//
|
|
56
|
+
// To emphasize the fact that moving funds is disabled, we set:
|
|
57
|
+
// - movingFundsTimeout to uint32 max value (2^32-1 = 4294967295),
|
|
58
|
+
// - movedFundsSweepTimeout to uint32 max value,
|
|
59
|
+
// - movingFundsTimeoutSlashingAmount to 0,
|
|
60
|
+
// - movedFundsSweepTimeoutSlashingAmount to 0,
|
|
61
|
+
// - movingFundsTimeoutNotifierRewardMultiplier to 0,
|
|
62
|
+
// - movedFundsSweepTimeoutNotifierRewardMultiplier to 0.
|
|
59
63
|
];
|
|
60
64
|
case 3:
|
|
61
65
|
_a.sent();
|
|
62
66
|
movingFundsTimeout = ethers.BigNumber.from("4294967295");
|
|
67
|
+
movedFundsSweepTimeout = ethers.BigNumber.from("4294967295");
|
|
63
68
|
movingFundsTimeoutSlashingAmount = ethers.BigNumber.from("0");
|
|
69
|
+
movedFundsSweepTimeoutSlashingAmount = ethers.BigNumber.from("0");
|
|
70
|
+
movingFundsTimeoutNotifierRewardMultiplier = ethers.BigNumber.from("0");
|
|
71
|
+
movedFundsSweepTimeoutNotifierRewardMultiplier = ethers.BigNumber.from("0");
|
|
64
72
|
return [4 /*yield*/, read("Bridge", "movingFundsParameters")];
|
|
65
73
|
case 4:
|
|
66
74
|
movingFundsParameters = _a.sent();
|
|
67
|
-
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateMovingFundsParameters", movingFundsParameters.movingFundsTxMaxTotalFee, movingFundsParameters.movingFundsDustThreshold, movingFundsParameters.movingFundsTimeoutResetDelay, movingFundsTimeout, movingFundsTimeoutSlashingAmount,
|
|
75
|
+
return [4 /*yield*/, execute("Bridge", { from: deployer, log: true, waitConfirmations: 1 }, "updateMovingFundsParameters", movingFundsParameters.movingFundsTxMaxTotalFee, movingFundsParameters.movingFundsDustThreshold, movingFundsParameters.movingFundsTimeoutResetDelay, movingFundsTimeout, movingFundsTimeoutSlashingAmount, movingFundsTimeoutNotifierRewardMultiplier, movingFundsParameters.movingFundsCommitmentGasOffset, movingFundsParameters.movedFundsSweepTxMaxTotalFee, movedFundsSweepTimeout, movedFundsSweepTimeoutSlashingAmount, movedFundsSweepTimeoutNotifierRewardMultiplier)];
|
|
68
76
|
case 5:
|
|
69
77
|
_a.sent();
|
|
70
78
|
return [2 /*return*/];
|
|
@@ -58,3 +58,13 @@ var func = function (hre) {
|
|
|
58
58
|
exports.default = func;
|
|
59
59
|
func.tags = ["AuthorizeSpvMaintainer"];
|
|
60
60
|
func.dependencies = ["Bridge"];
|
|
61
|
+
// SPV maintainer can submit SPV proofs to the Bridge. We authorize spvMaintainer
|
|
62
|
+
// account for Hardhat network (unit tests) and Goerli (testnet) but we DO NOT
|
|
63
|
+
// want to authorize it for Mainnet deployment. SPV maintainer will be authorized
|
|
64
|
+
// separately by the Governance when sweeping will be activated.
|
|
65
|
+
//
|
|
66
|
+
// Note that at this point MaintainerProxy contract is already authorized in the
|
|
67
|
+
// Bridge (see AuthorizeMaintainerProxyInBridge tag).
|
|
68
|
+
func.skip = function (hre) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
69
|
+
return [2 /*return*/, hre.network.name === "mainnet"];
|
|
70
|
+
}); }); };
|
|
@@ -59,5 +59,15 @@ var func = function (hre) {
|
|
|
59
59
|
};
|
|
60
60
|
exports.default = func;
|
|
61
61
|
func.tags = ["TransferBridgeGovernance"];
|
|
62
|
-
func.dependencies = [
|
|
62
|
+
func.dependencies = [
|
|
63
|
+
"Bridge",
|
|
64
|
+
"AuthorizeTBTCVault",
|
|
65
|
+
"AuthorizeMaintainerProxyInBridge",
|
|
66
|
+
"SetDepositParameters",
|
|
67
|
+
"SetWalletParameters",
|
|
68
|
+
"DisableFraudChallenges",
|
|
69
|
+
"DisableRedemptions",
|
|
70
|
+
"DisableMovingFunds",
|
|
71
|
+
"AuthorizeSpvMaintainer",
|
|
72
|
+
];
|
|
63
73
|
func.runAtTheEnd = true;
|
|
File without changes
|
package/export/deploy/{19_transfer_tbtc_vault_ownership.js → 23_transfer_tbtc_vault_ownership.js}
RENAMED
|
File without changes
|
|
File without changes
|
package/export/deploy/{21_transfer_proxy_admin_ownership.js → 25_transfer_proxy_admin_ownership.js}
RENAMED
|
File without changes
|
|
@@ -61,3 +61,10 @@ var func = function (hre) {
|
|
|
61
61
|
exports.default = func;
|
|
62
62
|
func.tags = ["AuthorizeMaintainerProxyInReimbursementPool"];
|
|
63
63
|
func.dependencies = ["ReimbursementPool", "MaintainerProxy"];
|
|
64
|
+
// On mainnet, the ReimbursementPool ownership is passed to the Threshold
|
|
65
|
+
// Council / DAO and that address is not controlled by the dev team.
|
|
66
|
+
// Hence, this step can be executed only for non-mainnet networks such as
|
|
67
|
+
// Hardhat (unit tests) and Goerli (testnet).
|
|
68
|
+
func.skip = function (hre) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
69
|
+
return [2 /*return*/, hre.network.name === "mainnet"];
|
|
70
|
+
}); }); };
|
|
@@ -61,3 +61,10 @@ var func = function (hre) {
|
|
|
61
61
|
exports.default = func;
|
|
62
62
|
func.tags = ["AuthorizeBridgeInReimbursementPool"];
|
|
63
63
|
func.dependencies = ["ReimbursementPool", "Bridge"];
|
|
64
|
+
// On mainnet, the ReimbursementPool ownership is passed to the Threshold
|
|
65
|
+
// Council / DAO and that address is not controlled by the dev team.
|
|
66
|
+
// Hence, this step can be executed only for non-mainnet networks such as
|
|
67
|
+
// Hardhat (unit tests) and Goerli (testnet).
|
|
68
|
+
func.skip = function (hre) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
69
|
+
return [2 /*return*/, hre.network.name === "mainnet"];
|
|
70
|
+
}); }); };
|
package/export/deploy/{25_deploy_proxy_admin_with_deputy.js → 28_deploy_proxy_admin_with_deputy.js}
RENAMED
|
File without changes
|
package/export/hardhat.config.js
CHANGED
|
@@ -101,10 +101,18 @@ var config = {
|
|
|
101
101
|
goerli: {
|
|
102
102
|
url: process.env.CHAIN_API_URL || "",
|
|
103
103
|
chainId: 5,
|
|
104
|
+
accounts: process.env.ACCOUNTS_PRIVATE_KEYS
|
|
105
|
+
? process.env.ACCOUNTS_PRIVATE_KEYS.split(",")
|
|
106
|
+
: undefined,
|
|
107
|
+
tags: ["etherscan", "tenderly"],
|
|
108
|
+
},
|
|
109
|
+
mainnet: {
|
|
110
|
+
url: process.env.CHAIN_API_URL || "",
|
|
111
|
+
chainId: 1,
|
|
104
112
|
accounts: process.env.CONTRACT_OWNER_ACCOUNT_PRIVATE_KEY
|
|
105
113
|
? [process.env.CONTRACT_OWNER_ACCOUNT_PRIVATE_KEY]
|
|
106
114
|
: undefined,
|
|
107
|
-
tags: ["tenderly"],
|
|
115
|
+
tags: ["etherscan", "tenderly"],
|
|
108
116
|
},
|
|
109
117
|
},
|
|
110
118
|
tenderly: {
|
|
@@ -154,21 +162,22 @@ var config = {
|
|
|
154
162
|
default: 1,
|
|
155
163
|
goerli: 0,
|
|
156
164
|
},
|
|
157
|
-
// TODO: Governance should be the Threshold Council.
|
|
158
|
-
// Inspect usages and rename.
|
|
159
165
|
governance: {
|
|
160
166
|
default: 2,
|
|
161
|
-
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB",
|
|
167
|
+
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB",
|
|
168
|
+
mainnet: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", // Threshold Council
|
|
162
169
|
},
|
|
163
170
|
chaosnetOwner: {
|
|
164
171
|
default: 3,
|
|
165
172
|
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB", // Dev team
|
|
166
|
-
// mainnet
|
|
173
|
+
// Not used for mainnet deployment scripts of `@keepn-network/tbtc-v2`.
|
|
174
|
+
// Used by `@keep-network/random-beacon` and `@keep-network/ecdsa`
|
|
175
|
+
// when deploying `SortitionPool`s.
|
|
167
176
|
},
|
|
168
177
|
esdm: {
|
|
169
178
|
default: 4,
|
|
170
|
-
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB",
|
|
171
|
-
|
|
179
|
+
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB",
|
|
180
|
+
mainnet: "0x9f6e831c8f8939dc0c830c6e492e7cef4f9c2f5f", // Threshold Council
|
|
172
181
|
},
|
|
173
182
|
keepTechnicalWalletTeam: {
|
|
174
183
|
default: 5,
|
|
@@ -182,11 +191,13 @@ var config = {
|
|
|
182
191
|
},
|
|
183
192
|
treasury: {
|
|
184
193
|
default: 7,
|
|
185
|
-
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB",
|
|
194
|
+
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB",
|
|
195
|
+
mainnet: "0x87F005317692D05BAA4193AB0c961c69e175f45f", // Token Holder DAO
|
|
186
196
|
},
|
|
187
197
|
spvMaintainer: {
|
|
188
198
|
default: 8,
|
|
189
199
|
goerli: "0xCac19049825F370dB0836cB0d8E4D024F78eb2eB", // Dev team
|
|
200
|
+
// We are not setting SPV maintainer for mainnet in deployment scripts.
|
|
190
201
|
},
|
|
191
202
|
},
|
|
192
203
|
dependencyCompiler: {
|