From 9419c40df5d7dc5cf8d471a37284858df3c6130b Mon Sep 17 00:00:00 2001 From: typicalHuman Date: Wed, 5 Nov 2025 16:57:41 +0500 Subject: [PATCH 1/3] Fixed bug with incorrect names in generated comment for Multisig account. --- .changeset/huge-ties-find.md | 5 + packages/core/solidity/src/account.test.ts.md | 96 +++++++++--------- .../core/solidity/src/account.test.ts.snap | Bin 11599 -> 11607 bytes packages/core/solidity/src/account.ts | 5 +- 4 files changed, 57 insertions(+), 49 deletions(-) create mode 100644 .changeset/huge-ties-find.md diff --git a/.changeset/huge-ties-find.md b/.changeset/huge-ties-find.md new file mode 100644 index 000000000..65324e527 --- /dev/null +++ b/.changeset/huge-ties-find.md @@ -0,0 +1,5 @@ +--- +'@openzeppelin/wizard': minor +--- + +Fixed bug with incorrect names in generated comment for Multisig account. diff --git a/packages/core/solidity/src/account.test.ts.md b/packages/core/solidity/src/account.test.ts.md index 226805c38..2859db874 100644 --- a/packages/core/solidity/src/account.test.ts.md +++ b/packages/core/solidity/src/account.test.ts.md @@ -6241,8 +6241,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisig is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisig)␊ + // IMPORTANT: Make sure MultiSignerERC7913 is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -6307,8 +6307,8 @@ Generated by [AVA](https://avajs.dev). return super.isValidSignature(hash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisig is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisig)␊ + // IMPORTANT: Make sure MultiSignerERC7913 is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -6378,8 +6378,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisig is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisig)␊ + // IMPORTANT: Make sure MultiSignerERC7913 is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -6450,8 +6450,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisig is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisig)␊ + // IMPORTANT: Make sure MultiSignerERC7913 is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -6897,8 +6897,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -6980,8 +6980,8 @@ Generated by [AVA](https://avajs.dev). return super.isValidSignature(hash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -7067,8 +7067,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -7155,8 +7155,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -7546,8 +7546,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -7622,8 +7622,8 @@ Generated by [AVA](https://avajs.dev). return super.isValidSignature(hash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -7702,8 +7702,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -7783,8 +7783,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913Upgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913Upgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -8163,8 +8163,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeighted is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisigWeighted)␊ + // IMPORTANT: Make sure MultiSignerERC7913Weighted is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913Weighted)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -8237,8 +8237,8 @@ Generated by [AVA](https://avajs.dev). return super.isValidSignature(hash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeighted is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisigWeighted)␊ + // IMPORTANT: Make sure MultiSignerERC7913Weighted is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913Weighted)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -8316,8 +8316,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeighted is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisigWeighted)␊ + // IMPORTANT: Make sure MultiSignerERC7913Weighted is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913Weighted)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -8396,8 +8396,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeighted is most derived than AccountERC7579␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., SignerMultisigWeighted)␊ + // IMPORTANT: Make sure MultiSignerERC7913Weighted is most derived than AccountERC7579␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579, ..., MultiSignerERC7913Weighted)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579 returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -8906,8 +8906,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -8997,8 +8997,8 @@ Generated by [AVA](https://avajs.dev). return super.isValidSignature(hash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -9092,8 +9092,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -9188,8 +9188,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -9642,8 +9642,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -9726,8 +9726,8 @@ Generated by [AVA](https://avajs.dev). return super.isValidSignature(hash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -9814,8 +9814,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ @@ -9903,8 +9903,8 @@ Generated by [AVA](https://avajs.dev). return super._validateUserOp(userOp, userOpHash, signature);␊ }␊ ␊ - // IMPORTANT: Make sure SignerMultisigWeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ - // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., SignerMultisigWeightedUpgradeable)␊ + // IMPORTANT: Make sure MultiSignerERC7913WeightedUpgradeable is most derived than AccountERC7579Upgradeable␊ + // in the inheritance chain (i.e. contract ... is AccountERC7579Upgradeable, ..., MultiSignerERC7913WeightedUpgradeable)␊ // to ensure the correct order of function resolution.␊ // AccountERC7579Upgradeable returns false for _rawSignatureValidation␊ function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊ diff --git a/packages/core/solidity/src/account.test.ts.snap b/packages/core/solidity/src/account.test.ts.snap index be211845051cbba6643c6fe741cc35ebe97ad1dc..c47804a861dfef59db19e0be148419eb23f03024 100644 GIT binary patch literal 11607 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 literal 11599 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 Date: Wed, 5 Nov 2025 18:41:51 +0500 Subject: [PATCH 2/3] Update .changeset/huge-ties-find.md Co-authored-by: Eric Lau --- .changeset/huge-ties-find.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/huge-ties-find.md b/.changeset/huge-ties-find.md index 65324e527..5ffa27ba9 100644 --- a/.changeset/huge-ties-find.md +++ b/.changeset/huge-ties-find.md @@ -1,5 +1,5 @@ --- -'@openzeppelin/wizard': minor +'@openzeppelin/wizard': patch --- Fixed bug with incorrect names in generated comment for Multisig account. From af3c06462f164a902e1408088de92034a69579c2 Mon Sep 17 00:00:00 2001 From: typicalHuman Date: Wed, 5 Nov 2025 18:45:28 +0500 Subject: [PATCH 3/3] Refactor --- packages/core/solidity/src/account.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/core/solidity/src/account.ts b/packages/core/solidity/src/account.ts index e1e3452c9..e28b16f63 100644 --- a/packages/core/solidity/src/account.ts +++ b/packages/core/solidity/src/account.ts @@ -244,9 +244,7 @@ function overrideRawSignatureValidation(c: ContractBuilder, opts: AccountOptions // Disambiguate between Signer and AccountERC7579 if (opts.signer && opts.ERC7579Modules) { const accountName = opts.upgradeable ? upgradeableName('AccountERC7579') : 'AccountERC7579'; - const signerBaseName = opts.signer.includes('Multisig') - ? `MultiSignerERC7913${opts.signer == 'MultisigWeighted' ? 'Weighted' : ''}` - : `Signer${opts.signer}`; + const signerBaseName = signers[opts.signer].name; const signerName = opts.upgradeable ? upgradeableName(signerBaseName) : signerBaseName; c.addImportOnly({