creation_sourcecode: {{
    "language": "Solidity",
    "sources": {
      "contracts/misc/Multicaller.sol": {
        "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.23;\n\ncontract Multicaller {\n    function fulfill(bytes calldata _data) external {\n        assembly {\n            if iszero(eq(caller(), 0x15EBb534c90ba425B9dd0128E0C3445098F8bc3f)) {\n                revert(0x0, 0x0)\n            }\n\n            if iszero(eq(mload(0x40), 0x80)) {\n                revert(0x0, 0x0)\n            }\n            // add `fulfillOracleRequest(bytes32, uint256, address, bytes4, uint256, bytes)` signature to stack\n            mstore(0x80, 0x4ab0d19000000000000000000000000000000000000000000000000000000000)\n            // add 0x6a9705b4 aka `_callbackFunctionId` to stack\n            mstore(0xe4, 0x6a9705b400000000000000000000000000000000000000000000000000000000)\n            mstore(0x124, 0x00) // add `_data` to stack as empty bytes32\n\n            let offset := _data.offset\n            let len := calldatasize()\n\n            for {\n\n            } 1 {\n\n            } {\n                calldatacopy(0x84, offset, 0x20) // add `_requestId` to stack\n                offset := add(offset, 0x20)\n\n                let packed := calldataload(offset) // load packed values\n                offset := add(offset, 0x20)\n\n                {\n                    mstore(0xa4, and(shr(0xA0, packed), 0xffffffffffffffff)) // unpack and add `_payment`\n                    mstore(0xc4, and(packed, 0xffffffffffffffffffffffffffffffffffffffff)) // unpack and add `_callbackAddress`\n                    mstore(0x104, shr(0xE0, packed)) // unpack and add `_expiration`\n\n                    // call `fulfillOracleRequest(bytes32, uint256, address, bytes4, uint256, bytes)` with the unpacked values in stack\n                    let s := call(0x7A120, 0xF5a3d443FccD7eE567000E43B23b0e98d96445CE, 0x00, 0x80, 0xc4, 0x00, 0x00)\n                }\n\n                // exit loop if offset equals calldatasize\n                if eq(offset, len) {\n                    return(0x00, 0x00)\n                }\n            }\n        }\n    }\n}\n"
      }
    },
    "settings": {
      "optimizer": {
        "enabled": true,
        "runs": 999999
      },
      "evmVersion": "paris",
      "outputSelection": {
        "*": {
          "*": [
            "evm.bytecode",
            "evm.deployedBytecode",
            "devdoc",
            "userdoc",
            "metadata",
            "abi"
          ]
        }
      },
      "libraries": {}
    }
  }}