[Feat] Floating pragma for inherited contracts (#630)

* floating pragma for inherited contracts

* make ratelimiter abstract contract
This commit is contained in:
kyzooghost
2025-02-04 20:28:54 +11:00
committed by GitHub
parent 672e5ed8d7
commit 1a811f452d
39 changed files with 40 additions and 40 deletions

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
import { IPauseManager } from "../../../security/pausing/interfaces/IPauseManager.sol";
import { IPermissionsManager } from "../../../security/access/interfaces/IPermissionsManager.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
/**
* @title Contract to fill space in storage to maintain storage layout.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
/**
* @title Interface declaring generic errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
/**
* @title Contract to manage some efficient hashing functions.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
/**
* @title Library that provides helper functions to interact with transient storage.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import { IMessageService } from "./interfaces/IMessageService.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
/**
* @title Interface declaring pre-existing cross-chain messaging functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { BitMaps } from "@openzeppelin/contracts/utils/structs/BitMaps.sol";
import { L1MessageManagerV1 } from "./v1/L1MessageManagerV1.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { L1MessageServiceV1 } from "./v1/L1MessageServiceV1.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
/**
* @title L1 Message manager interface for current functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
/**
* @title L1 Message Service interface for pre-existing functions, events, structs and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { IL1MessageManagerV1 } from "./interfaces/IL1MessageManagerV1.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { LineaRollupPauseManager } from "../../../security/pausing/LineaRollupPauseManager.sol";
import { RateLimiter } from "../../../security/limiting/RateLimiter.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
/**
* @title L1 Message manager V1 interface for pre-existing errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { L2MessageManagerV1 } from "./v1/L2MessageManagerV1.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
/**
* @title Interface declaring cross-chain messaging on L2 functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import { IL2MessageManagerV1 } from "./interfaces/IL2MessageManagerV1.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
import { ReentrancyGuardUpgradeable } from "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
import { IMessageService } from "../../interfaces/IMessageService.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
/**
* @title Interface declaring pre-existing cross-chain messaging on L2 functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
/**
* @title L2 Message Service interface for pre-existing functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
/**
* @title Library to hash cross-chain messages.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { EfficientLeftRightKeccak } from "../../libraries/EfficientLeftRightKeccak.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
/**
* @title Interface declaring IRecoverFunds errors and functions.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { L1MessageServiceV1 } from "../messaging/l1/v1/L1MessageServiceV1.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { IPauseManager } from "../../security/pausing/interfaces/IPauseManager.sol";
import { IPermissionsManager } from "../../security/access/interfaces/IPermissionsManager.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
/**
* @title ZkEvm rollup interface for pre-existing functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { IGenericErrors } from "../../interfaces/IGenericErrors.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
/**
* @title Interface declaring permissions manager related data types.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { IRateLimiter } from "./interfaces/IRateLimiter.sol";
@@ -10,7 +10,7 @@ import { IRateLimiter } from "./interfaces/IRateLimiter.sol";
* @notice You can use this control numeric limits over a period using timestamp.
* @custom:security-contact security-report@linea.build
*/
contract RateLimiter is IRateLimiter, AccessControlUpgradeable {
abstract contract RateLimiter is IRateLimiter, AccessControlUpgradeable {
bytes32 public constant RATE_LIMIT_SETTER_ROLE = keccak256("RATE_LIMIT_SETTER_ROLE");
bytes32 public constant USED_RATE_LIMIT_RESETTER_ROLE = keccak256("USED_RATE_LIMIT_RESETTER_ROLE");

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
/**
* @title Interface declaring rate limiting messaging functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
import { PauseManager } from "./PauseManager.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
import { PauseManager } from "./PauseManager.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { IPauseManager } from "./interfaces/IPauseManager.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
import { PauseManager } from "./PauseManager.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity >=0.8.19 <=0.8.26;
pragma solidity ^0.8.19;
/**
* @title Interface declaring pre-existing pausing functions, events and errors.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
import { TransientStorageHelpers } from "../../libraries/TransientStorageHelpers.sol";

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
/**
* @title Token Minter Interface.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.19;
pragma solidity ^0.8.19;
/**
* @title Token Minting Rate Limiter Interface.

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.26;
pragma solidity ^0.8.26;
/**
* @title Interface declaring verifier functions.