> For the complete documentation index, see [llms.txt](https://docs.dragonswap.app/dragonswap/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dragonswap.app/dragonswap/resources/developer-resources/smart-contracts/dragonswapv2/smart-router/interfaces/imulticallextended.md).

# IMulticallExtended

Enables calling multiple methods in a single call to the contract with optional validation

### 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 returns (bytes[] memory results);
```

**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                                           |
| --------- | --------- | ----------------------------------------------------- |
| `results` | `bytes[]` | 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
    returns (bytes[] memory results);
```

**Parameters**

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

**Returns**

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