# AggregationRouterV5

[Git Source](https://github.com/Ion-Protocol/nucleus-boring-vault/blob/cc0b494b83e17b9b169a73b96050d2810b690477/src/interfaces/AggregationRouterV5.sol)

## Functions

### swap

```solidity
function swap(
    address executor,
    SwapDescription calldata desc,
    bytes calldata permit,
    bytes calldata data
)
    external
    payable
    returns (uint256 returnAmount, uint256 spentAmount);
```

## Structs

### SwapDescription

```solidity
struct SwapDescription {
    ERC20 srcToken;
    ERC20 dstToken;
    address payable srcReceiver;
    address payable dstReceiver;
    uint256 amount;
    uint256 minReturnAmount;
    uint256 flags;
}
```
