From 93df3fa859ed43ede01ddaff93cb5e7c453bf078 Mon Sep 17 00:00:00 2001 From: cristovaoth Date: Fri, 29 Sep 2023 15:46:44 +0200 Subject: [PATCH] Renames in preparation for eip-1271 signatures --- contracts/core/Modifier.sol | 8 ++++---- .../{Eip712Signature.sol => SignatureChecker.sol} | 12 ++++++------ contracts/test/TestSignature.sol | 8 ++++---- test/03_Modifier.spec.ts | 4 ++-- test/06_Eip712Signature.spec.ts | 2 +- 5 files changed, 17 insertions(+), 17 deletions(-) rename contracts/signature/{Eip712Signature.sol => SignatureChecker.sol} (86%) diff --git a/contracts/core/Modifier.sol b/contracts/core/Modifier.sol index 7b5a6c1b..160898c1 100644 --- a/contracts/core/Modifier.sol +++ b/contracts/core/Modifier.sol @@ -5,9 +5,9 @@ pragma solidity >=0.7.0 <0.9.0; import "./Module.sol"; import "../interfaces/IAvatar.sol"; -import "../signature/EIP712Signature.sol"; +import "../signature/SignatureChecker.sol"; -abstract contract Modifier is Module, IAvatar, EIP712Signature { +abstract contract Modifier is Module, IAvatar, SignatureChecker { address internal constant SENTINEL_MODULES = address(0x1); /// Mapping of modules. mapping(address => address) internal modules; @@ -75,10 +75,10 @@ abstract contract Modifier is Module, IAvatar, EIP712Signature { modifier moduleOnly() { if (modules[msg.sender] == address(0)) { - if (modules[eip712SignedBy()] == address(0)) { + if (modules[moduleTxSignedBy()] == address(0)) { revert NotAuthorized(msg.sender); } - eip712BumpNonce(); + moduleTxNonceBump(); } _; diff --git a/contracts/signature/Eip712Signature.sol b/contracts/signature/SignatureChecker.sol similarity index 86% rename from contracts/signature/Eip712Signature.sol rename to contracts/signature/SignatureChecker.sol index bb9cdcb6..f1d3d072 100644 --- a/contracts/signature/Eip712Signature.sol +++ b/contracts/signature/SignatureChecker.sol @@ -1,29 +1,29 @@ // SPDX-License-Identifier: LGPL-3.0-only pragma solidity >=0.8.0 <0.9.0; -/// @title EIP712Signature - A contract that extracts and inspects EIP-712 signatures appended to calldata. - -abstract contract EIP712Signature { +/// @title SignatureChecker - A contract that extracts and inspects signatures appended to calldata. +/// @notice currently supporting eip-712 and eip-1271 signatures +abstract contract SignatureChecker { uint256 private nonce; /** * @dev Returns the current nonce value. */ - function eip712Nonce() public view returns (uint256) { + function moduleTxNonce() public view returns (uint256) { return nonce; } /** * @dev Increments nonce. */ - function eip712BumpNonce() internal { + function moduleTxNonceBump() internal { nonce = nonce + 1; } /** * @dev When signature present in calldata, returns the address of the signer. */ - function eip712SignedBy() internal returns (address signer) { + function moduleTxSignedBy() internal view returns (address signer) { if (msg.data.length >= 4 + 32 + 32 + 1) { ( bytes calldata dataTrimmed, diff --git a/contracts/test/TestSignature.sol b/contracts/test/TestSignature.sol index a5e94de8..e1afb074 100644 --- a/contracts/test/TestSignature.sol +++ b/contracts/test/TestSignature.sol @@ -1,18 +1,18 @@ // SPDX-License-Identifier: LGPL-3.0-only pragma solidity >=0.8.0; -import "../signature/EIP712Signature.sol"; +import "../signature/SignatureChecker.sol"; -contract TestSignature is EIP712Signature { +contract TestSignature is SignatureChecker { event Hello(address signer); event Goodbye(address signer); function hello() public { - emit Hello(eip712SignedBy()); + emit Hello(moduleTxSignedBy()); } function goodbye(uint256, bytes memory) public { - emit Goodbye(eip712SignedBy()); + emit Goodbye(moduleTxSignedBy()); } } diff --git a/test/03_Modifier.spec.ts b/test/03_Modifier.spec.ts index 4f1b6d0f..7bcb91df 100644 --- a/test/03_Modifier.spec.ts +++ b/test/03_Modifier.spec.ts @@ -399,7 +399,7 @@ describe("Modifier", async () => { await TestModifier__factory.connect( modifier.address, hre.ethers.provider - ).eip712Nonce() + ).moduleTxNonce() ).to.equal(0); }); it("execute a transaction with signature nonce is incremented.", async () => { @@ -433,7 +433,7 @@ describe("Modifier", async () => { await TestModifier__factory.connect( modifier.address, hre.ethers.provider - ).eip712Nonce() + ).moduleTxNonce() ).to.equal(1); }); }); diff --git a/test/06_Eip712Signature.spec.ts b/test/06_Eip712Signature.spec.ts index b54eb60a..03411de5 100644 --- a/test/06_Eip712Signature.spec.ts +++ b/test/06_Eip712Signature.spec.ts @@ -68,7 +68,7 @@ describe("EIP712Signature", async () => { it("it publicly exposes the eip712 nonce", async () => { const { testSignature } = await loadFixture(setup); - expect(await testSignature.eip712Nonce()).to.equal(0); + expect(await testSignature.moduleTxNonce()).to.equal(0); }); });