> For the complete documentation index, see [llms.txt](https://docs.mangrove.exchange/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mangrove.exchange/dev/strat-lib/technical-references/api-preferences/strats/src/strategies/vendor/aave/v3/contracts/interfaces/iaaveincentivescontroller.md).

# IAaveIncentivesController

Defines the basic interface for an Aave Incentives Controller.

*It only contains one single function, needed as a hook on aToken and debtToken transfers.*

## handleAction

```solidity
function handleAction(address user, uint256 totalSupply, uint256 userBalance) external
```

*Called by the corresponding asset on transfer hook in order to update the rewards distribution.*\
*The units of `totalSupply` and `userBalance` should be the same.*

### Parameters

| Name        | Type    | Description                                                |
| ----------- | ------- | ---------------------------------------------------------- |
| user        | address | The address of the user whose asset balance has changed    |
| totalSupply | uint256 | The total supply of the asset prior to user balance change |
| userBalance | uint256 | The previous user balance prior to balance change          |
