MulticallTest.sol 713 B

1234567891011121314151617181920212223
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. import "./MulticallTokenMock.sol";
  4. contract MulticallTest {
  5. function checkReturnValues(
  6. MulticallTokenMock multicallToken,
  7. address[] calldata recipients,
  8. uint256[] calldata amounts
  9. ) external {
  10. bytes[] memory calls = new bytes[](recipients.length);
  11. for (uint256 i = 0; i < recipients.length; i++) {
  12. calls[i] = abi.encodeWithSignature("transfer(address,uint256)", recipients[i], amounts[i]);
  13. }
  14. bytes[] memory results = multicallToken.multicall(calls);
  15. for (uint256 i = 0; i < results.length; i++) {
  16. require(abi.decode(results[i], (bool)));
  17. }
  18. }
  19. }