diff --git a/src/account/ReferenceModularAccount.sol b/src/account/ReferenceModularAccount.sol index 84459949..cefc1d46 100644 --- a/src/account/ReferenceModularAccount.sol +++ b/src/account/ReferenceModularAccount.sol @@ -281,7 +281,7 @@ contract ReferenceModularAccount is /// @inheritdoc IModularAccount function accountId() external pure virtual returns (string memory) { - return "erc6900/reference-modular-account/0.8.0"; + return "erc6900.reference-modular-account.0.8.0"; } /// @inheritdoc UUPSUpgradeable diff --git a/src/account/SemiModularAccount.sol b/src/account/SemiModularAccount.sol index 8bde2316..906349fa 100644 --- a/src/account/SemiModularAccount.sol +++ b/src/account/SemiModularAccount.sol @@ -93,7 +93,7 @@ contract SemiModularAccount is ReferenceModularAccount { /// @inheritdoc IModularAccount function accountId() external pure override returns (string memory) { - return "erc6900/reference-semi-modular-account/0.8.0"; + return "erc6900.reference-semi-modular-account.0.8.0"; } function replaySafeHash(bytes32 hash) public view virtual returns (bytes32) { diff --git a/src/interfaces/IModularAccount.sol b/src/interfaces/IModularAccount.sol index dcad3ee8..8ddebb75 100644 --- a/src/interfaces/IModularAccount.sol +++ b/src/interfaces/IModularAccount.sol @@ -99,7 +99,8 @@ interface IModularAccount { ) external; /// @notice Return a unique identifier for the account implementation. - /// @dev This function MUST return a string in the format "vendor/account/semver". + /// @dev This function MUST return a string in the format "vendor.account.semver". The vendor and account + /// names MUST NOT contain a period character. /// @return The account ID. function accountId() external view returns (string memory); } diff --git a/src/interfaces/IModule.sol b/src/interfaces/IModule.sol index df070f6f..523e7265 100644 --- a/src/interfaces/IModule.sol +++ b/src/interfaces/IModule.sol @@ -17,7 +17,8 @@ interface IModule is IERC165 { function onUninstall(bytes calldata data) external; /// @notice Return a unique identifier for the module. - /// @dev This function MUST return a string in the format "vendor/module/semver". + /// @dev This function MUST return a string in the format "vendor.module.semver". The vendor and module + /// names MUST NOT contain a period character. /// @return The module ID. function moduleId() external view returns (string memory); } diff --git a/src/modules/ERC20TokenLimitModule.sol b/src/modules/ERC20TokenLimitModule.sol index c72bace3..eda85d15 100644 --- a/src/modules/ERC20TokenLimitModule.sol +++ b/src/modules/ERC20TokenLimitModule.sol @@ -115,7 +115,7 @@ contract ERC20TokenLimitModule is BaseModule, IExecutionHookModule { /// @inheritdoc IModule function moduleId() external pure returns (string memory) { - return "erc6900/erc20-token-limit-module/1.0.0"; + return "erc6900.erc20-token-limit-module.1.0.0"; } /// @inheritdoc BaseModule diff --git a/src/modules/NativeTokenLimitModule.sol b/src/modules/NativeTokenLimitModule.sol index 4d0a076b..b9244145 100644 --- a/src/modules/NativeTokenLimitModule.sol +++ b/src/modules/NativeTokenLimitModule.sol @@ -116,7 +116,7 @@ contract NativeTokenLimitModule is BaseModule, IExecutionHookModule, IValidation /// @inheritdoc IModule function moduleId() external pure returns (string memory) { - return "erc6900/native-token-limit-module/1.0.0"; + return "erc6900.native-token-limit-module.1.0.0"; } // ┏━━━━━━━━━━━━━━━┓ diff --git a/src/modules/TokenReceiverModule.sol b/src/modules/TokenReceiverModule.sol index 51f06fcb..df02cd1f 100644 --- a/src/modules/TokenReceiverModule.sol +++ b/src/modules/TokenReceiverModule.sol @@ -82,6 +82,6 @@ contract TokenReceiverModule is BaseModule, IExecutionModule, IERC721Receiver, I /// @inheritdoc IModule function moduleId() external pure returns (string memory) { - return "erc6900/token-receiver-module/1.0.0"; + return "erc6900.token-receiver-module.1.0.0"; } } diff --git a/src/modules/permissionhooks/AllowlistModule.sol b/src/modules/permissionhooks/AllowlistModule.sol index 4d82bcf6..6b693244 100644 --- a/src/modules/permissionhooks/AllowlistModule.sol +++ b/src/modules/permissionhooks/AllowlistModule.sol @@ -91,7 +91,7 @@ contract AllowlistModule is IValidationHookModule, BaseModule { /// @inheritdoc IModule function moduleId() external pure returns (string memory) { - return "erc6900/allowlist-module/0.0.1"; + return "erc6900.allowlist-module.0.0.1"; } function setAllowlistTarget(uint32 entityId, address target, bool allowed, bool hasSelectorAllowlist) public { diff --git a/src/modules/validation/SingleSignerValidationModule.sol b/src/modules/validation/SingleSignerValidationModule.sol index 2dd0b28d..a750f4d6 100644 --- a/src/modules/validation/SingleSignerValidationModule.sol +++ b/src/modules/validation/SingleSignerValidationModule.sol @@ -114,7 +114,7 @@ contract SingleSignerValidationModule is ISingleSignerValidationModule, ReplaySa /// @inheritdoc IModule function moduleId() external pure returns (string memory) { - return "erc6900/single-signer-validation-module/1.0.0"; + return "erc6900.single-signer-validation-module.1.0.0"; } function supportsInterface(bytes4 interfaceId) diff --git a/test/account/ReferenceModularAccount.t.sol b/test/account/ReferenceModularAccount.t.sol index 5ffa8fa7..85b06c93 100644 --- a/test/account/ReferenceModularAccount.t.sol +++ b/test/account/ReferenceModularAccount.t.sol @@ -189,8 +189,8 @@ contract ReferenceModularAccountTest is AccountTestBase { assertEq( accountId, vm.envOr("SMA_TEST", false) - ? "erc6900/reference-semi-modular-account/0.8.0" - : "erc6900/reference-modular-account/0.8.0" + ? "erc6900.reference-semi-modular-account.0.8.0" + : "erc6900.reference-modular-account.0.8.0" ); } diff --git a/test/mocks/MockModule.sol b/test/mocks/MockModule.sol index 354373e1..260c515c 100644 --- a/test/mocks/MockModule.sol +++ b/test/mocks/MockModule.sol @@ -48,7 +48,7 @@ contract MockModule is ERC165 { } function moduleId() external pure returns (string memory) { - return "erc6900/mock-module/1.0.0"; + return "erc6900.mock-module.1.0.0"; } /// @dev Returns true if this contract implements the interface defined by diff --git a/test/mocks/modules/ComprehensiveModule.sol b/test/mocks/modules/ComprehensiveModule.sol index 623c4cf9..cfaead0e 100644 --- a/test/mocks/modules/ComprehensiveModule.sol +++ b/test/mocks/modules/ComprehensiveModule.sol @@ -175,6 +175,6 @@ contract ComprehensiveModule is } function moduleId() external pure returns (string memory) { - return "erc6900/comprehensive-module/1.0.0"; + return "erc6900.comprehensive-module.1.0.0"; } } diff --git a/test/mocks/modules/DirectCallModule.sol b/test/mocks/modules/DirectCallModule.sol index 35adde84..c81c9a18 100644 --- a/test/mocks/modules/DirectCallModule.sol +++ b/test/mocks/modules/DirectCallModule.sol @@ -24,7 +24,7 @@ contract DirectCallModule is BaseModule, IExecutionHookModule { } function moduleId() external pure returns (string memory) { - return "erc6900/direct-call-module/1.0.0"; + return "erc6900.direct-call-module.1.0.0"; } function preExecutionHook(uint32, address sender, uint256, bytes calldata) diff --git a/test/mocks/modules/MockAccessControlHookModule.sol b/test/mocks/modules/MockAccessControlHookModule.sol index 74a92b10..bad9fcb4 100644 --- a/test/mocks/modules/MockAccessControlHookModule.sol +++ b/test/mocks/modules/MockAccessControlHookModule.sol @@ -79,7 +79,7 @@ contract MockAccessControlHookModule is IValidationHookModule, BaseModule { } function moduleId() external pure returns (string memory) { - return "erc6900/mock-access-control-hook-module/1.0.0"; + return "erc6900.mock-access-control-hook-module.1.0.0"; } function supportsInterface(bytes4 interfaceId) diff --git a/test/mocks/modules/PermittedCallMocks.sol b/test/mocks/modules/PermittedCallMocks.sol index 0981160f..41931d4f 100644 --- a/test/mocks/modules/PermittedCallMocks.sol +++ b/test/mocks/modules/PermittedCallMocks.sol @@ -30,7 +30,7 @@ contract PermittedCallerModule is IExecutionModule, BaseModule { } function moduleId() external pure returns (string memory) { - return "erc6900/permitted-caller-module/1.0.0"; + return "erc6900.permitted-caller-module.1.0.0"; } // The manifest requested access to use the module-defined method "foo" diff --git a/test/mocks/modules/ReturnDataModuleMocks.sol b/test/mocks/modules/ReturnDataModuleMocks.sol index 3eb81fa7..1c7ff6a2 100644 --- a/test/mocks/modules/ReturnDataModuleMocks.sol +++ b/test/mocks/modules/ReturnDataModuleMocks.sol @@ -58,7 +58,7 @@ contract ResultCreatorModule is IExecutionModule, BaseModule { } function moduleId() external pure returns (string memory) { - return "erc6900/result-creator-module/1.0.0"; + return "erc6900.result-creator-module.1.0.0"; } } @@ -139,6 +139,6 @@ contract ResultConsumerModule is IExecutionModule, BaseModule, IValidationModule } function moduleId() external pure returns (string memory) { - return "erc6900/result-consumer-module/1.0.0"; + return "erc6900.result-consumer-module.1.0.0"; } } diff --git a/test/mocks/modules/ValidationModuleMocks.sol b/test/mocks/modules/ValidationModuleMocks.sol index 3521e3fc..40e6ad26 100644 --- a/test/mocks/modules/ValidationModuleMocks.sol +++ b/test/mocks/modules/ValidationModuleMocks.sol @@ -75,7 +75,7 @@ abstract contract MockBaseUserOpValidationModule is } function moduleId() external pure returns (string memory) { - return "erc6900/mock-user-op-validation-module/1.0.0"; + return "erc6900.mock-user-op-validation-module.1.0.0"; } // Empty stubs