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