24번 ETH 송금하고 받기
Mar 19, 2023
코드
interface BB {
function setReceiveEtherAddress(address payable _contractAddress) external;
function contractAddress() external returns(address payable);
}
contract BBBB {
address payable public web3onlinejudge = payable(0x21867762b9b90EedA877a7879f86Fa655C4bE5Ef);
event aaa(address payable);
receive() external payable {}
function getReceiveEtherAddress() public {
emit aaa(BB(web3onlinejudge).contractAddress());
}
function setReceiveEtherAddress() public {
BB(web3onlinejudge).setReceiveEtherAddress(payable(this));
}
}
과정
- 문제 컨트랙트로 임의의 ETH 전송
- contract BBBB 배포
- setReceiveEtherAddress() 함수 실행
- 제출버튼 클릭
핵심
- receive function이 있어야 한다.