ETH Price: $2,103.11 (+0.60%)

Contract Diff Checker

Contract Name:
Multicall

Contract Source Code:

<i class='far fa-question-circle text-muted ms-2' data-bs-trigger='hover' data-bs-toggle='tooltip' data-bs-html='true' data-bs-title='Click on the check box to select individual contract to compare. Only 1 contract can be selected from each side.'></i>

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;

contract Multicall {
    struct Call {
        address target;
        bytes callData;
        uint256 gas;
    }

    struct Result {
        bool success;
        bytes returnData;
    }

    function tryAggregate(
        bool requireSuccess,
        Call[] memory calls
    ) public payable returns (Result[] memory returnData) {
        returnData = new Result[](calls.length);
        for (uint256 i = 0; i < calls.length; i++) {
            (bool success, bytes memory ret) = calls[i].target.call{gas: calls[i].gas}(calls[i].callData);

            if (requireSuccess) {
                require(success, "Multicall aggregate: call failed");
            }

            returnData[i] = Result(success, ret);
        }
    }
}

Please enter a contract address above to load the contract details and source code.

Context size (optional):