From a6a4c042f5bff5cb1f002907c3697657c49cf514 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Mon, 21 Dec 2020 21:14:21 +0000 Subject: [PATCH] Adjust for chainid becoming view in 0.8.0. (#2443) Co-authored-by: Alex Beregszaszi Co-authored-by: Daniel Kirchner --- contracts/drafts/EIP712.sol | 3 ++- contracts/mocks/EIP712External.sol | 3 ++- contracts/mocks/ERC20PermitMock.sol | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/contracts/drafts/EIP712.sol b/contracts/drafts/EIP712.sol index 8e528767c..82defe8af 100644 --- a/contracts/drafts/EIP712.sol +++ b/contracts/drafts/EIP712.sol @@ -96,7 +96,8 @@ abstract contract EIP712 { return keccak256(abi.encodePacked("\x19\x01", _domainSeparatorV4(), structHash)); } - function _getChainId() private pure returns (uint256 chainId) { + function _getChainId() private view returns (uint256 chainId) { + this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 // solhint-disable-next-line no-inline-assembly assembly { chainId := chainid() diff --git a/contracts/mocks/EIP712External.sol b/contracts/mocks/EIP712External.sol index 81e1f5952..3bdd0d588 100644 --- a/contracts/mocks/EIP712External.sol +++ b/contracts/mocks/EIP712External.sol @@ -22,7 +22,8 @@ contract EIP712External is EIP712 { require(recoveredSigner == signer); } - function getChainId() external pure returns (uint256 chainId) { + function getChainId() external view returns (uint256 chainId) { + this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 // solhint-disable-next-line no-inline-assembly assembly { chainId := chainid() diff --git a/contracts/mocks/ERC20PermitMock.sol b/contracts/mocks/ERC20PermitMock.sol index 1477338b3..8b58f64de 100644 --- a/contracts/mocks/ERC20PermitMock.sol +++ b/contracts/mocks/ERC20PermitMock.sol @@ -14,7 +14,8 @@ contract ERC20PermitMock is ERC20Permit { _mint(initialAccount, initialBalance); } - function getChainId() external pure returns (uint256 chainId) { + function getChainId() external view returns (uint256 chainId) { + this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 // solhint-disable-next-line no-inline-assembly assembly { chainId := chainid()