Replace excodesize assembly with address.code.length (https://github.com/ethereum/solidity/releases/tag/v0.8.1) (#3025)

This commit is contained in:
Anton Bukov
2021-12-15 18:54:10 +01:00
committed by GitHub
parent 4a9cc8b491
commit d95cdaae8e

View File

@ -34,15 +34,11 @@ library Address {
* ====
*/
function isContract(address account) internal view returns (bool) {
// This method relies on extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
// This method relies on extcodesize/address.code.length, which returns 0
// for contracts in construction, since the code is only stored at the end
// of the constructor execution.
uint256 size;
assembly {
size := extcodesize(account)
}
return size > 0;
return account.code.length > 0;
}
/**