diff --git a/.solhint.json b/.solhint.json index 5329702df..c7a5b293a 100644 --- a/.solhint.json +++ b/.solhint.json @@ -15,6 +15,8 @@ "func-name-mixedcase": "off", "no-unused-vars": "off", "max-states-count": "off", + "no-global-import": "error", + "no-unused-import": "error", "compiler-version": ["warn", "^0.8.0"] } } diff --git a/l1-contracts/contracts/bridge/interfaces/IL1ERC20Bridge.sol b/l1-contracts/contracts/bridge/interfaces/IL1ERC20Bridge.sol index 0d25c7f46..a0143a3a2 100644 --- a/l1-contracts/contracts/bridge/interfaces/IL1ERC20Bridge.sol +++ b/l1-contracts/contracts/bridge/interfaces/IL1ERC20Bridge.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "./IL1SharedBridge.sol"; +import {IL1SharedBridge} from "./IL1SharedBridge.sol"; /// @title L1 Bridge contract legacy interface /// @author Matter Labs diff --git a/l1-contracts/contracts/bridgehub/Bridgehub.sol b/l1-contracts/contracts/bridgehub/Bridgehub.sol index 201b42fba..ba338daad 100644 --- a/l1-contracts/contracts/bridgehub/Bridgehub.sol +++ b/l1-contracts/contracts/bridgehub/Bridgehub.sol @@ -4,14 +4,14 @@ pragma solidity 0.8.20; import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol"; -import "./IBridgehub.sol"; -import "../bridge/interfaces/IL1SharedBridge.sol"; -import "../state-transition/IStateTransitionManager.sol"; -import "../common/ReentrancyGuard.sol"; -import "../state-transition/chain-interfaces/IZkSyncStateTransition.sol"; +import {L2TransactionRequestDirect, L2TransactionRequestTwoBridgesOuter, L2TransactionRequestTwoBridgesInner} from "./IBridgehub.sol"; +import {IBridgehub, IL1SharedBridge} from "../bridge/interfaces/IL1SharedBridge.sol"; +import {IStateTransitionManager} from "../state-transition/IStateTransitionManager.sol"; +import {ReentrancyGuard} from "../common/ReentrancyGuard.sol"; +import {IZkSyncStateTransition} from "../state-transition/chain-interfaces/IZkSyncStateTransition.sol"; import {ETH_TOKEN_ADDRESS, TWO_BRIDGES_MAGIC_VALUE, BRIDGEHUB_MIN_SECOND_BRIDGE_ADDRESS} from "../common/Config.sol"; -import {BridgehubL2TransactionRequest} from "../common/Messaging.sol"; -import "../vendor/AddressAliasHelper.sol"; +import {BridgehubL2TransactionRequest, L2Message, L2Log, TxStatus} from "../common/Messaging.sol"; +import {AddressAliasHelper} from "../vendor/AddressAliasHelper.sol"; contract Bridgehub is IBridgehub, ReentrancyGuard, Ownable2Step { /// @notice all the ether is held by the weth bridge diff --git a/l1-contracts/contracts/bridgehub/IBridgehub.sol b/l1-contracts/contracts/bridgehub/IBridgehub.sol index 33423ea4b..d446d0db1 100644 --- a/l1-contracts/contracts/bridgehub/IBridgehub.sol +++ b/l1-contracts/contracts/bridgehub/IBridgehub.sol @@ -3,9 +3,7 @@ pragma solidity 0.8.20; import {IL1SharedBridge} from "../bridge/interfaces/IL1SharedBridge.sol"; -import "../common/Messaging.sol"; -import "../state-transition/IStateTransitionManager.sol"; -import "../state-transition/libraries/Diamond.sol"; +import {L2Message, L2Log, TxStatus} from "../common/Messaging.sol"; struct L2TransactionRequestDirect { uint256 chainId; diff --git a/l1-contracts/contracts/common/Dependencies.sol b/l1-contracts/contracts/common/Dependencies.sol index 51f59e4fc..bb8adf1f5 100644 --- a/l1-contracts/contracts/common/Dependencies.sol +++ b/l1-contracts/contracts/common/Dependencies.sol @@ -2,5 +2,7 @@ pragma solidity 0.8.20; -import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; -import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; +/* solhint-disable-next-line no-unused-import */ +import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; +/* solhint-disable-next-line no-unused-import */ +import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; diff --git a/l1-contracts/contracts/dev-contracts/RevertTransferERC20.sol b/l1-contracts/contracts/dev-contracts/RevertTransferERC20.sol index 736c3ec55..dbe394e96 100644 --- a/l1-contracts/contracts/dev-contracts/RevertTransferERC20.sol +++ b/l1-contracts/contracts/dev-contracts/RevertTransferERC20.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "./TestnetERC20Token.sol"; +import {TestnetERC20Token} from "./TestnetERC20Token.sol"; /// @title RevertTransferERC20Token - A ERC20 token contract which can revert transfers depending on a flag /// @dev Used for testing failed ERC-20 withdrawals from the zkSync smart contract diff --git a/l1-contracts/contracts/dev-contracts/TestnetERC20Token.sol b/l1-contracts/contracts/dev-contracts/TestnetERC20Token.sol index 00229a916..3f98b52ac 100644 --- a/l1-contracts/contracts/dev-contracts/TestnetERC20Token.sol +++ b/l1-contracts/contracts/dev-contracts/TestnetERC20Token.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract TestnetERC20Token is ERC20 { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/AddressAliasHelperTest.sol b/l1-contracts/contracts/dev-contracts/test/AddressAliasHelperTest.sol index a4031cfef..2628dbf2c 100644 --- a/l1-contracts/contracts/dev-contracts/test/AddressAliasHelperTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/AddressAliasHelperTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../vendor/AddressAliasHelper.sol"; +import {AddressAliasHelper} from "../../vendor/AddressAliasHelper.sol"; contract AddressAliasHelperTest { function applyL1ToL2Alias(address _l1Address) external pure returns (address) { diff --git a/l1-contracts/contracts/dev-contracts/test/AdminFacetTest.sol b/l1-contracts/contracts/dev-contracts/test/AdminFacetTest.sol index 6d1c53a14..961cdd255 100644 --- a/l1-contracts/contracts/dev-contracts/test/AdminFacetTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/AdminFacetTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/chain-deps/facets/Admin.sol"; +import {AdminFacet} from "../../state-transition/chain-deps/facets/Admin.sol"; contract AdminFacetTest is AdminFacet { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/CustomUpgradeTest.sol b/l1-contracts/contracts/dev-contracts/test/CustomUpgradeTest.sol index 348e5f33e..0bf61350d 100644 --- a/l1-contracts/contracts/dev-contracts/test/CustomUpgradeTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/CustomUpgradeTest.sol @@ -2,8 +2,8 @@ pragma solidity 0.8.20; -import "../../state-transition/libraries/Diamond.sol"; -import "../../upgrades/BaseZkSyncUpgrade.sol"; +import {Diamond} from "../../state-transition/libraries/Diamond.sol"; +import {BaseZkSyncUpgrade, ProposedUpgrade} from "../../upgrades/BaseZkSyncUpgrade.sol"; contract CustomUpgradeTest is BaseZkSyncUpgrade { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/DiamondCutTestContract.sol b/l1-contracts/contracts/dev-contracts/test/DiamondCutTestContract.sol index 66e1835b4..9b72c2335 100644 --- a/l1-contracts/contracts/dev-contracts/test/DiamondCutTestContract.sol +++ b/l1-contracts/contracts/dev-contracts/test/DiamondCutTestContract.sol @@ -2,8 +2,8 @@ pragma solidity 0.8.20; -import "../../state-transition/libraries/Diamond.sol"; -import "../../state-transition/chain-deps/facets/Getters.sol"; +import {Diamond} from "../../state-transition/libraries/Diamond.sol"; +import {GettersFacet} from "../../state-transition/chain-deps/facets/Getters.sol"; contract DiamondCutTestContract is GettersFacet { function diamondCut(Diamond.DiamondCutData memory _diamondCut) external { diff --git a/l1-contracts/contracts/dev-contracts/test/DiamondProxyTest.sol b/l1-contracts/contracts/dev-contracts/test/DiamondProxyTest.sol index c762840a1..7091b995a 100644 --- a/l1-contracts/contracts/dev-contracts/test/DiamondProxyTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/DiamondProxyTest.sol @@ -2,8 +2,8 @@ pragma solidity 0.8.20; -import "../../state-transition/libraries/Diamond.sol"; -import "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; +import {Diamond} from "../../state-transition/libraries/Diamond.sol"; +import {ZkSyncStateTransitionBase} from "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; contract DiamondProxyTest is ZkSyncStateTransitionBase { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet.sol b/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet.sol index a17940c39..446308dc6 100644 --- a/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet.sol +++ b/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet.sol @@ -3,7 +3,7 @@ pragma solidity 0.8.20; import {Diamond} from "../../state-transition/libraries/Diamond.sol"; -import "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; +import {ZkSyncStateTransitionBase} from "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; contract DummyAdminFacet is ZkSyncStateTransitionBase { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet2.sol b/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet2.sol index 20995650c..cb5248d71 100644 --- a/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet2.sol +++ b/l1-contracts/contracts/dev-contracts/test/DummyAdminFacet2.sol @@ -3,7 +3,7 @@ pragma solidity 0.8.20; import {Diamond} from "../../state-transition/libraries/Diamond.sol"; -import "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; +import {ZkSyncStateTransitionBase} from "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; contract DummyAdminFacet2 is ZkSyncStateTransitionBase { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/DummyExecutor.sol b/l1-contracts/contracts/dev-contracts/test/DummyExecutor.sol index 05079a31e..5f6616fbf 100644 --- a/l1-contracts/contracts/dev-contracts/test/DummyExecutor.sol +++ b/l1-contracts/contracts/dev-contracts/test/DummyExecutor.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/chain-interfaces/IExecutor.sol"; +import {IExecutor} from "../../state-transition/chain-interfaces/IExecutor.sol"; /// @title DummyExecutor /// @notice A test smart contract implementing the IExecutor interface to simulate Executor behavior for testing purposes. diff --git a/l1-contracts/contracts/dev-contracts/test/DummySharedBridge.sol b/l1-contracts/contracts/dev-contracts/test/DummySharedBridge.sol index 1d2598175..038e04ea0 100644 --- a/l1-contracts/contracts/dev-contracts/test/DummySharedBridge.sol +++ b/l1-contracts/contracts/dev-contracts/test/DummySharedBridge.sol @@ -4,8 +4,8 @@ pragma solidity 0.8.20; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {L2TransactionRequestTwoBridgesInner, L2TransactionRequestDirect} from "../../bridgehub/IBridgehub.sol"; -import {ETH_TOKEN_ADDRESS, TWO_BRIDGES_MAGIC_VALUE, BRIDGEHUB_MIN_SECOND_BRIDGE_ADDRESS} from "../../common/Config.sol"; +import {L2TransactionRequestTwoBridgesInner} from "../../bridgehub/IBridgehub.sol"; +import {TWO_BRIDGES_MAGIC_VALUE} from "../../common/Config.sol"; contract DummySharedBridge { event BridgehubDepositBaseTokenInitiated( diff --git a/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManager.sol b/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManager.sol index 4823bdf1d..ddfcf71c1 100644 --- a/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManager.sol +++ b/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManager.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/StateTransitionManager.sol"; +import {StateTransitionManager} from "../../state-transition/StateTransitionManager.sol"; /// @title DummyExecutor /// @notice A test smart contract implementing the IExecutor interface to simulate Executor behavior for testing purposes. diff --git a/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManagerWithBridgeHubAddress.sol b/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManagerWithBridgeHubAddress.sol index 065fc5456..d7063bc0c 100644 --- a/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManagerWithBridgeHubAddress.sol +++ b/l1-contracts/contracts/dev-contracts/test/DummyStateTransitionManagerWithBridgeHubAddress.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/StateTransitionManager.sol"; +import {StateTransitionManager} from "../../state-transition/StateTransitionManager.sol"; /// @title DummyExecutor /// @notice A test smart contract implementing the IExecutor interface to simulate Executor behavior for testing purposes. diff --git a/l1-contracts/contracts/dev-contracts/test/ExecutorProvingTest.sol b/l1-contracts/contracts/dev-contracts/test/ExecutorProvingTest.sol index 55b426cbc..558f08310 100644 --- a/l1-contracts/contracts/dev-contracts/test/ExecutorProvingTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/ExecutorProvingTest.sol @@ -5,7 +5,7 @@ pragma solidity 0.8.20; import {ExecutorFacet} from "../../state-transition/chain-deps/facets/Executor.sol"; import {VerifierParams, PubdataPricingMode} from "../../state-transition/chain-deps/ZkSyncStateTransitionStorage.sol"; import {LogProcessingOutput} from "../../state-transition/chain-interfaces/IExecutor.sol"; -import {PubdataSource, LogProcessingOutput} from "../../state-transition/chain-interfaces/IExecutor.sol"; +import {LogProcessingOutput} from "../../state-transition/chain-interfaces/IExecutor.sol"; contract ExecutorProvingTest is ExecutorFacet { function getBatchProofPublicInput( diff --git a/l1-contracts/contracts/dev-contracts/test/L1ERC20BridgeTest.sol b/l1-contracts/contracts/dev-contracts/test/L1ERC20BridgeTest.sol index d73bba266..451f319d2 100644 --- a/l1-contracts/contracts/dev-contracts/test/L1ERC20BridgeTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/L1ERC20BridgeTest.sol @@ -2,9 +2,8 @@ pragma solidity 0.8.20; -import "../../bridge/L1ERC20Bridge.sol"; -import {IMailbox} from "../../state-transition/chain-interfaces/IMailbox.sol"; -import "../../bridge/interfaces/IL1SharedBridge.sol"; +import {L1ERC20Bridge} from "../../bridge/L1ERC20Bridge.sol"; +import {IBridgehub, IL1SharedBridge} from "../../bridge/interfaces/IL1SharedBridge.sol"; /// @author Matter Labs contract L1ERC20BridgeTest is L1ERC20Bridge { diff --git a/l1-contracts/contracts/dev-contracts/test/L1SharedBridgeTest.sol b/l1-contracts/contracts/dev-contracts/test/L1SharedBridgeTest.sol index 3645a8bc0..2839945a4 100644 --- a/l1-contracts/contracts/dev-contracts/test/L1SharedBridgeTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/L1SharedBridgeTest.sol @@ -2,9 +2,11 @@ pragma solidity 0.8.20; -import "../../bridge/L1SharedBridge.sol"; -import {IMailbox} from "../../state-transition/chain-interfaces/IMailbox.sol"; -import "../../bridge/interfaces/IL1SharedBridge.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import {L1SharedBridge} from "../../bridge/L1SharedBridge.sol"; +import {IL1ERC20Bridge, IBridgehub} from "../../bridge/interfaces/IL1SharedBridge.sol"; +import {ETH_TOKEN_ADDRESS, ERA_CHAIN_ID} from "../../common/Config.sol"; /// @author Matter Labs contract L1SharedBridgeTest is L1SharedBridge { diff --git a/l1-contracts/contracts/dev-contracts/test/MerkleTest.sol b/l1-contracts/contracts/dev-contracts/test/MerkleTest.sol index 17d77f24b..557c200d1 100644 --- a/l1-contracts/contracts/dev-contracts/test/MerkleTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/MerkleTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/libraries/Merkle.sol"; +import {Merkle} from "../../state-transition/libraries/Merkle.sol"; contract MerkleTest { function calculateRoot( diff --git a/l1-contracts/contracts/dev-contracts/test/MockExecutor.sol b/l1-contracts/contracts/dev-contracts/test/MockExecutor.sol index 41ea6ee17..ec068823d 100644 --- a/l1-contracts/contracts/dev-contracts/test/MockExecutor.sol +++ b/l1-contracts/contracts/dev-contracts/test/MockExecutor.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; +import {ZkSyncStateTransitionBase} from "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; contract MockExecutorFacet is ZkSyncStateTransitionBase { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/PriorityQueueTest.sol b/l1-contracts/contracts/dev-contracts/test/PriorityQueueTest.sol index 8fd0e00c2..33616bc05 100644 --- a/l1-contracts/contracts/dev-contracts/test/PriorityQueueTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/PriorityQueueTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/libraries/PriorityQueue.sol"; +import {PriorityQueue, PriorityOperation} from "../../state-transition/libraries/PriorityQueue.sol"; contract PriorityQueueTest { PriorityQueue.Queue priorityQueue; diff --git a/l1-contracts/contracts/dev-contracts/test/UncheckedMathTest.sol b/l1-contracts/contracts/dev-contracts/test/UncheckedMathTest.sol index 4af25cf0d..453e270bd 100644 --- a/l1-contracts/contracts/dev-contracts/test/UncheckedMathTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/UncheckedMathTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../common/libraries/UncheckedMath.sol"; +import {UncheckedMath} from "../../common/libraries/UncheckedMath.sol"; contract UncheckedMathTest { function uncheckedInc(uint256 _number) external pure returns (uint256) { diff --git a/l1-contracts/contracts/dev-contracts/test/UnsafeBytesTest.sol b/l1-contracts/contracts/dev-contracts/test/UnsafeBytesTest.sol index d80a1c5b8..2a354ab32 100644 --- a/l1-contracts/contracts/dev-contracts/test/UnsafeBytesTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/UnsafeBytesTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../common/libraries/UnsafeBytes.sol"; +import {UnsafeBytes} from "../../common/libraries/UnsafeBytes.sol"; contract UnsafeBytesTest { // add this to be excluded from coverage report diff --git a/l1-contracts/contracts/dev-contracts/test/VerifierRecursiveTest.sol b/l1-contracts/contracts/dev-contracts/test/VerifierRecursiveTest.sol index e6ebdf976..87e17d55a 100644 --- a/l1-contracts/contracts/dev-contracts/test/VerifierRecursiveTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/VerifierRecursiveTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/Verifier.sol"; +import {Verifier} from "../../state-transition/Verifier.sol"; /// @author Matter Labs contract VerifierRecursiveTest is Verifier { diff --git a/l1-contracts/contracts/dev-contracts/test/VerifierTest.sol b/l1-contracts/contracts/dev-contracts/test/VerifierTest.sol index 11eee2c1c..a2c6dd114 100644 --- a/l1-contracts/contracts/dev-contracts/test/VerifierTest.sol +++ b/l1-contracts/contracts/dev-contracts/test/VerifierTest.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../../state-transition/Verifier.sol"; +import {Verifier} from "../../state-transition/Verifier.sol"; /// @author Matter Labs contract VerifierTest is Verifier { diff --git a/l1-contracts/contracts/state-transition/StateTransitionManager.sol b/l1-contracts/contracts/state-transition/StateTransitionManager.sol index 0c274397f..95987eee6 100644 --- a/l1-contracts/contracts/state-transition/StateTransitionManager.sol +++ b/l1-contracts/contracts/state-transition/StateTransitionManager.sol @@ -16,7 +16,7 @@ import {L2CanonicalTransaction} from "../common/Messaging.sol"; import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol"; import {ProposedUpgrade} from "../upgrades/BaseZkSyncUpgrade.sol"; import {ReentrancyGuard} from "../common/ReentrancyGuard.sol"; -import {REQUIRED_L2_GAS_PRICE_PER_PUBDATA, L2_TO_L1_LOG_SERIALIZE_SIZE, DEFAULT_L2_LOGS_TREE_ROOT_HASH, EMPTY_STRING_KECCAK, SYSTEM_UPGRADE_L2_TX_TYPE, ERA_DIAMOND_PROXY, ERA_CHAIN_ID} from "../common/Config.sol"; +import {REQUIRED_L2_GAS_PRICE_PER_PUBDATA, L2_TO_L1_LOG_SERIALIZE_SIZE, DEFAULT_L2_LOGS_TREE_ROOT_HASH, EMPTY_STRING_KECCAK, SYSTEM_UPGRADE_L2_TX_TYPE} from "../common/Config.sol"; import {VerifierParams} from "./chain-interfaces/IVerifier.sol"; /// @title StateTransition contract diff --git a/l1-contracts/contracts/state-transition/Verifier.sol b/l1-contracts/contracts/state-transition/Verifier.sol index 51bd808a2..3e8aa2ad3 100644 --- a/l1-contracts/contracts/state-transition/Verifier.sol +++ b/l1-contracts/contracts/state-transition/Verifier.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "./chain-interfaces/IVerifier.sol"; +import {IVerifier} from "./chain-interfaces/IVerifier.sol"; /* solhint-disable max-line-length */ /// @author Matter Labs diff --git a/l1-contracts/contracts/state-transition/chain-deps/DiamondInit.sol b/l1-contracts/contracts/state-transition/chain-deps/DiamondInit.sol index 339af32c0..b7d8797f7 100644 --- a/l1-contracts/contracts/state-transition/chain-deps/DiamondInit.sol +++ b/l1-contracts/contracts/state-transition/chain-deps/DiamondInit.sol @@ -4,12 +4,8 @@ pragma solidity 0.8.20; import {Diamond} from "../libraries/Diamond.sol"; import {ZkSyncStateTransitionBase} from "./facets/ZkSyncStateTransitionBase.sol"; -import {FeeParams} from "./ZkSyncStateTransitionStorage.sol"; import {L2_TO_L1_LOG_SERIALIZE_SIZE, MAX_GAS_PER_TRANSACTION} from "../../common/Config.sol"; import {InitializeData, IDiamondInit} from "../chain-interfaces/IDiamondInit.sol"; -import {VerifierParams} from "../chain-interfaces/IVerifier.sol"; - -import "../l2-deps/ISystemContext.sol"; /// @author Matter Labs /// @dev The contract is used only once to initialize the diamond proxy. diff --git a/l1-contracts/contracts/state-transition/chain-deps/facets/Mailbox.sol b/l1-contracts/contracts/state-transition/chain-deps/facets/Mailbox.sol index a570fb751..749e9b8b7 100644 --- a/l1-contracts/contracts/state-transition/chain-deps/facets/Mailbox.sol +++ b/l1-contracts/contracts/state-transition/chain-deps/facets/Mailbox.sol @@ -11,14 +11,12 @@ import {TransactionValidator} from "../../libraries/TransactionValidator.sol"; import {WritePriorityOpParams, L2CanonicalTransaction, L2Message, L2Log, TxStatus, BridgehubL2TransactionRequest} from "../../../common/Messaging.sol"; import {FeeParams, PubdataPricingMode} from "../ZkSyncStateTransitionStorage.sol"; import {UncheckedMath} from "../../../common/libraries/UncheckedMath.sol"; -import {UnsafeBytes} from "../../../common/libraries/UnsafeBytes.sol"; import {L2ContractHelper} from "../../../common/libraries/L2ContractHelper.sol"; import {AddressAliasHelper} from "../../../vendor/AddressAliasHelper.sol"; import {ZkSyncStateTransitionBase} from "./ZkSyncStateTransitionBase.sol"; import {REQUIRED_L2_GAS_PRICE_PER_PUBDATA, L1_GAS_PER_PUBDATA_BYTE, L2_L1_LOGS_TREE_DEFAULT_LEAF_HASH, PRIORITY_OPERATION_L2_TX_TYPE, PRIORITY_EXPIRATION, MAX_NEW_FACTORY_DEPS, ETH_TOKEN_ADDRESS, ERA_CHAIN_ID} from "../../../common/Config.sol"; -import {L2_BOOTLOADER_ADDRESS, L2_TO_L1_MESSENGER_SYSTEM_CONTRACT_ADDR, L2_BASE_TOKEN_SYSTEM_CONTRACT_ADDR} from "../../../common/L2ContractAddresses.sol"; +import {L2_BOOTLOADER_ADDRESS, L2_TO_L1_MESSENGER_SYSTEM_CONTRACT_ADDR} from "../../../common/L2ContractAddresses.sol"; -import {IBridgehub} from "../../../bridgehub/IBridgehub.sol"; import {IL1SharedBridge} from "../../../bridge/interfaces/IL1SharedBridge.sol"; // While formally the following import is not used, it is needed to inherit documentation from it diff --git a/l1-contracts/contracts/state-transition/chain-interfaces/IDiamondInit.sol b/l1-contracts/contracts/state-transition/chain-interfaces/IDiamondInit.sol index 3212af146..ea660e8a4 100644 --- a/l1-contracts/contracts/state-transition/chain-interfaces/IDiamondInit.sol +++ b/l1-contracts/contracts/state-transition/chain-interfaces/IDiamondInit.sol @@ -2,7 +2,6 @@ pragma solidity 0.8.20; -import {L2CanonicalTransaction} from "../../common/Messaging.sol"; import {IVerifier, VerifierParams} from "./IVerifier.sol"; import {FeeParams} from "../chain-deps/ZkSyncStateTransitionStorage.sol"; diff --git a/l1-contracts/contracts/state-transition/chain-interfaces/IZkSyncStateTransition.sol b/l1-contracts/contracts/state-transition/chain-interfaces/IZkSyncStateTransition.sol index cbc2d4d8f..350e73570 100644 --- a/l1-contracts/contracts/state-transition/chain-interfaces/IZkSyncStateTransition.sol +++ b/l1-contracts/contracts/state-transition/chain-interfaces/IZkSyncStateTransition.sol @@ -6,11 +6,9 @@ import {IAdmin} from "./IAdmin.sol"; import {IExecutor} from "./IExecutor.sol"; import {IGetters} from "./IGetters.sol"; import {IMailbox} from "./IMailbox.sol"; -import {Verifier} from "../Verifier.sol"; -import {VerifierParams} from "./IVerifier.sol"; // kl to do remove this, needed for the server for now -import "../libraries/Diamond.sol"; +import {Diamond} from "../libraries/Diamond.sol"; interface IZkSyncStateTransition is IAdmin, IExecutor, IGetters, IMailbox { // KL todo: need this in the server for now diff --git a/l1-contracts/contracts/upgrades/BaseZkSyncUpgrade.sol b/l1-contracts/contracts/upgrades/BaseZkSyncUpgrade.sol index 6fe47d5da..94d956269 100644 --- a/l1-contracts/contracts/upgrades/BaseZkSyncUpgrade.sol +++ b/l1-contracts/contracts/upgrades/BaseZkSyncUpgrade.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.20; import {ZkSyncStateTransitionBase} from "../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; -import {IMailbox} from "../state-transition/chain-interfaces/IMailbox.sol"; import {VerifierParams} from "../state-transition/chain-interfaces/IVerifier.sol"; import {IVerifier} from "../state-transition/chain-interfaces/IVerifier.sol"; import {L2ContractHelper} from "../common/libraries/L2ContractHelper.sol"; diff --git a/l1-contracts/contracts/upgrades/BaseZkSyncUpgradeGenesis.sol b/l1-contracts/contracts/upgrades/BaseZkSyncUpgradeGenesis.sol index bff9d6939..22eb92ef1 100644 --- a/l1-contracts/contracts/upgrades/BaseZkSyncUpgradeGenesis.sol +++ b/l1-contracts/contracts/upgrades/BaseZkSyncUpgradeGenesis.sol @@ -2,13 +2,7 @@ pragma solidity 0.8.20; -import "../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; -import "../state-transition/chain-interfaces/IMailbox.sol"; -import "../state-transition/chain-interfaces/IVerifier.sol"; -import "../common/libraries/L2ContractHelper.sol"; -import "../common/Messaging.sol"; -import "../state-transition/libraries/TransactionValidator.sol"; -import {MAX_NEW_FACTORY_DEPS, SYSTEM_UPGRADE_L2_TX_TYPE, MAX_ALLOWED_PROTOCOL_VERSION_DELTA} from "../common/Config.sol"; +import {MAX_ALLOWED_PROTOCOL_VERSION_DELTA} from "../common/Config.sol"; import {ProposedUpgrade, BaseZkSyncUpgrade} from "./BaseZkSyncUpgrade.sol"; /// @author Matter Labs diff --git a/l1-contracts/contracts/upgrades/GenesisUpgrade.sol b/l1-contracts/contracts/upgrades/GenesisUpgrade.sol index 5ad4321a0..789c0d7ed 100644 --- a/l1-contracts/contracts/upgrades/GenesisUpgrade.sol +++ b/l1-contracts/contracts/upgrades/GenesisUpgrade.sol @@ -2,9 +2,9 @@ pragma solidity 0.8.20; -import "../state-transition/libraries/Diamond.sol"; -import "./BaseZkSyncUpgradeGenesis.sol"; -import "./IDefaultUpgrade.sol"; +import {Diamond} from "../state-transition/libraries/Diamond.sol"; +import {BaseZkSyncUpgradeGenesis} from "./BaseZkSyncUpgradeGenesis.sol"; +import {ProposedUpgrade} from "./IDefaultUpgrade.sol"; /// @author Matter Labs /// @custom:security-contact security@matterlabs.dev diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/FinalizeEthWithdrawal.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/FinalizeEthWithdrawal.t.sol index aac63725e..2e28600ac 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/FinalizeEthWithdrawal.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/FinalizeEthWithdrawal.t.sol @@ -4,8 +4,6 @@ pragma solidity ^0.8.17; import {BridgehubMailboxTest} from "./_BridgehubMailbox_Shared.t.sol"; -import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; - contract FinalizeEthWithdrawalTest is BridgehubMailboxTest { // uint256 internal l2BlockNumber; // uint256 internal l2MessageIndex; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/IsEthWithdrawalFinalized.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/IsEthWithdrawalFinalized.t.sol index 2d3c06848..ca6ce71f1 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/IsEthWithdrawalFinalized.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/IsEthWithdrawalFinalized.t.sol @@ -4,8 +4,6 @@ pragma solidity ^0.8.17; import {BridgehubMailboxTest} from "./_BridgehubMailbox_Shared.t.sol"; -import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; - contract IsEthWithdrawalFinalizedTest is BridgehubMailboxTest { // uint256 internal l2MessageIndex; // uint256 internal l2TxNumberInBlock; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/L2TransactionBaseCost.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/L2TransactionBaseCost.t.sol index 8800a1213..1901bea0e 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/L2TransactionBaseCost.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/L2TransactionBaseCost.t.sol @@ -4,8 +4,6 @@ pragma solidity ^0.8.17; import {BridgehubMailboxTest} from "./_BridgehubMailbox_Shared.t.sol"; -import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; - contract L2TransactionBaseCostTest is BridgehubMailboxTest { // uint256 internal gasPrice; // uint256 internal l2GasLimit; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL1ToL2TransactionStatus.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL1ToL2TransactionStatus.t.sol index f3710f054..747d94f12 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL1ToL2TransactionStatus.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL1ToL2TransactionStatus.t.sol @@ -4,9 +4,6 @@ pragma solidity ^0.8.17; import {BridgehubMailboxTest} from "./_BridgehubMailbox_Shared.t.sol"; -import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; -import {TxStatus} from "solpp/common/Messaging.sol"; - contract ProveL1ToL2TransactionStatusTest is BridgehubMailboxTest { // uint256 internal blockNumber; // bytes32 internal l2TxHash; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2LogInclusion.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2LogInclusion.t.sol index a9beb2bda..aec9bc94f 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2LogInclusion.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2LogInclusion.t.sol @@ -4,9 +4,6 @@ pragma solidity ^0.8.17; import {BridgehubMailboxTest} from "./_BridgehubMailbox_Shared.t.sol"; -import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; -import {L2Log} from "solpp/common/Messaging.sol"; - contract ProveL2LogInclusionTest is BridgehubMailboxTest { // uint256 internal blockNumber; // uint256 internal index; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2MessageInclusion.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2MessageInclusion.t.sol index 80afe442b..bf65b9f72 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2MessageInclusion.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/ProveL2MessageInclusion.t.sol @@ -4,9 +4,6 @@ pragma solidity ^0.8.17; import {BridgehubMailboxTest} from "./_BridgehubMailbox_Shared.t.sol"; -import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; -import {L2Message} from "solpp/common/Messaging.sol"; - contract ProveL2MessageInclusionTest is BridgehubMailboxTest { // uint256 internal blockNumber; // uint256 internal index; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/RequestL2Transaction.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/RequestL2Transaction.t.sol index 40e3a51b4..31961d095 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/RequestL2Transaction.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/RequestL2Transaction.t.sol @@ -4,8 +4,6 @@ pragma solidity ^0.8.17; import {BridgehubMailboxTest} from "./_BridgehubMailbox_Shared.t.sol"; -import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; - contract RequestL2TransactionTest is BridgehubMailboxTest { // address internal contractL2; // uint256 internal l2Value; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/_BridgehubMailbox_Shared.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/_BridgehubMailbox_Shared.t.sol index 0a5365a6b..ba9326a9b 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/_BridgehubMailbox_Shared.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/BridgehubMailbox/_BridgehubMailbox_Shared.t.sol @@ -3,7 +3,6 @@ pragma solidity ^0.8.17; import {BridgehubTest} from "../_Bridgehub_Shared.t.sol"; -import {IStateTransitionManager} from "solpp/state-transition/IStateTransitionManager.sol"; contract BridgehubMailboxTest is BridgehubTest { uint256 internal chainId; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/Registry/NewChain.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/Registry/NewChain.t.sol index c0a44e2f3..6ea260769 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/Registry/NewChain.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/Registry/NewChain.t.sol @@ -2,14 +2,8 @@ pragma solidity ^0.8.17; -import {Vm} from "forge-std/Test.sol"; - -import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; - import {RegistryTest} from "./_Registry_Shared.t.sol"; -import {IStateTransitionManager} from "solpp/state-transition/IStateTransitionManager.sol"; - contract NewChainTest is RegistryTest { uint256 internal chainId; address internal governorAddress; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridgehub/experimental_bridge.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridgehub/experimental_bridge.t.sol index 709e26677..0da88c558 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridgehub/experimental_bridge.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridgehub/experimental_bridge.t.sol @@ -6,13 +6,12 @@ import {stdStorage, StdStorage, Test} from "forge-std/Test.sol"; import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; import {TestnetERC20Token} from "solpp/dev-contracts/TestnetERC20Token.sol"; -import {IBridgehub, Bridgehub} from "solpp/bridgehub/Bridgehub.sol"; +import {Bridgehub} from "solpp/bridgehub/Bridgehub.sol"; import {L2TransactionRequestDirect, L2TransactionRequestTwoBridgesOuter} from "solpp/bridgehub/IBridgehub.sol"; import {DummyStateTransitionManagerWBH} from "solpp/dev-contracts/test/DummyStateTransitionManagerWithBridgeHubAddress.sol"; import {DummyStateTransition} from "solpp/dev-contracts/test/DummyStateTransition.sol"; import {DummySharedBridge} from "solpp/dev-contracts/test/DummySharedBridge.sol"; import {IL1SharedBridge} from "solpp/bridge/interfaces/IL1SharedBridge.sol"; -import {TransactionValidator} from "solpp/state-transition/libraries/TransactionValidator.sol"; import {L2Message, L2Log, TxStatus, BridgehubL2TransactionRequest} from "solpp/common/Messaging.sol"; import {ETH_TOKEN_ADDRESS, REQUIRED_L2_GAS_PRICE_PER_PUBDATA, MAX_NEW_FACTORY_DEPS} from "solpp/common/Config.sol"; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridges/L1Erc20Bridge/_L1Erc20Bridge_Shared.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridges/L1Erc20Bridge/_L1Erc20Bridge_Shared.t.sol index d2e37e115..d8fad7c18 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridges/L1Erc20Bridge/_L1Erc20Bridge_Shared.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridges/L1Erc20Bridge/_L1Erc20Bridge_Shared.t.sol @@ -10,7 +10,6 @@ import {TestnetERC20Token} from "solpp/dev-contracts/TestnetERC20Token.sol"; import {FeeOnTransferToken} from "solpp/dev-contracts/FeeOnTransferToken.sol"; import {DummySharedBridge} from "solpp/dev-contracts/test/DummySharedBridge.sol"; import {ReenterL1ERC20Bridge} from "solpp/dev-contracts/test/ReenterL1ERC20Bridge.sol"; -import {Forwarder} from "solpp/dev-contracts/Forwarder.sol"; import {Utils} from "../../Utils/Utils.sol"; contract L1Erc20BridgeTest is Test { diff --git a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridge.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridge.t.sol index 152c7e564..030432dac 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridge.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridge.t.sol @@ -4,17 +4,13 @@ pragma solidity 0.8.20; import {Test} from "forge-std/Test.sol"; import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {L1SharedBridge} from "solpp/bridge/L1SharedBridge.sol"; -import {Bridgehub} from "solpp/bridgehub/Bridgehub.sol"; -import {L1ERC20Bridge} from "solpp/bridge/L1ERC20Bridge.sol"; import {ETH_TOKEN_ADDRESS} from "solpp/common/Config.sol"; -import {IBridgehub, L2TransactionRequestTwoBridgesInner} from "solpp/bridgehub/IBridgehub.sol"; +import {IBridgehub} from "solpp/bridgehub/IBridgehub.sol"; import {L2Message, TxStatus} from "solpp/common/Messaging.sol"; import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; import {IL1ERC20Bridge} from "solpp/bridge/interfaces/IL1ERC20Bridge.sol"; -import {IL1SharedBridge} from "solpp/bridge/interfaces/IL1SharedBridge.sol"; import {TestnetERC20Token} from "solpp/dev-contracts/TestnetERC20Token.sol"; import {L2_BASE_TOKEN_SYSTEM_CONTRACT_ADDR} from "solpp/common/L2ContractAddresses.sol"; import {ERA_CHAIN_ID, ERA_DIAMOND_PROXY} from "solpp/common/Config.sol"; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeFails.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeFails.t.sol index 65fe19ca4..4e0edc474 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeFails.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeFails.t.sol @@ -7,14 +7,11 @@ import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transpa import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {L1SharedBridge} from "solpp/bridge/L1SharedBridge.sol"; -import {Bridgehub} from "solpp/bridgehub/Bridgehub.sol"; -import {L1ERC20Bridge} from "solpp/bridge/L1ERC20Bridge.sol"; import {ETH_TOKEN_ADDRESS} from "solpp/common/Config.sol"; -import {IBridgehub, L2TransactionRequestTwoBridgesInner} from "solpp/bridgehub/IBridgehub.sol"; +import {IBridgehub} from "solpp/bridgehub/IBridgehub.sol"; import {L2Message, TxStatus} from "solpp/common/Messaging.sol"; import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; import {IL1ERC20Bridge} from "solpp/bridge/interfaces/IL1ERC20Bridge.sol"; -import {IL1SharedBridge} from "solpp/bridge/interfaces/IL1SharedBridge.sol"; import {TestnetERC20Token} from "solpp/dev-contracts/TestnetERC20Token.sol"; import {L2_BASE_TOKEN_SYSTEM_CONTRACT_ADDR} from "solpp/common/L2ContractAddresses.sol"; import {ERA_CHAIN_ID, ERA_DIAMOND_PROXY} from "solpp/common/Config.sol"; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeHyperEnabled.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeHyperEnabled.t.sol index a01c7bf62..f574a066b 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeHyperEnabled.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeHyperEnabled.t.sol @@ -4,17 +4,13 @@ pragma solidity 0.8.20; import {Test} from "forge-std/Test.sol"; import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {L1SharedBridge} from "solpp/bridge/L1SharedBridge.sol"; -import {Bridgehub} from "solpp/bridgehub/Bridgehub.sol"; -import {L1ERC20Bridge} from "solpp/bridge/L1ERC20Bridge.sol"; import {ETH_TOKEN_ADDRESS} from "solpp/common/Config.sol"; -import {IBridgehub, L2TransactionRequestTwoBridgesInner} from "solpp/bridgehub/IBridgehub.sol"; +import {IBridgehub} from "solpp/bridgehub/IBridgehub.sol"; import {L2Message, TxStatus} from "solpp/common/Messaging.sol"; import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; import {IL1ERC20Bridge} from "solpp/bridge/interfaces/IL1ERC20Bridge.sol"; -import {IL1SharedBridge} from "solpp/bridge/interfaces/IL1SharedBridge.sol"; import {TestnetERC20Token} from "solpp/dev-contracts/TestnetERC20Token.sol"; import {L2_BASE_TOKEN_SYSTEM_CONTRACT_ADDR} from "solpp/common/L2ContractAddresses.sol"; import {ERA_CHAIN_ID} from "solpp/common/Config.sol"; diff --git a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeLegacy.t.sol b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeLegacy.t.sol index 3698668a9..51d4af718 100644 --- a/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeLegacy.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Bridges/L1SharedBridge/L1SharedBridgeLegacy.t.sol @@ -4,17 +4,13 @@ pragma solidity 0.8.20; import {Test} from "forge-std/Test.sol"; import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {L1SharedBridge} from "solpp/bridge/L1SharedBridge.sol"; -import {Bridgehub} from "solpp/bridgehub/Bridgehub.sol"; -import {L1ERC20Bridge} from "solpp/bridge/L1ERC20Bridge.sol"; import {ETH_TOKEN_ADDRESS} from "solpp/common/Config.sol"; -import {IBridgehub, L2TransactionRequestTwoBridgesInner} from "solpp/bridgehub/IBridgehub.sol"; +import {IBridgehub} from "solpp/bridgehub/IBridgehub.sol"; import {L2Message, TxStatus} from "solpp/common/Messaging.sol"; import {IMailbox} from "solpp/state-transition/chain-interfaces/IMailbox.sol"; import {IL1ERC20Bridge} from "solpp/bridge/interfaces/IL1ERC20Bridge.sol"; -import {IL1SharedBridge} from "solpp/bridge/interfaces/IL1SharedBridge.sol"; import {TestnetERC20Token} from "solpp/dev-contracts/TestnetERC20Token.sol"; import {L2_BASE_TOKEN_SYSTEM_CONTRACT_ADDR} from "solpp/common/L2ContractAddresses.sol"; import {ERA_CHAIN_ID} from "solpp/common/Config.sol"; diff --git a/l1-contracts/test/foundry/unit/concrete/Executor/ExecutorProof.t.sol b/l1-contracts/test/foundry/unit/concrete/Executor/ExecutorProof.t.sol index c2dcb404a..92659fc23 100644 --- a/l1-contracts/test/foundry/unit/concrete/Executor/ExecutorProof.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/Executor/ExecutorProof.t.sol @@ -9,7 +9,7 @@ import {UtilsFacet} from "foundry-test/unit/concrete/Utils/UtilsFacet.sol"; import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; import {ExecutorFacet} from "solpp/state-transition/chain-deps/facets/Executor.sol"; import {IExecutor, LogProcessingOutput} from "solpp/state-transition/chain-interfaces/IExecutor.sol"; -import {VerifierParams, PubdataPricingMode} from "solpp/state-transition/chain-deps/ZkSyncStateTransitionStorage.sol"; +import {VerifierParams} from "solpp/state-transition/chain-deps/ZkSyncStateTransitionStorage.sol"; contract TestExecutorFacet is ExecutorFacet { function createBatchCommitment( diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/CreateNewChain.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/CreateNewChain.t.sol index b3435cf05..2c0ab7887 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/CreateNewChain.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/CreateNewChain.t.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.20; import {StateTransitionManagerTest} from "./_StateTransitionManager_Shared.t.sol"; import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; -import {DiamondProxy} from "solpp/state-transition/chain-deps/DiamondProxy.sol"; contract createNewChainTest is StateTransitionManagerTest { function test_RevertWhen_InitialDiamondCutHashMismatch() public { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/FreezeChain.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/FreezeChain.t.sol index b96f93081..7edc0f330 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/FreezeChain.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/FreezeChain.t.sol @@ -2,8 +2,6 @@ pragma solidity 0.8.20; import {StateTransitionManagerTest} from "./_StateTransitionManager_Shared.t.sol"; -import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; -import {DiamondProxy} from "solpp/state-transition/chain-deps/DiamondProxy.sol"; import {GettersFacet} from "solpp/state-transition/chain-deps/facets/Getters.sol"; contract freezeChainTest is StateTransitionManagerTest { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/RevertBatches.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/RevertBatches.t.sol index 2ce77d5d4..a9aeefc34 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/RevertBatches.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/RevertBatches.t.sol @@ -12,7 +12,6 @@ import {GettersFacet} from "solpp/state-transition/chain-deps/facets/Getters.sol import {AdminFacet} from "solpp/state-transition/chain-deps/facets/Admin.sol"; import {ExecutorFacet} from "solpp/state-transition/chain-deps/facets/Executor.sol"; import {IExecutor} from "solpp/state-transition/chain-interfaces/IExecutor.sol"; -import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; contract revertBatchesTest is StateTransitionManagerTest { // Items for logs & commits diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/StateTransitionGovernorZero.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/StateTransitionGovernorZero.t.sol index 1ad942575..0640ad2c1 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/StateTransitionGovernorZero.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/StateTransitionGovernorZero.t.sol @@ -5,7 +5,6 @@ import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transpa import {StateTransitionManagerTest} from "./_StateTransitionManager_Shared.t.sol"; import {StateTransitionManager} from "solpp/state-transition/StateTransitionManager.sol"; import {StateTransitionManagerInitializeData} from "solpp/state-transition/IStateTransitionManager.sol"; -import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; contract initializingSTMGovernorZeroTest is StateTransitionManagerTest { function test_InitializingSTMWithGovernorZeroShouldRevert() public { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/_StateTransitionManager_Shared.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/_StateTransitionManager_Shared.t.sol index 89da8dfa5..78b79c13e 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/_StateTransitionManager_Shared.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/StateTransitionManager/_StateTransitionManager_Shared.t.sol @@ -14,9 +14,7 @@ import {GettersFacet} from "solpp/state-transition/chain-deps/facets/Getters.sol import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; import {DiamondInit} from "solpp/state-transition/chain-deps/DiamondInit.sol"; import {GenesisUpgrade} from "solpp/upgrades/GenesisUpgrade.sol"; -import {IDiamondInit} from "solpp/state-transition/chain-interfaces/IDiamondInit.sol"; -import {InitializeData, InitializeDataNewChain} from "solpp/state-transition/chain-interfaces/IDiamondInit.sol"; -import {IVerifier} from "solpp/state-transition/chain-interfaces/IVerifier.sol"; +import {InitializeDataNewChain} from "solpp/state-transition/chain-interfaces/IDiamondInit.sol"; import {StateTransitionManager} from "solpp/state-transition/StateTransitionManager.sol"; import {StateTransitionManagerInitializeData} from "solpp/state-transition/IStateTransitionManager.sol"; diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/DiamondProxy/DiamondProxy.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/DiamondProxy/DiamondProxy.t.sol index 1fb2735ff..315b54b10 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/DiamondProxy/DiamondProxy.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/DiamondProxy/DiamondProxy.t.sol @@ -9,11 +9,7 @@ import {UtilsFacet} from "foundry-test/unit/concrete/Utils/UtilsFacet.sol"; import {InitializeData} from "solpp/state-transition/chain-interfaces/IDiamondInit.sol"; import {DiamondInit} from "solpp/state-transition/chain-deps/DiamondInit.sol"; import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; -import {GettersFacet} from "solpp/state-transition/chain-deps/facets/Getters.sol"; -import {IVerifier, VerifierParams} from "solpp/state-transition/chain-interfaces/IVerifier.sol"; -import {FeeParams, PubdataPricingMode, ZkSyncStateTransitionStorage} from "solpp/state-transition/chain-deps/ZkSyncStateTransitionStorage.sol"; import {DiamondProxy} from "solpp/state-transition/chain-deps/DiamondProxy.sol"; -import {MAX_GAS_PER_TRANSACTION} from "solpp/common/Config.sol"; import {ZkSyncStateTransitionBase} from "solpp/state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol"; contract TestFacet is ZkSyncStateTransitionBase { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Admin/_Admin_Shared.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Admin/_Admin_Shared.t.sol index a06cac948..fae0c0439 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Admin/_Admin_Shared.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Admin/_Admin_Shared.t.sol @@ -8,9 +8,6 @@ import {UtilsFacet} from "foundry-test/unit/concrete/Utils/UtilsFacet.sol"; import {AdminFacet} from "solpp/state-transition/chain-deps/facets/Admin.sol"; import {Diamond} from "solpp/state-transition/libraries/Diamond.sol"; -import {DiamondInit} from "solpp/state-transition/chain-deps/DiamondInit.sol"; -import {DiamondProxy} from "solpp/state-transition/chain-deps/DiamondProxy.sol"; -import {FeeParams} from "solpp/state-transition/chain-deps/ZkSyncStateTransitionStorage.sol"; import {IAdmin} from "solpp/state-transition/chain-interfaces/IAdmin.sol"; contract AdminTest is Test { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddress.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddress.t.sol index 02c1edbbd..0fb011e46 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddress.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddress.t.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.20; import {GettersFacetTest} from "./_Getters_Shared.t.sol"; -import {IGetters} from "solpp/state-transition/chain-interfaces/IGetters.sol"; contract FacetAddressTest is GettersFacetTest { function test() public { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddresses.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddresses.t.sol index 284255f82..67c0e85db 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddresses.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetAddresses.t.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.20; import {GettersFacetTest} from "./_Getters_Shared.t.sol"; -import {IGetters} from "solpp/state-transition/chain-interfaces/IGetters.sol"; contract FacetAddressesTest is GettersFacetTest { function test() public { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetFunctionSelectors.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetFunctionSelectors.t.sol index e1cbc726b..6bf1a92ed 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetFunctionSelectors.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/FacetFunctionSelectors.t.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.20; import {GettersFacetTest} from "./_Getters_Shared.t.sol"; -import {IGetters} from "solpp/state-transition/chain-interfaces/IGetters.sol"; contract FacetFunctionSelectorsTest is GettersFacetTest { function test() public { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/_Getters_Shared.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/_Getters_Shared.t.sol index 4d7cb5e47..1daddd877 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/_Getters_Shared.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/chain-deps/facets/Getters/_Getters_Shared.t.sol @@ -8,7 +8,7 @@ import {GettersFacet} from "solpp/state-transition/chain-deps/facets/Getters.sol import {IGetters} from "solpp/state-transition/chain-interfaces/IGetters.sol"; import {ILegacyGetters} from "solpp/state-transition/chain-interfaces/ILegacyGetters.sol"; import {IVerifier} from "solpp/state-transition/chain-interfaces/IVerifier.sol"; -import {PriorityQueue, PriorityOperation} from "solpp/state-transition/libraries/PriorityQueue.sol"; +import {PriorityOperation} from "solpp/state-transition/libraries/PriorityQueue.sol"; import {VerifierParams} from "solpp/state-transition/chain-interfaces/IVerifier.sol"; contract GettersFacetWrapper is GettersFacet { diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/Merkle/MerkleTreeNoSort.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/Merkle/MerkleTreeNoSort.sol index c62d4158c..c0ce2808a 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/Merkle/MerkleTreeNoSort.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/Merkle/MerkleTreeNoSort.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "murky/common/MurkyBase.sol"; +import {MurkyBase} from "murky/common/MurkyBase.sol"; contract MerkleTreeNoSort is MurkyBase { /******************** diff --git a/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/TransactionValidator/ValidateL1L2Tx.t.sol b/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/TransactionValidator/ValidateL1L2Tx.t.sol index 3fda97ffc..a4f29ec0d 100644 --- a/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/TransactionValidator/ValidateL1L2Tx.t.sol +++ b/l1-contracts/test/foundry/unit/concrete/state-transition/libraries/TransactionValidator/ValidateL1L2Tx.t.sol @@ -3,9 +3,7 @@ pragma solidity 0.8.20; import {TransactionValidatorSharedTest} from "./_TransactionValidator_Shared.t.sol"; - import {L2CanonicalTransaction} from "solpp/common/Messaging.sol"; -import {TransactionValidator} from "solpp/state-transition/libraries/TransactionValidator.sol"; contract ValidateL1L2TxTest is TransactionValidatorSharedTest { function test_BasicRequestL1L2() public pure { diff --git a/l2-contracts/contracts/Dependencies.sol b/l2-contracts/contracts/Dependencies.sol index 51f59e4fc..bb8adf1f5 100644 --- a/l2-contracts/contracts/Dependencies.sol +++ b/l2-contracts/contracts/Dependencies.sol @@ -2,5 +2,7 @@ pragma solidity 0.8.20; -import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; -import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; +/* solhint-disable-next-line no-unused-import */ +import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; +/* solhint-disable-next-line no-unused-import */ +import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; diff --git a/l2-contracts/contracts/TestnetPaymaster.sol b/l2-contracts/contracts/TestnetPaymaster.sol index 2bdb0c842..41ce678c1 100644 --- a/l2-contracts/contracts/TestnetPaymaster.sol +++ b/l2-contracts/contracts/TestnetPaymaster.sol @@ -2,11 +2,11 @@ pragma solidity 0.8.20; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "./interfaces/IPaymaster.sol"; -import "./interfaces/IPaymasterFlow.sol"; -import "./L2ContractHelper.sol"; +import {IPaymaster, ExecutionResult, PAYMASTER_VALIDATION_SUCCESS_MAGIC} from "./interfaces/IPaymaster.sol"; +import {IPaymasterFlow} from "./interfaces/IPaymasterFlow.sol"; +import {Transaction, BOOTLOADER_ADDRESS} from "./L2ContractHelper.sol"; // This is a dummy paymaster. It expects the paymasterInput to contain its "signature" as well as the needed exchange rate. // It supports only approval-based paymaster flow. diff --git a/l2-contracts/contracts/bridge/L2SharedBridge.sol b/l2-contracts/contracts/bridge/L2SharedBridge.sol index 0360a0cf8..59100ea36 100644 --- a/l2-contracts/contracts/bridge/L2SharedBridge.sol +++ b/l2-contracts/contracts/bridge/L2SharedBridge.sol @@ -12,9 +12,9 @@ import {IL2StandardToken} from "./interfaces/IL2StandardToken.sol"; import {L2StandardERC20} from "./L2StandardERC20.sol"; import {AddressAliasHelper} from "../vendor/AddressAliasHelper.sol"; -import {L2ContractHelper, DEPLOYER_SYSTEM_CONTRACT, L2_BASE_TOKEN_ADDRESS, IContractDeployer} from "../L2ContractHelper.sol"; +import {L2ContractHelper, DEPLOYER_SYSTEM_CONTRACT, IContractDeployer} from "../L2ContractHelper.sol"; import {SystemContractsCaller} from "../SystemContractsCaller.sol"; -import {ERA_CHAIN_ID, ERA_WETH_ADDRESS} from "../Config.sol"; +import {ERA_CHAIN_ID} from "../Config.sol"; /// @author Matter Labs /// @custom:security-contact security@matterlabs.dev diff --git a/l2-contracts/contracts/interfaces/IPaymaster.sol b/l2-contracts/contracts/interfaces/IPaymaster.sol index a9f6f045e..8ba4bc694 100644 --- a/l2-contracts/contracts/interfaces/IPaymaster.sol +++ b/l2-contracts/contracts/interfaces/IPaymaster.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../L2ContractHelper.sol"; +import {Transaction} from "../L2ContractHelper.sol"; enum ExecutionResult { Revert, diff --git a/system-contracts/SystemContractsHashes.json b/system-contracts/SystemContractsHashes.json index faa619afd..6dcd857fd 100644 --- a/system-contracts/SystemContractsHashes.json +++ b/system-contracts/SystemContractsHashes.json @@ -3,43 +3,43 @@ "contractName": "AccountCodeStorage", "bytecodePath": "artifacts-zk/contracts-preprocessed/AccountCodeStorage.sol/AccountCodeStorage.json", "sourceCodePath": "contracts-preprocessed/AccountCodeStorage.sol", - "bytecodeHash": "0x01000075508e066d7823373e25d20ed33ca24f78168da6fadd560af587ff0059", - "sourceCodeHash": "0xa4bb031f7c6e95044b3c69f15107141d8ee4f2fd637986955f3d5bde4444ff3f" + "bytecodeHash": "0x0100007543e9a3280cf25bea4fc5782768e2b5cd881e0fee24314794117285d6", + "sourceCodeHash": "0xfbf66e830201c4b7fda14f0ddf28a53beb7fbb48a8406392bcfd0ef7ea9265c8" }, { "contractName": "BootloaderUtilities", "bytecodePath": "artifacts-zk/contracts-preprocessed/BootloaderUtilities.sol/BootloaderUtilities.json", "sourceCodePath": "contracts-preprocessed/BootloaderUtilities.sol", - "bytecodeHash": "0x010007c9d2fe94d9b8918bec6b2557903dcbc0db69597312e368756e7c5cc7cf", + "bytecodeHash": "0x010007c975dbc909631204106788d661896ab9e808ea9a88edf1b100ad56056d", "sourceCodeHash": "0xf48319ea1cfc95e6e2203b8186b21e3f3168136b92125e935b9bca81da42ad2a" }, { "contractName": "ComplexUpgrader", "bytecodePath": "artifacts-zk/contracts-preprocessed/ComplexUpgrader.sol/ComplexUpgrader.json", "sourceCodePath": "contracts-preprocessed/ComplexUpgrader.sol", - "bytecodeHash": "0x01000055ba3ec084c61a3a0a44285ae220b5edf8d823392f51c6eed5f14eafd5", + "bytecodeHash": "0x0100005562841c537aad58cb39355b7c260bcd0bcac749f0cd23bac178726677", "sourceCodeHash": "0x0aa5d7ed159e783acde47856b13801b7f2268ba39b2fa50807fe3d705c506e96" }, { "contractName": "Compressor", "bytecodePath": "artifacts-zk/contracts-preprocessed/Compressor.sol/Compressor.json", "sourceCodePath": "contracts-preprocessed/Compressor.sol", - "bytecodeHash": "0x0100016da6eff76e1b5fdd9399c0222b5e7d8877d0b850ff3fcda6abdc05ee82", - "sourceCodeHash": "0xe0e22aa80843159daff6f09ed907c42d0d0d55225d04ba35b211389e05264f39" + "bytecodeHash": "0x0100016d1ab20fe06db07fde1a6650351b3acf6333d17b2aed1b5a4d0a080cc9", + "sourceCodeHash": "0xe289c3a39b5c9837d71ab2d79afce20c28a8474c4f008719c5b1d0c2f3725e33" }, { "contractName": "ContractDeployer", "bytecodePath": "artifacts-zk/contracts-preprocessed/ContractDeployer.sol/ContractDeployer.json", "sourceCodePath": "contracts-preprocessed/ContractDeployer.sol", - "bytecodeHash": "0x010005558daa1f4614db70926a461846133f7562fb2fc527cec2d7996ab9eda9", + "bytecodeHash": "0x010005552597d601ea6d385915fc25b47991d663878984fdb1edf90614c0811f", "sourceCodeHash": "0x37deef4ef277cf0d1e0c56194650beceaeaa2fa3f0e5d0165ef60b7f2fb6a859" }, { "contractName": "DefaultAccount", "bytecodePath": "artifacts-zk/contracts-preprocessed/DefaultAccount.sol/DefaultAccount.json", "sourceCodePath": "contracts-preprocessed/DefaultAccount.sol", - "bytecodeHash": "0x0100055ba27d661e3edd3f9f7a243526d5267128ef009a8f0db85b752858ad0b", - "sourceCodeHash": "0x70e86270ae78eec5e5008fdd9048f251fe774b99562f845edb4e324090ee128b" + "bytecodeHash": "0x0100055b6ae06028ec85398c9e559dd03cb0caeeeb0a1b8ed238030ce739e10c", + "sourceCodeHash": "0xa6931c6e2f7545d24c361cea1a498393e6352f138d476a837114415c6f557630" }, { "contractName": "EmptyContract", @@ -52,56 +52,56 @@ "contractName": "ImmutableSimulator", "bytecodePath": "artifacts-zk/contracts-preprocessed/ImmutableSimulator.sol/ImmutableSimulator.json", "sourceCodePath": "contracts-preprocessed/ImmutableSimulator.sol", - "bytecodeHash": "0x0100003dd0113c7494c03eca9c321cd28dd4884a1661db76ef63f4c2dd261dcd", + "bytecodeHash": "0x0100003d5fa4db54a522799d09883f176ea0a26428b1f7a76afd0f01a9f9c077", "sourceCodeHash": "0x30df621c72cb35b8820b902b91057f72d0214a0e4a6b7ad4c0847e674e8b9df8" }, { "contractName": "KnownCodesStorage", "bytecodePath": "artifacts-zk/contracts-preprocessed/KnownCodesStorage.sol/KnownCodesStorage.json", "sourceCodePath": "contracts-preprocessed/KnownCodesStorage.sol", - "bytecodeHash": "0x0100007d9ed27cb7f11314f0b33ed721a2a360522668fe16f98023006c84569e", + "bytecodeHash": "0x0100007de3958ee5d2100a86bc11b43a80b08b9f2d92fe73861eecc196712e11", "sourceCodeHash": "0x51d388adc58f67ef975a94a7978caa60ed8a0df9d3bd9ac723dfcfc540286c70" }, { "contractName": "L1Messenger", "bytecodePath": "artifacts-zk/contracts-preprocessed/L1Messenger.sol/L1Messenger.json", "sourceCodePath": "contracts-preprocessed/L1Messenger.sol", - "bytecodeHash": "0x010002af50ee7c9b4ca1e25dfa884562dd52ca09e146feede064af4d5d68d1ed", + "bytecodeHash": "0x010002af3e947b7c05278e4dc09a8e57c7e5e696200b88b061f8119a7c5cf091", "sourceCodeHash": "0x85a2d5884c92a28c298e626f8c9b0cdba868f2e6fddfe199dacb7900b889131a" }, { "contractName": "L2BaseToken", "bytecodePath": "artifacts-zk/contracts-preprocessed/L2BaseToken.sol/L2BaseToken.json", "sourceCodePath": "contracts-preprocessed/L2BaseToken.sol", - "bytecodeHash": "0x010001018a6e54484bfb3e1bd433be35a217d5efeebccb01703f6fe9b5e8b10f", + "bytecodeHash": "0x01000101162b0bfe5c52348cbfc34b84a5ccbc190445b1358f7b37be696036a2", "sourceCodeHash": "0x5cfb3a7f69db57a455682f339879a5d5ae679c8deff2ea6669b0a6d0fe538d6c" }, { "contractName": "MsgValueSimulator", "bytecodePath": "artifacts-zk/contracts-preprocessed/MsgValueSimulator.sol/MsgValueSimulator.json", "sourceCodePath": "contracts-preprocessed/MsgValueSimulator.sol", - "bytecodeHash": "0x01000063f883aa154adbb1a55c95121c381ed119ca97313ec4957ca9c1d1ba86", + "bytecodeHash": "0x010000634de420b70858e907a0307bcf8e4cdd66c923fd3fd6878f64124771b6", "sourceCodeHash": "0xd052abaab1b0091c37d0763bba924ff5ed2be59f68cc29a850cb9b41de72bc06" }, { "contractName": "NonceHolder", "bytecodePath": "artifacts-zk/contracts-preprocessed/NonceHolder.sol/NonceHolder.json", "sourceCodePath": "contracts-preprocessed/NonceHolder.sol", - "bytecodeHash": "0x010000e5725c4f4744426fd6644afafbcda8352b9e2b8d2c62daad893f8491bd", + "bytecodeHash": "0x010000e5a2bc213fb9106957477aac2f279a6f53850b8f917011addefe76e47d", "sourceCodeHash": "0x91847512344ac5026e9fd396189c23ad9e253f22cb6e2fe65805c20c915797d4" }, { "contractName": "PubdataChunkPublisher", "bytecodePath": "artifacts-zk/contracts-preprocessed/PubdataChunkPublisher.sol/PubdataChunkPublisher.json", "sourceCodePath": "contracts-preprocessed/PubdataChunkPublisher.sol", - "bytecodeHash": "0x01000047ca04a7a662793f5b79eeed7bca4092b965a4d7020c8796ae084ce3aa", - "sourceCodeHash": "0x4ef08d1890c90e8c1aee092022c56bdef975b4ceb69da62a1a76830a35d703ed" + "bytecodeHash": "0x0100004762929cc4af0e20f8f36d54139da2de33771776b7183f80fcb00de0bf", + "sourceCodeHash": "0x590a1db7278ba5a40153555b4fe47f3b15e04d55aa06c0f996483730cd1a5998" }, { "contractName": "SystemContext", "bytecodePath": "artifacts-zk/contracts-preprocessed/SystemContext.sol/SystemContext.json", "sourceCodePath": "contracts-preprocessed/SystemContext.sol", - "bytecodeHash": "0x010001872ce98f852d99bff6f2f154aa3ceb979e06ecc990ff11dbf66d5ee901", + "bytecodeHash": "0x01000187ea1e0f19a588925644a4e01b90b6b79863f3b175b73088627317433b", "sourceCodeHash": "0x95af356a9c20e9faafae8f404049c5312e4666b85110600d8a6e00b21d5e3bd5" }, { diff --git a/system-contracts/contracts/AccountCodeStorage.sol b/system-contracts/contracts/AccountCodeStorage.sol index d5027f2f5..399ea54f5 100644 --- a/system-contracts/contracts/AccountCodeStorage.sol +++ b/system-contracts/contracts/AccountCodeStorage.sol @@ -2,8 +2,8 @@ pragma solidity 0.8.20; -import "./interfaces/IAccountCodeStorage.sol"; -import "./libraries/Utils.sol"; +import {IAccountCodeStorage} from "./interfaces/IAccountCodeStorage.sol"; +import {Utils} from "./libraries/Utils.sol"; import {DEPLOYER_SYSTEM_CONTRACT, NONCE_HOLDER_SYSTEM_CONTRACT, CURRENT_MAX_PRECOMPILE_ADDRESS} from "./Constants.sol"; /** diff --git a/system-contracts/contracts/Compressor.sol b/system-contracts/contracts/Compressor.sol index 9830f92cb..640f022f5 100644 --- a/system-contracts/contracts/Compressor.sol +++ b/system-contracts/contracts/Compressor.sol @@ -7,7 +7,7 @@ import {ISystemContract} from "./interfaces/ISystemContract.sol"; import {Utils} from "./libraries/Utils.sol"; import {UnsafeBytesCalldata} from "./libraries/UnsafeBytesCalldata.sol"; import {EfficientCall} from "./libraries/EfficientCall.sol"; -import {L1_MESSENGER_CONTRACT, INITIAL_WRITE_STARTING_POSITION, COMPRESSED_INITIAL_WRITE_SIZE, STATE_DIFF_ENTRY_SIZE, STATE_DIFF_ENUM_INDEX_OFFSET, STATE_DIFF_FINAL_VALUE_OFFSET, STATE_DIFF_DERIVED_KEY_OFFSET, DERIVED_KEY_LENGTH, VALUE_LENGTH, ENUM_INDEX_LENGTH, KNOWN_CODE_STORAGE_CONTRACT} from "./Constants.sol"; +import {L1_MESSENGER_CONTRACT, STATE_DIFF_ENTRY_SIZE, KNOWN_CODE_STORAGE_CONTRACT} from "./Constants.sol"; /** * @author Matter Labs diff --git a/system-contracts/contracts/DefaultAccount.sol b/system-contracts/contracts/DefaultAccount.sol index 006d808e2..650b1eeeb 100644 --- a/system-contracts/contracts/DefaultAccount.sol +++ b/system-contracts/contracts/DefaultAccount.sol @@ -2,11 +2,13 @@ pragma solidity 0.8.20; -import "./interfaces/IAccount.sol"; -import "./libraries/TransactionHelper.sol"; -import "./libraries/SystemContractHelper.sol"; -import "./libraries/EfficientCall.sol"; +import {IAccount, ACCOUNT_VALIDATION_SUCCESS_MAGIC} from "./interfaces/IAccount.sol"; +import {TransactionHelper, Transaction} from "./libraries/TransactionHelper.sol"; +import {SystemContractsCaller} from "./libraries/SystemContractsCaller.sol"; +import {SystemContractHelper} from "./libraries/SystemContractHelper.sol"; +import {EfficientCall} from "./libraries/EfficientCall.sol"; import {BOOTLOADER_FORMAL_ADDRESS, NONCE_HOLDER_SYSTEM_CONTRACT, DEPLOYER_SYSTEM_CONTRACT, INonceHolder} from "./Constants.sol"; +import {Utils} from "./libraries/Utils.sol"; /** * @author Matter Labs diff --git a/system-contracts/contracts/PubdataChunkPublisher.sol b/system-contracts/contracts/PubdataChunkPublisher.sol index 2e6fe3caf..b368b78b0 100644 --- a/system-contracts/contracts/PubdataChunkPublisher.sol +++ b/system-contracts/contracts/PubdataChunkPublisher.sol @@ -4,7 +4,6 @@ pragma solidity 0.8.20; import {IPubdataChunkPublisher} from "./interfaces/IPubdataChunkPublisher.sol"; import {ISystemContract} from "./interfaces/ISystemContract.sol"; import {L1_MESSENGER_CONTRACT, BLOB_SIZE_BYTES, MAX_NUMBER_OF_BLOBS} from "./Constants.sol"; -import {EfficientCall} from "./libraries/EfficientCall.sol"; import {SystemContractHelper} from "./libraries/SystemContractHelper.sol"; import {SystemLogKey} from "./Constants.sol"; diff --git a/system-contracts/contracts/interfaces/IAccount.sol b/system-contracts/contracts/interfaces/IAccount.sol index 3ee3f616c..c32b35767 100644 --- a/system-contracts/contracts/interfaces/IAccount.sol +++ b/system-contracts/contracts/interfaces/IAccount.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../libraries/TransactionHelper.sol"; +import {Transaction} from "../libraries/TransactionHelper.sol"; bytes4 constant ACCOUNT_VALIDATION_SUCCESS_MAGIC = IAccount.validateTransaction.selector; diff --git a/system-contracts/contracts/interfaces/IBootloaderUtilities.sol b/system-contracts/contracts/interfaces/IBootloaderUtilities.sol index e995295e1..31413320a 100644 --- a/system-contracts/contracts/interfaces/IBootloaderUtilities.sol +++ b/system-contracts/contracts/interfaces/IBootloaderUtilities.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../libraries/TransactionHelper.sol"; +import {Transaction} from "../libraries/TransactionHelper.sol"; interface IBootloaderUtilities { function getTransactionHashes( diff --git a/system-contracts/contracts/interfaces/IPaymaster.sol b/system-contracts/contracts/interfaces/IPaymaster.sol index 3511308f1..7b06d86ee 100644 --- a/system-contracts/contracts/interfaces/IPaymaster.sol +++ b/system-contracts/contracts/interfaces/IPaymaster.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "../libraries/TransactionHelper.sol"; +import {Transaction} from "../libraries/TransactionHelper.sol"; enum ExecutionResult { Revert, diff --git a/system-contracts/contracts/libraries/EfficientCall.sol b/system-contracts/contracts/libraries/EfficientCall.sol index 22801d6f7..f44ac5185 100644 --- a/system-contracts/contracts/libraries/EfficientCall.sol +++ b/system-contracts/contracts/libraries/EfficientCall.sol @@ -2,8 +2,9 @@ pragma solidity 0.8.20; -import "./SystemContractHelper.sol"; -import "./Utils.sol"; +import {SystemContractHelper, ADDRESS_MASK} from "./SystemContractHelper.sol"; +import {SystemContractsCaller, CalldataForwardingMode, RAW_FAR_CALL_BY_REF_CALL_ADDRESS, SYSTEM_CALL_BY_REF_CALL_ADDRESS, MSG_VALUE_SIMULATOR_IS_SYSTEM_BIT, MIMIC_CALL_BY_REF_CALL_ADDRESS} from "./SystemContractsCaller.sol"; +import {Utils} from "./Utils.sol"; import {SHA256_SYSTEM_CONTRACT, KECCAK256_SYSTEM_CONTRACT, MSG_VALUE_SYSTEM_CONTRACT} from "../Constants.sol"; /** diff --git a/system-contracts/contracts/libraries/SystemContractHelper.sol b/system-contracts/contracts/libraries/SystemContractHelper.sol index 8675d4f70..ba7c0aa19 100644 --- a/system-contracts/contracts/libraries/SystemContractHelper.sol +++ b/system-contracts/contracts/libraries/SystemContractHelper.sol @@ -4,7 +4,7 @@ pragma solidity 0.8.20; import {MAX_SYSTEM_CONTRACT_ADDRESS} from "../Constants.sol"; -import {SystemContractsCaller, CalldataForwardingMode, CALLFLAGS_CALL_ADDRESS, CODE_ADDRESS_CALL_ADDRESS, EVENT_WRITE_ADDRESS, EVENT_INITIALIZE_ADDRESS, GET_EXTRA_ABI_DATA_ADDRESS, LOAD_CALLDATA_INTO_ACTIVE_PTR_CALL_ADDRESS, META_CODE_SHARD_ID_OFFSET, META_CALLER_SHARD_ID_OFFSET, META_SHARD_ID_OFFSET, META_AUX_HEAP_SIZE_OFFSET, META_HEAP_SIZE_OFFSET, META_GAS_PER_PUBDATA_BYTE_OFFSET, MIMIC_CALL_BY_REF_CALL_ADDRESS, META_CALL_ADDRESS, MSG_VALUE_SIMULATOR_IS_SYSTEM_BIT, PTR_CALLDATA_CALL_ADDRESS, PTR_ADD_INTO_ACTIVE_CALL_ADDRESS, PTR_SHRINK_INTO_ACTIVE_CALL_ADDRESS, PTR_PACK_INTO_ACTIVE_CALL_ADDRESS, RAW_FAR_CALL_BY_REF_CALL_ADDRESS, PRECOMPILE_CALL_ADDRESS, SET_CONTEXT_VALUE_CALL_ADDRESS, SYSTEM_CALL_BY_REF_CALL_ADDRESS, TO_L1_CALL_ADDRESS} from "./SystemContractsCaller.sol"; +import {CALLFLAGS_CALL_ADDRESS, CODE_ADDRESS_CALL_ADDRESS, EVENT_WRITE_ADDRESS, EVENT_INITIALIZE_ADDRESS, GET_EXTRA_ABI_DATA_ADDRESS, LOAD_CALLDATA_INTO_ACTIVE_PTR_CALL_ADDRESS, META_CODE_SHARD_ID_OFFSET, META_CALLER_SHARD_ID_OFFSET, META_SHARD_ID_OFFSET, META_AUX_HEAP_SIZE_OFFSET, META_HEAP_SIZE_OFFSET, META_GAS_PER_PUBDATA_BYTE_OFFSET, META_CALL_ADDRESS, PTR_CALLDATA_CALL_ADDRESS, PTR_ADD_INTO_ACTIVE_CALL_ADDRESS, PTR_SHRINK_INTO_ACTIVE_CALL_ADDRESS, PTR_PACK_INTO_ACTIVE_CALL_ADDRESS, PRECOMPILE_CALL_ADDRESS, SET_CONTEXT_VALUE_CALL_ADDRESS, TO_L1_CALL_ADDRESS} from "./SystemContractsCaller.sol"; uint256 constant UINT32_MASK = 0xffffffff; uint256 constant UINT128_MASK = 0xffffffffffffffffffffffffffffffff; diff --git a/system-contracts/contracts/libraries/SystemContractsCaller.sol b/system-contracts/contracts/libraries/SystemContractsCaller.sol index 7be179929..3ef62063d 100644 --- a/system-contracts/contracts/libraries/SystemContractsCaller.sol +++ b/system-contracts/contracts/libraries/SystemContractsCaller.sol @@ -3,7 +3,7 @@ pragma solidity 0.8.20; import {MSG_VALUE_SYSTEM_CONTRACT, MSG_VALUE_SIMULATOR_IS_SYSTEM_BIT} from "../Constants.sol"; -import "./Utils.sol"; +import {Utils} from "./Utils.sol"; // Addresses used for the compiler to be replaced with the // zkSync-specific opcodes during the compilation. diff --git a/system-contracts/contracts/libraries/TransactionHelper.sol b/system-contracts/contracts/libraries/TransactionHelper.sol index 507991dab..31e665baa 100644 --- a/system-contracts/contracts/libraries/TransactionHelper.sol +++ b/system-contracts/contracts/libraries/TransactionHelper.sol @@ -2,14 +2,13 @@ pragma solidity 0.8.20; -import "../openzeppelin/token/ERC20/IERC20.sol"; -import "../openzeppelin/token/ERC20/utils/SafeERC20.sol"; +import {IERC20} from "../openzeppelin/token/ERC20/IERC20.sol"; +import {SafeERC20} from "../openzeppelin/token/ERC20/utils/SafeERC20.sol"; -import "../interfaces/IPaymasterFlow.sol"; -import "../interfaces/IContractDeployer.sol"; +import {IPaymasterFlow} from "../interfaces/IPaymasterFlow.sol"; import {BASE_TOKEN_SYSTEM_CONTRACT, BOOTLOADER_FORMAL_ADDRESS} from "../Constants.sol"; -import "./RLPEncoder.sol"; -import "./EfficientCall.sol"; +import {RLPEncoder} from "./RLPEncoder.sol"; +import {EfficientCall} from "./EfficientCall.sol"; /// @dev The type id of zkSync's EIP-712-signed transaction. uint8 constant EIP_712_TX_TYPE = 0x71; diff --git a/system-contracts/contracts/libraries/Utils.sol b/system-contracts/contracts/libraries/Utils.sol index a27915207..5fa7eec6f 100644 --- a/system-contracts/contracts/libraries/Utils.sol +++ b/system-contracts/contracts/libraries/Utils.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.20; -import "./EfficientCall.sol"; +import {EfficientCall} from "./EfficientCall.sol"; /** * @author Matter Labs diff --git a/system-contracts/contracts/openzeppelin/token/ERC20/utils/SafeERC20.sol b/system-contracts/contracts/openzeppelin/token/ERC20/utils/SafeERC20.sol index 4a07fff2a..6527a9dd2 100644 --- a/system-contracts/contracts/openzeppelin/token/ERC20/utils/SafeERC20.sol +++ b/system-contracts/contracts/openzeppelin/token/ERC20/utils/SafeERC20.sol @@ -3,9 +3,9 @@ pragma solidity ^0.8.0; -import "../IERC20.sol"; -import "../extensions/IERC20Permit.sol"; -import "../../../utils/Address.sol"; +import {IERC20} from "../IERC20.sol"; +import {IERC20Permit} from "../extensions/IERC20Permit.sol"; +import {Address} from "../../../utils/Address.sol"; /** * @title SafeERC20 diff --git a/system-contracts/contracts/test-contracts/KeccakTest.sol b/system-contracts/contracts/test-contracts/KeccakTest.sol index 4020ac065..b03b899e2 100644 --- a/system-contracts/contracts/test-contracts/KeccakTest.sol +++ b/system-contracts/contracts/test-contracts/KeccakTest.sol @@ -3,9 +3,8 @@ pragma solidity ^0.8.0; pragma abicoder v2; -import "../libraries/SystemContractsCaller.sol"; -import "../Constants.sol"; -import "../libraries/EfficientCall.sol"; +import {LOAD_LATEST_RETURNDATA_INTO_ACTIVE_PTR_CALL_ADDRESS, PTR_PACK_INTO_ACTIVE_CALL_ADDRESS, SystemContractsCaller, CalldataForwardingMode, RAW_FAR_CALL_BY_REF_CALL_ADDRESS} from "../libraries/SystemContractsCaller.sol"; +import {EfficientCall, KECCAK256_SYSTEM_CONTRACT} from "../libraries/EfficientCall.sol"; // In this test it is important to actually change the real Keccak256's contract's bytecode, // which requires changes in the real AccountCodeStorage contract diff --git a/system-contracts/contracts/test-contracts/SystemCaller.sol b/system-contracts/contracts/test-contracts/SystemCaller.sol index 77bfa707f..96c512d9f 100644 --- a/system-contracts/contracts/test-contracts/SystemCaller.sol +++ b/system-contracts/contracts/test-contracts/SystemCaller.sol @@ -3,7 +3,7 @@ pragma solidity 0.8.20; import {SYSTEM_CALL_CALL_ADDRESS, MSG_VALUE_SIMULATOR_IS_SYSTEM_BIT, SystemContractsCaller, CalldataForwardingMode} from "../libraries/SystemContractsCaller.sol"; -import "../libraries/Utils.sol"; +import {Utils} from "../libraries/Utils.sol"; address constant REAL_MSG_VALUE_SYSTEM_CONTRACT = address(0x8009); diff --git a/tools/data/verifier_contract_template.txt b/tools/data/verifier_contract_template.txt index 9cc5be117..f3f0372a3 100644 --- a/tools/data/verifier_contract_template.txt +++ b/tools/data/verifier_contract_template.txt @@ -2,7 +2,7 @@ pragma solidity 0.8.20; -import "./chain-interfaces/IVerifier.sol"; +import {IVerifier} from "./chain-interfaces/IVerifier.sol"; /* solhint-disable max-line-length */ /// @author Matter Labs