Files
openzeppelin-contracts/contracts/mocks/BatchCaller.sol
github-actions edf6031131 Update docs
2024-10-21 14:27:36 +00:00

21 lines
568 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {Address} from "../utils/Address.sol";
contract BatchCaller {
struct Call {
address target;
uint256 value;
bytes data;
}
function execute(Call[] calldata calls) external returns (bytes[] memory) {
bytes[] memory returndata = new bytes[](calls.length);
for (uint256 i = 0; i < calls.length; ++i) {
returndata[i] = Address.functionCallWithValue(calls[i].target, calls[i].data, calls[i].value);
}
return returndata;
}
}