File tree Expand file tree Collapse file tree 4 files changed +11
-6
lines changed Expand file tree Collapse file tree 4 files changed +11
-6
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ ' openzeppelin-solidity ' : minor
3
+ ---
4
+
5
+ ` Address ` : bubble up revert data on ` sendValue ` failed call
Original file line number Diff line number Diff line change @@ -115,7 +115,7 @@ library ERC4337Utils {
115
115
return uint128 (self.accountGasLimits.extract_32_16 (0 ));
116
116
}
117
117
118
- /// @dev Returns `accountGasLimits ` from the {PackedUserOperation}.
118
+ /// @dev Returns `callGasLimit ` from the {PackedUserOperation}.
119
119
function callGasLimit (PackedUserOperation calldata self ) internal pure returns (uint256 ) {
120
120
return uint128 (self.accountGasLimits.extract_32_16 (16 ));
121
121
}
@@ -155,7 +155,7 @@ library ERC4337Utils {
155
155
return self.paymasterAndData.length < 52 ? 0 : uint128 (bytes16 (self.paymasterAndData[36 :52 ]));
156
156
}
157
157
158
- /// @dev Returns the forth section of `paymasterAndData` from the {PackedUserOperation}.
158
+ /// @dev Returns the fourth section of `paymasterAndData` from the {PackedUserOperation}.
159
159
function paymasterData (PackedUserOperation calldata self ) internal pure returns (bytes calldata ) {
160
160
return self.paymasterAndData.length < 52 ? _emptyCalldataBytes () : self.paymasterAndData[52 :];
161
161
}
Original file line number Diff line number Diff line change @@ -121,7 +121,7 @@ interface IERC7579Execution {
121
121
* MUST ensure adequate authorization control: e.g. onlyEntryPointOrSelf if used with ERC-4337
122
122
* If a mode is requested that is not supported by the Account, it MUST revert
123
123
*/
124
- function execute (bytes32 mode , bytes calldata executionCalldata ) external ;
124
+ function execute (bytes32 mode , bytes calldata executionCalldata ) external payable ;
125
125
126
126
/**
127
127
* @dev Executes a transaction on behalf of the account.
@@ -136,7 +136,7 @@ interface IERC7579Execution {
136
136
function executeFromExecutor (
137
137
bytes32 mode ,
138
138
bytes calldata executionCalldata
139
- ) external returns (bytes [] memory returnData );
139
+ ) external payable returns (bytes [] memory returnData );
140
140
}
141
141
142
142
/**
Original file line number Diff line number Diff line change @@ -35,9 +35,9 @@ library Address {
35
35
revert Errors.InsufficientBalance (address (this ).balance, amount);
36
36
}
37
37
38
- (bool success , ) = recipient.call {value: amount}("" );
38
+ (bool success , bytes memory returndata ) = recipient.call {value: amount}("" );
39
39
if (! success) {
40
- revert Errors. FailedCall ( );
40
+ _revert (returndata );
41
41
}
42
42
}
43
43
You can’t perform that action at this time.
0 commit comments