MulticallTest.sol 676 B

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