diff --git a/contracts/smart-account/BaseSmartAccount.sol b/contracts/smart-account/BaseSmartAccount.sol index 1359881f..c0727278 100644 --- a/contracts/smart-account/BaseSmartAccount.sol +++ b/contracts/smart-account/BaseSmartAccount.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IBaseSmartAccount} from "./interfaces/IBaseSmartAccount.sol"; import {IEntryPoint} from "@account-abstraction/contracts/interfaces/IEntryPoint.sol"; diff --git a/contracts/smart-account/Proxy.sol b/contracts/smart-account/Proxy.sol index 7fce7c5f..20e238f4 100644 --- a/contracts/smart-account/Proxy.sol +++ b/contracts/smart-account/Proxy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Proxy // This is the user's Smart Account diff --git a/contracts/smart-account/SmartAccount.sol b/contracts/smart-account/SmartAccount.sol index 79f66f15..cf2436a6 100644 --- a/contracts/smart-account/SmartAccount.sol +++ b/contracts/smart-account/SmartAccount.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; import {BaseSmartAccount, IEntryPoint, UserOperation} from "./BaseSmartAccount.sol"; diff --git a/contracts/smart-account/base/Executor.sol b/contracts/smart-account/base/Executor.sol index 7306fd58..66b62b9f 100644 --- a/contracts/smart-account/base/Executor.sol +++ b/contracts/smart-account/base/Executor.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IExecutor} from "../interfaces/base/IExecutor.sol"; import {Enum} from "../common/Enum.sol"; diff --git a/contracts/smart-account/base/FallbackManager.sol b/contracts/smart-account/base/FallbackManager.sol index 447cf96f..37dd9d40 100644 --- a/contracts/smart-account/base/FallbackManager.sol +++ b/contracts/smart-account/base/FallbackManager.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {SelfAuthorized} from "../common/SelfAuthorized.sol"; import {IFallbackManager} from "../interfaces/base/IFallbackManager.sol"; diff --git a/contracts/smart-account/base/ModuleManager.sol b/contracts/smart-account/base/ModuleManager.sol index f366ae75..49c6a535 100644 --- a/contracts/smart-account/base/ModuleManager.sol +++ b/contracts/smart-account/base/ModuleManager.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {SelfAuthorized} from "../common/SelfAuthorized.sol"; import {Executor, Enum} from "./Executor.sol"; diff --git a/contracts/smart-account/common/Enum.sol b/contracts/smart-account/common/Enum.sol index a48f06b0..9868b2ac 100644 --- a/contracts/smart-account/common/Enum.sol +++ b/contracts/smart-account/common/Enum.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /// @title Enum - Collection of enums abstract contract Enum { diff --git a/contracts/smart-account/common/ReentrancyGuard.sol b/contracts/smart-account/common/ReentrancyGuard.sol index 887cf082..d5db8b02 100644 --- a/contracts/smart-account/common/ReentrancyGuard.sol +++ b/contracts/smart-account/common/ReentrancyGuard.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title ReentrancyGuard diff --git a/contracts/smart-account/common/SecuredTokenTransfer.sol b/contracts/smart-account/common/SecuredTokenTransfer.sol index 067c6767..3fa2053b 100644 --- a/contracts/smart-account/common/SecuredTokenTransfer.sol +++ b/contracts/smart-account/common/SecuredTokenTransfer.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /// @title SecuredTokenTransfer - Secure token transfer abstract contract SecuredTokenTransfer { diff --git a/contracts/smart-account/common/SelfAuthorized.sol b/contracts/smart-account/common/SelfAuthorized.sol index 6cc8853b..f40c1c41 100644 --- a/contracts/smart-account/common/SelfAuthorized.sol +++ b/contracts/smart-account/common/SelfAuthorized.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {ISelfAuthorized} from "../interfaces/common/ISelfAuthorized.sol"; diff --git a/contracts/smart-account/common/SignatureDecoder.sol b/contracts/smart-account/common/SignatureDecoder.sol index 84496351..59b6b95b 100644 --- a/contracts/smart-account/common/SignatureDecoder.sol +++ b/contracts/smart-account/common/SignatureDecoder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /// @title SignatureDecoder - Decodes signatures that a encoded as bytes abstract contract SignatureDecoder { diff --git a/contracts/smart-account/common/Stakeable.sol b/contracts/smart-account/common/Stakeable.sol index ebf4d51e..044e765a 100644 --- a/contracts/smart-account/common/Stakeable.sol +++ b/contracts/smart-account/common/Stakeable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {IEntryPoint} from "@account-abstraction/contracts/interfaces/IEntryPoint.sol"; diff --git a/contracts/smart-account/deployer/Create3.sol b/contracts/smart-account/deployer/Create3.sol index ab9fe535..c5a6cbb4 100644 --- a/contracts/smart-account/deployer/Create3.sol +++ b/contracts/smart-account/deployer/Create3.sol @@ -1,5 +1,5 @@ //SPDX-License-Identifier: Unlicense -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** @title A library for deploying contracts EIP-3171 style. diff --git a/contracts/smart-account/deployer/Deployer.sol b/contracts/smart-account/deployer/Deployer.sol index 53640433..4cd8276a 100644 --- a/contracts/smart-account/deployer/Deployer.sol +++ b/contracts/smart-account/deployer/Deployer.sol @@ -1,5 +1,5 @@ //SPDX-License-Identifier: Unlicense -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "./Create3.sol"; diff --git a/contracts/smart-account/factory/SmartAccountFactory.sol b/contracts/smart-account/factory/SmartAccountFactory.sol index 748624b6..03e2317c 100644 --- a/contracts/smart-account/factory/SmartAccountFactory.sol +++ b/contracts/smart-account/factory/SmartAccountFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "../Proxy.sol"; import "../BaseSmartAccount.sol"; diff --git a/contracts/smart-account/handler/DefaultCallbackHandler.sol b/contracts/smart-account/handler/DefaultCallbackHandler.sol index 97c1d8c1..122529c1 100644 --- a/contracts/smart-account/handler/DefaultCallbackHandler.sol +++ b/contracts/smart-account/handler/DefaultCallbackHandler.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /* solhint-disable no-empty-blocks */ diff --git a/contracts/smart-account/interfaces/IAccountRecoveryModule.sol b/contracts/smart-account/interfaces/IAccountRecoveryModule.sol index 23750e2a..81024a51 100644 --- a/contracts/smart-account/interfaces/IAccountRecoveryModule.sol +++ b/contracts/smart-account/interfaces/IAccountRecoveryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; interface IAccountRecoveryModule { /** diff --git a/contracts/smart-account/interfaces/IAddressResolver.sol b/contracts/smart-account/interfaces/IAddressResolver.sol index 3fac10a0..a2cb4f4a 100644 --- a/contracts/smart-account/interfaces/IAddressResolver.sol +++ b/contracts/smart-account/interfaces/IAddressResolver.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; interface IAddressResolver { struct SmartAccountResult { diff --git a/contracts/smart-account/interfaces/IAuthorizationModule.sol b/contracts/smart-account/interfaces/IAuthorizationModule.sol index 8b3645c1..184a5d8a 100644 --- a/contracts/smart-account/interfaces/IAuthorizationModule.sol +++ b/contracts/smart-account/interfaces/IAuthorizationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/interfaces/IBaseSmartAccount.sol b/contracts/smart-account/interfaces/IBaseSmartAccount.sol index c557dfbc..7d979afb 100644 --- a/contracts/smart-account/interfaces/IBaseSmartAccount.sol +++ b/contracts/smart-account/interfaces/IBaseSmartAccount.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IAccount} from "@account-abstraction/contracts/interfaces/IAccount.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/interfaces/ISignatureValidator.sol b/contracts/smart-account/interfaces/ISignatureValidator.sol index b1a18b43..5f4791e3 100644 --- a/contracts/smart-account/interfaces/ISignatureValidator.sol +++ b/contracts/smart-account/interfaces/ISignatureValidator.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; // bytes4(keccak256("isValidSignature(bytes32,bytes)") bytes4 constant EIP1271_MAGIC_VALUE = 0x1626ba7e; diff --git a/contracts/smart-account/interfaces/ISmartAccount.sol b/contracts/smart-account/interfaces/ISmartAccount.sol index a66fe53f..04e6f6b5 100644 --- a/contracts/smart-account/interfaces/ISmartAccount.sol +++ b/contracts/smart-account/interfaces/ISmartAccount.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IBaseSmartAccount} from "./IBaseSmartAccount.sol"; import {IModuleManager} from "./base/IModuleManager.sol"; diff --git a/contracts/smart-account/interfaces/base/IExecutor.sol b/contracts/smart-account/interfaces/base/IExecutor.sol index fcc4f555..09d85558 100644 --- a/contracts/smart-account/interfaces/base/IExecutor.sol +++ b/contracts/smart-account/interfaces/base/IExecutor.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {Enum} from "../../common/Enum.sol"; diff --git a/contracts/smart-account/interfaces/base/IFallbackManager.sol b/contracts/smart-account/interfaces/base/IFallbackManager.sol index f83286cf..167ff5d7 100644 --- a/contracts/smart-account/interfaces/base/IFallbackManager.sol +++ b/contracts/smart-account/interfaces/base/IFallbackManager.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Fallback Manager - A contract that manages fallback calls made to the Smart Account diff --git a/contracts/smart-account/interfaces/base/IModuleManager.sol b/contracts/smart-account/interfaces/base/IModuleManager.sol index 878e0789..55c0d536 100644 --- a/contracts/smart-account/interfaces/base/IModuleManager.sol +++ b/contracts/smart-account/interfaces/base/IModuleManager.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {Enum} from "../../common/Enum.sol"; diff --git a/contracts/smart-account/interfaces/common/ISelfAuthorized.sol b/contracts/smart-account/interfaces/common/ISelfAuthorized.sol index 2eff34c7..3371f6fe 100644 --- a/contracts/smart-account/interfaces/common/ISelfAuthorized.sol +++ b/contracts/smart-account/interfaces/common/ISelfAuthorized.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /// @title SelfAuthorized - authorizes current contract to perform actions interface ISelfAuthorized { diff --git a/contracts/smart-account/interfaces/common/IStakeable.sol b/contracts/smart-account/interfaces/common/IStakeable.sol index bf98a65e..fcd3e1f5 100644 --- a/contracts/smart-account/interfaces/common/IStakeable.sol +++ b/contracts/smart-account/interfaces/common/IStakeable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Stakeable Entity diff --git a/contracts/smart-account/interfaces/factory/ISmartAccountFactory.sol b/contracts/smart-account/interfaces/factory/ISmartAccountFactory.sol index f75870f5..2d76f23c 100644 --- a/contracts/smart-account/interfaces/factory/ISmartAccountFactory.sol +++ b/contracts/smart-account/interfaces/factory/ISmartAccountFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Smart Account Factory - factory responsible for deploying Smart Accounts using CREATE2 and CREATE diff --git a/contracts/smart-account/interfaces/factory/ISmartAccountFactoryV1.sol b/contracts/smart-account/interfaces/factory/ISmartAccountFactoryV1.sol index e3db76a3..548baed2 100644 --- a/contracts/smart-account/interfaces/factory/ISmartAccountFactoryV1.sol +++ b/contracts/smart-account/interfaces/factory/ISmartAccountFactoryV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; interface ISmartAccountFactoryV1 { function getAddressForCounterFactualAccount( diff --git a/contracts/smart-account/interfaces/modules/IBaseAuthorizationModule.sol b/contracts/smart-account/interfaces/modules/IBaseAuthorizationModule.sol index c9b11423..bede17ca 100644 --- a/contracts/smart-account/interfaces/modules/IBaseAuthorizationModule.sol +++ b/contracts/smart-account/interfaces/modules/IBaseAuthorizationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IAuthorizationModule} from "../../interfaces/IAuthorizationModule.sol"; import {ISignatureValidator} from "../../interfaces/ISignatureValidator.sol"; diff --git a/contracts/smart-account/interfaces/modules/IBatchedSessionRouterModule.sol b/contracts/smart-account/interfaces/modules/IBatchedSessionRouterModule.sol index ba0be842..0c49ace7 100644 --- a/contracts/smart-account/interfaces/modules/IBatchedSessionRouterModule.sol +++ b/contracts/smart-account/interfaces/modules/IBatchedSessionRouterModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Batched Session Router diff --git a/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPlugin.sol b/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPlugin.sol index b5219a9a..81707f17 100644 --- a/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPlugin.sol +++ b/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPlugin.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {ISecurityPolicyPlugin} from "contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPlugin.sol"; import {IERC7484SecurityPolicyPluginEventsErrors} from "contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPluginEventsErrors.sol"; diff --git a/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPluginEventsErrors.sol b/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPluginEventsErrors.sol index 40d2016d..adc7d8a8 100644 --- a/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPluginEventsErrors.sol +++ b/contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPluginEventsErrors.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; interface IERC7484SecurityPolicyPluginEventsErrors { struct Configuration { diff --git a/contracts/smart-account/interfaces/modules/IEcdsaOwnershipRegistryModule.sol b/contracts/smart-account/interfaces/modules/IEcdsaOwnershipRegistryModule.sol index 0f9568e2..6fcb90fe 100644 --- a/contracts/smart-account/interfaces/modules/IEcdsaOwnershipRegistryModule.sol +++ b/contracts/smart-account/interfaces/modules/IEcdsaOwnershipRegistryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title ECDSA ownership Authorization module for Biconomy Smart Accounts. diff --git a/contracts/smart-account/interfaces/modules/IMultiOwnedECDSAModule.sol b/contracts/smart-account/interfaces/modules/IMultiOwnedECDSAModule.sol index 097bd2d4..caa15901 100644 --- a/contracts/smart-account/interfaces/modules/IMultiOwnedECDSAModule.sol +++ b/contracts/smart-account/interfaces/modules/IMultiOwnedECDSAModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title ECDSA Multi Ownership Authorization Module for Biconomy Smart Accounts. diff --git a/contracts/smart-account/interfaces/modules/IPasskeyRegistryModule.sol b/contracts/smart-account/interfaces/modules/IPasskeyRegistryModule.sol index 8f807b24..d990f60d 100644 --- a/contracts/smart-account/interfaces/modules/IPasskeyRegistryModule.sol +++ b/contracts/smart-account/interfaces/modules/IPasskeyRegistryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Passkey ownership Authorization module for Biconomy Smart Accounts. diff --git a/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPlugin.sol b/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPlugin.sol index 130d8cb6..9b2db3c6 100644 --- a/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPlugin.sol +++ b/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPlugin.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {ISecurityPolicyPlugin} from "./ISecurityPolicyPlugin.sol"; import {ISecurityPolicyManagerPluginEventsErrors} from "./ISecurityPolicyManagerPluginEventsErrors.sol"; diff --git a/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPluginEventsErrors.sol b/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPluginEventsErrors.sol index 42524abd..44771e77 100644 --- a/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPluginEventsErrors.sol +++ b/contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPluginEventsErrors.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; interface ISecurityPolicyManagerPluginEventsErrors { event SecurityPolicyEnabled(address indexed sa, address indexed policy); diff --git a/contracts/smart-account/interfaces/modules/ISecurityPolicyPlugin.sol b/contracts/smart-account/interfaces/modules/ISecurityPolicyPlugin.sol index b4fe3444..0b27fd2e 100644 --- a/contracts/smart-account/interfaces/modules/ISecurityPolicyPlugin.sol +++ b/contracts/smart-account/interfaces/modules/ISecurityPolicyPlugin.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Security Policy Plugin diff --git a/contracts/smart-account/interfaces/modules/ISessionKeyManagerModule.sol b/contracts/smart-account/interfaces/modules/ISessionKeyManagerModule.sol index 44a1efcd..4a1d391f 100644 --- a/contracts/smart-account/interfaces/modules/ISessionKeyManagerModule.sol +++ b/contracts/smart-account/interfaces/modules/ISessionKeyManagerModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Session Key Manager module for Biconomy Modular Smart Accounts. diff --git a/contracts/smart-account/interfaces/modules/ISessionValidationModule.sol b/contracts/smart-account/interfaces/modules/ISessionValidationModule.sol index e00e89d3..abdef901 100644 --- a/contracts/smart-account/interfaces/modules/ISessionValidationModule.sol +++ b/contracts/smart-account/interfaces/modules/ISessionValidationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/interfaces/modules/ISmartContractOwnershipRegistryModule.sol b/contracts/smart-account/interfaces/modules/ISmartContractOwnershipRegistryModule.sol index 2b4a2e43..65d6c74c 100644 --- a/contracts/smart-account/interfaces/modules/ISmartContractOwnershipRegistryModule.sol +++ b/contracts/smart-account/interfaces/modules/ISmartContractOwnershipRegistryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Smart Contract Ownership Authorization module for Biconomy Smart Accounts. diff --git a/contracts/smart-account/libs/LibAddress.sol b/contracts/smart-account/libs/LibAddress.sol index 6ada7e7a..498ccd66 100644 --- a/contracts/smart-account/libs/LibAddress.sol +++ b/contracts/smart-account/libs/LibAddress.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; library LibAddress { /** diff --git a/contracts/smart-account/modules/AccountRecoveryModule.sol b/contracts/smart-account/modules/AccountRecoveryModule.sol index bd113d9d..10f7cbf8 100644 --- a/contracts/smart-account/modules/AccountRecoveryModule.sol +++ b/contracts/smart-account/modules/AccountRecoveryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {BaseAuthorizationModule} from "./BaseAuthorizationModule.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/modules/AuthorizationModulesConstants.sol b/contracts/smart-account/modules/AuthorizationModulesConstants.sol index f0728bf4..06ad11d1 100644 --- a/contracts/smart-account/modules/AuthorizationModulesConstants.sol +++ b/contracts/smart-account/modules/AuthorizationModulesConstants.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /// @dev Contract containing constants related to authorization module results. contract AuthorizationModulesConstants { diff --git a/contracts/smart-account/modules/BaseAuthorizationModule.sol b/contracts/smart-account/modules/BaseAuthorizationModule.sol index bae46013..51b9a0a0 100644 --- a/contracts/smart-account/modules/BaseAuthorizationModule.sol +++ b/contracts/smart-account/modules/BaseAuthorizationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /* solhint-disable no-empty-blocks */ diff --git a/contracts/smart-account/modules/BatchedSessionRouterModule.sol b/contracts/smart-account/modules/BatchedSessionRouterModule.sol index befe8d46..7aedec0a 100644 --- a/contracts/smart-account/modules/BatchedSessionRouterModule.sol +++ b/contracts/smart-account/modules/BatchedSessionRouterModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /* solhint-disable function-max-lines */ diff --git a/contracts/smart-account/modules/EcdsaOwnershipRegistryModule.sol b/contracts/smart-account/modules/EcdsaOwnershipRegistryModule.sol index e131e620..9e5b6799 100644 --- a/contracts/smart-account/modules/EcdsaOwnershipRegistryModule.sol +++ b/contracts/smart-account/modules/EcdsaOwnershipRegistryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /* solhint-disable no-unused-import */ diff --git a/contracts/smart-account/modules/MultiOwnedECDSAModule.sol b/contracts/smart-account/modules/MultiOwnedECDSAModule.sol index 0d10f53a..f555a493 100644 --- a/contracts/smart-account/modules/MultiOwnedECDSAModule.sol +++ b/contracts/smart-account/modules/MultiOwnedECDSAModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /* solhint-disable no-unused-import */ diff --git a/contracts/smart-account/modules/MultichainECDSAValidator.sol b/contracts/smart-account/modules/MultichainECDSAValidator.sol index 57040692..b650f1aa 100644 --- a/contracts/smart-account/modules/MultichainECDSAValidator.sol +++ b/contracts/smart-account/modules/MultichainECDSAValidator.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; import {EcdsaOwnershipRegistryModule} from "./EcdsaOwnershipRegistryModule.sol"; @@ -43,7 +43,7 @@ contract MultichainECDSAValidator is EcdsaOwnershipRegistryModule { address sender; // read sender from userOp, which is first userOp member (saves gas) - assembly { + assembly ("memory-safe") { sender := calldataload(userOp) } @@ -70,16 +70,19 @@ contract MultichainECDSAValidator is EcdsaOwnershipRegistryModule { moduleSignature, (uint48, uint48, bytes32, bytes32[], bytes) ); + { + // make a leaf out of userOpHash, validUntil and validAfter + bytes32 leaf = keccak256( + abi.encodePacked(validUntil, validAfter, userOpHash) + ); - // make a leaf out of userOpHash, validUntil and validAfter - bytes32 leaf = keccak256( - abi.encodePacked(validUntil, validAfter, userOpHash) - ); - - if (!MerkleProof.verify(merkleProof, merkleTreeRoot, leaf)) { - revert("Invalid UserOp"); + if (!MerkleProof.verify(merkleProof, merkleTreeRoot, leaf)) { + revert("Invalid UserOp"); + } } + validUntil = validUntil == 0 ? type(uint48).max : validUntil; + return _verifySignature( merkleTreeRoot, @@ -88,7 +91,7 @@ contract MultichainECDSAValidator is EcdsaOwnershipRegistryModule { ) ? _packValidationData( false, //sigVerificationFailed = false - validUntil == 0 ? type(uint48).max : validUntil, + validUntil, validAfter ) : SIG_VALIDATION_FAILED; diff --git a/contracts/smart-account/modules/PasskeyRegistryModule.sol b/contracts/smart-account/modules/PasskeyRegistryModule.sol index 04214d8a..d242776b 100644 --- a/contracts/smart-account/modules/PasskeyRegistryModule.sol +++ b/contracts/smart-account/modules/PasskeyRegistryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {BaseAuthorizationModule} from "./BaseAuthorizationModule.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/modules/PasskeyValidationModules/Secp256r1.sol b/contracts/smart-account/modules/PasskeyValidationModules/Secp256r1.sol index 18990744..5e0342d9 100644 --- a/contracts/smart-account/modules/PasskeyValidationModules/Secp256r1.sol +++ b/contracts/smart-account/modules/PasskeyValidationModules/Secp256r1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; // // Initial Implementation by // https://github.com/itsobvioustech/aa-passkeys-wallet/blob/main/src/Secp256r1.sol diff --git a/contracts/smart-account/modules/SecurityPolicies/ERC7484SecurityPolicy.sol b/contracts/smart-account/modules/SecurityPolicies/ERC7484SecurityPolicy.sol index 9abb7138..2b881788 100644 --- a/contracts/smart-account/modules/SecurityPolicies/ERC7484SecurityPolicy.sol +++ b/contracts/smart-account/modules/SecurityPolicies/ERC7484SecurityPolicy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IERC7484SecurityPolicyPlugin, ISecurityPolicyPlugin} from "contracts/smart-account/interfaces/modules/IERC7484SecurityPolicyPlugin.sol"; import {IQuery} from "lib/registry/src/interface/IQuery.sol"; diff --git a/contracts/smart-account/modules/SecurityPolicyManagerPlugin.sol b/contracts/smart-account/modules/SecurityPolicyManagerPlugin.sol index aadcbe81..4af98fb2 100644 --- a/contracts/smart-account/modules/SecurityPolicyManagerPlugin.sol +++ b/contracts/smart-account/modules/SecurityPolicyManagerPlugin.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {ISecurityPolicyManagerPlugin, ISecurityPolicyPlugin, SENTINEL_MODULE_ADDRESS} from "contracts/smart-account/interfaces/modules/ISecurityPolicyManagerPlugin.sol"; import {Enum} from "contracts/smart-account/common/Enum.sol"; diff --git a/contracts/smart-account/modules/SessionKeyManagerModule.sol b/contracts/smart-account/modules/SessionKeyManagerModule.sol index 8dade051..9401d01f 100644 --- a/contracts/smart-account/modules/SessionKeyManagerModule.sol +++ b/contracts/smart-account/modules/SessionKeyManagerModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {BaseAuthorizationModule} from "./BaseAuthorizationModule.sol"; import {MerkleProof} from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol"; diff --git a/contracts/smart-account/modules/SessionValidationModules/ERC20SessionValidationModule.sol b/contracts/smart-account/modules/SessionValidationModules/ERC20SessionValidationModule.sol index 7124e187..f04186e5 100644 --- a/contracts/smart-account/modules/SessionValidationModules/ERC20SessionValidationModule.sol +++ b/contracts/smart-account/modules/SessionValidationModules/ERC20SessionValidationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "../../interfaces/modules/ISessionValidationModule.sol"; import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; diff --git a/contracts/smart-account/test/EntryPoint.sol b/contracts/smart-account/test/EntryPoint.sol index 117d2e9d..26f33f32 100644 --- a/contracts/smart-account/test/EntryPoint.sol +++ b/contracts/smart-account/test/EntryPoint.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {EntryPoint} from "@account-abstraction/contracts/core/EntryPoint.sol"; diff --git a/contracts/smart-account/test/ForbiddenOpcodeInvokingAuthModule.sol b/contracts/smart-account/test/ForbiddenOpcodeInvokingAuthModule.sol index 670e4400..7fe85844 100644 --- a/contracts/smart-account/test/ForbiddenOpcodeInvokingAuthModule.sol +++ b/contracts/smart-account/test/ForbiddenOpcodeInvokingAuthModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {EcdsaOwnershipRegistryModule} from "../modules/EcdsaOwnershipRegistryModule.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/test/LegacySocialRecoveryModule.sol b/contracts/smart-account/test/LegacySocialRecoveryModule.sol index 46d3f95c..7d294b7f 100644 --- a/contracts/smart-account/test/LegacySocialRecoveryModule.sol +++ b/contracts/smart-account/test/LegacySocialRecoveryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "../SmartAccount.sol"; import {Enum} from "../common/Enum.sol"; import {IAuthorizationModule} from "../interfaces/IAuthorizationModule.sol"; diff --git a/contracts/smart-account/test/WrongStorageAccessValidationModule.sol b/contracts/smart-account/test/WrongStorageAccessValidationModule.sol index cf274fcb..d21f1e65 100644 --- a/contracts/smart-account/test/WrongStorageAccessValidationModule.sol +++ b/contracts/smart-account/test/WrongStorageAccessValidationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {EcdsaOwnershipRegistryModule} from "../modules/EcdsaOwnershipRegistryModule.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/test/mocks/MockAuthModule.sol b/contracts/smart-account/test/mocks/MockAuthModule.sol index 1b039edd..5bbc0a25 100644 --- a/contracts/smart-account/test/mocks/MockAuthModule.sol +++ b/contracts/smart-account/test/mocks/MockAuthModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {BaseAuthorizationModule} from "../../modules/BaseAuthorizationModule.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/test/mocks/MockInvalidAuthModule.sol b/contracts/smart-account/test/mocks/MockInvalidAuthModule.sol index 67d677bd..b3cc52ea 100644 --- a/contracts/smart-account/test/mocks/MockInvalidAuthModule.sol +++ b/contracts/smart-account/test/mocks/MockInvalidAuthModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; contract MockInvalidAuthModule { mapping(address => bytes) internal _setupData; diff --git a/contracts/smart-account/test/mocks/MockInvalidInitialAuthModule2.sol b/contracts/smart-account/test/mocks/MockInvalidInitialAuthModule2.sol index a5d569c5..d63f3abb 100644 --- a/contracts/smart-account/test/mocks/MockInvalidInitialAuthModule2.sol +++ b/contracts/smart-account/test/mocks/MockInvalidInitialAuthModule2.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {BaseAuthorizationModule} from "../../modules/BaseAuthorizationModule.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/test/mocks/MockProtocol/MockProtocol.sol b/contracts/smart-account/test/mocks/MockProtocol/MockProtocol.sol index 325cf2b5..515e921c 100644 --- a/contracts/smart-account/test/mocks/MockProtocol/MockProtocol.sol +++ b/contracts/smart-account/test/mocks/MockProtocol/MockProtocol.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/smart-account/test/mocks/MockProtocol/MockProtocolSVModule.sol b/contracts/smart-account/test/mocks/MockProtocol/MockProtocolSVModule.sol index 3713811e..334441d9 100644 --- a/contracts/smart-account/test/mocks/MockProtocol/MockProtocolSVModule.sol +++ b/contracts/smart-account/test/mocks/MockProtocol/MockProtocolSVModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "../../../interfaces/modules/ISessionValidationModule.sol"; import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; diff --git a/contracts/smart-account/test/mocks/MockSessionValidationModule.sol b/contracts/smart-account/test/mocks/MockSessionValidationModule.sol index 121b079f..f89bed8a 100644 --- a/contracts/smart-account/test/mocks/MockSessionValidationModule.sol +++ b/contracts/smart-account/test/mocks/MockSessionValidationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {ISessionValidationModule} from "../../interfaces/modules/ISessionValidationModule.sol"; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; diff --git a/contracts/smart-account/test/mocks/MockToken.sol b/contracts/smart-account/test/mocks/MockToken.sol index ba8b7e32..75e212f9 100644 --- a/contracts/smart-account/test/mocks/MockToken.sol +++ b/contracts/smart-account/test/mocks/MockToken.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; diff --git a/contracts/smart-account/test/modules/EcdsaEthSignSupportOwnershipRegistryModule.sol b/contracts/smart-account/test/modules/EcdsaEthSignSupportOwnershipRegistryModule.sol index 8ba8659c..2416104b 100644 --- a/contracts/smart-account/test/modules/EcdsaEthSignSupportOwnershipRegistryModule.sol +++ b/contracts/smart-account/test/modules/EcdsaEthSignSupportOwnershipRegistryModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {BaseAuthorizationModule} from "../../modules/BaseAuthorizationModule.sol"; import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; diff --git a/contracts/smart-account/test/modules/ForwardFlowModule.sol b/contracts/smart-account/test/modules/ForwardFlowModule.sol index 40c1ce92..283b8aed 100644 --- a/contracts/smart-account/test/modules/ForwardFlowModule.sol +++ b/contracts/smart-account/test/modules/ForwardFlowModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {EIP1271_MAGIC_VALUE, ISignatureValidator} from "../../interfaces/ISignatureValidator.sol"; import {ISmartAccount} from "../../interfaces/ISmartAccount.sol"; diff --git a/contracts/smart-account/test/upgrades/v1/BaseSmartAccountV1.sol b/contracts/smart-account/test/upgrades/v1/BaseSmartAccountV1.sol index d7b779d7..2a6afceb 100644 --- a/contracts/smart-account/test/upgrades/v1/BaseSmartAccountV1.sol +++ b/contracts/smart-account/test/upgrades/v1/BaseSmartAccountV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IAccount} from "@account-abstraction/contracts/interfaces/IAccount.sol"; import {IEntryPoint} from "@account-abstraction/contracts/interfaces/IEntryPoint.sol"; diff --git a/contracts/smart-account/test/upgrades/v1/ErrorsV1.sol b/contracts/smart-account/test/upgrades/v1/ErrorsV1.sol index 42222b87..aba38abe 100644 --- a/contracts/smart-account/test/upgrades/v1/ErrorsV1.sol +++ b/contracts/smart-account/test/upgrades/v1/ErrorsV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; contract BaseSmartAccountErrorsV1 { /** diff --git a/contracts/smart-account/test/upgrades/v1/FallbackManagerV1.sol b/contracts/smart-account/test/upgrades/v1/FallbackManagerV1.sol index 378c1805..a9755794 100644 --- a/contracts/smart-account/test/upgrades/v1/FallbackManagerV1.sol +++ b/contracts/smart-account/test/upgrades/v1/FallbackManagerV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {SelfAuthorized} from "../../../common/SelfAuthorized.sol"; import {IFallbackManager} from "contracts/smart-account/interfaces/base/IFallbackManager.sol"; diff --git a/contracts/smart-account/test/upgrades/v1/IModuleV1.sol b/contracts/smart-account/test/upgrades/v1/IModuleV1.sol index 8e5fde8a..72fbe51b 100644 --- a/contracts/smart-account/test/upgrades/v1/IModuleV1.sol +++ b/contracts/smart-account/test/upgrades/v1/IModuleV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {UserOperation} from "@account-abstraction/contracts/interfaces/UserOperation.sol"; // interface for modules to verify singatures signed over userOpHash diff --git a/contracts/smart-account/test/upgrades/v1/ISignatureValidatorV1.sol b/contracts/smart-account/test/upgrades/v1/ISignatureValidatorV1.sol index c3c3272c..2e7c5379 100644 --- a/contracts/smart-account/test/upgrades/v1/ISignatureValidatorV1.sol +++ b/contracts/smart-account/test/upgrades/v1/ISignatureValidatorV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; // bytes4(keccak256("isValidSignature(bytes32,bytes)") bytes4 constant EIP1271_MAGIC_VALUE = 0x1626ba7e; diff --git a/contracts/smart-account/test/upgrades/v1/ModuleManagerV1.sol b/contracts/smart-account/test/upgrades/v1/ModuleManagerV1.sol index 861dfce0..91729eea 100644 --- a/contracts/smart-account/test/upgrades/v1/ModuleManagerV1.sol +++ b/contracts/smart-account/test/upgrades/v1/ModuleManagerV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: LGPL-3.0-only -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {SelfAuthorized} from "../../../common/SelfAuthorized.sol"; import {Executor, Enum} from "../../../base/Executor.sol"; diff --git a/contracts/smart-account/test/upgrades/v1/Proxy.sol b/contracts/smart-account/test/upgrades/v1/Proxy.sol index 1390fb5d..d602d29f 100644 --- a/contracts/smart-account/test/upgrades/v1/Proxy.sol +++ b/contracts/smart-account/test/upgrades/v1/Proxy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; /** * @title Proxy // This is the user's Smart Account diff --git a/contracts/smart-account/test/upgrades/v1/SmartAccountFactoryV1.sol b/contracts/smart-account/test/upgrades/v1/SmartAccountFactoryV1.sol index fe31feca..bb48fe89 100644 --- a/contracts/smart-account/test/upgrades/v1/SmartAccountFactoryV1.sol +++ b/contracts/smart-account/test/upgrades/v1/SmartAccountFactoryV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "./Proxy.sol"; import "./BaseSmartAccountV1.sol"; diff --git a/contracts/smart-account/test/upgrades/v1/SmartAccountV1.sol b/contracts/smart-account/test/upgrades/v1/SmartAccountV1.sol index ebbc9e90..90c18b5c 100644 --- a/contracts/smart-account/test/upgrades/v1/SmartAccountV1.sol +++ b/contracts/smart-account/test/upgrades/v1/SmartAccountV1.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; import {BaseSmartAccount, IEntryPoint, Transaction, FeeRefund, Enum, UserOperation} from "./BaseSmartAccountV1.sol"; diff --git a/contracts/smart-account/test/vulnerable/VulnerableERC20SessionValidationModule.sol b/contracts/smart-account/test/vulnerable/VulnerableERC20SessionValidationModule.sol index c5f8db3f..2a2a7cb0 100644 --- a/contracts/smart-account/test/vulnerable/VulnerableERC20SessionValidationModule.sol +++ b/contracts/smart-account/test/vulnerable/VulnerableERC20SessionValidationModule.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import "../../interfaces/modules/ISessionValidationModule.sol"; import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; diff --git a/contracts/smart-account/utils/AddressResolver.sol b/contracts/smart-account/utils/AddressResolver.sol index 4fa95a23..3c4a2c63 100644 --- a/contracts/smart-account/utils/AddressResolver.sol +++ b/contracts/smart-account/utils/AddressResolver.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {IEcdsaOwnershipRegistryModule} from "../interfaces/modules/IEcdsaOwnershipRegistryModule.sol"; import {IAddressResolver} from "../interfaces/IAddressResolver.sol"; diff --git a/contracts/smart-account/utils/Decoder.sol b/contracts/smart-account/utils/Decoder.sol index afbba00a..21dc0859 100644 --- a/contracts/smart-account/utils/Decoder.sol +++ b/contracts/smart-account/utils/Decoder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; contract Decoder { function decode( diff --git a/contracts/smart-account/utils/GasEstimator.sol b/contracts/smart-account/utils/GasEstimator.sol index 58866574..c333f504 100644 --- a/contracts/smart-account/utils/GasEstimator.sol +++ b/contracts/smart-account/utils/GasEstimator.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; // Generic contract for estimating gas on any target and data contract GasEstimator { diff --git a/contracts/smart-account/utils/GasEstimatorSmartAccount.sol b/contracts/smart-account/utils/GasEstimatorSmartAccount.sol index a0a4a76c..2b7d0658 100644 --- a/contracts/smart-account/utils/GasEstimatorSmartAccount.sol +++ b/contracts/smart-account/utils/GasEstimatorSmartAccount.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {SmartAccountFactory} from "../factory/SmartAccountFactory.sol"; diff --git a/foundry.toml b/foundry.toml index 29962dac..d1968344 100644 --- a/foundry.toml +++ b/foundry.toml @@ -13,8 +13,9 @@ remappings = [ "hardhat/=node_modules/hardhat/", ] via_ir = true -solc_version = "0.8.21" evm_version = "paris" +auto_detect_solc = true +# auto_detect_remappings = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config diff --git a/hardhat.config.ts b/hardhat.config.ts index 4e5017ce..acb4f802 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -50,7 +50,7 @@ const config: HardhatUserConfig = { solidity: { compilers: [ { - version: "0.8.20", + version: "0.8.23", settings: { evmVersion: "paris", optimizer: { enabled: true, runs: 800 }, diff --git a/lib/registry b/lib/registry index d0ee08ce..26e6368c 160000 --- a/lib/registry +++ b/lib/registry @@ -1 +1 @@ -Subproject commit d0ee08cebdda6a2c0181fe4807a73f7c8bb79a41 +Subproject commit 26e6368c1c997969433fdb1911ef25e03fd3faf3 diff --git a/remappings.txt b/remappings.txt index cba45d51..02d351cf 100644 --- a/remappings.txt +++ b/remappings.txt @@ -14,4 +14,6 @@ interfaces=contracts/smart-account/interfaces/ libs=contracts/smart-account/libs/ modules=contracts/smart-account/modules/ paymasters=contracts/smart-account/paymasters/ -test-contracts=contracts/smart-account/test/ \ No newline at end of file +test-contracts=contracts/smart-account/test/ + +solady/=lib/registry/lib/solady/src \ No newline at end of file diff --git a/test/foundry/base/RhinestoneTestBase.sol b/test/foundry/base/RhinestoneTestBase.sol index 1b0990ab..9fad3689 100644 --- a/test/foundry/base/RhinestoneTestBase.sol +++ b/test/foundry/base/RhinestoneTestBase.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {SATestBase} from "./SATestBase.sol"; import "registry/test/utils/BaseTest.t.sol"; @@ -10,6 +10,6 @@ contract RhinestoneTestBase is SATestBase, BaseTest { SATestBase.setUp(); BaseTest.setUp(); - vm.label(address(instancel1.registry), "Rhinestone Registry"); + vm.label(address(instance.registry), "Rhinestone Registry"); } } diff --git a/test/foundry/base/SATestBase.sol b/test/foundry/base/SATestBase.sol index f18cb11a..b5cd68d1 100644 --- a/test/foundry/base/SATestBase.sol +++ b/test/foundry/base/SATestBase.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {Test, Vm} from "forge-std/Test.sol"; import {MockToken} from "test-contracts/mocks/MockToken.sol"; diff --git a/test/foundry/module/SecurityPolicy/ERC7484SecurityPolicyPlugin.t.sol b/test/foundry/module/SecurityPolicy/ERC7484SecurityPolicyPlugin.t.sol index 6c5fec5e..409889fc 100644 --- a/test/foundry/module/SecurityPolicy/ERC7484SecurityPolicyPlugin.t.sol +++ b/test/foundry/module/SecurityPolicy/ERC7484SecurityPolicyPlugin.t.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {RhinestoneTestBase, RegistryTestLib, RegistryInstance, AttestationRequestData} from "../../base/RhinestoneTestBase.sol"; import {SmartAccount} from "sa/SmartAccount.sol"; @@ -62,7 +62,7 @@ contract ERC7484SecurityPolicyPluginTest is // Deploy ERC7484SecurityPolicyPlugin erc7484SecurityPolicyPlugin = new ERC7484SecurityPolicyPlugin( - instancel1.registry + instance.registry ); // Enable the Security Policy @@ -107,7 +107,7 @@ contract ERC7484SecurityPolicyPluginTest is // Deploy and register MultichainValidator with registry validator = MultichainECDSAValidator( - instancel1.deployAndRegister( + instance.deployAndRegister( defaultResolver, type(MultichainECDSAValidator).creationCode, abi.encode(0) @@ -162,7 +162,7 @@ contract ERC7484SecurityPolicyPluginTest is external { // Create 3 attestations for the multichain validator module - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, bob.privateKey, AttestationRequestData({ @@ -172,7 +172,7 @@ contract ERC7484SecurityPolicyPluginTest is value: 0 }) ); - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, charlie.privateKey, AttestationRequestData({ @@ -182,7 +182,7 @@ contract ERC7484SecurityPolicyPluginTest is value: 0 }) ); - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, dan.privateKey, AttestationRequestData({ @@ -234,7 +234,7 @@ contract ERC7484SecurityPolicyPluginTest is vm.stopPrank(); // Create 3 attestations for the multichain validator module - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, bob.privateKey, AttestationRequestData({ @@ -244,7 +244,7 @@ contract ERC7484SecurityPolicyPluginTest is value: 0 }) ); - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, charlie.privateKey, AttestationRequestData({ @@ -254,7 +254,7 @@ contract ERC7484SecurityPolicyPluginTest is value: 0 }) ); - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, dan.privateKey, AttestationRequestData({ @@ -315,7 +315,7 @@ contract ERC7484SecurityPolicyPluginTest is external { // Create 2 attestations for the multichain validator module - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, bob.privateKey, AttestationRequestData({ @@ -325,7 +325,7 @@ contract ERC7484SecurityPolicyPluginTest is value: 0 }) ); - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, charlie.privateKey, AttestationRequestData({ @@ -381,7 +381,7 @@ contract ERC7484SecurityPolicyPluginTest is external { // Create 3 attestations for the multichain validator module - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, bob.privateKey, AttestationRequestData({ @@ -391,7 +391,7 @@ contract ERC7484SecurityPolicyPluginTest is value: 0 }) ); - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, charlie.privateKey, AttestationRequestData({ @@ -401,7 +401,7 @@ contract ERC7484SecurityPolicyPluginTest is value: 0 }) ); - instancel1.newAttestation( + instance.newDelegatedAttestation( defaultSchema1, dan.privateKey, AttestationRequestData({ @@ -413,7 +413,7 @@ contract ERC7484SecurityPolicyPluginTest is ); // Revoke one of the attestations - instancel1.revokeAttestation( + instance.delegatedRevokeAttestation( address(validator), defaultSchema1, bob.privateKey diff --git a/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.ModuleInstallation.t.sol b/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.ModuleInstallation.t.sol index a8790c87..c6e9fef8 100644 --- a/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.ModuleInstallation.t.sol +++ b/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.ModuleInstallation.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {Vm} from "forge-std/Test.sol"; import {SATestBase} from "../../base/SATestBase.sol"; diff --git a/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.PluginManagementTest.t.sol b/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.PluginManagementTest.t.sol index 7f401cf3..ba229f2d 100644 --- a/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.PluginManagementTest.t.sol +++ b/test/foundry/module/SecurityPolicy/SecurityPolicyManagerPlugin.PluginManagementTest.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {Vm} from "forge-std/Test.sol"; import {SATestBase} from "../../base/SATestBase.sol"; diff --git a/test/foundry/smart-account/SA.Basics.t.sol b/test/foundry/smart-account/SA.Basics.t.sol index 837e5e39..94b3b044 100644 --- a/test/foundry/smart-account/SA.Basics.t.sol +++ b/test/foundry/smart-account/SA.Basics.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; +pragma solidity ^0.8.23; import {SATestBase} from "../base/SATestBase.sol"; import {SmartAccount} from "sa/SmartAccount.sol";