Browse Source

Add `draft-` prefix to ERC-7579 and ERC-7739 related files (#5728)

Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Hadrien Croubois 4 months ago
parent
commit
e11cac459e

+ 0 - 0
contracts/account/extensions/AccountERC7579.sol → contracts/account/extensions/draft-AccountERC7579.sol


+ 1 - 1
contracts/account/extensions/AccountERC7579Hooked.sol → contracts/account/extensions/draft-AccountERC7579Hooked.sol

@@ -4,7 +4,7 @@ pragma solidity ^0.8.26;
 
 import {IERC7579Hook, MODULE_TYPE_HOOK} from "../../interfaces/draft-IERC7579.sol";
 import {ERC7579Utils, Mode} from "../../account/utils/draft-ERC7579Utils.sol";
-import {AccountERC7579} from "./AccountERC7579.sol";
+import {AccountERC7579} from "./draft-AccountERC7579.sol";
 
 /**
  * @dev Extension of {AccountERC7579} with support for a single hook module (type 4).

+ 3 - 3
contracts/mocks/account/AccountMock.sol

@@ -3,12 +3,12 @@
 pragma solidity ^0.8.27;
 
 import {Account} from "../../account/Account.sol";
-import {AccountERC7579} from "../../account/extensions/AccountERC7579.sol";
-import {AccountERC7579Hooked} from "../../account/extensions/AccountERC7579Hooked.sol";
+import {AccountERC7579} from "../../account/extensions/draft-AccountERC7579.sol";
+import {AccountERC7579Hooked} from "../../account/extensions/draft-AccountERC7579Hooked.sol";
 import {ERC721Holder} from "../../token/ERC721/utils/ERC721Holder.sol";
 import {ERC1155Holder} from "../../token/ERC1155/utils/ERC1155Holder.sol";
 import {ERC4337Utils} from "../../account/utils/draft-ERC4337Utils.sol";
-import {ERC7739} from "../../utils/cryptography/signers/ERC7739.sol";
+import {ERC7739} from "../../utils/cryptography/signers/draft-ERC7739.sol";
 import {ERC7821} from "../../account/extensions/ERC7821.sol";
 import {MODULE_TYPE_VALIDATOR} from "../../interfaces/draft-IERC7579.sol";
 import {PackedUserOperation} from "../../interfaces/draft-IERC4337.sol";

+ 1 - 1
contracts/mocks/utils/cryptography/ERC7739Mock.sol

@@ -4,7 +4,7 @@ pragma solidity ^0.8.20;
 
 import {ECDSA} from "../../../utils/cryptography/ECDSA.sol";
 import {EIP712} from "../../../utils/cryptography/EIP712.sol";
-import {ERC7739} from "../../../utils/cryptography/signers/ERC7739.sol";
+import {ERC7739} from "../../../utils/cryptography/signers/draft-ERC7739.sol";
 import {SignerECDSA} from "../../../utils/cryptography/signers/SignerECDSA.sol";
 import {SignerP256} from "../../../utils/cryptography/signers/SignerP256.sol";
 import {SignerRSA} from "../../../utils/cryptography/signers/SignerRSA.sol";

+ 0 - 0
contracts/utils/cryptography/ERC7739Utils.sol → contracts/utils/cryptography/draft-ERC7739Utils.sol


+ 1 - 1
contracts/utils/cryptography/signers/ERC7739.sol → contracts/utils/cryptography/signers/draft-ERC7739.sol

@@ -4,7 +4,7 @@ pragma solidity ^0.8.20;
 
 import {AbstractSigner} from "./AbstractSigner.sol";
 import {EIP712} from "../EIP712.sol";
-import {ERC7739Utils} from "../ERC7739Utils.sol";
+import {ERC7739Utils} from "../draft-ERC7739Utils.sol";
 import {IERC1271} from "../../../interfaces/IERC1271.sol";
 import {MessageHashUtils} from "../MessageHashUtils.sol";
 import {ShortStrings} from "../../ShortStrings.sol";

+ 3 - 1
docs/modules/ROOT/pages/backwards-compatibility.adoc

@@ -13,7 +13,9 @@ Infrequently a patch or minor update will remove or change an API in a breaking
 
 === Draft or Pre-Final ERCs
 
-ERCs that are not Final can change in incompatible ways. For this reason, we avoid shipping implementations of ERCs before they are Final. Some exceptions are made for ERCs that have been published for a long time and that seem unlikely to change. Breaking changes to the ERC specification are still technically possible in those cases, so these implementations are published in files named `draft-*.sol` to make that condition explicit.
+ERCs that are not Final can change in incompatible ways. For this reason, we avoid shipping implementations of ERCs before they are Final. Some exceptions are made for ERCs that have been published for a long time and seem unlikely to change. Implementations for ERCs that may have breaking changes are published in files named `draft-*.sol` to make that condition explicit. There is no backwards compatibility guarantee for content in files prefixed with `draft`.
+
+Standards that have achieved widespread adoption with strong backwards compatibility expectations from the community may be treated as de-facto finalized and published without the `draft-` prefix, as extensive ecosystem reliance makes breaking changes highly unlikely.
 
 === Virtual & Overrides