pragma solidity ^0.5.7; import "./RefundableCrowdsale.sol"; import "./PostDeliveryCrowdsale.sol"; /** * @title RefundablePostDeliveryCrowdsale * @dev Extension of RefundableCrowdsale contract that only delivers the tokens * once the crowdsale has closed and the goal met, preventing refunds to be issued * to token holders. */ contract RefundablePostDeliveryCrowdsale is RefundableCrowdsale, PostDeliveryCrowdsale { function withdrawTokens(address beneficiary) public { require(finalized(), "RefundablePostDeliveryCrowdsale: not finalized"); require(goalReached(), "RefundablePostDeliveryCrowdsale: goal not reached"); super.withdrawTokens(beneficiary); } }