From 7c309b2110e04cffd439878a971b394779956ebd Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Thu, 7 May 2026 13:15:09 +0400 Subject: [PATCH] add @param tag to typed initialize overload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The unnamed `initialize(EvaluableConfigV3[])` overload had a docstring describing the revert behaviour but no @param tag for its parameter. Named the parameter `evaluableConfigs` and documented it as ABI-surface-only (the function reverts before reading it). The no-op self-reference quiets the unused-parameter warning. The companion BadMinStackLength @param was already present on main — that part of the audit finding was stale. Closes #349. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/concrete/Flow.sol | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/concrete/Flow.sol b/src/concrete/Flow.sol index 476e1aaf..d134ed88 100644 --- a/src/concrete/Flow.sol +++ b/src/concrete/Flow.sol @@ -120,9 +120,14 @@ contract Flow is ERC721Holder, ERC1155Holder, Multicall, ReentrancyGuard, IInter _disableInitializers(); } - /// Overloaded typed initialize function MUST revert with this error. - /// As per `ICloneableV2` interface. - function initialize(EvaluableConfigV3[] memory) external pure { + /// The typed `initialize(EvaluableConfigV3[])` overload exists only to + /// surface the parameter shape in the ABI for tooling. It MUST always + /// revert with `InitializeSignatureFn` per the `ICloneableV2` + /// contract; the canonical entrypoint is `initialize(bytes)`. + /// @param evaluableConfigs Ignored — the function reverts before + /// reading it. Named for ABI clarity only. + function initialize(EvaluableConfigV3[] memory evaluableConfigs) external pure { + evaluableConfigs; revert InitializeSignatureFn(); }