Commit 330e2859 authored by James Kim's avatar James Kim

refactor EIP712 creator

parent d5007be5
...@@ -25,8 +25,6 @@ contract OptimistInviter_Initializer is Test { ...@@ -25,8 +25,6 @@ contract OptimistInviter_Initializer is Test {
bytes32 EIP712_DOMAIN_TYPEHASH; bytes32 EIP712_DOMAIN_TYPEHASH;
ClaimableInviteEIP712TypedData claimableInviteEIP712TypedData;
address internal alice_inviteGranter; address internal alice_inviteGranter;
address internal sally; address internal sally;
address internal ted; address internal ted;
...@@ -85,11 +83,6 @@ contract OptimistInviter_Initializer is Test { ...@@ -85,11 +83,6 @@ contract OptimistInviter_Initializer is Test {
vm.expectEmit(true, true, true, true, address(optimistInviter)); vm.expectEmit(true, true, true, true, address(optimistInviter));
emit Initialized(1); emit Initialized(1);
optimistInviter.initialize("OptimistInviter"); optimistInviter.initialize("OptimistInviter");
claimableInviteEIP712TypedData = new ClaimableInviteEIP712TypedData(
"OptimistInviter",
optimistInviter.version()
);
} }
/** /**
...@@ -180,7 +173,7 @@ contract OptimistInviter_Initializer is Test { ...@@ -180,7 +173,7 @@ contract OptimistInviter_Initializer is Test {
claimableInvite, claimableInvite,
_getSignature( _getSignature(
_issuerPrivateKey, _issuerPrivateKey,
claimableInviteEIP712TypedData.getDigestWithDomain( ClaimableInviteEIP712TypedData.getDigest(
claimableInvite, claimableInvite,
_eip712Name, _eip712Name,
_eip712Version, _eip712Version,
...@@ -283,48 +276,24 @@ contract OptimistInviter_Initializer is Test { ...@@ -283,48 +276,24 @@ contract OptimistInviter_Initializer is Test {
assertEq(_getInviteCount(_to), 3); assertEq(_getInviteCount(_to), 3);
} }
// /** /**
// * @notice Gets the hashed typed object for a EIP712 signature. * @notice Issues 3 invites to the given address. Checks that all expected events are emitted
// */ * and that state is updated correctly.
// function _getStructHash(OptimistInviter.ClaimableInvite memory _claimableInvite) */
// internal function _getEIP712Digest(OptimistInviter.ClaimableInvite memory _claimableInvite)
// view internal
// returns (bytes32) view
// { returns (bytes32)
// return {
// keccak256( return
// abi.encode( ClaimableInviteEIP712TypedData.getDigest(
// optimistInviter.CLAIMABLE_INVITE_TYPEHASH(), _claimableInvite,
// _claimableInvite.issuer, bytes("OptimistInviter"),
// _claimableInvite.nonce bytes(optimistInviter.version()),
// ) block.chainid,
// ); address(optimistInviter)
// } );
}
// /**
// * @notice Gets the signable digest for a EIP712 signature.
// */
// function _getEIP712Digest(
// OptimistInviter.ClaimableInvite memory _claimableInvite,
// bytes memory _name,
// bytes memory _version,
// uint256 _chainid,
// address _verifyingContract
// ) internal view returns (bytes32) {
// bytes32 domainSeparator = keccak256(
// abi.encode(
// EIP712_DOMAIN_TYPEHASH,
// keccak256(_name),
// keccak256(_version),
// _chainid,
// _verifyingContract
// )
// );
// return
// keccak256(
// abi.encodePacked("\x19\x01", domainSeparator, _getStructHash(_claimableInvite))
// );
// }
} }
contract OptimistInviterTest is OptimistInviter_Initializer { contract OptimistInviterTest is OptimistInviter_Initializer {
...@@ -578,13 +547,7 @@ contract OptimistInviterTest is OptimistInviter_Initializer { ...@@ -578,13 +547,7 @@ contract OptimistInviterTest is OptimistInviter_Initializer {
nonce nonce
); );
bytes memory signature = _getSignature( bytes memory signature = _getSignature(carolPrivateKey, _getEIP712Digest(claimableInvite));
carolPrivateKey,
claimableInviteEIP712TypedData.getDigest(
claimableInvite,
)
);
// Sally tries to claim the invite // Sally tries to claim the invite
_commitInviteAs(sally, signature); _commitInviteAs(sally, signature);
......
...@@ -5,7 +5,7 @@ import { ECDSA } from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; ...@@ -5,7 +5,7 @@ import { ECDSA } from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
import { OptimistInviter } from "../../universal/op-nft/OptimistInviter.sol"; import { OptimistInviter } from "../../universal/op-nft/OptimistInviter.sol";
/** /**
* Helper contract that generates the EIP712 digest for a ClaimableInvite. * Helper library that generates the EIP712 digest for a ClaimableInvite.
*/ */
library ClaimableInviteEIP712TypedData { library ClaimableInviteEIP712TypedData {
bytes32 public constant CLAIMABLE_INVITE_TYPEHASH = bytes32 public constant CLAIMABLE_INVITE_TYPEHASH =
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment