Make LibEIP712 a library

This commit is contained in:
Amir Bandeali
2019-07-10 21:47:40 -07:00
parent 58ee4447a1
commit 65f17fd76e
2 changed files with 10 additions and 11 deletions

View File

@@ -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);
}
}

View File

@@ -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)