diff --git a/contracts/src/factory/HyperdriveFactory.sol b/contracts/src/factory/HyperdriveFactory.sol index 867e50629..d06c0c484 100644 --- a/contracts/src/factory/HyperdriveFactory.sol +++ b/contracts/src/factory/HyperdriveFactory.sol @@ -679,14 +679,6 @@ contract HyperdriveFactory is IHyperdriveFactory { ); } - // Refund any excess ether that was sent to this contract. - if (refund > 0) { - (bool success, ) = payable(msg.sender).call{ value: refund }(""); - if (!success) { - revert IHyperdriveFactory.TransferFailed(); - } - } - // Set the default pausers and transfer the governance status to the // hyperdrive governance address. for (uint256 i = 0; i < _defaultPausers.length; ) { @@ -697,6 +689,14 @@ contract HyperdriveFactory is IHyperdriveFactory { } hyperdrive.setGovernance(hyperdriveGovernance); + // Refund any excess ether that was sent to this contract. + if (refund > 0) { + (bool success, ) = payable(msg.sender).call{ value: refund }(""); + if (!success) { + revert IHyperdriveFactory.TransferFailed(); + } + } + return hyperdrive; }