Skip to content

Commit d4616b4

Browse files
committed
remove recipient
1 parent 14acdf9 commit d4616b4

9 files changed

+39
-81
lines changed

.gas-snapshot

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ DeploymentAddressesTest:test_transferOnceERC20Action_deployedAddress() (gas: 650
7474
DeploymentAddressesTest:test_treasury_deployedAddress() (gas: 389464)
7575
DeploymentAddressesTest:test_uniswapV3ExactInputAction_deployedAddress() (gas: 1826284)
7676
DeploymentAddressesTest:test_withdrawERC4626Action_deployedAddress() (gas: 864746)
77-
DepositERC4626Test:test_depositERC4626_happyPath() (gas: 481184)
78-
DepositERC4626Test:test_depositERC4626_insufficientBalance() (gas: 258277)
77+
DepositERC4626Test:test_depositERC4626_happyPath() (gas: 480894)
78+
DepositERC4626Test:test_depositERC4626_insufficientBalance() (gas: 258132)
7979
DepositERC4626Test:test_depositERC4626_maxDepositReached() (gas: 150609)
8080
DepositERC4626Test:test_depositERC4626_maxDepositTooLow() (gas: 38646)
8181
DepositERC4626Test:test_depositERC4626_minTotalSharesZero() (gas: 36832)
@@ -84,24 +84,24 @@ DepositERC4626Test:test_depositERC4626_totalSharesTooLow() (gas: 39187)
8484
DepositERC4626Test:test_depositERC4626_valueZero() (gas: 36815)
8585
DepositERC4626Test:test_depositERC4626_vaultZero() (gas: 36798)
8686
EstimateCallOnceGasConstant:testFuzz_callOnce_gasConstant(uint256,(address,bool,uint256,uint256,uint16,bytes4,bytes,(address,uint256,uint256,uint256))) (runs: 256, μ: 4173, ~: 3876)
87-
EstimateDeactivateInstructionGasConstant:testFuzz_deactivateInstruction_gasConstant(uint256,(bytes32,(address,uint256,uint256,uint256))) (runs: 256, μ: 1947, ~: 1887)
87+
EstimateDeactivateInstructionGasConstant:testFuzz_deactivateInstruction_gasConstant(uint256,(bytes32,(address,uint256,uint256,uint256))) (runs: 256, μ: 1946, ~: 1860)
8888
EstimateDepositERC4626GasConstant:testFuzz_depositERC4626_gasConstant(uint256,uint256,(address,address,uint256,uint256,uint256,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 4539, ~: 4479)
8989
EstimateRefuelERC20GasConstant:testFuzz_refuelERC20_gasConstant(uint256,uint256,(address,address,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 3023, ~: 3024)
90-
EstimateRefuelGasConstant:testFuzz_refuel_gasConstant(uint256,uint256,(address,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2884, ~: 2826)
91-
EstimateRequestDepositERC7540GasConstant:testFuzz_requestDepositERC7540_gasConstant(uint256,uint256,(address,uint256,address,address,uint256,uint256,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 257, μ: 4838, ~: 4806)
90+
EstimateRefuelGasConstant:testFuzz_refuel_gasConstant(uint256,uint256,(address,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2886, ~: 2835)
91+
EstimateRequestDepositERC7540GasConstant:testFuzz_requestDepositERC7540_gasConstant(uint256,uint256,(address,uint256,address,uint256,uint256,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 4447, ~: 4434)
9292
EstimateSweepCCTPGasConstant:testFuzz_sweepCCTP_gasConstant(uint256,uint256,(address,uint32,bytes32,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 3350, ~: 3279)
9393
EstimateSweepDepositERC4626GasConstant:testFuzz_sweepDepositERC4626_gasConstant(uint256,uint256,(address,address,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 3556, ~: 3534)
9494
EstimateSweepERC20GasConstant:testFuzz_sweepERC20_gasConstant(uint256,uint256,(address,address,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 3027, ~: 3042)
95-
EstimateSweepGasConstant:testFuzz_sweep_gasConstant(uint256,uint256,(address,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2853, ~: 2799)
96-
EstimateSweepRequestDepositERC7540GasConstant:testFuzz_sweepRequestDepositERC7540_gasConstant(uint256,uint256,(address,address,address,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 257, μ: 3884, ~: 3834)
97-
EstimateSweepUniswapV3GasConstant:testFuzz_sweepUniswapV3_gasConstant(uint256,uint256,(address,address,address,uint24,uint256,uint256,uint256,uint32,uint32,(address,uint256,uint256,uint256))) (runs: 256, μ: 4407, ~: 4371)
95+
EstimateSweepGasConstant:testFuzz_sweep_gasConstant(uint256,uint256,(address,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2867, ~: 2808)
96+
EstimateSweepRequestDepositERC7540GasConstant:testFuzz_sweepRequestDepositERC7540_gasConstant(uint256,uint256,(address,address,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 3526, ~: 3516)
97+
EstimateSweepUniswapV3GasConstant:testFuzz_sweepUniswapV3_gasConstant(uint256,uint256,(address,address,address,uint24,uint256,uint256,uint256,uint32,uint32,(address,uint256,uint256,uint256))) (runs: 256, μ: 4416, ~: 4344)
9898
EstimateSweepWithdrawERC4626GasConstant:testFuzz_sweepWithdrawERC4626_gasConstant(uint256,uint256,(address,address,uint256,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 3288, ~: 3288)
99-
EstimateTransferCCTPGasConstant:testFuzz_transferCCTP_gasConstant(uint256,uint256,(address,uint256,uint32,bytes32,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 4218, ~: 4206)
99+
EstimateTransferCCTPGasConstant:testFuzz_transferCCTP_gasConstant(uint256,uint256,(address,uint256,uint32,bytes32,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 4207, ~: 4197)
100100
EstimateTransferERC20GasConstant:testFuzz_transferERC20_gasConstant(uint256,uint256,(address,address,uint256,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 3970, ~: 3951)
101-
EstimateTransferGasConstant:testFuzz_transfer_gasConstant(uint256,uint256,(address,uint256,uint256,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 3734, ~: 3780)
102-
EstimateTransferOnceERC20GasConstant:testFuzz_transferERC20Once_gasConstant(uint256,(address,address,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2570, ~: 2586)
103-
EstimateTransferOnceGasConstant:testFuzz_transferOnce_gasConstant(uint256,(address,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2322, ~: 2298)
104-
EstimateUniswapV3ExactInputGasConstant:testFuzz_uniswapV3ExactInput_gasConstant(uint256,uint256,(address,address,address,uint24,uint256,uint256,uint32,uint32,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 5343, ~: 5298)
101+
EstimateTransferGasConstant:testFuzz_transfer_gasConstant(uint256,uint256,(address,uint256,uint256,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 3749, ~: 3780)
102+
EstimateTransferOnceERC20GasConstant:testFuzz_transferERC20Once_gasConstant(uint256,(address,address,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2570, ~: 2577)
103+
EstimateTransferOnceGasConstant:testFuzz_transferOnce_gasConstant(uint256,(address,uint256,uint256,(address,uint256,uint256,uint256))) (runs: 256, μ: 2325, ~: 2280)
104+
EstimateUniswapV3ExactInputGasConstant:testFuzz_uniswapV3ExactInput_gasConstant(uint256,uint256,(address,address,address,uint24,uint256,uint256,uint32,uint32,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 5314, ~: 5289)
105105
EstimateWithdrawERC4626GasConstant:testFuzz_withdrawERC4626_gasConstant(uint256,uint256,(address,address,uint256,uint256,(uint256,uint256,uint256,uint256),(address,uint256,uint256,uint256))) (runs: 256, μ: 4215, ~: 4206)
106106
FeeTokenRegistryTest:test_addFeeToken_alreadyRegistered() (gas: 1898)
107107
FeeTokenRegistryTest:test_addFeeToken_happyPath() (gas: 37590)
@@ -205,15 +205,14 @@ RefuelTest:test_refuel_targetRevert() (gas: 65323)
205205
RefuelTest:test_refuel_targetZero() (gas: 34369)
206206
RefuelTest:test_refuel_thresholdAboveEndBalance() (gas: 34401)
207207
RefuelTest:test_refuel_thresholdEqualsEndBalance() (gas: 34401)
208-
RequestDepositERC7540Test:test_requestDepositERC7540_assetsZero() (gas: 37450)
209-
RequestDepositERC7540Test:test_requestDepositERC7540_controllerZero() (gas: 37520)
210-
RequestDepositERC7540Test:test_requestDepositERC7540_happyPath() (gas: 124361)
211-
RequestDepositERC7540Test:test_requestDepositERC7540_insufficientBalance() (gas: 48438)
212-
RequestDepositERC7540Test:test_requestDepositERC7540_maxDepositTooLow() (gas: 132596)
213-
RequestDepositERC7540Test:test_requestDepositERC7540_minTotalSharesZero() (gas: 37537)
214-
RequestDepositERC7540Test:test_requestDepositERC7540_recipientZero() (gas: 37485)
215-
RequestDepositERC7540Test:test_requestDepositERC7540_totalSharesTooLow() (gas: 46594)
216-
RequestDepositERC7540Test:test_requestDepositERC7540_vaultZero() (gas: 37433)
208+
RequestDepositERC7540Test:test_requestDepositERC7540_assetsZero() (gas: 36778)
209+
RequestDepositERC7540Test:test_requestDepositERC7540_controllerZero() (gas: 36813)
210+
RequestDepositERC7540Test:test_requestDepositERC7540_happyPath() (gas: 123660)
211+
RequestDepositERC7540Test:test_requestDepositERC7540_insufficientBalance() (gas: 47730)
212+
RequestDepositERC7540Test:test_requestDepositERC7540_maxDepositTooLow() (gas: 131895)
213+
RequestDepositERC7540Test:test_requestDepositERC7540_minTotalSharesZero() (gas: 36830)
214+
RequestDepositERC7540Test:test_requestDepositERC7540_totalSharesTooLow() (gas: 45887)
215+
RequestDepositERC7540Test:test_requestDepositERC7540_vaultZero() (gas: 36761)
217216
SweepCCTPTest:test_sweepCCTP_balanceUnderThreshold() (gas: 34607)
218217
SweepCCTPTest:test_sweepCCTP_destinationMintRecipientZero() (gas: 34903)
219218
SweepCCTPTest:test_sweepCCTP_endBalanceOverThreshold() (gas: 34932)
@@ -224,7 +223,7 @@ SweepCCTPTest:test_sweepCCTP_tokenNotSupported() (gas: 36792)
224223
SweepCCTPTest:test_sweepCCTP_tokenZero() (gas: 34886)
225224
SweepDepositERC4626Test:test_sweepDepositERC4626_balanceUnderThreshold() (gas: 38503)
226225
SweepDepositERC4626Test:test_sweepDepositERC4626_endBalanceOverThreshold() (gas: 35287)
227-
SweepDepositERC4626Test:test_sweepDepositERC4626_happyPath() (gas: 459753)
226+
SweepDepositERC4626Test:test_sweepDepositERC4626_happyPath() (gas: 459463)
228227
SweepDepositERC4626Test:test_sweepDepositERC4626_maxDepositReached() (gas: 149430)
229228
SweepDepositERC4626Test:test_sweepDepositERC4626_maxDepositTooLow() (gas: 36753)
230229
SweepDepositERC4626Test:test_sweepDepositERC4626_minTotalSharesZero() (gas: 35304)
@@ -241,15 +240,14 @@ SweepERC20Test:test_sweepERC20_happyPath_thresholdEqualsEndBalance() (gas: 80396
241240
SweepERC20Test:test_sweepERC20_targetZero() (gas: 34607)
242241
SweepERC20Test:test_sweepERC20_tokenTransferRevert() (gas: 34653)
243242
SweepERC20Test:test_sweepERC20_tokenZero() (gas: 34572)
244-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_balanceUnderThreshold() (gas: 40182)
245-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_controllerZero() (gas: 35862)
246-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_endBalanceOverThreshold() (gas: 35891)
247-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_happyPath() (gas: 127186)
248-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_maxDepositTooLow() (gas: 130920)
249-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_minTotalSharesZero() (gas: 35908)
250-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_recipientZero() (gas: 35827)
251-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_totalSharesTooLow() (gas: 44859)
252-
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_vaultZero() (gas: 35792)
243+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_balanceUnderThreshold() (gas: 39579)
244+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_controllerZero() (gas: 35258)
245+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_endBalanceOverThreshold() (gas: 35287)
246+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_happyPath() (gas: 126576)
247+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_maxDepositTooLow() (gas: 130310)
248+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_minTotalSharesZero() (gas: 35304)
249+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_totalSharesTooLow() (gas: 44255)
250+
SweepRequestDepositERC7540Test:test_sweepRequestDepositERC7540_vaultZero() (gas: 35223)
253251
SweepTest:test_sweep_balanceEqualsEndBalance() (gas: 29978)
254252
SweepTest:test_sweep_balanceUnderThreshold() (gas: 34458)
255253
SweepTest:test_sweep_balanceZero() (gas: 29978)
@@ -273,7 +271,7 @@ SweepUniswapV3Test:test_sweepUniswapV3_tokenToEth() (gas: 3042)
273271
SweepUniswapV3Test:test_sweepUniswapV3_tokenToToken() (gas: 3086)
274272
SweepWithdrawERC4626Test:test_sweepWithdrawERC4626_balanceUnderThreshold() (gas: 56923)
275273
SweepWithdrawERC4626Test:test_sweepWithdrawERC4626_endBalanceOverThreshold() (gas: 34904)
276-
SweepWithdrawERC4626Test:test_sweepWithdrawERC4626_happyPath() (gas: 372612)
274+
SweepWithdrawERC4626Test:test_sweepWithdrawERC4626_happyPath() (gas: 372177)
277275
SweepWithdrawERC4626Test:test_sweepWithdrawERC4626_maxWithdrawReached() (gas: 100002)
278276
SweepWithdrawERC4626Test:test_sweepWithdrawERC4626_maxWithdrawTooLow() (gas: 38358)
279277
SweepWithdrawERC4626Test:test_sweepWithdrawERC4626_recipientZero() (gas: 34875)
@@ -332,7 +330,7 @@ UniswapV3ExactInputTest:test_uniswapV3ExactInput_recipientZero() (gas: 38513)
332330
UniswapV3ExactInputTest:test_uniswapV3ExactInput_sameToken() (gas: 38484)
333331
UniswapV3ExactInputTest:test_uniswapV3ExactInput_tokenToEth() (gas: 3042)
334332
UniswapV3ExactInputTest:test_uniswapV3ExactInput_tokenToToken() (gas: 3064)
335-
WithdrawERC4626Test:test_withdrawERC4626_happyPath() (gas: 302163)
333+
WithdrawERC4626Test:test_withdrawERC4626_happyPath() (gas: 301873)
336334
WithdrawERC4626Test:test_withdrawERC4626_maxWithdrawReached() (gas: 96775)
337335
WithdrawERC4626Test:test_withdrawERC4626_maxWithdrawTooLow() (gas: 37566)
338336
WithdrawERC4626Test:test_withdrawERC4626_recipientZero() (gas: 36481)

src/actions/RequestDepositERC7540Action.sol

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ contract RequestDepositERC7540Action is IAction, IRequestDepositERC7540Action, I
3939
ARGUMENTS_TYPEHASH,
4040
arguments.vault,
4141
arguments.assets,
42-
arguments.recipient,
4342
arguments.controller,
4443
arguments.minDeposit,
4544
arguments.minTotalShares,
@@ -64,8 +63,8 @@ contract RequestDepositERC7540Action is IAction, IRequestDepositERC7540Action, I
6463
// if first execution, validate the input
6564
if (executionState.executionCount == 0) {
6665
if (
67-
arguments.vault == address(0) || arguments.assets == 0 || arguments.recipient == address(0)
68-
|| arguments.controller == address(0) || arguments.minTotalShares == 0
66+
arguments.vault == address(0) || arguments.assets == 0 || arguments.controller == address(0)
67+
|| arguments.minTotalShares == 0
6968
) {
7069
revert InvalidArguments();
7170
}

src/actions/SweepRequestDepositERC7540Action.sol

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ contract SweepRequestDepositERC7540Action is IAction, ISweepRequestDepositERC754
3737
abi.encode(
3838
ARGUMENTS_TYPEHASH,
3939
arguments.vault,
40-
arguments.recipient,
4140
arguments.controller,
4241
arguments.threshold,
4342
arguments.endBalance,
@@ -63,7 +62,7 @@ contract SweepRequestDepositERC7540Action is IAction, ISweepRequestDepositERC754
6362
// if first execution, validate the input
6463
if (executionState.executionCount == 0) {
6564
if (
66-
arguments.vault == address(0) || arguments.recipient == address(0) || arguments.controller == address(0)
65+
arguments.vault == address(0) || arguments.controller == address(0)
6766
|| arguments.endBalance > arguments.threshold || arguments.minTotalShares == 0
6867
) {
6968
revert InvalidArguments();

src/actions/interfaces/IRequestDepositERC7540Action.sol

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import {IInterval} from "../schedules/interfaces/IInterval.sol";
55
import {IOtimFee} from "../fee-models/interfaces/IOtimFee.sol";
66

77
bytes32 constant INSTRUCTION_TYPEHASH = keccak256(
8-
"Instruction(uint256 salt,uint256 maxExecutions,address action,RequestDepositERC7540 requestDepositERC7540)RequestDepositERC7540(address vault,uint256 assets,address recipient,address controller,uint256 minDeposit,uint256 minTotalShares,Schedule schedule,Fee fee)Fee(address token,uint256 maxBaseFeePerGas,uint256 maxPriorityFeePerGas,uint256 executionFee)Schedule(uint256 startAt,uint256 startBy,uint256 interval,uint256 timeout)"
8+
"Instruction(uint256 salt,uint256 maxExecutions,address action,RequestDepositERC7540 requestDepositERC7540)RequestDepositERC7540(address vault,uint256 assets,address controller,uint256 minDeposit,uint256 minTotalShares,Schedule schedule,Fee fee)Fee(address token,uint256 maxBaseFeePerGas,uint256 maxPriorityFeePerGas,uint256 executionFee)Schedule(uint256 startAt,uint256 startBy,uint256 interval,uint256 timeout)"
99
);
1010

1111
bytes32 constant ARGUMENTS_TYPEHASH = keccak256(
12-
"RequestDepositERC7540(address vault,uint256 assets,address recipient,address controller,uint256 minDeposit,uint256 minTotalShares,Schedule schedule,Fee fee)Fee(address token,uint256 maxBaseFeePerGas,uint256 maxPriorityFeePerGas,uint256 executionFee)Schedule(uint256 startAt,uint256 startBy,uint256 interval,uint256 timeout)"
12+
"RequestDepositERC7540(address vault,uint256 assets,address controller,uint256 minDeposit,uint256 minTotalShares,Schedule schedule,Fee fee)Fee(address token,uint256 maxBaseFeePerGas,uint256 maxPriorityFeePerGas,uint256 executionFee)Schedule(uint256 startAt,uint256 startBy,uint256 interval,uint256 timeout)"
1313
);
1414

1515
/// @title IRequestDepositERC7540Action
@@ -19,7 +19,6 @@ interface IRequestDepositERC7540Action is IInterval, IOtimFee {
1919
/// @notice arguments for the RequestDepositERC7540Action contract
2020
/// @param vault - the address of the ERC7540 vault to request deposit to
2121
/// @param assets - the amount of assets to request for deposit
22-
/// @param recipient - the intended receiver of shares when the deposit is claimed
2322
/// @param controller - the ERC7540 controller who can later claim the deposit
2423
/// @param minDeposit - the minimum deposit amount to trigger the request
2524
/// @param minTotalShares - the minimum total shares of the vault before the request
@@ -28,7 +27,6 @@ interface IRequestDepositERC7540Action is IInterval, IOtimFee {
2827
struct RequestDepositERC7540 {
2928
address vault;
3029
uint256 assets;
31-
address recipient;
3230
address controller;
3331
uint256 minDeposit;
3432
uint256 minTotalShares;

0 commit comments

Comments
 (0)