# WETH9 v0.3.0 API Reference
Source: https://docs.chain.link/chainlink-local/api-reference/v0.3.0/weth9

> For the complete documentation index, see [llms.txt](/llms.txt).

> **NOTE: Integrate Chainlink Local into your project**
>
> ### npm
>
> If you use [NPM](https://www.npmjs.com/), install the [@chainlink/local NPM
> package](https://www.npmjs.com/package/@chainlink/local):
>
> ```shell
> npm install @chainlink/local@0.3.0
> ```
>
> ### yarn
>
> If you use [Yarn](https://yarnpkg.com/), install the [@chainlink/local NPM
> package](https://www.npmjs.com/package/@chainlink/local):
>
> ```shell
> yarn add @chainlink/local@0.3.0
> ```
>
> ### foundry
>
> If you use [Foundry](https://book.getfoundry.sh/):
>
> ```shell
> forge install smartcontractkit/chainlink-local@v0.3.0
> ```
>
> and then set remappings to: `@chainlink/local/=lib/chainlink-local/` in either `remappings.txt` or `foundry.toml` file
>
> ### RemixIDE
>
> Import the `CCIPLocalSimulator` contract from the `@chainlink/local` package:
>
> ```solidity
> import {CCIPLocalSimulator} from "@chainlink/local@0.3.0/src/ccip/CCIPLocalSimulator.sol";
> ```

## WETH9

Wrapped Ether implementation.

[WETH9](https://github.com/smartcontractkit/chainlink-local/blob/v0.3.0/src/shared/WETH9.sol)

## Variables

### allowance

```solidity
mapping(address => mapping(address => uint256)) public allowance
```

### balanceOf

```solidity
mapping(address => uint256) public balanceOf
```

### decimals

```solidity
uint8 public decimals = 18
```

### name

```solidity
string public name = "Wrapped Ether"
```

### symbol

```solidity
string public symbol = "WETH"
```

## Events

### Approval

```solidity
event Approval(address indexed src, address indexed guy, uint256 wad);
```

### Deposit

```solidity
event Deposit(address indexed dst, uint256 wad);
```

### Transfer

```solidity
event Transfer(address indexed src, address indexed dst, uint256 wad);
```

### Withdrawal

```solidity
event Withdrawal(address indexed src, uint256 wad);
```

## Functions

### \_deposit

```solidity
function _deposit() internal;
```

### approve

```solidity
function approve(address guy, uint256 wad) public returns (bool);
```

### deposit

```solidity
function deposit() external payable;
```

### receive

```solidity
receive() external payable;
```

### totalSupply

```solidity
function totalSupply() public view returns (uint256);
```

### transfer

```solidity
function transfer(address dst, uint256 wad) public returns (bool);
```

### transferFrom

```solidity
function transferFrom(address src, address dst, uint256 wad) public returns (bool);
```

### withdraw

```solidity
function withdraw(uint256 wad) external;
```