Wormhole message fee now part of quoteDeliveryPrice (#3043)

This commit is contained in:
derpy-duck 2023-06-08 14:01:34 -04:00
parent 018ee721b0
commit 5130eff0ef
11 changed files with 55 additions and 90 deletions

View File

@ -19,12 +19,6 @@ contract DeliveryProvider is DeliveryProviderGovernance, IDeliveryProvider {
error CallerNotApproved(address msgSender);
address immutable wormhole;
constructor(address _wormhole) {
wormhole = _wormhole;
}
function quoteEvmDeliveryPrice(
uint16 targetChain,
Gas gasLimit,
@ -41,7 +35,6 @@ contract DeliveryProvider is DeliveryProviderGovernance, IDeliveryProvider {
Wei receiverValueCost = quoteAssetCost(targetChain, receiverValue);
nativePriceQuote = (
transactionFee.max(costOfProvidingFullGasLimit) + receiverValueCost
+ wormholeMessageFee()
).asLocalNative();
require(
receiverValue.asNative() + costOfProvidingFullGasLimit <= maximumBudget(targetChain),
@ -119,10 +112,6 @@ contract DeliveryProvider is DeliveryProviderGovernance, IDeliveryProvider {
*
*/
function wormholeMessageFee() public view returns (Wei) {
return Wei.wrap(IWormhole(wormhole).messageFee());
}
//Returns the delivery overhead fee required to deliver a message to the target chain, denominated in this chain's wei.
function quoteDeliveryOverhead(uint16 targetChain) public view returns (Wei nativePriceQuote) {
Gas overhead = deliverGasOverhead(targetChain);

View File

@ -10,8 +10,6 @@ import "./DeliveryProvider.sol";
contract DeliveryProviderImplementation is DeliveryProvider {
error ImplementationAlreadyInitialized();
constructor(address wormhole) DeliveryProvider(wormhole) {}
function initialize() public virtual initializer {
// this function needs to be exposed for an upgrade to pass
}

View File

@ -577,7 +577,7 @@ abstract contract WormholeRelayerDelivery is WormholeRelayerBase, IWormholeRelay
}
// assuming refund chain is an EVM chain
if (refundAmount <= getWormholeMessageFee() + baseDeliveryPrice) {
if (refundAmount <= baseDeliveryPrice) {
return RefundStatus.CROSS_CHAIN_REFUND_FAIL_NOT_ENOUGH;
}
try IWormholeRelayerSend(address(this)).send{value: refundAmount.unwrap()}(
@ -585,7 +585,7 @@ abstract contract WormholeRelayerDelivery is WormholeRelayerBase, IWormholeRelay
bytes32(0),
bytes(""),
TargetNative.wrap(0),
refundAmount - getWormholeMessageFee() - baseDeliveryPrice,
refundAmount - baseDeliveryPrice,
encodeEvmExecutionParamsV1(getEmptyEvmExecutionParamsV1()),
refundChain,
refundAddress,

View File

@ -528,7 +528,7 @@ abstract contract WormholeRelayerSend is WormholeRelayerBase, IWormholeRelayerSe
targetChain, receiverValue, encodedExecutionParameters
);
encodedExecutionInfo = _encodedExecutionInfo;
nativePriceQuote = deliveryPrice;
nativePriceQuote = deliveryPrice + getWormholeMessageFee();
}
function quoteNativeForChain(

View File

@ -58,7 +58,7 @@ contract AttackForwardIntegration is IWormholeReceiver {
coreRelayer.quoteEVMDeliveryPrice(_targetChain, TargetNative.wrap(0), Gas.wrap(SAFE_DELIVERY_GAS_CAPTURE));
bytes memory emptyArray;
coreRelayer.forwardToEvm{value: LocalNative.unwrap(deliveryPayment) + wormhole.messageFee()}(
coreRelayer.forwardToEvm{value: LocalNative.unwrap(deliveryPayment)}(
_targetChain,
attackerRewardAddress,
emptyArray,

View File

@ -69,7 +69,7 @@ contract ForwardTester is IWormholeReceiver {
wormholeRelayer.quoteEVMDeliveryPrice(sourceChain, TargetNative.wrap(0), REASONABLE_GAS_LIMIT);
vm.recordLogs();
wormholeRelayer.sendPayloadToEvm{
value: deliveryPrice.unwrap() + wormhole.messageFee() + msg.value
value: deliveryPrice.unwrap() + msg.value
}(
sourceChain,
fromWormholeFormat(sourceAddress),

View File

@ -27,10 +27,9 @@ contract TestDeliveryProvider is Test {
DeliveryProvider internal deliveryProvider;
function initializeDeliveryProvider() internal {
(IWormhole wormhole,) = setUpWormhole(TEST_ORACLE_CHAIN_ID);
DeliveryProviderSetup deliveryProviderSetup = new DeliveryProviderSetup();
DeliveryProviderImplementation deliveryProviderImplementation =
new DeliveryProviderImplementation(address(wormhole));
new DeliveryProviderImplementation();
DeliveryProviderProxy myDeliveryProvider = new DeliveryProviderProxy(
address(deliveryProviderSetup),
abi.encodeCall(
@ -48,24 +47,6 @@ contract TestDeliveryProvider is Test {
require(deliveryProvider.chainId() == TEST_ORACLE_CHAIN_ID, "chainId() != expected");
}
function setUpWormhole(uint16 chainId)
public
returns (IWormhole wormholeContract, WormholeSimulator wormholeSimulator)
{
// deploy Wormhole
MockWormhole wormhole = new MockWormhole({
initChainId: chainId,
initEvmChainId: block.chainid
});
// replace Wormhole with the Wormhole Simulator contract (giving access to some nice helper methods for signing)
wormholeSimulator = new FakeWormholeSimulator(
wormhole
);
wormholeContract = wormhole;
}
function testCannotUpdatePriceWithChainIdZero(
GasPrice updateGasPrice,
WeiPrice updateNativeCurrencyPrice

View File

@ -86,14 +86,13 @@ contract TestHelpers {
}
function setUpDeliveryProvider(
uint16 chainId,
address wormhole
uint16 chainId
) public returns (DeliveryProvider deliveryProvider) {
vm.prank(msg.sender);
DeliveryProviderSetup deliveryProviderSetup = new DeliveryProviderSetup();
vm.prank(msg.sender);
DeliveryProviderImplementation deliveryProviderImplementation =
new DeliveryProviderImplementation(wormhole);
new DeliveryProviderImplementation();
vm.prank(msg.sender);
DeliveryProviderProxy myDeliveryProvider = new DeliveryProviderProxy(
address(deliveryProviderSetup),

View File

@ -280,7 +280,7 @@ contract WormholeRelayerTests is Test {
for (uint16 i = 1; i <= numChains; i++) {
Contracts memory mapEntry;
(mapEntry.wormhole, mapEntry.wormholeSimulator) = helpers.setUpWormhole(i);
mapEntry.deliveryProvider = helpers.setUpDeliveryProvider(i, address(mapEntry.wormhole));
mapEntry.deliveryProvider = helpers.setUpDeliveryProvider(i);
mapEntry.coreRelayer =
helpers.setUpWormholeRelayer(mapEntry.wormhole, address(mapEntry.deliveryProvider));
mapEntry.coreRelayerFull = WormholeRelayer(payable(address(mapEntry.coreRelayer)));
@ -398,7 +398,7 @@ contract WormholeRelayerTests is Test {
setup.targetChain, TargetNative.wrap(receiverValue), Gas.wrap(gasLimit)
);
sequence = setup.source.integration.sendMessage{
value: LocalNative.unwrap(deliveryCost) + setup.source.wormhole.messageFee()
value: LocalNative.unwrap(deliveryCost)
}(message, setup.targetChain, gasLimit, receiverValue);
}
@ -413,7 +413,7 @@ contract WormholeRelayerTests is Test {
(LocalNative forwardDeliveryCost,) = setup.target.coreRelayer.quoteEVMDeliveryPrice(
setup.sourceChain, TargetNative.wrap(0), REASONABLE_GAS_LIMIT
);
uint256 neededReceiverValue = forwardDeliveryCost.unwrap() + setup.target.wormhole.messageFee();
uint256 neededReceiverValue = forwardDeliveryCost.unwrap();
vm.assume(neededReceiverValue <= type(uint128).max);
if (forwardShouldSucceed) {
vm.assume(receiverValue >= neededReceiverValue);
@ -426,7 +426,7 @@ contract WormholeRelayerTests is Test {
);
sequence = setup.source.integration.sendMessageWithForwardedResponse{
value: deliveryCost.unwrap() + setup.source.wormhole.messageFee()
value: deliveryCost.unwrap()
}(message, forwardedMessage, setup.targetChain, gasLimit, receiverValue);
}
@ -441,7 +441,7 @@ contract WormholeRelayerTests is Test {
setup.targetChain, TargetNative.wrap(receiverValue), Gas.wrap(gasLimit)
);
setup.source.integration.resend{value: newDeliveryCost.unwrap() + setup.source.wormhole.messageFee()}(
setup.source.integration.resend{value: newDeliveryCost.unwrap()}(
setup.sourceChain, sequence, setup.targetChain, gasLimit, receiverValue
);
}
@ -582,8 +582,7 @@ contract WormholeRelayerTests is Test {
setup.targetChain, TargetNative.wrap(0), REASONABLE_GAS_LIMIT
);
uint256 receiverValue = firstForwardDeliveryCost.unwrap() + secondForwardDeliveryCost.unwrap()
+ 2 * setup.target.wormhole.messageFee();
uint256 receiverValue = firstForwardDeliveryCost.unwrap() + secondForwardDeliveryCost.unwrap();
vm.assume(receiverValue <= type(uint128).max);
(LocalNative deliveryCost,) = setup.source.coreRelayer.quoteEVMDeliveryPrice(
@ -593,7 +592,7 @@ contract WormholeRelayerTests is Test {
vm.recordLogs();
setup.source.integration.sendMessageWithMultiForwardedResponse{
value: deliveryCost.unwrap() + feeParams.wormholeFeeOnSource
value: deliveryCost.unwrap()
}(
message,
forwardedMessage,
@ -710,7 +709,7 @@ contract WormholeRelayerTests is Test {
setupFundsCorrectTest(gasParams, feeParams, 170000);
setup.source.integration.sendMessageWithRefund{
value: test.deliveryPrice + feeParams.wormholeFeeOnSource
value: test.deliveryPrice
}(
bytes("Hello!"),
setup.targetChain,
@ -736,7 +735,7 @@ contract WormholeRelayerTests is Test {
test.destinationAmount == test.receiverValue, "Receiver value was sent to the contract"
);
assertTrue(
test.rewardAddressAmount == test.deliveryPrice, "Reward address was paid correctly"
test.rewardAddressAmount + feeParams.wormholeFeeOnSource == test.deliveryPrice, "Reward address was paid correctly"
);
test.gasAmount = uint32(
@ -767,7 +766,7 @@ contract WormholeRelayerTests is Test {
setupFundsCorrectTest(gasParams, feeParams, 0);
setup.source.integration.sendMessageWithRefund{
value: test.deliveryPrice + feeParams.wormholeFeeOnSource
value: test.deliveryPrice
}(
bytes("Hello!"),
setup.targetChain,
@ -791,7 +790,7 @@ contract WormholeRelayerTests is Test {
assertTrue(test.targetContractBalance == address(setup.target.coreRelayer).balance);
assertTrue(test.destinationAmount == 0, "No receiver value was sent to the contract");
assertTrue(
test.rewardAddressAmount == test.deliveryPrice, "Reward address was paid correctly"
test.rewardAddressAmount + feeParams.wormholeFeeOnSource == test.deliveryPrice, "Reward address was paid correctly"
);
assertTrue(test.refundAddressAmount == test.receiverValue, "Receiver value was refunded");
assertTrue(
@ -811,7 +810,7 @@ contract WormholeRelayerTests is Test {
setup.target.deliveryProvider.updateSupportedChain(1, false);
setup.source.integration.sendMessageWithForwardedResponse{
value: test.deliveryPrice + feeParams.wormholeFeeOnSource
value: test.deliveryPrice
}(
bytes("Hello!"),
bytes("Forwarded Message"),
@ -836,7 +835,7 @@ contract WormholeRelayerTests is Test {
assertTrue(test.targetContractBalance == address(setup.target.coreRelayer).balance);
assertTrue(test.destinationAmount == 0, "No receiver value was sent to the contract");
assertTrue(
test.rewardAddressAmount == test.deliveryPrice, "Reward address was paid correctly"
test.rewardAddressAmount + feeParams.wormholeFeeOnSource == test.deliveryPrice, "Reward address was paid correctly"
);
test.gasAmount = uint32(
gasParams.targetGasLimit
@ -868,14 +867,14 @@ contract WormholeRelayerTests is Test {
(LocalNative forwardDeliveryCost,) = setup.target.coreRelayer.quoteEVMDeliveryPrice(
setup.sourceChain, TargetNative.wrap(0), REASONABLE_GAS_LIMIT
);
uint256 receiverValue = forwardDeliveryCost.unwrap() + setup.target.wormhole.messageFee();
uint256 receiverValue = forwardDeliveryCost.unwrap();
vm.assume(receiverValue <= type(uint128).max);
vm.assume(feeParams.receiverValueTarget >= receiverValue);
uint256 rewardAddressBalanceTarget = setup.target.rewardAddress.balance;
setup.source.integration.sendMessageWithForwardedResponse{
value: test.deliveryPrice + feeParams.wormholeFeeOnSource
value: test.deliveryPrice
}(
bytes("Hello!"),
bytes("Forwarded Message!"),
@ -916,7 +915,7 @@ contract WormholeRelayerTests is Test {
assertTrue(test.refundAddressAmount == 0, "All refund amount was forwarded");
assertTrue(test.destinationAmount == 0, "All receiver amount was sent to forward");
assertTrue(
test.rewardAddressAmount == test.deliveryPrice,
test.rewardAddressAmount + feeParams.wormholeFeeOnSource == test.deliveryPrice,
"Source reward address was paid correctly"
);
@ -961,12 +960,12 @@ contract WormholeRelayerTests is Test {
(LocalNative forwardDeliveryCost,) =
setup.target.coreRelayer.quoteEVMDeliveryPrice(setup.sourceChain, TargetNative.wrap(0), REASONABLE_GAS_LIMIT);
uint256 receiverValue = forwardDeliveryCost.unwrap() + setup.target.wormhole.messageFee();
uint256 receiverValue = forwardDeliveryCost.unwrap();
vm.assume(receiverValue <= type(uint128).max);
vm.assume(feeParams.receiverValueTarget < receiverValue);
setup.source.integration.sendMessageWithForwardedResponse{
value: test.deliveryPrice + feeParams.wormholeFeeOnSource
value: test.deliveryPrice
}(
bytes("Hello!"),
bytes("Forwarded Message!"),
@ -1002,7 +1001,7 @@ contract WormholeRelayerTests is Test {
);
assertTrue(test.destinationAmount == 0, "No receiver value was sent to contract");
assertTrue(
test.rewardAddressAmount == test.deliveryPrice,
test.rewardAddressAmount + feeParams.wormholeFeeOnSource == test.deliveryPrice,
"Source reward address was paid correctly"
);
@ -1038,7 +1037,7 @@ contract WormholeRelayerTests is Test {
setup.source.coreRelayer.quoteEVMDeliveryPrice(setup.targetChain, TargetNative.wrap(0), TOO_LOW_GAS_LIMIT);
uint64 sequence = setup.source.integration.sendMessageWithRefund{
value: notEnoughDeliveryPrice.unwrap() + feeParams.wormholeFeeOnSource
value: notEnoughDeliveryPrice.unwrap()
}(
bytes("Hello!"),
setup.targetChain,
@ -1056,7 +1055,7 @@ contract WormholeRelayerTests is Test {
//call a resend for the orignal message
setup.source.integration.resend{
value: test.deliveryPrice + setup.source.wormhole.messageFee()
value: test.deliveryPrice
}(
setup.sourceChain,
sequence,
@ -1084,7 +1083,7 @@ contract WormholeRelayerTests is Test {
"Receiver value was sent to the contract"
);
assertTrue(
test.rewardAddressAmount == test.deliveryPrice, "Reward address was paid correctly"
test.rewardAddressAmount + feeParams.wormholeFeeOnSource == test.deliveryPrice, "Reward address was paid correctly"
);
test.gasAmount = uint32(
gasParams.targetGasLimit - test.refundAddressAmount / test.targetChainRefundPerGasUnused
@ -1116,7 +1115,7 @@ contract WormholeRelayerTests is Test {
uint256 refundAddressBalance = setup.source.refundAddress.balance;
setup.source.integration.sendMessageWithRefund{
value: test.deliveryPrice + feeParams.wormholeFeeOnSource
value: test.deliveryPrice
}(
bytes("Hello!"),
setup.targetChain,
@ -1133,7 +1132,7 @@ contract WormholeRelayerTests is Test {
genericRelayer.relay(setup.targetChain);
assertTrue(
test.deliveryPrice == setup.source.rewardAddress.balance - test.rewardAddressBalance,
test.deliveryPrice == setup.source.rewardAddress.balance - test.rewardAddressBalance + feeParams.wormholeFeeOnSource,
"The source to target relayer's reward address was paid appropriately"
);
@ -1198,7 +1197,7 @@ contract WormholeRelayerTests is Test {
setup.target.deliveryProvider.updateSupportedChain(setup.sourceChain, false);
vm.assume(test.targetChainRefundPerGasUnused * REASONABLE_GAS_LIMIT.unwrap() >= feeParams.wormholeFeeOnTarget + uint256(1) * gasParams.evmGasOverhead * gasParams.sourceGasPrice * (uint256(feeParams.sourceNativePrice) / feeParams.targetNativePrice + 1));
setup.source.integration.sendMessageWithRefund{value: test.deliveryPrice + feeParams.wormholeFeeOnSource}(
setup.source.integration.sendMessageWithRefund{value: test.deliveryPrice}(
bytes("Hello!"),
setup.targetChain,
gasParams.targetGasLimit,
@ -1213,7 +1212,7 @@ contract WormholeRelayerTests is Test {
assertTrue(
test.deliveryPrice
== setup.source.rewardAddress.balance - test.rewardAddressBalance,
== setup.source.rewardAddress.balance - test.rewardAddressBalance + feeParams.wormholeFeeOnSource,
"The source to target relayer's reward address was paid appropriately"
);
@ -1241,7 +1240,7 @@ contract WormholeRelayerTests is Test {
setupFundsCorrectTest(gasParams, feeParams, 170000);
vm.assume(uint256(1) * gasParams.evmGasOverhead * gasParams.sourceGasPrice * feeParams.sourceNativePrice > uint256(1) * feeParams.targetNativePrice * test.targetChainRefundPerGasUnused * gasParams.targetGasLimit);
setup.source.integration.sendMessageWithRefund{value: test.deliveryPrice + feeParams.wormholeFeeOnSource}(
setup.source.integration.sendMessageWithRefund{value: test.deliveryPrice}(
bytes("Hello!"),
setup.targetChain,
gasParams.targetGasLimit,
@ -1256,7 +1255,7 @@ contract WormholeRelayerTests is Test {
assertTrue(
test.deliveryPrice
== setup.source.rewardAddress.balance - test.rewardAddressBalance,
== setup.source.rewardAddress.balance - test.rewardAddressBalance + feeParams.wormholeFeeOnSource,
"The source to target relayer's reward address was paid appropriately"
);
@ -1311,7 +1310,7 @@ contract WormholeRelayerTests is Test {
.coreRelayer
.quoteEVMDeliveryPrice(setup.targetChain, TargetNative.wrap(params.receiverValue), Gas.wrap(params.gasLimit));
uint256 value =
deliveryCost.unwrap() + feeParams.wormholeFeeOnSource + params.paymentForExtraReceiverValue;
deliveryCost.unwrap() + params.paymentForExtraReceiverValue;
setup.source.integration.sendToEvm{value: value}(
setup.targetChain,
params.targetAddress,
@ -1378,7 +1377,7 @@ contract WormholeRelayerTests is Test {
.source
.coreRelayer
.quoteEVMDeliveryPrice(setup.targetChain, TargetNative.wrap(params.newReceiverValue), Gas.wrap(params.newGasLimit));
uint256 value = deliveryCost.unwrap() + feeParams.wormholeFeeOnSource;
uint256 value = deliveryCost.unwrap();
vm.deal(params.senderAddress, value);
vm.prank(params.senderAddress);
setup.source.coreRelayer.resendToEvm{value: value}(
@ -1763,7 +1762,6 @@ contract WormholeRelayerTests is Test {
setup.targetChain, TargetNative.wrap(0), Gas.wrap(gasParams.targetGasLimit)
);
stack.payment = payment_.unwrap();
stack.payment += setup.source.wormhole.messageFee();
uint64 sequence = setup.source.wormhole.publishMessage{value: feeParams.wormholeFeeOnSource}(
1, bytes(""), 200
@ -1995,12 +1993,12 @@ contract WormholeRelayerTests is Test {
vm.expectRevert(
abi.encodeWithSelector(
InvalidMsgValue.selector,
deliveryCost.unwrap() + feeParams.wormholeFeeOnSource - 1,
deliveryCost.unwrap() + feeParams.wormholeFeeOnSource
deliveryCost.unwrap() - 1,
deliveryCost.unwrap()
)
);
setup.source.integration.sendMessage{
value: deliveryCost.unwrap() + feeParams.wormholeFeeOnSource - 1
value: deliveryCost.unwrap() - 1
}(message, setup.targetChain, gasParams.targetGasLimit, 0);
}
@ -2021,12 +2019,12 @@ contract WormholeRelayerTests is Test {
vm.expectRevert(
abi.encodeWithSelector(
InvalidMsgValue.selector,
deliveryCost.unwrap() + feeParams.wormholeFeeOnSource + 1,
deliveryCost.unwrap() + feeParams.wormholeFeeOnSource
deliveryCost.unwrap() + 1,
deliveryCost.unwrap()
)
);
setup.source.integration.sendMessage{
value: deliveryCost.unwrap() + feeParams.wormholeFeeOnSource + 1
value: deliveryCost.unwrap() + 1
}(message, setup.targetChain, gasParams.targetGasLimit, 0);
}
@ -2052,7 +2050,7 @@ contract WormholeRelayerTests is Test {
)
);
setup.source.integration.sendMessage{
value: deliveryCost.unwrap() + feeParams.wormholeFeeOnSource - 1
value: deliveryCost.unwrap() - 1
}(message, 32, gasParams.targetGasLimit, 0);
}
@ -2088,7 +2086,7 @@ contract WormholeRelayerTests is Test {
(LocalNative deliveryCost,) =
setup.source.coreRelayer.quoteEVMDeliveryPrice(setup.targetChain, TargetNative.wrap(0), Gas.wrap(0));
setup.source.coreRelayer.sendToEvm{value: deliveryCost.unwrap() + feeParams.wormholeFeeOnSource}(
setup.source.coreRelayer.sendToEvm{value: deliveryCost.unwrap()}(
setup.targetChain,
address(0x0),
bytes(""),
@ -2135,7 +2133,7 @@ contract WormholeRelayerTests is Test {
(LocalNative forwardDeliveryCost,) = setup.target.coreRelayer.quoteEVMDeliveryPrice(
setup.sourceChain, TargetNative.wrap(0), REASONABLE_GAS_LIMIT
);
uint256 receiverValue = forwardDeliveryCost.unwrap() + setup.target.wormhole.messageFee();
uint256 receiverValue = forwardDeliveryCost.unwrap();
vm.assume(receiverValue <= type(uint128).max);
(LocalNative deliveryCost,) = setup.source.coreRelayer.quoteEVMDeliveryPrice(
@ -2143,7 +2141,7 @@ contract WormholeRelayerTests is Test {
);
setup.source.coreRelayer.sendPayloadToEvm{
value: deliveryCost.unwrap() + feeParams.wormholeFeeOnSource
value: deliveryCost.unwrap()
}(
setup.targetChain,
address(forwardTester),
@ -2316,7 +2314,7 @@ contract WormholeRelayerTests is Test {
// The attacker requests the message to be sent to the malicious contract.
// It is critical that the refund and destination (aka integrator) addresses are the same.
setup.source.coreRelayer.sendPayloadToEvm{
value: deliveryPrice.unwrap() + setup.source.wormhole.messageFee()
value: deliveryPrice.unwrap()
}(setup.targetChain, address(attackerContract), attackMsg, TargetNative.wrap(0), Gas.wrap(gasParams.targetGasLimit), setup.targetChain, address(attackerContract));
// The relayer triggers the call to the malicious contract.
@ -2336,7 +2334,7 @@ contract WormholeRelayerTests is Test {
// We will reutilize the delivery price estimated for the attacker to simplify the code here.
// The victim requests their message to be sent.
setup.source.coreRelayer.sendPayloadToEvm{
value: deliveryPrice.unwrap() + setup.source.wormhole.messageFee()
value: deliveryPrice.unwrap()
}(
setup.targetChain,
address(setup.target.integration),

View File

@ -50,7 +50,7 @@ contract WormholeRelayerGovernanceTests is Test {
function setUp() public {
helpers = new TestHelpers();
(wormhole, wormholeSimulator) = helpers.setUpWormhole(1);
deliveryProvider = helpers.setUpDeliveryProvider(1, address(wormhole));
deliveryProvider = helpers.setUpDeliveryProvider(1);
wormholeRelayer = helpers.setUpWormholeRelayer(wormhole, address(deliveryProvider));
}
@ -99,8 +99,8 @@ contract WormholeRelayerGovernanceTests is Test {
}
function testSetDefaultDeliveryProvider() public {
IDeliveryProvider deliveryProviderB = helpers.setUpDeliveryProvider(1, address(wormhole));
IDeliveryProvider deliveryProviderC = helpers.setUpDeliveryProvider(1, address(wormhole));
IDeliveryProvider deliveryProviderB = helpers.setUpDeliveryProvider(1);
IDeliveryProvider deliveryProviderC = helpers.setUpDeliveryProvider(1);
bytes memory signed = signMessage(
abi.encodePacked(
@ -189,7 +189,7 @@ contract WormholeRelayerGovernanceTests is Test {
relayerModule,
uint8(2),
uint16(1),
toWormholeFormat(address(new DeliveryProviderImplementation(address(wormhole))))
toWormholeFormat(address(new DeliveryProviderImplementation()))
)
);

View File

@ -32,7 +32,7 @@ export async function deployDeliveryProviderImplementation(
bytecode,
signer
);
const contract = await factory.deploy(chain.wormholeAddress);
const contract = await factory.deploy();
return await contract.deployed().then((result) => {
console.log("Successfully deployed contract at " + result.address);
return { address: result.address, chainId: chain.chainId };