Further adjustments to `vm.deal` in forge tests.

This commit is contained in:
Sebastián Claudio Nale 2023-02-17 18:59:23 -03:00 committed by scnale
parent 004e1b3059
commit 40e5c70430
1 changed files with 19 additions and 19 deletions

View File

@ -567,6 +567,7 @@ contract TestCoreRelayer is Test {
uint256 oldBalance = address(setup.target.integration).balance;
vm.deal(address(this), paymentNotEnough);
setup.source.integration.sendMessageWithRefundAddress{value: paymentNotEnough}(
message, setup.targetChainId, address(setup.target.integration), address(setup.target.refundAddress)
);
@ -596,7 +597,7 @@ contract TestCoreRelayer is Test {
newRelayParameters: setup.source.coreRelayer.getDefaultRelayParams()
});
vm.deal(address(this), type(uint256).max >> 2);
vm.deal(address(this), payment + newMaxTransactionFeeFee);
setup.source.coreRelayer.resend{value: payment + newMaxTransactionFeeFee}(
redeliveryRequest, 1, address(setup.source.relayProvider)
@ -655,7 +656,7 @@ contract TestCoreRelayer is Test {
newRelayParameters: setup.source.coreRelayer.getDefaultRelayParams()
});
vm.deal(address(this), type(uint256).max >> 2);
vm.deal(address(this), payment + newMaxTransactionFeeFee);
setup.source.coreRelayer.resend{value: payment + newMaxTransactionFeeFee}(
redeliveryRequest, 1, address(setup.source.relayProvider)
@ -707,6 +708,9 @@ contract TestCoreRelayer is Test {
setup.targetChainId, gasParams.targetGasLimit, address(setup.source.relayProvider)
) + uint256(3) * setup.source.wormhole.messageFee();
// This avoids payment overflow in the target.
vm.assume(payment <= type(uint256).max >> 1);
// start listening to events
vm.recordLogs();
@ -720,7 +724,7 @@ contract TestCoreRelayer is Test {
vm.getRecordedLogs();
vm.deal(address(this), type(uint256).max >> 2);
vm.deal(address(this), payment);
setup.source.integration.sendMessageWithRefundAddress{value: payment}(
secondMessage, setup.targetChainId, address(setup.target.integration), address(setup.target.refundAddress)
@ -844,7 +848,7 @@ contract TestCoreRelayer is Test {
newReceiverValue: 0,
newRelayParameters: setup.source.coreRelayer.getDefaultRelayParams()
});
vm.deal(address(this), type(uint256).max >> 2);
vm.deal(address(this), stack.payment);
vm.expectRevert(abi.encodeWithSignature("MsgValueTooLow()"));
setup.source.coreRelayer.resend{value: stack.payment - 1}(
stack.redeliveryRequest, 1, address(setup.source.relayProvider)
@ -877,7 +881,7 @@ contract TestCoreRelayer is Test {
stack.budget = stack.instruction.newMaximumRefundTarget + stack.instruction.newReceiverValueTarget
+ setup.target.wormhole.messageFee();
vm.deal(setup.target.relayer, type(uint256).max >> 2);
vm.deal(setup.target.relayer, stack.budget);
vm.prank(setup.target.relayer);
vm.expectRevert(abi.encodeWithSignature("InvalidVaa(uint8)", 2));
@ -923,7 +927,7 @@ contract TestCoreRelayer is Test {
setup.target.coreRelayerFull.redeliverSingle{value: stack.budget}(stack.package);
setup.source.relayProvider.updateDeliveryAddress(setup.targetChainId, bytes32(uint256(uint160(address(this)))));
vm.deal(address(this), type(uint256).max >> 2);
vm.deal(address(this), stack.payment);
vm.getRecordedLogs();
setup.source.coreRelayer.resend{value: stack.payment}(
stack.redeliveryRequest, 1, address(setup.source.relayProvider)
@ -948,6 +952,7 @@ contract TestCoreRelayer is Test {
stack.redeliveryVM, stack.originalDelivery.encodedVMs, payable(msg.sender)
);
vm.deal(address(this), stack.budget);
bytes32 redeliveryVmHash = relayerWormhole.parseVM(stack.redeliveryVM).hash;
vm.expectEmit(true, true, true, true, address(setup.target.coreRelayer));
emit Delivery({
@ -963,7 +968,7 @@ contract TestCoreRelayer is Test {
if (setup.targetChainId == 2) {
differentChainId = 3;
}
vm.deal(setup.target.relayer, type(uint256).max >> 2);
vm.deal(setup.target.relayer, stack.budget);
vm.expectEmit(true, true, true, true, address(map[differentChainId].coreRelayer));
emit Delivery({
recipientContract: address(setup.target.integration),
@ -975,8 +980,6 @@ contract TestCoreRelayer is Test {
vm.prank(setup.target.relayer);
map[differentChainId].coreRelayerFull.redeliverSingle{value: stack.budget}(stack.package);
vm.deal(setup.target.relayer, type(uint256).max >> 2);
stack.redeliveryRequest = IWormholeRelayer.ResendByTx({
sourceChain: setup.sourceChainId,
sourceTxHash: stack.deliveryVaaHash,
@ -993,7 +996,7 @@ contract TestCoreRelayer is Test {
setup.source.relayProvider.updateDeliveryAddress(
differentChainId, bytes32(uint256(uint160(address(setup.target.relayer))))
);
vm.deal(address(this), type(uint256).max >> 2);
vm.deal(address(this), stack.payment);
vm.getRecordedLogs();
setup.source.coreRelayer.resend{value: stack.payment}(
stack.redeliveryRequest, 1, address(setup.source.relayProvider)
@ -1011,7 +1014,8 @@ contract TestCoreRelayer is Test {
);
redeliveryVmHash = relayerWormhole.parseVM(fakeVM).hash;
vm.deal(setup.target.relayer, type(uint256).max >> 2);
uint256 txValue = stack.payment + map[differentChainId].wormhole.messageFee();
vm.deal(setup.target.relayer, txValue);
vm.expectEmit(true, true, true, true, address(map[differentChainId].coreRelayer));
emit Delivery({
@ -1022,23 +1026,19 @@ contract TestCoreRelayer is Test {
status: DeliveryStatus.INVALID_REDELIVERY
});
vm.prank(setup.target.relayer);
map[differentChainId].coreRelayerFull.redeliverSingle{
value: stack.payment + map[differentChainId].wormhole.messageFee()
}(stack.package);
vm.deal(setup.target.relayer, type(uint256).max >> 2);
map[differentChainId].coreRelayerFull.redeliverSingle{value: txValue}(stack.package);
stack.package = CoreRelayerStructs.TargetRedeliveryByTxHashParamsSingle({
redeliveryVM: correctVM,
sourceEncodedVMs: stack.originalDelivery.encodedVMs,
relayerRefundAddress: payable(setup.target.relayer)
});
vm.deal(setup.target.relayer, type(uint256).max >> 2);
vm.deal(setup.target.relayer, stack.budget - 1);
vm.expectRevert(abi.encodeWithSignature("InsufficientRelayerFunds()"));
vm.prank(setup.target.relayer);
setup.target.coreRelayerFull.redeliverSingle{value: stack.budget - 1}(stack.package);
vm.deal(setup.target.relayer, type(uint256).max >> 2);
vm.deal(setup.target.relayer, stack.budget);
assertTrue(
(keccak256(setup.target.integration.getMessage()) != keccak256(message))
@ -1124,7 +1124,7 @@ contract TestCoreRelayer is Test {
stack.budget = stack.instruction.maximumRefundTarget + stack.instruction.receiverValueTarget
+ setup.source.wormhole.messageFee();
vm.deal(setup.source.relayer, type(uint256).max >> 2);
vm.deal(setup.source.relayer, stack.budget);
vm.prank(setup.source.relayer);
vm.expectRevert(abi.encodeWithSignature("SendNotSufficientlyFunded()"));
setup.source.coreRelayerFull.deliverSingle{value: stack.budget}(stack.package);