> For the complete documentation index, see [llms.txt](https://alchemix-finance.gitbook.io/v2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alchemix-finance.gitbook.io/v2/transmuterv2cover/itransmuterv2.md).

# Interface

The following is a consolidated interface for the `TransmuterV2`.

```
pragma solidity ^0.8.11;

interface ITransmuterV2 {

    error Unauthorized();

    event AdminUpdated(address admin);

    event PendingAdminUpdated(address pendingAdmin);

    event PauseUpdated(bool isPaused);

    function ZERO_ADDRESS() external returns (address);

    function ADMIN() external returns (bytes32);

    function SENTINEL() external returns (bytes32);

    function syntheticToken() external returns (address);

    function underlyingToken() external returns (address);

    function totalUnexchanged() external returns (uint256);

    function totalBuffered() external returns (uint256);

    function admin() external returns (address);

    function pendingAdmin() external returns (address);

    function isPaused() external returns (bool);

    function buffer() external returns (address);

    function deposit(uint256 amount, address owner) external;

    function withdraw(uint256 amount, address recipient) external;

    function claim(

        uint256 amount,

        address recipient,

        address[] calldata yTokens,

        bytes[] calldata yTokenParams

    ) external;

    function getUnexchangedBalance(address owner)

        external

        view

        returns (uint256 unexchangedBalance);

    function getExchangedBalance(address owner)

        external

        view

        returns (uint256 exchangedBalance);

}
```
