# MulticallExtended

Enables calling multiple methods in a single call to the contract

### Functions <a href="#functions" id="functions"></a>

#### multicall <a href="#multicall" id="multicall"></a>

Call multiple functions in the current contract and return the data from all of them if they all succeed

*The `msg.value` should not be trusted for any method callable from multicall.*

```solidity
function multicall(uint256 deadline, bytes[] calldata data)
    external
    payable
    override
    checkDeadline(deadline)
    returns (bytes[] memory);
```

**Parameters**

| Name       | Type      | Description                                                              |
| ---------- | --------- | ------------------------------------------------------------------------ |
| `deadline` | `uint256` | The time by which this function must be called before failing            |
| `data`     | `bytes[]` | The encoded function data for each of the calls to make to this contract |

**Returns**

| Name     | Type      | Description                                                   |
| -------- | --------- | ------------------------------------------------------------- |
| `<none>` | `bytes[]` | results The results from each of the calls passed in via data |

#### multicall <a href="#multicall-1" id="multicall-1"></a>

Call multiple functions in the current contract and return the data from all of them if they all succeed

*The `msg.value` should not be trusted for any method callable from multicall.*

```solidity
function multicall(bytes32 previousBlockhash, bytes[] calldata data)
    external
    payable
    override
    checkPreviousBlockhash(previousBlockhash)
    returns (bytes[] memory);
```

**Parameters**

| Name                | Type      | Description                                                              |
| ------------------- | --------- | ------------------------------------------------------------------------ |
| `previousBlockhash` | `bytes32` |                                                                          |
| `data`              | `bytes[]` | The encoded function data for each of the calls to make to this contract |

**Returns**

| Name     | Type      | Description                                                   |
| -------- | --------- | ------------------------------------------------------------- |
| `<none>` | `bytes[]` | results The results from each of the calls passed in via data |
