# LootReserve

Contract holding all PAL & extra rewards allocated to the Loot system. The tokens are then sent to users when claiming Loot rewards.

#### pal

```solidity
contract IERC20 pal
```

PAL token contract

#### extraToken

```solidity
contract IERC20 extraToken
```

Extra token contract

#### loot

```solidity
address loot
```

Address of the Loot contract

#### Init

```solidity
event Init(address loot)
```

Event emitted when the contract is initialized

#### MaxAllowanceSet

```solidity
event MaxAllowanceSet(address token, address spender)
```

Event emitted when the Max allowance is set for the Loot contract

#### CancelReserve

```solidity
event CancelReserve(uint256 retrievedPalAmount, uint256 retrievedExtraAmount)
```

Event emitted when the Reserve is canceled and token claimed back

**Parameters**

| Name   | Type    | Description                  |
| ------ | ------- | ---------------------------- |
| \_loot | address | Address of the Loot contract |

#### getBalances

```solidity
function getBalances() external view returns (uint256 palBalance, uint256 extraBalance)
```

Get this contract balances

**Return Values**

| Name         | Type    | Description                     |
| ------------ | ------- | ------------------------------- |
| palBalance   | uint256 | (uint256) : PAL token balance   |
| extraBalance | uint256 | (uint256) : extra token balance |

#### getRemainingAllowances

```solidity
function getRemainingAllowances() external view returns (uint256 palAllowance, uint256 extraAllowance)
```

Get this contract remaining allowances for the Loot contract

**Return Values**

| Name           | Type    | Description                           |
| -------------- | ------- | ------------------------------------- |
| palAllowance   | uint256 | (uint256) : PAL remaining allowance   |
| extraAllowance | uint256 | (uint256) : extra remaining allowance |

#### resetMaxAllowance

```solidity
function resetMaxAllowance() external
```

Resets the allowances for the Loot contract
