From 65f17fd76e90210e17091558ee5bfb6d50a3daf6 Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Wed, 10 Jul 2019 21:47:40 -0700 Subject: [PATCH] Make LibEIP712 a library --- .../contracts/src/LibEIP712ExchangeDomain.sol | 9 ++++----- contracts/utils/contracts/src/LibEIP712.sol | 12 ++++++------ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/contracts/exchange-libs/contracts/src/LibEIP712ExchangeDomain.sol b/contracts/exchange-libs/contracts/src/LibEIP712ExchangeDomain.sol index 57ba23fef7..6f685f2d80 100644 --- a/contracts/exchange-libs/contracts/src/LibEIP712ExchangeDomain.sol +++ b/contracts/exchange-libs/contracts/src/LibEIP712ExchangeDomain.sol @@ -21,9 +21,8 @@ pragma solidity ^0.5.9; import "@0x/contracts-utils/contracts/src/LibEIP712.sol"; -contract LibEIP712ExchangeDomain is - LibEIP712 -{ +contract LibEIP712ExchangeDomain { + // EIP712 Exchange Domain Name value string constant public EIP712_EXCHANGE_DOMAIN_NAME = "0x Protocol"; @@ -43,7 +42,7 @@ contract LibEIP712ExchangeDomain is public { address verifyingContractAddress = verifyingContractAddressIfExists == address(0) ? address(this) : verifyingContractAddressIfExists; - EIP712_EXCHANGE_DOMAIN_HASH = _hashEIP712Domain( + EIP712_EXCHANGE_DOMAIN_HASH = LibEIP712.hashEIP712Domain( EIP712_EXCHANGE_DOMAIN_NAME, EIP712_EXCHANGE_DOMAIN_VERSION, chainId, @@ -60,6 +59,6 @@ contract LibEIP712ExchangeDomain is view returns (bytes32 result) { - return _hashEIP712Message(EIP712_EXCHANGE_DOMAIN_HASH, hashStruct); + return LibEIP712.hashEIP712Message(EIP712_EXCHANGE_DOMAIN_HASH, hashStruct); } } diff --git a/contracts/utils/contracts/src/LibEIP712.sol b/contracts/utils/contracts/src/LibEIP712.sol index 9563e1aea2..06e2a7daa6 100644 --- a/contracts/utils/contracts/src/LibEIP712.sol +++ b/contracts/utils/contracts/src/LibEIP712.sol @@ -19,7 +19,7 @@ pragma solidity ^0.5.9; -contract LibEIP712 { +library LibEIP712 { // Hash of the EIP712 Domain Separator Schema // keccak256(abi.encodePacked( @@ -30,14 +30,14 @@ contract LibEIP712 { // "address verifyingContractAddress", // ")" // )) - bytes32 constant public EIP712_DOMAIN_SEPARATOR_SCHEMA_HASH = 0xb1b295f2c1ed6b459ddeb95701466e4e0b385527a6cfa3873ae72a63c08466b6; + bytes32 constant internal _EIP712_DOMAIN_SEPARATOR_SCHEMA_HASH = 0xb1b295f2c1ed6b459ddeb95701466e4e0b385527a6cfa3873ae72a63c08466b6; /// @dev Calculates a EIP712 domain separator. /// @param name The EIP712 domain name. /// @param version The EIP712 domain version. /// @param verifyingContractAddress The EIP712 verifying contract. /// @return EIP712 domain separator. - function _hashEIP712Domain( + function hashEIP712Domain( string memory name, string memory version, uint256 chainId, @@ -47,11 +47,11 @@ contract LibEIP712 { pure returns (bytes32 result) { - bytes32 schemaHash = EIP712_DOMAIN_SEPARATOR_SCHEMA_HASH; + bytes32 schemaHash = _EIP712_DOMAIN_SEPARATOR_SCHEMA_HASH; // Assembly for more efficient computing: // keccak256(abi.encodePacked( - // EIP712_DOMAIN_SEPARATOR_SCHEMA_HASH, + // _EIP712_DOMAIN_SEPARATOR_SCHEMA_HASH, // keccak256(bytes(name)), // keccak256(bytes(version)), // chainId, @@ -84,7 +84,7 @@ contract LibEIP712 { /// with getDomainHash(). /// @param hashStruct The EIP712 hash struct. /// @return EIP712 hash applied to the given EIP712 Domain. - function _hashEIP712Message(bytes32 eip712DomainHash, bytes32 hashStruct) + function hashEIP712Message(bytes32 eip712DomainHash, bytes32 hashStruct) internal pure returns (bytes32 result)