Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/huge-ties-find.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@openzeppelin/wizard': patch
---

Fixed bug with incorrect names in generated comment for Multisig account.
96 changes: 48 additions & 48 deletions packages/core/solidity/src/account.test.ts.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)␊
Comment on lines +6244 to +6245
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Multisig comment rename to MultiSignerERC7913 looks correct.

Snapshot guidance now matches OZ naming (MultiSignerERC7913 and MultiSignerERC7913Weighted, incl. Upgradeable). Nice cleanup. One ask: in weighted sections, confirm the override list intentionally references MultiSignerERC7913 (base) vs Weighted if Weighted doesn’t override _rawSignatureValidation.

Also applies to: 6310-6311, 6381-6382, 6453-6454, 6900-6901, 6983-6984, 7070-7071, 7158-7159, 7625-7626, 7705-7706, 7786-7787, 8166-8167, 8240-8241, 8319-8320, 8399-8400, 8909-8910, 9000-9001, 9095-9096, 9191-9192, 9645-9646, 9729-9730, 9817-9818, 9906-9907


🏁 Script executed:

#!/bin/bash
# 1) Ensure no stale SignerMultisig identifiers remain (except in EIP712 titles/UI text if intended).
rg -nP 'SignerMultisig(Weighted)?(Upgradeable)?' -g '!**/node_modules/**'

# 2) Confirm expected MultiSigner names are present.
rg -nP 'MultiSignerERC7913(Weighted)?(Upgradeable)?' packages/

# 3) Double‑check weighted snapshots’ override lines use the intended base types.
rg -nP -C2 'override\(MultiSignerERC7913(?:Upgradeable)?[, ]' packages/core/solidity/src/account.test.ts.md

Length of output: 73012


Fix weighted section override clauses to match guidance comments.

The snapshot comments correctly specify inheritance order for MultiSignerERC7913Weighted variants (e.g., lines 8166-8167: "Make sure MultiSignerERC7913Weighted is most derived..."), but the corresponding override clauses incorrectly reference only the base MultiSignerERC7913. For weighted sections:

  • Lines 8173, 8247, 8326, 8406: override(MultiSignerERC7913, ...) should be override(MultiSignerERC7913Weighted, ...)
  • Lines 8916, 9007, 9102, 9198, 9652, 9736, 9824, 9913: override(MultiSignerERC7913Upgradeable, ...) should be override(MultiSignerERC7913WeightedUpgradeable, ...)

Also applies to: 8240-8241, 8319-8320, 8399-8400, 9000-9001, 9095-9096, 9191-9192, 9645-9646, 9729-9730, 9817-9818, 9906-9907

🤖 Prompt for AI Agents
packages/core/solidity/src/account.test.ts.md around the noted ranges (weighted
sections): update the incorrect override clauses to reference the weighted
most-derived contracts as per the comments; specifically replace
override(MultiSignerERC7913, ...) with override(MultiSignerERC7913Weighted, ...)
at lines 8173, 8247, 8326, 8406 (and the corresponding nearby occurrences at
8240-8241, 8319-8320, 8399-8400), and replace
override(MultiSignerERC7913Upgradeable, ...) with
override(MultiSignerERC7913WeightedUpgradeable, ...) at lines 8916, 9007, 9102,
9198, 9652, 9736, 9824, 9913 (and the corresponding nearby occurrences at
9000-9001, 9095-9096, 9191-9192, 9645-9646, 9729-9730, 9817-9818, 9906-9907);
ensure each override list includes the weighted variant as the most-derived
override target to match the inheritance comment.

// to ensure the correct order of function resolution.␊
// AccountERC7579 returns false for _rawSignatureValidation␊
function _rawSignatureValidation(bytes32 hash, bytes calldata signature)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down Expand Up @@ -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)␊
Expand Down
Binary file modified packages/core/solidity/src/account.test.ts.snap
Binary file not shown.
Loading
Loading