22 lines
602 B
Solidity
22 lines
602 B
Solidity
pragma solidity ^0.4.18;
|
|
|
|
/**
|
|
* Utility library of inline functions on addresses
|
|
*/
|
|
library AddressUtils {
|
|
|
|
/**
|
|
* Returns whether there is code in the target address
|
|
* @dev This function will return false if invoked during the constructor of a contract,
|
|
* as the code is not actually created until after the constructor finishes.
|
|
* @param addr address address to check
|
|
* @return whether there is code in the target address
|
|
*/
|
|
function isContract(address addr) internal view returns (bool) {
|
|
uint size;
|
|
assembly { size := extcodesize(addr) }
|
|
return size > 0;
|
|
}
|
|
|
|
}
|