From 27c8cdace46515f2056255facb44973877df703e Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Fri, 15 May 2026 17:21:34 +0400 Subject: [PATCH] feat: make setAuthorizer public so downstream can super-call it External setAuthorizer was overridable but downstream overrides could only re-implement it; Solidity rejects `super.fn()` on external functions. Public exposes the same ABI (external callers still hit it unchanged) while letting downstream extensions wrap and forward via `super.setAuthorizer(...)` instead of re-implementing the body or calling `_setAuthorizer` directly. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/concrete/vault/OffchainAssetReceiptVault.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/concrete/vault/OffchainAssetReceiptVault.sol b/src/concrete/vault/OffchainAssetReceiptVault.sol index 7fea5a8c..0d564bf6 100644 --- a/src/concrete/vault/OffchainAssetReceiptVault.sol +++ b/src/concrete/vault/OffchainAssetReceiptVault.sol @@ -372,7 +372,7 @@ contract OffchainAssetReceiptVault is IAuthorizableV1, ICertifiableV1, IAuthoriz /// Sets the authorizer contract. This is a critical operation and should be /// done with extreme care by the owner. /// @param newAuthorizer The new authorizer contract. - function setAuthorizer(IAuthorizeV1 newAuthorizer) external virtual onlyOwner { + function setAuthorizer(IAuthorizeV1 newAuthorizer) public virtual onlyOwner { _setAuthorizer(newAuthorizer); }