library_AddressPayable

2020-11-19  本文已影响0人  小吖么小一郎
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");
   }
}
上一篇 下一篇

猜你喜欢

热点阅读