16 lines
342 B
Solidity
16 lines
342 B
Solidity
contract PullPaymentCapable {
|
|
mapping(address => uint) refunds;
|
|
|
|
function asyncSend(address dest, uint amount) {
|
|
refunds[dest] += amount;
|
|
}
|
|
|
|
function withdrawRefund() external {
|
|
uint refund = refunds[msg.sender];
|
|
refunds[msg.sender] = 0;
|
|
if (!msg.sender.send(refund)) {
|
|
refunds[msg.sender] = refund;
|
|
}
|
|
}
|
|
}
|