# wstUsdcLite

## Overview

`wstUsdcLite` is a minimal implementation of `wstUsdc` that will be deployed on all blockchains except for Arbitrum. If users on another chain need to deposit and redeem they must either bridge back to Arbitrum or interact with one of our partnered chain abstraction providers. (More details on this to come).

## Contract API

### `wrap`

```solidity
function wrap(uint256 stUsdcAmount) external returns (uint256 wstUsdcAmount);
```

Wraps `stUsdc` into `wstUsdc`.

### `unwrap`

```solidity
function unwrap(uint256 wstUsdcAmount) external returns (uint256 stUsdcAmount);
```

Unwraps `wstUsdc` and returns `stUsdc` to the user.

### `wstUsdcByStUsdc`

```solidity
function wstUsdcByStUsdc(uint256 stUsdcAmount) external view returns (uint256);
```

Return the amount of `wstUsdc` for a given `stUsdcAmount`.

### `stUsdcByWstUsdc`

```solidity
function stUsdcByWstUsdc(uint256 wstUsdcAmount) external view returns (uint256);
```

Return the amount of `stUsdc` for a given `wstUsdcAmount`.

### `stUsdcPerToken`

```solidity
function stUsdcPerToken() external view returns (uint256);
```

Returns the amount of `stUsdc` per `wstUsdc`.

### `tokensPerStUsdc`

```solidity
function tokensPerStUsdc() external view returns (uint256);
```

Returns the amount of `wstUsdc` for one `stUsdc`.

### `stUsdc`

```solidity
function stUsdc() external view returns (IStUsdc);
```

Returns the `stUsdc` token instance.
