library_AddressPayable

pragma solidity 0.6.2;

/*
   判断是否为合约地址,以及转账ETH
*/
library Address {

   function isContract(address addr) public view returns (bool) {
       uint size;
       assembly { size := extcodesize(addr) }
       return size > 0;
   }

   function sendEth(address payable recipient, uint256 amount) internal {
       require(address(this).balance >= amount, "Address: insufficient balance");
       (bool success, ) = recipient.call.value(amount)("");
       require(success, "Address: unable to send value, recipient may have reverted");
   }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容