contract ReceiveEther {
function takeMoney() public payable {
}
function myBalance() public view returns (uint256) {
return address(this).balance;
}
}
contract SendMoney {
constructor() payable {
}
function sendMoney(address receiveEtherContract) public payable {
uint256 amount = myBalance();
(bool ok, ) = receiveEtherContract.call{value: amount}(abi.encodeWithSignature("takeMoney()"));
require(ok, "transfer failed");
}
function myBalance() public view returns (uint256) {
return address(this).balance;
}
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter