Skip to content

Commit 0262c7a

Browse files
committed
test(l1-contracts): upgradeChainFromVersion propagates to diamond proxy
1 parent 8dfb89b commit 0262c7a

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

l1-contracts/test/foundry/l1/unit/concrete/ValidatorTimelock/ValidatorTimelock.t.sol

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import {Utils} from "../Utils/Utils.sol";
66
import {ProxyAdmin} from "@openzeppelin/contracts-v4/proxy/transparent/ProxyAdmin.sol";
77
import {TransparentUpgradeableProxy} from "@openzeppelin/contracts-v4/proxy/transparent/TransparentUpgradeableProxy.sol";
88
import {ValidatorTimelock} from "contracts/state-transition/ValidatorTimelock.sol";
9+
import {Diamond} from "contracts/state-transition/libraries/Diamond.sol";
10+
import {IAdmin} from "contracts/state-transition/chain-interfaces/IAdmin.sol";
911
import {IExecutor} from "contracts/state-transition/chain-interfaces/IExecutor.sol";
1012
import {IGetters} from "contracts/state-transition/chain-interfaces/IGetters.sol";
1113
import {DummyChainTypeManagerForValidatorTimelock} from "contracts/dev-contracts/test/DummyChainTypeManagerForValidatorTimelock.sol";
@@ -265,6 +267,24 @@ contract ValidatorTimelockTest is Test {
265267
validator.proveBatchesSharedBridge(zkSync, proveBatchFrom, proveBatchTo, proveData);
266268
}
267269

270+
function test_upgradeChainFromVersion_PropagatesToDiamondProxy() public {
271+
uint256 oldProtocolVersion = 1;
272+
Diamond.DiamondCutData memory diamondCut = Diamond.DiamondCutData({
273+
facetCuts: new Diamond.FacetCut[](0),
274+
initAddress: address(0),
275+
initCalldata: bytes("")
276+
});
277+
278+
vm.mockCall(
279+
zkSync,
280+
abi.encodeCall(IAdmin.upgradeChainFromVersion, (zkSync, oldProtocolVersion, diamondCut)),
281+
""
282+
);
283+
284+
vm.prank(alice);
285+
validator.upgradeChainFromVersion(zkSync, oldProtocolVersion, diamondCut);
286+
}
287+
268288
function test_executeBatchesSharedBridge() public {
269289
uint64 timestamp = 123456;
270290
uint64 batchNumber = 123;

0 commit comments

Comments
 (0)