chapter21-code-5

PHOTO EMBED

Thu Mar 30 2023 11:32:45 GMT+0000 (Coordinated Universal Time)

Saved by @RareSkills

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;
	}
}
content_copyCOPY