> For the complete documentation index, see [llms.txt](https://docs.ariaprotocol.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ariaprotocol.xyz/technical-docs/contract-docs/iprwa/vault/admin/interfaces/ivaultfundraiseadmin.md).

# IVaultFundraiseAdmin

Interface for the VaultFundraise Admin functions.

## Functions

### cancelRaise

Cancels the fundraise vault, only when the vault is Open

*Only the admin can cancel the vault*

```solidity
function cancelRaise() external;
```

### closeRaise

Closes the fundraise vault, only when the vault is Open

*Only the admin can close the vault*

```solidity
function closeRaise() external;
```

### withdraw

Transfers all funds to the fund receiver, only when the vault is Closed

*Only the admin can withdraw funds*

```solidity
function withdraw() external returns (address[] memory tokens, uint256[] memory withdrawnAmounts);
```

**Returns**

| Name               | Type        | Description                           |
| ------------------ | ----------- | ------------------------------------- |
| `tokens`           | `address[]` | The addresses of the tokens withdrawn |
| `withdrawnAmounts` | `uint256[]` | The amounts of the tokens withdrawn   |

### withdraw

Transfers all funds to the fund receiver, only when the vault is Closed

*Only the admin can withdraw funds*

```solidity
function withdraw(address token) external;
```

**Parameters**

| Name    | Type      | Description                          |
| ------- | --------- | ------------------------------------ |
| `token` | `address` | The address of the token to withdraw |

### updateUsdcContractAddress

Admin updates the USDC contract address

```solidity
function updateUsdcContractAddress(address newUsdcContractAddress) external;
```

**Parameters**

| Name                     | Type      | Description                          |
| ------------------------ | --------- | ------------------------------------ |
| `newUsdcContractAddress` | `address` | The address of the new USDC contract |

## Events

### FundraiseInitialized

Emitted when the fundraise is initialized

```solidity
event FundraiseInitialized(VaultFundraiseStorage.Setup setup);
```

**Parameters**

| Name    | Type                          | Description                        |
| ------- | ----------------------------- | ---------------------------------- |
| `setup` | `VaultFundraiseStorage.Setup` | The initial setup of the fundraise |

### TokensWithdrawn

Emitted when tokens are withdrawn from the vault by the fund receiver

```solidity
event TokensWithdrawn(address indexed receiver, address[] indexed tokens, uint256[] amounts);
```

**Parameters**

| Name       | Type        | Description                           |
| ---------- | ----------- | ------------------------------------- |
| `receiver` | `address`   | The address of the fund receiver      |
| `tokens`   | `address[]` | The addresses of the tokens withdrawn |
| `amounts`  | `uint256[]` | The amounts of the tokens withdrawn   |

### UsdcContractAddressUpdated

Emitted when the USDC contract address is updated

```solidity
event UsdcContractAddressUpdated(address indexed prevUSDC, address indexed newUSDC);
```

**Parameters**

| Name       | Type      | Description                               |
| ---------- | --------- | ----------------------------------------- |
| `prevUSDC` | `address` | The address of the previous USDC contract |
| `newUSDC`  | `address` | The address of the new USDC contract      |

### VaultCanceled

Emitted when the vault is canceled

```solidity
event VaultCanceled();
```

### VaultClosed

Emitted when the vault is closed

```solidity
event VaultClosed();
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ariaprotocol.xyz/technical-docs/contract-docs/iprwa/vault/admin/interfaces/ivaultfundraiseadmin.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
