open-index/open-npm huggingface dataset:
npm package: @layerzerolabs/protocol-devtools
Description: Utilities for working with LayerZero protocol contracts
Latest version: 3.0.2

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/protocol-devtools</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/protocol-devtools"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/protocol-devtools"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/protocol-devtools"/></a>
</p>

## Installation

```bash
pnpm install --save @layerzerolabs/protocol-devtools
```

```bash
yarn install @layerzerolabs/protocol-devtools
```

```bash
npm install @layerzerolabs/protocol-devtools
```
npm package: @layerzerolabs/protocol-devtools-evm
Description: Utilities for LayerZero EVM protocol contracts
Latest version: 5.0.3

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/protocol-devtools-evm</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools-evm"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/protocol-devtools-evm"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools-evm"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/protocol-devtools-evm"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools-evm"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/protocol-devtools-evm"/></a>
</p>

Utilities for LayerZero EVM protocol contracts.

## Installation

```bash
pnpm install --save @layerzerolabs/protocol-devtools-evm
```

```bash
yarn install @layerzerolabs/protocol-devtools-evm
```

```bash
npm install @layerzerolabs/protocol-devtools-evm
```
npm package: @layerzerolabs/protocol-devtools-solana
Description: Utilities for LayerZero Solana protocol programs
Latest version: 8.0.6

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/protocol-devtools-solana</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools-solana"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/protocol-devtools-solana"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools-solana"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/protocol-devtools-solana"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/protocol-devtools-solana"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/protocol-devtools-solana"/></a>
</p>

Utilities for working with LayerZero Solana protocol programs.
npm package: @layerzerolabs/protocol-starknet-v2
Description: Starknet implementation of LayerZero protocol v2
Latest version: 0.2.68

# EPv2-Starknet

## Local development

[asdf](https://asdf-vm.com/) - the multiple runtime version manager - is used to manage and install all your runtime versions. Based on `.tool-versions` you can fetch all the dependencies required via

```sh
asdf install
```

## Building

Everything is done from the `layerzero` directory

Install all dependencies

```sh
scarb fetch
```

Build the project (also install deps)

```sh
scarb build
```

## Running tests

Run all unit tests via

```sh
scarb test
```

## Linting/formatting

Lint/format all Cairo code via

```sh
scarb lint && scarb fmt
```
npm package: @layerzerolabs/script-devtools-evm-foundry
Description: Scripts to help develop LayerZero EVM contracts using foundry
Latest version: 2.0.0

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/script-devtools-evm-foundry</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/script-devtools-evm-foundry"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/script-devtools-evm-foundry"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/script-devtools-evm-foundry"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/script-devtools-evm-foundry"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/script-devtools-evm-foundry"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/script-devtools-evm-foundry"/></a>
</p>

## Installation

```sh
$ npm install @layerzerolabs/script-devtools-evm-foundry
```

## Usage

This package not only exports a bunch of scripts for you to use in your foundry projects. But since they compile into your `artifacts` folder, you can run them from your command line.

```sh
forge script SimulateReceive --rpc-url YOUR_DESTINATION_CHAIN_RPC_URL --ffi
```

Since all the scripts are bundled into `LZScripts.s.sol`, you can import them in your own scripts like this:

```solidity
import { LZUtils } from "@layerzerolabs/script-devtools-evm-foundry/scripts/LZScripts.s.sol";
```

## List of scripts

### 1. SimulateReceive

Simulate receiving a message on an EVM chain - [Read more](./script/SimulateReceive/README.md)
Source code: [SimulateReceive.s.sol](./script/SimulateReceive/SimulateReceive.s.sol)
Shell command:

```sh
forge script SimulateReceive --rpc-url $DESTINATION_CHAIN_RPC_URL --ffi
```

### 2. GasProfiler

Profile the gas usage of OFT transfers on multiple mainnet networks - [Read more](./script/GasProfiling/README.md)
Source code: [OFTProfilerExample.s.sol](./script/GasProfiling/OFTProfilerExample.s.sol)
Shell command: Not available
npm package: @layerzerolabs/test-devtools
Description: Internal utilities for testing LayerZero packages
Latest version: 0.4.7

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/test-devtools</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/test-devtools"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/test-devtools"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/test-devtools"/></a>
</p>

Collection of internal helpers for testing LayerZero packages

## Installation

```sh
$ npm install @layerzerolabs/test-devtools
```
npm package: @layerzerolabs/test-devtools-evm-foundry
Description: Helpers for testing LayerZero EVM contracts using foundry
Latest version: 8.0.1

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/test-devtools-evm-foundry</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-evm-foundry"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/test-devtools-evm-foundry"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-evm-foundry"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/test-devtools-evm-foundry"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-evm-foundry"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/test-devtools-evm-foundry"/></a>
</p>

## Installation

```sh
$ npm install @layerzerolabs/test-devtools-evm-foundry
```
npm package: @layerzerolabs/test-devtools-evm-hardhat
Description: Helpers for testing LayerZero EVM contracts using hardhat
Latest version: 0.5.3

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/test-devtools-evm-hardhat</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-evm-hardhat"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/test-devtools-evm-hardhat"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-evm-hardhat"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/test-devtools-evm-hardhat"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-evm-hardhat"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/test-devtools-evm-hardhat"/></a>
</p>

Collection of internal helpers for testing LayerZero packages in `hardhat` environment
npm package: @layerzerolabs/test-devtools-solana
Description: Helpers for testing LayerZero Solana packages
Latest version: 0.0.5

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/test-devtools-solana</h1>

<!-- The badges section -->
<p align="center">
  <!-- Shields.io NPM published package version -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-solana"><img alt="NPM Version" src="https://img.shields.io/npm/v/@layerzerolabs/test-devtools-solana"/></a>
  <!-- Shields.io NPM downloads -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-solana"><img alt="Downloads" src="https://img.shields.io/npm/dm/@layerzerolabs/test-devtools-solana"/></a>
  <!-- Shields.io license badge -->
  <a href="https://www.npmjs.com/package/@layerzerolabs/test-devtools-solana"><img alt="NPM License" src="https://img.shields.io/npm/l/@layerzerolabs/test-devtools-solana"/></a>
</p>

Collection of internal helpers for testing LayerZero Solana packages
npm package: @layerzerolabs/toolbox-foundry
Description: One-stop-shop for developing LayerZero applications using foundry
Latest version: 0.1.13

<p align="center">
  <a href="https://layerzero.network">
    <img alt="LayerZero" style="max-width: 500px" src="https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png"/>
  </a>
</p>

<h1 align="center">@layerzerolabs/toolbox-foundry</h1>

<p align="center">One-stop-shop for developing LayerZero applications with <code>foundry</code></p>

## Installation

```bash
yarn add @layerzerolabs/toolbox-foundry

pnpm add @layerzerolabs/toolbox-foundry

npm install @layerzerolabs/toolbox-foundry
```

## Configuration

### 1. Add `@layerzerolabs/toolbox-foundry` to your config

To use `@layerzerolabs/toolbox-foundry` you will need to point to it in your `foundry.toml` config file.

```toml
libs = [
  'node_modules/@layerzerolabs/toolbox-foundry/lib',
  # Any other library folders you need, e.g.
  'node_modules'
]
```

## Usage

### Testing

This package comes with support for `forge-std` out of the box so you can start using:

```solidity
// forge-std is automatically resolved without needing to install it
// so you can start using forge test helpers in your tests
import "forge-std/console.sol";
import { Test } from "forge-std/Test.sol";
```

The supporting packages for `@layerzerolabs/` dependencies are also included - namely `solidity-bytes-utils`.