[issue:558]remove Address.sol, replace isContract with address(...).code.length > 0 #721
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What type of PR is this (这是什么类型的PR)
Which issue(s) this PR fixes(Optional) (这个PR 修复了什么问题 (可选择))
#558
openzeppelin-contracts has already removed isContract function in Address.sol due to this issue
OpenZeppelin/openzeppelin-contracts#3417
MR:
OpenZeppelin/openzeppelin-contracts#3945
openzeppelin-contracts has already modified the implementation of _checkOnERC721Received
MR:
https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4377/files
1.removes isContract utility function from Address.sol library
2.Wherever isContract was used in the other contracts, is replaced by inlining address(...).code.length > 0
What this PR does / why we need it (这个PR 做了什么/ 我们为什么需要这个PR)
1.移除Address.sol
2.对于引用isContract方法处,修改为address(...).code.length > 0
3.openzeppelin已修改对_checkOnERC721Received的实现,适配。
合约账户 转移ERC721失败:
EOA账户 转移ERC721成功: