@keep-network/tbtc-v2 1.8.0 → 1.8.2
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/Bridge.json +1998 -1972
- package/artifacts/Bridge_v2_Implementation.json +2817 -0
- package/artifacts/Deposit.json +7 -7
- package/artifacts/Redemption.json +95 -171
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/Timelock.sol/Timelock.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 +74 -48
- 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/IRedemptionWatchtower.dbg.json +1 -1
- 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/RedemptionWatchtower.sol/RedemptionWatchtower.dbg.json +1 -1
- package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.json +2 -2
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
- package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
- package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +2 -2
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
- package/build/contracts/cross-chain/AbstractL1BTCDepositor.sol/AbstractL1BTCDepositor.dbg.json +1 -1
- package/build/contracts/cross-chain/L2TBTC.sol/L2TBTC.dbg.json +1 -1
- package/build/contracts/cross-chain/starknet/StarkNetBitcoinDepositor.sol/StarkNetBitcoinDepositor.dbg.json +1 -1
- package/build/contracts/cross-chain/starknet/interfaces/IStarkGateBridge.sol/IStarkGateBridge.dbg.json +1 -1
- package/build/contracts/cross-chain/utils/Crosschain.sol/CrosschainUtils.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/BTCDepositorWormhole.sol/BTCDepositorWormhole.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/L1BTCDepositorWormhole.sol/L1BTCDepositorWormhole.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/L2BTCDepositorWormhole.sol/L2BTCDepositorWormhole.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormhole.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeGateway.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeReceiver.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeRelayer.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeTokenBridge.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/Wormhole.sol/WormholeTypes.dbg.json +1 -1
- package/build/contracts/cross-chain/wormhole/Wormhole.sol/WormholeUtils.dbg.json +1 -1
- package/build/contracts/integrator/AbstractBTCDepositor.sol/AbstractBTCDepositor.dbg.json +1 -1
- package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
- package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
- package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
- 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/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
- package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
- package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
- package/build/contracts/test/BridgeStub.sol/BridgeStub.json +74 -48
- package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
- package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
- package/build/contracts/test/MockBridgeForStarkNet.sol/MockBridgeForStarkNet.dbg.json +1 -1
- package/build/contracts/test/MockStarkGateBridge.sol/MockStarkGateBridge.dbg.json +1 -1
- package/build/contracts/test/MockTBTCBridge.sol/MockTBTCBridge.dbg.json +1 -1
- package/build/contracts/test/MockTBTCBridgeWithSweep.sol/MockTBTCBridgeWithSweep.dbg.json +1 -1
- package/build/contracts/test/MockTBTCToken.sol/MockTBTCToken.dbg.json +1 -1
- package/build/contracts/test/MockTBTCVault.sol/MockTBTCVault.dbg.json +1 -1
- package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
- package/build/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.dbg.json +1 -1
- package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
- package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
- package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +2 -2
- package/build/contracts/test/TestBTCDepositor.sol/MockBridge.dbg.json +1 -1
- package/build/contracts/test/TestBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
- package/build/contracts/test/TestBTCDepositor.sol/TestBTCDepositor.dbg.json +1 -1
- package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
- package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +2 -2
- package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
- package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
- package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
- package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.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 +34 -0
- package/contracts/bridge/Deposit.sol +7 -5
- package/deploy/80_upgrade_bridge_v2.ts +107 -54
- package/deploy/81_upgrade_bridge_v2_vault_fix.ts +160 -0
- package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +4891 -4170
- package/export/artifacts/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +207 -207
- package/export/artifacts/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.json +104 -104
- package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +67 -67
- package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +24 -24
- package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +26 -26
- package/export/artifacts/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +72 -72
- package/export/artifacts/contracts/cross-chain/L2TBTC.sol/L2TBTC.json +40 -40
- package/export/artifacts/contracts/cross-chain/starknet/StarkNetBitcoinDepositor.sol/StarkNetBitcoinDepositor.json +3360 -3360
- package/export/artifacts/contracts/cross-chain/wormhole/BTCDepositorWormhole.sol/BTCDepositorWormhole.json +117 -117
- package/export/artifacts/contracts/cross-chain/wormhole/L1BTCDepositorWormhole.sol/L1BTCDepositorWormhole.json +140 -140
- package/export/artifacts/contracts/cross-chain/wormhole/L2BTCDepositorWormhole.sol/L2BTCDepositorWormhole.json +37 -37
- package/export/artifacts/contracts/cross-chain/wormhole/L2WormholeGateway.sol/L2WormholeGateway.json +51 -51
- package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +103 -103
- package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
- package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
- package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
- package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +5130 -4414
- package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +4 -4
- package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
- package/export/artifacts/contracts/test/MockBridgeForStarkNet.sol/MockBridgeForStarkNet.json +730 -730
- package/export/artifacts/contracts/test/MockStarkGateBridge.sol/MockStarkGateBridge.json +956 -956
- package/export/artifacts/contracts/test/MockTBTCBridge.sol/MockTBTCBridge.json +781 -781
- package/export/artifacts/contracts/test/MockTBTCBridgeWithSweep.sol/MockTBTCBridgeWithSweep.json +458 -458
- package/export/artifacts/contracts/test/MockTBTCToken.sol/MockTBTCToken.json +1273 -1273
- package/export/artifacts/contracts/test/MockTBTCVault.sol/MockTBTCVault.json +305 -305
- package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
- package/export/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.json +204 -204
- package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
- package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +19 -19
- package/export/artifacts/contracts/test/TestBTCDepositor.sol/MockBridge.json +34 -34
- package/export/artifacts/contracts/test/TestBTCDepositor.sol/MockTBTCVault.json +20 -20
- package/export/artifacts/contracts/test/TestBTCDepositor.sol/TestBTCDepositor.json +52 -52
- package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +124 -124
- package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
- package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
- package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +4 -4
- package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
- package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
- package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
- package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +144 -144
- package/export/deploy/80_upgrade_bridge_v2.js +127 -90
- package/export/deploy/81_upgrade_bridge_v2_vault_fix.js +211 -0
- package/export/typechain/AbstractBTCRedeemer.js +2 -0
- package/export/typechain/IBank.js +2 -0
- package/export/typechain/IL2WormholeGateway.js +2 -0
- package/export/typechain/INttManager.js +2 -0
- package/export/typechain/INttManagerWithExecutor.js +2 -0
- package/export/typechain/L1BTCDepositorNtt.js +2 -0
- package/export/typechain/L1BTCDepositorNttWithExecutor.js +2 -0
- package/export/typechain/L1BTCRedeemerWormhole.js +2 -0
- package/export/typechain/L2BTCRedeemerWormhole.js +2 -0
- package/export/typechain/MockBank.js +2 -0
- package/export/typechain/MockBridgeWithRebateStaking.js +2 -0
- package/export/typechain/MockL1BTCRedeemerWormhole.js +2 -0
- package/export/typechain/MockNttManager.js +2 -0
- package/export/typechain/MockNttManagerWithExecutor.js +2 -0
- package/export/typechain/NativeBTCDepositor.js +2 -0
- package/export/typechain/RebateStaking.js +2 -0
- package/export/typechain/TestBTCRedeemer.js +2 -0
- package/export/typechain/TestBTCUtilsHelper.js +2 -0
- package/export/typechain/TransceiverStructs.js +2 -0
- package/export/typechain/factories/AbstractBTCRedeemer__factory.js +204 -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 +27 -1
- package/export/typechain/factories/Bridge__factory.js +27 -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/IBank__factory.js +138 -0
- package/export/typechain/factories/IL2WormholeGateway__factory.js +61 -0
- package/export/typechain/factories/INttManagerWithExecutor__factory.js +183 -0
- package/export/typechain/factories/INttManager__factory.js +51 -0
- package/export/typechain/factories/L1BTCDepositorNttWithExecutor__factory.js +1454 -0
- package/export/typechain/factories/L1BTCDepositorNtt__factory.js +920 -0
- package/export/typechain/factories/L1BTCRedeemerWormhole__factory.js +622 -0
- package/export/typechain/factories/L2BTCRedeemerWormhole__factory.js +348 -0
- package/export/typechain/factories/MaintainerProxy__factory.js +1 -1
- package/export/typechain/factories/MockBank__factory.js +248 -0
- package/export/typechain/factories/MockBridgeWithRebateStaking__factory.js +129 -0
- package/export/typechain/factories/MockL1BTCRedeemerWormhole__factory.js +638 -0
- package/export/typechain/factories/MockNttManagerWithExecutor__factory.js +423 -0
- package/export/typechain/factories/MockNttManager__factory.js +211 -0
- package/export/typechain/factories/MovingFunds__factory.js +1 -1
- package/export/typechain/factories/NativeBTCDepositor__factory.js +635 -0
- package/export/typechain/factories/RebateStaking__factory.js +720 -0
- package/export/typechain/factories/RedemptionWatchtower__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/TestBTCRedeemer__factory.js +425 -0
- package/export/typechain/factories/TestBTCUtilsHelper__factory.js +109 -0
- package/export/typechain/factories/TestBitcoinTx__factory.js +1 -1
- package/export/typechain/factories/TransceiverStructs__factory.js +853 -0
- package/export/typechain/factories/WalletProposalValidator__factory.js +1 -1
- package/export/typechain/factories/Wallets__factory.js +1 -1
- package/export/typechain/index.js +40 -2
- package/export.json +40910 -0
- package/package.json +1 -1
|
@@ -35,135 +35,172 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
if (!m) return o;
|
|
41
|
-
var i = m.call(o), r, ar = [], e;
|
|
42
|
-
try {
|
|
43
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
-
}
|
|
45
|
-
catch (error) { e = { error: error }; }
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
-
}
|
|
50
|
-
finally { if (e) throw e.error; }
|
|
51
|
-
}
|
|
52
|
-
return ar;
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
53
40
|
};
|
|
54
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var fs_1 = __importDefault(require("fs"));
|
|
43
|
+
var path_1 = __importDefault(require("path"));
|
|
55
44
|
var func = function (hre) {
|
|
56
45
|
return __awaiter(this, void 0, void 0, function () {
|
|
57
|
-
var ethers,
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
var ethers, deployments, getNamedAccounts, get, _a, deployer, treasury, Bank, LightRelay, WalletRegistry, ReimbursementPool, txProofDifficultyFactor, Deposit, DepositSweep, Redemption, Wallets, Fraud, MovingFunds, Bridge, bridgeLibraries, bridgeFactory, _b, _c, _d, deployBridgeImplementation, isProxyRegistered, ozNetworkFile, ozData, adminSlot, adminData, proxyAdminAddress, proxyAdmin, proxyAdminOwner, deployerSigner, deployerAddress, implementationAddress, proxyAdminInterface, upgradeCalldata, proxyAdminWithUpgrade, upgradeTx;
|
|
47
|
+
var _e;
|
|
48
|
+
var _this = this;
|
|
49
|
+
return __generator(this, function (_f) {
|
|
50
|
+
switch (_f.label) {
|
|
61
51
|
case 0:
|
|
62
|
-
ethers = hre.ethers,
|
|
52
|
+
ethers = hre.ethers, deployments = hre.deployments, getNamedAccounts = hre.getNamedAccounts;
|
|
63
53
|
get = deployments.get;
|
|
64
54
|
return [4 /*yield*/, getNamedAccounts()];
|
|
65
55
|
case 1:
|
|
66
|
-
_a =
|
|
56
|
+
_a = _f.sent(), deployer = _a.deployer, treasury = _a.treasury;
|
|
67
57
|
return [4 /*yield*/, deployments.get("Bank")];
|
|
68
58
|
case 2:
|
|
69
|
-
Bank =
|
|
59
|
+
Bank = _f.sent();
|
|
70
60
|
return [4 /*yield*/, deployments.get("LightRelay")];
|
|
71
61
|
case 3:
|
|
72
|
-
LightRelay =
|
|
62
|
+
LightRelay = _f.sent();
|
|
73
63
|
return [4 /*yield*/, deployments.get("WalletRegistry")];
|
|
74
64
|
case 4:
|
|
75
|
-
WalletRegistry =
|
|
65
|
+
WalletRegistry = _f.sent();
|
|
76
66
|
return [4 /*yield*/, deployments.get("ReimbursementPool")];
|
|
77
67
|
case 5:
|
|
78
|
-
ReimbursementPool =
|
|
68
|
+
ReimbursementPool = _f.sent();
|
|
79
69
|
txProofDifficultyFactor = 6;
|
|
80
|
-
return [4 /*yield*/,
|
|
70
|
+
return [4 /*yield*/, deployments.deploy("Deposit", {
|
|
71
|
+
from: deployer,
|
|
72
|
+
log: true,
|
|
73
|
+
waitConfirmations: 1,
|
|
74
|
+
})];
|
|
81
75
|
case 6:
|
|
82
|
-
Deposit =
|
|
76
|
+
Deposit = _f.sent();
|
|
77
|
+
if (Deposit.newlyDeployed) {
|
|
78
|
+
console.log("New Deposit library deployed at: ".concat(Deposit.address));
|
|
79
|
+
}
|
|
83
80
|
return [4 /*yield*/, get("DepositSweep")];
|
|
84
81
|
case 7:
|
|
85
|
-
DepositSweep =
|
|
82
|
+
DepositSweep = _f.sent();
|
|
86
83
|
return [4 /*yield*/, get("Redemption")];
|
|
87
84
|
case 8:
|
|
88
|
-
Redemption =
|
|
85
|
+
Redemption = _f.sent();
|
|
89
86
|
return [4 /*yield*/, get("Wallets")];
|
|
90
87
|
case 9:
|
|
91
|
-
Wallets =
|
|
88
|
+
Wallets = _f.sent();
|
|
92
89
|
return [4 /*yield*/, get("Fraud")];
|
|
93
90
|
case 10:
|
|
94
|
-
Fraud =
|
|
91
|
+
Fraud = _f.sent();
|
|
95
92
|
return [4 /*yield*/, get("MovingFunds")];
|
|
96
93
|
case 11:
|
|
97
|
-
MovingFunds =
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
ReimbursementPool.address,
|
|
109
|
-
txProofDifficultyFactor,
|
|
110
|
-
]
|
|
94
|
+
MovingFunds = _f.sent();
|
|
95
|
+
return [4 /*yield*/, deployments.get("Bridge")];
|
|
96
|
+
case 12:
|
|
97
|
+
Bridge = _f.sent();
|
|
98
|
+
bridgeLibraries = {
|
|
99
|
+
Deposit: Deposit.address,
|
|
100
|
+
DepositSweep: DepositSweep.address,
|
|
101
|
+
Redemption: Redemption.address,
|
|
102
|
+
Wallets: Wallets.address,
|
|
103
|
+
Fraud: Fraud.address,
|
|
104
|
+
MovingFunds: MovingFunds.address,
|
|
111
105
|
};
|
|
112
|
-
|
|
106
|
+
_c = (_b = ethers).getContractFactory;
|
|
107
|
+
_d = ["Bridge"];
|
|
108
|
+
_e = {};
|
|
113
109
|
return [4 /*yield*/, ethers.getSigner(deployer)];
|
|
114
|
-
case
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
DepositSweep: DepositSweep.address,
|
|
118
|
-
Redemption: Redemption.address,
|
|
119
|
-
Wallets: Wallets.address,
|
|
120
|
-
Fraud: Fraud.address,
|
|
121
|
-
MovingFunds: MovingFunds.address,
|
|
122
|
-
},
|
|
123
|
-
_g),
|
|
124
|
-
_f.proxyOpts = {
|
|
125
|
-
kind: "transparent",
|
|
126
|
-
// Allow external libraries linking. We need to ensure manually that the
|
|
127
|
-
// external libraries we link are upgrade safe, as the OpenZeppelin plugin
|
|
128
|
-
// doesn't perform such a validation yet.
|
|
129
|
-
// See: https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#why-cant-i-use-external-libraries
|
|
130
|
-
unsafeAllow: ["external-library-linking"],
|
|
131
|
-
},
|
|
132
|
-
_f)]))];
|
|
133
|
-
case 13:
|
|
134
|
-
_b = __read.apply(void 0, [_h.sent(), 2]), bridge = _b[0], proxyDeployment = _b[1];
|
|
135
|
-
if (!hre.network.tags.etherscan) return [3 /*break*/, 15];
|
|
136
|
-
// We use `verify` instead of `verify:verify` as the `verify` task is defined
|
|
137
|
-
// in "@openzeppelin/hardhat-upgrades" to perform Etherscan verification
|
|
138
|
-
// of Proxy and Implementation contracts.
|
|
139
|
-
return [4 /*yield*/, hre.run("verify", {
|
|
140
|
-
address: proxyDeployment.address,
|
|
141
|
-
constructorArgsParams: proxyDeployment.args,
|
|
142
|
-
})];
|
|
110
|
+
case 13: return [4 /*yield*/, _c.apply(_b, _d.concat([(_e.signer = _f.sent(),
|
|
111
|
+
_e.libraries = bridgeLibraries,
|
|
112
|
+
_e)]))];
|
|
143
113
|
case 14:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
114
|
+
bridgeFactory = _f.sent();
|
|
115
|
+
deployBridgeImplementation = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
116
|
+
var implementationDeployment;
|
|
117
|
+
return __generator(this, function (_a) {
|
|
118
|
+
switch (_a.label) {
|
|
119
|
+
case 0: return [4 /*yield*/, deployments.deploy("BridgeImplementation", {
|
|
120
|
+
contract: "Bridge",
|
|
121
|
+
from: deployer,
|
|
122
|
+
log: true,
|
|
123
|
+
waitConfirmations: 1,
|
|
124
|
+
skipIfAlreadyDeployed: false,
|
|
125
|
+
libraries: bridgeLibraries,
|
|
126
|
+
})];
|
|
127
|
+
case 1:
|
|
128
|
+
implementationDeployment = _a.sent();
|
|
129
|
+
return [2 /*return*/, implementationDeployment.address];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}); };
|
|
133
|
+
isProxyRegistered = false;
|
|
134
|
+
ozNetworkFile = path_1.default.join(__dirname, "../.openzeppelin/".concat(hre.network.name, ".json"));
|
|
135
|
+
if (fs_1.default.existsSync(ozNetworkFile)) {
|
|
136
|
+
ozData = JSON.parse(fs_1.default.readFileSync(ozNetworkFile, "utf8"));
|
|
137
|
+
isProxyRegistered = (ozData.proxies || []).some(function (proxy) { var _a; return ((_a = proxy.address) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === Bridge.address.toLowerCase(); });
|
|
138
|
+
}
|
|
139
|
+
if (!!isProxyRegistered) return [3 /*break*/, 16];
|
|
140
|
+
return [4 /*yield*/, hre.upgrades.forceImport(Bridge.address, bridgeFactory, {
|
|
141
|
+
kind: "transparent",
|
|
154
142
|
})];
|
|
143
|
+
case 15:
|
|
144
|
+
_f.sent();
|
|
145
|
+
_f.label = 16;
|
|
155
146
|
case 16:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
case 17:
|
|
147
|
+
adminSlot = "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103";
|
|
148
|
+
return [4 /*yield*/, ethers.provider.getStorageAt(Bridge.address, adminSlot)];
|
|
149
|
+
case 17:
|
|
150
|
+
adminData = _f.sent();
|
|
151
|
+
proxyAdminAddress = ethers.utils.getAddress("0x".concat(adminData.slice(26)));
|
|
152
|
+
return [4 /*yield*/, ethers.getContractAt(["function owner() view returns (address)"], proxyAdminAddress)];
|
|
153
|
+
case 18:
|
|
154
|
+
proxyAdmin = _f.sent();
|
|
155
|
+
return [4 /*yield*/, proxyAdmin.owner()];
|
|
156
|
+
case 19:
|
|
157
|
+
proxyAdminOwner = _f.sent();
|
|
158
|
+
return [4 /*yield*/, ethers.getSigner(deployer)];
|
|
159
|
+
case 20:
|
|
160
|
+
deployerSigner = _f.sent();
|
|
161
|
+
return [4 /*yield*/, deployerSigner.getAddress()];
|
|
162
|
+
case 21:
|
|
163
|
+
deployerAddress = _f.sent();
|
|
164
|
+
return [4 /*yield*/, deployBridgeImplementation()];
|
|
165
|
+
case 22:
|
|
166
|
+
implementationAddress = _f.sent();
|
|
167
|
+
proxyAdminInterface = new ethers.utils.Interface([
|
|
168
|
+
"function upgrade(address proxy, address implementation)",
|
|
169
|
+
]);
|
|
170
|
+
upgradeCalldata = proxyAdminInterface.encodeFunctionData("upgrade", [
|
|
171
|
+
Bridge.address,
|
|
172
|
+
implementationAddress,
|
|
173
|
+
]);
|
|
174
|
+
if (proxyAdminOwner.toLowerCase() !== deployerAddress.toLowerCase()) {
|
|
175
|
+
console.log("ProxyAdmin owner:", proxyAdminOwner);
|
|
176
|
+
console.log("ProxyAdmin address:", proxyAdminAddress);
|
|
177
|
+
console.log("Bridge implementation:", implementationAddress);
|
|
178
|
+
console.log("Upgrade calldata:", upgradeCalldata);
|
|
179
|
+
return [2 /*return*/];
|
|
180
|
+
}
|
|
181
|
+
return [4 /*yield*/, ethers.getContractAt(["function upgrade(address proxy, address implementation)"], proxyAdminAddress)];
|
|
182
|
+
case 23:
|
|
183
|
+
proxyAdminWithUpgrade = _f.sent();
|
|
184
|
+
return [4 /*yield*/, proxyAdminWithUpgrade.upgrade(Bridge.address, implementationAddress)];
|
|
185
|
+
case 24:
|
|
186
|
+
upgradeTx = _f.sent();
|
|
187
|
+
return [4 /*yield*/, upgradeTx.wait(1)];
|
|
188
|
+
case 25:
|
|
189
|
+
_f.sent();
|
|
190
|
+
console.log("ProxyAdmin owner:", proxyAdminOwner);
|
|
191
|
+
console.log("ProxyAdmin address:", proxyAdminAddress);
|
|
192
|
+
console.log("Bridge implementation:", implementationAddress);
|
|
193
|
+
console.log("Upgrade tx:", upgradeTx.hash);
|
|
194
|
+
console.log("Upgrade calldata:", upgradeCalldata);
|
|
195
|
+
return [2 /*return*/];
|
|
159
196
|
}
|
|
160
197
|
});
|
|
161
198
|
});
|
|
162
199
|
};
|
|
163
200
|
exports.default = func;
|
|
164
201
|
func.tags = ["UpgradeBridge"];
|
|
165
|
-
//
|
|
202
|
+
// Set UPGRADE_BRIDGE=true when running an upgrade.
|
|
166
203
|
// yarn deploy --tags UpgradeBridge --network <NETWORK>
|
|
167
204
|
func.skip = function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
168
|
-
return [2 /*return*/, true];
|
|
205
|
+
return [2 /*return*/, process.env.UPGRADE_BRIDGE !== "true"];
|
|
169
206
|
}); }); };
|
|
@@ -0,0 +1,211 @@
|
|
|
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
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
39
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
40
|
+
if (!m) return o;
|
|
41
|
+
var i = m.call(o), r, ar = [], e;
|
|
42
|
+
try {
|
|
43
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
+
}
|
|
45
|
+
catch (error) { e = { error: error }; }
|
|
46
|
+
finally {
|
|
47
|
+
try {
|
|
48
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
+
}
|
|
50
|
+
finally { if (e) throw e.error; }
|
|
51
|
+
}
|
|
52
|
+
return ar;
|
|
53
|
+
};
|
|
54
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
+
/**
|
|
56
|
+
* @notice This deployment script upgrades the Bridge contract to v2 with the
|
|
57
|
+
* vault=0x0 deposit fix. The fix is implemented as a reinitializer
|
|
58
|
+
* function that runs once during the upgrade.
|
|
59
|
+
*
|
|
60
|
+
* @dev IMPORTANT DEPLOYMENT NOTES:
|
|
61
|
+
*
|
|
62
|
+
* MAINNET:
|
|
63
|
+
* - The upgrade MUST go through the Timelock contract (24h delay)
|
|
64
|
+
* - Council multisig (6-of-9) schedules and executes via Timelock
|
|
65
|
+
* - Timeline: ~36-40 hours total (schedule + 24h delay + execute)
|
|
66
|
+
* - See consensus document for detailed rollout plan
|
|
67
|
+
*
|
|
68
|
+
* SEPOLIA (for upgrade mechanism testing):
|
|
69
|
+
* - No Timelock required, direct EOA upgrade
|
|
70
|
+
* - The reinitializer has MAINNET-SPECIFIC hardcoded values:
|
|
71
|
+
* - Deposit key: specific to the mainnet vault=0x0 deposit
|
|
72
|
+
* - TBTCVault: mainnet address (0x9C070027cdC9dc8F82416B2e5314E11DFb4FE3CD)
|
|
73
|
+
* - On Sepolia, the reinitializer will FAIL if:
|
|
74
|
+
* - The deposit doesn't exist (revealedAt == 0)
|
|
75
|
+
* - The vault is already set (vault != 0x0)
|
|
76
|
+
* - For testing on Sepolia, either:
|
|
77
|
+
* - Create a mock deposit with vault=0x0 first, OR
|
|
78
|
+
* - Use a mainnet fork (recommended for accurate testing)
|
|
79
|
+
*
|
|
80
|
+
* Context:
|
|
81
|
+
* - Wallet 71bfad9a has a deposit with vault=0x0 that is blocking all sweeps
|
|
82
|
+
* - This deposit was revealed on 2026-01-08 by depositor 0xe7c9a5298A2d2e48B5df3F9D361BA1469B0f436B
|
|
83
|
+
* - The reinitializer fixes the deposit's vault to point to TBTCVault
|
|
84
|
+
*
|
|
85
|
+
* Usage:
|
|
86
|
+
* # For Sepolia (testing upgrade mechanism - will fail on reinitializer):
|
|
87
|
+
* yarn deploy --tags UpgradeBridgeVaultFix --network sepolia
|
|
88
|
+
*
|
|
89
|
+
* # For Mainnet (production - requires Timelock):
|
|
90
|
+
* # See consensus document for Timelock-based deployment
|
|
91
|
+
*/
|
|
92
|
+
var func = function (hre) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
94
|
+
var ethers, helpers, deployments, getNamedAccounts, get, log, deployer, Deposit, DepositSweep, Redemption, Wallets, Fraud, MovingFunds, bridgeDeployment, _a, bridge, proxyDeployment, _b, _c, _d;
|
|
95
|
+
var _e, _f;
|
|
96
|
+
return __generator(this, function (_g) {
|
|
97
|
+
switch (_g.label) {
|
|
98
|
+
case 0:
|
|
99
|
+
ethers = hre.ethers, helpers = hre.helpers, deployments = hre.deployments, getNamedAccounts = hre.getNamedAccounts;
|
|
100
|
+
get = deployments.get, log = deployments.log;
|
|
101
|
+
return [4 /*yield*/, getNamedAccounts()];
|
|
102
|
+
case 1:
|
|
103
|
+
deployer = (_g.sent()).deployer;
|
|
104
|
+
log("=".repeat(80));
|
|
105
|
+
log("Upgrading Bridge with vault=0x0 deposit fix");
|
|
106
|
+
log("=".repeat(80));
|
|
107
|
+
return [4 /*yield*/, get("Deposit")];
|
|
108
|
+
case 2:
|
|
109
|
+
Deposit = _g.sent();
|
|
110
|
+
return [4 /*yield*/, get("DepositSweep")];
|
|
111
|
+
case 3:
|
|
112
|
+
DepositSweep = _g.sent();
|
|
113
|
+
return [4 /*yield*/, get("Redemption")];
|
|
114
|
+
case 4:
|
|
115
|
+
Redemption = _g.sent();
|
|
116
|
+
return [4 /*yield*/, get("Wallets")];
|
|
117
|
+
case 5:
|
|
118
|
+
Wallets = _g.sent();
|
|
119
|
+
return [4 /*yield*/, get("Fraud")];
|
|
120
|
+
case 6:
|
|
121
|
+
Fraud = _g.sent();
|
|
122
|
+
return [4 /*yield*/, get("MovingFunds")];
|
|
123
|
+
case 7:
|
|
124
|
+
MovingFunds = _g.sent();
|
|
125
|
+
log("Using existing libraries:");
|
|
126
|
+
log(" Deposit: ".concat(Deposit.address));
|
|
127
|
+
log(" DepositSweep: ".concat(DepositSweep.address));
|
|
128
|
+
log(" Redemption: ".concat(Redemption.address));
|
|
129
|
+
log(" Wallets: ".concat(Wallets.address));
|
|
130
|
+
log(" Fraud: ".concat(Fraud.address));
|
|
131
|
+
log(" MovingFunds: ".concat(MovingFunds.address));
|
|
132
|
+
return [4 /*yield*/, get("Bridge")];
|
|
133
|
+
case 8:
|
|
134
|
+
bridgeDeployment = _g.sent();
|
|
135
|
+
log("\nExisting Bridge proxy: ".concat(bridgeDeployment.address));
|
|
136
|
+
_c = (_b = helpers.upgrades).upgradeProxy;
|
|
137
|
+
_d = ["Bridge",
|
|
138
|
+
"Bridge"];
|
|
139
|
+
_e = {
|
|
140
|
+
contractName: "Bridge"
|
|
141
|
+
};
|
|
142
|
+
_f = {};
|
|
143
|
+
return [4 /*yield*/, ethers.getSigner(deployer)];
|
|
144
|
+
case 9: return [4 /*yield*/, _c.apply(_b, _d.concat([(_e.factoryOpts = (_f.signer = _g.sent(),
|
|
145
|
+
_f.libraries = {
|
|
146
|
+
Deposit: Deposit.address,
|
|
147
|
+
DepositSweep: DepositSweep.address,
|
|
148
|
+
Redemption: Redemption.address,
|
|
149
|
+
Wallets: Wallets.address,
|
|
150
|
+
Fraud: Fraud.address,
|
|
151
|
+
MovingFunds: MovingFunds.address,
|
|
152
|
+
},
|
|
153
|
+
_f),
|
|
154
|
+
_e.proxyOpts = {
|
|
155
|
+
kind: "transparent",
|
|
156
|
+
// Allow external libraries linking. We need to ensure manually that the
|
|
157
|
+
// external libraries we link are upgrade safe, as the OpenZeppelin plugin
|
|
158
|
+
// doesn't perform such a validation yet.
|
|
159
|
+
// See: https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#why-cant-i-use-external-libraries
|
|
160
|
+
unsafeAllow: ["external-library-linking"],
|
|
161
|
+
// Use call option to invoke the reinitializer instead of the original initializer
|
|
162
|
+
call: {
|
|
163
|
+
fn: "initializeV2_FixVaultZeroDeposit",
|
|
164
|
+
args: [],
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
_e)]))];
|
|
168
|
+
case 10:
|
|
169
|
+
_a = __read.apply(void 0, [_g.sent(), 2]), bridge = _a[0], proxyDeployment = _a[1];
|
|
170
|
+
log("\nUpgrade completed!");
|
|
171
|
+
log(" New implementation deployed");
|
|
172
|
+
log(" Bridge proxy: ".concat(proxyDeployment.address));
|
|
173
|
+
log(" Bridge instance: ".concat(bridge.address));
|
|
174
|
+
if (!hre.network.tags.etherscan) return [3 /*break*/, 12];
|
|
175
|
+
log("\nVerifying on Etherscan...");
|
|
176
|
+
return [4 /*yield*/, hre.run("verify", {
|
|
177
|
+
address: proxyDeployment.address,
|
|
178
|
+
constructorArgsParams: proxyDeployment.args,
|
|
179
|
+
})];
|
|
180
|
+
case 11:
|
|
181
|
+
_g.sent();
|
|
182
|
+
_g.label = 12;
|
|
183
|
+
case 12:
|
|
184
|
+
if (!hre.network.tags.tenderly) return [3 /*break*/, 14];
|
|
185
|
+
log("\nVerifying on Tenderly...");
|
|
186
|
+
return [4 /*yield*/, hre.tenderly.verify({
|
|
187
|
+
name: "Bridge",
|
|
188
|
+
address: bridge.address,
|
|
189
|
+
})];
|
|
190
|
+
case 13:
|
|
191
|
+
_g.sent();
|
|
192
|
+
_g.label = 14;
|
|
193
|
+
case 14:
|
|
194
|
+
log("\n".concat("=".repeat(80)));
|
|
195
|
+
log("Upgrade complete. Verify the deposit vault was fixed:");
|
|
196
|
+
log("=".repeat(80));
|
|
197
|
+
log("\nPost-upgrade verification commands:\n\n1. Check new implementation:\n cast call ".concat(bridgeDeployment.address, " \"implementation()\" --rpc-url <RPC_URL>\n\n2. Verify deposit vault was fixed (should return TBTCVault address):\n cast call ").concat(bridgeDeployment.address, " \\\n \"deposits(uint256)(address,uint64,uint32,address,uint64,uint32,bytes32)\" \\\n 0xf3bc9cd6f46f4c206bc8711e40bb5692e8fe5f0ac4d4da0a709dc71bb751c98a \\\n --rpc-url <RPC_URL>\n\n3. Expected vault value after fix:\n - Mainnet TBTCVault: 0x9C070027cdC9dc8F82416B2e5314E11DFb4FE3CD\n - Sepolia TBTCVault: Check deployments/sepolia/TBTCVault.json\n\n4. Check for DepositVaultFixed event in the upgrade transaction\n"));
|
|
198
|
+
return [2 /*return*/];
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
exports.default = func;
|
|
204
|
+
func.tags = ["UpgradeBridgeVaultFix"];
|
|
205
|
+
func.dependencies = ["Bridge"];
|
|
206
|
+
// IMPORTANT: Set to false when ready to deploy
|
|
207
|
+
// When running the upgrade, set this to false and run:
|
|
208
|
+
// yarn deploy --tags UpgradeBridgeVaultFix --network <NETWORK>
|
|
209
|
+
func.skip = function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
210
|
+
return [2 /*return*/, true];
|
|
211
|
+
}); }); };
|