> For the complete documentation index, see [llms.txt](https://docs.rigoblock.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rigoblock.com/solidity-api-reference/protocol/deps/escrow.md).

# Escrow

## Escrow

Manages refunds to pool via escrow, like across expired deposits.

*Deployed per pool per OpType via CREATE2 for deterministic addressing*

### TokensDonated

```solidity
event TokensDonated(address token, uint256 amount)
```

Emitted when tokens are donated back to the pool

### pool

```solidity
address pool
```

The pool this escrow is associated with

### opType

```solidity
enum OpType opType
```

The operation type this escrow handles (Transfer or Sync)

### InvalidAmount

```solidity
error InvalidAmount()
```

### InvalidPool

```solidity
error InvalidPool()
```

### UnsupportedToken

```solidity
error UnsupportedToken()
```

### constructor

```solidity
constructor(address _pool, enum OpType _opType) public
```

*The passed pool must be a Rigoblock pool, i.e. implement `donate` with unlock.*

### refundVault

```solidity
function refundVault(address token) external
```

Allows anyone to send owned to the target Rigoblock pool.

#### Parameters

| Name  | Type    | Description                 |
| ----- | ------- | --------------------------- |
| token | address | The token address to claim. |
