open-index/open-npm huggingface dataset:
npm package: @layerv/qurl-mcp
Description: MCP server for QURL - secure link management for AI agents
Author: LayerV AI
Latest version: 0.1.2

# @layerv/qurl-mcp

[![npm version](https://img.shields.io/npm/v/@layerv/qurl-mcp.svg)](https://www.npmjs.com/package/@layerv/qurl-mcp)

MCP server for QURL secure link management.

## What it does

QURL MCP Server is a [Model Context Protocol](https://modelcontextprotocol.io/) server that lets AI agents (Claude, GPT, Cursor, etc.) create, resolve, list, and manage QURL secure links natively. It connects to the QURL API over stdio transport, so any MCP-compatible client can use it without custom integration code.

## Quick Start

Add the server to your MCP client configuration (Claude Desktop, Claude Code, etc.):

```json
{
  "mcpServers": {
    "qurl": {
      "command": "npx",
      "args": ["@layerv/qurl-mcp"],
      "env": { "QURL_API_KEY": "lv_live_xxx" }
    }
  }
}
```

Replace `lv_live_xxx` with your actual API key. The key must have the appropriate scopes for the tools you intend to use (see below).

## Available Tools

| Tool | Description | Required Scope |
|------|-------------|----------------|
| `create_qurl` | Create a secure, policy-bound link to a protected resource | `qurl:write` |
| `resolve_qurl` | Resolve an access token to get the target URL and open firewall access | `qurl:resolve` |
| `list_qurls` | List active QURLs with optional pagination | `qurl:read` |
| `get_qurl` | Get details of a specific QURL by resource ID | `qurl:read` |
| `delete_qurl` | Revoke a QURL, immediately invalidating the link | `qurl:write` |
| `extend_qurl` | Extend the expiration of an active QURL | `qurl:write` |

## Available Resources

| URI | Name | Description |
|-----|------|-------------|
| `qurl://links` | Active QURL Links | List of all active QURL links |
| `qurl://usage` | QURL Usage & Quota | Current quota and usage information |

## Configuration

| Environment Variable | Required | Description | Default |
|---------------------|----------|-------------|---------|
| `QURL_API_KEY` | Yes | API key with appropriate scopes (`qurl:read`, `qurl:write`, `qurl:resolve`) | -- |
| `QURL_API_URL` | No | QURL API base URL | `https://api.layerv.ai` |

## Development

```bash
npm install
npm run build
npm test
npm run lint
```

Additional commands:

```bash
npm run dev          # Watch mode (rebuild on changes)
npm run format       # Format source with Prettier
npm run format:check # Check formatting without modifying files
```

## License

MIT -- [LayerV AI](https://layerv.ai)
npm package: @layerzerolabs/devtools
Description: Core utilities for working with LayerZero on-chain infrastructure
Latest version: 2.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/devtools</h1>

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

## Installation

```bash
yarn add @layerzerolabs/devtools

pnpm add @layerzerolabs/devtools

npm install @layerzerolabs/devtools
```

## API Documentation

### Omnigraph types

#### OmniPoint

Type that uniquely identifies a contract (a point) in an omnichain universe. It consists of `eid` (`EndpointId`) to which the contract is connected to and the address of the contract.

```typescript
import { EndpointId } from "@layerzerolabs/lz-definitions";
import { OmniPoint } from "@layerzerolabs/devtools";

const omniPoint: OmniPoint = {
  eid: EndpointId.ETHEREUM_MAINNET,
  address: "0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8",
};
```

#### OmniVector

Type that uniquely identifies a connection between two `OmniPoint`s, two contracts in an omnichain universe. It consists of two `OmniPoint` instances - `from` and `to`.

```typescript
import { EndpointId } from "@layerzerolabs/lz-definitions";
import { OmniVector } from "@layerzerolabs/devtools";

const from: OmniPoint = {
  eid: EndpointId.ETHEREUM_MAINNET,
  address: "0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8",
};

const to: OmniPoint = {
  eid: EndpointId.AVALANCHE_MAINNET,
  address: "0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8",
};

const omniVector: OmniVector = { from, to };
```

### Common utilities

### isDeepEqual(a, b)

Compares two objects by value, returning `true` if they match, `false` otherwise.

```typescript
isDeepEqual({ a: 1 }, { a: 1 }); // true
isDeepEqual({ a: 1 }, { a: "1" }); // false
```
npm package: @layerzerolabs/devtools-evm
Description: Utilities for LayerZero EVM projects
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/devtools-evm</h1>

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

Utilities for working with LayerZero EVM contracts.

## Installation

```bash
yarn add @layerzerolabs/devtools-evm

pnpm add @layerzerolabs/devtools-evm

npm install @layerzerolabs/devtools-evm
```

### Address utilities

#### ignoreZero(address: Address | null | undefined)

Turns EVM zero addresses to `undefined`

```typescript
import { ignoreZero } from "@layerzerolabs/devtools-evm";

ignoreZero("0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8"); // Returns '0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8'
ignoreZero("0x0000000000000000000000000000000000000000"); // Returns undefined
ignoreZero(undefined); // Returns undefined
ignoreZero(null); // Returns undefined
```

#### makeZeroAddress(address)

Turns `null` and `undefined` into EVM zero address

```typescript
import { makeZeroAddress } from "@layerzerolabs/devtools-evm";

makeZeroAddress("0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8"); // Returns '0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8'
makeZeroAddress("0x0000000000000000000000000000000000000000"); // Returns '0x0000000000000000000000000000000000000000'
makeZeroAddress(undefined); // Returns '0x0000000000000000000000000000000000000000'
makeZeroAddress(null); // Returns '0x0000000000000000000000000000000000000000'
```
npm package: @layerzerolabs/devtools-evm-hardhat
Description: Hardhat utilities for LayerZero EVM projects
Latest version: 4.0.4

<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/devtools-evm-hardhat</h1>

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

## Installation

```bash
yarn add @layerzerolabs/devtools-evm-hardhat

pnpm add @layerzerolabs/devtools-evm-hardhat

npm install @layerzerolabs/devtools-evm-hardhat
```

## API Documentation

### Omnigraph types

#### OmniContract

Interface that represents an ethers.js contract connected to a particular endpoint

```typescript
import { EndpointId } from "@layerzerolabs/lz-definitions";
import { OmniContract } from "@layerzerolabs/devtools-evm";

const omniContract: OmniContract = {
  eid: EndpointId.ETHEREUM_MAINNET,
  contract: new Contract(address, abi),
};
```

#### OmniContractFactory

Type that represents a function that can return an `OmniContract` based on an `OmniPoint`

```typescript
import { EndpointId } from "@layerzerolabs/lz-definitions";
import { OmniPoint } from "@layerzerolabs/devtools";
import { OmniContractFactory } from "@layerzerolabs/devtools-evm";

declare const omniContractFactory: OmniContractFactory;

const omniPoint: OmniPoint = {
  eid: EndpointId.ETHEREUM_MAINNET,
  address: "0xEe6cF2E1Bc7645F8439d241ce37820305F2BB3F8",
};

const omniContract = await omniContractFactory(omniPoint);
```
npm package: @layerzerolabs/devtools-extensible-cli
Description: This is a CLI for LayerZero Devtools - which is extensible by defining new operations.
Latest version: 0.0.7

# Devtools-Extensible-CLI README

This is a CLI for LayerZero Devtools - which is extensible by defining new operations.

Operations are of the class Type `INewOperation` and are defined in the `types/index.d.ts` file.

When you go to type your new operation, the args will have `-` instead of `_`.
For example, `oapp_config` will be `--oapp-config` on the command line.

```ts
import { build as buildMove } from "../../tasks/move/build";
import { INewOperation } from "./NewOperation";

class MoveBuildOperation implements INewOperation {
  // the vm to use
  vm = "move";
  // the name of this operation
  operation = "build";
  // the required arguments for the operation
  reqArgs = ["oapp_config", "named_addresses", "move_deploy_script"];
  // arguments that you want to create in addition to the pre-defined ones
  addArgs = [];

  // the implementation of the operation
  async impl(args: any): Promise<void> {
    await buildMove(args);
  }
}

const NewOperation = new MoveBuildOperation();
export { NewOperation };
```

You can attach new operations to this via

1. Paths `await sdk.extendOperationFromPath('./operations/move-build')` - example: `packages/devtools-movement/operations/init.ts`
2. Providing an implementation of the `INewOperation` interface `await sdk.extendOperation(NewOperation)` - example: `examples/oft-aptos-move/scripts/cli.ts`
npm package: @layerzerolabs/devtools-move
Description: 1. Supports movement and evm chain side of the layerzero-sdk 2. Uses existing `hardhat.config.ts` and `layerzero.config.ts` 3. Extensible for OFTs and OApps
Latest version: 1.0.18

# Devtools-Movement README

1. Supports movement and evm chain side of the layerzero-sdk
2. Uses existing `hardhat.config.ts` and `layerzero.config.ts`
3. Extensible for OFTs and OApps
npm package: @layerzerolabs/devtools-solana
Description: Utilities for LayerZero Solana projects
Latest version: 3.0.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/devtools-solana</h1>

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

Utilities for working with LayerZero Solana contracts.
npm package: @layerzerolabs/devtools-ton
Description: Developer utilities for working with LayerZero TON contracts
Latest version: 2.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/devtools-ton</h1>

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

Utilities for working with LayerZero TON contracts.
npm package: @layerzerolabs/eslint-config
Description: LayerZero Eslint Config
Latest version: 0.0.8

<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/eslint-config</h1>

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

## Installation

```bash
yarn add @layerzerolabs/eslint-config

pnpm add @layerzerolabs/eslint-config

npm install @layerzerolabs/eslint-config
```

## Usage
npm package: @layerzerolabs/export-deployments
Description: Export hardhat deploy deployments file into typescript
Latest version: 0.0.16

<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/export-deployments</h1>

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

## Installation

```bash
yarn add @layerzerolabs/export-deployments

pnpm add @layerzerolabs/export-deployments

npm install @layerzerolabs/export-deployments
```

## Usage

### CLI

This package comes with a CLI interface and registers an executable called `@layerzerolabs/export-deployments`:

```bash
# When installed locally
@layerzerolabs/export-deployments --help

# Or using npx, preferred
npx @layerzerolabs/export-deployments
```

### Programmatic usage

```typescript
// generateSafe is an error-safe function that returns an Either<Error, OutputFile[]> object
import { generateSafe } from "@layerzerolabs/export-deployments";

// if throwing an error is desired, generate is a better option
import { generate } from "@layerzerolabs/export-deployments";

generateSafe({
  deploymentsDir: "./my/deployments",
  outDir: "./generated",
});
```

If filtering of networks is necessary, `createIncludeDirent` utility can be used to construct a quick filtering function:

```typescript
import {
  createIncludeDirent,
  generateSafe,
} from "@layerzerolabs/export-deployments";

const includedNetworks = ["arbitrum-mainnet"];
const excludedNetworks = ["telos-testnet"];

generateSafe({
  deploymentsDir: "./my/deployments",
  outDir: "./generated",
  includeNetworkDir: createIncludeDirent(includedNetworks, excludedNetworks),
});
```

Similar goes for deployment files:

```typescript
import {
  createIncludeDirent,
  generateSafe,
} from "@layerzerolabs/export-deployments";

// createIncludeDirent will handle the json extension internally
const includedContracts = ["MyContract", "OtherContract.json"];
const excludedContracts = ["TopSecret"];

generateSafe({
  deploymentsDir: "./my/deployments",
  outDir: "./generated",
  includeDeploymentFile: createIncludeDirent(
    includedContracts,
    excludedContracts,
  ),
});
```
npm package: @layerzerolabs/ignore-monorepo-buildstep
Description: Ignore Vercel buildstep in a pnpm monorepo
Author: Michał Miszczyszyn
Latest version: 0.6.3

# @typeofweb/ignore-monorepo-buildstep

A package that adds monorepo support for Vercel's "Ignore build-step" setting. Small, fast, with 0 external dependencies.

## Why?

By default, when working in a monorepo, each push triggers Vercel to rebuild all the projects even when changes were introduced only to some of them. It takes time and blocks the build pipeline for your team. Thanks to `@typeofweb/ignore-monorepo-buildstep`, this is no longer a problem – Vercel becomes smarter and only rebuilds what needs building!

In a real-life project such as [saleor/react-storefront](https://github.com/saleor/react-storefront), we've **saved up to 85% on Vercel build times – 6.6x speedup**! `@typeofweb/ignore-monorepo-buildstep` helps you save time and money.

## Example setup

### Repo structure

Assume we're using [pnpm workspaces](https://pnpm.io/workspaces) and we have the following monorepo structure:

```
.
├── apps
│   ├── a
│   └── b
└── packages
    ├── common
    └── depA
```

Apps `a` and `b` both depend on the `common` package. Moreover, app `a` depends on `depA` package.

### Vercel config

Add the following command to the "Ignore Build Step" section in your Vercel project settings:

```
npx @typeofweb/ignore-monorepo-buildstep
```

![Ignore Build Step settings in Vercel](./docs/vercel_settings.png)

By default, `ignore-monorepo-buildstep` will compare `HEAD^` and `HEAD`. You can override this and use an env variable exposed by Vercel:

```
npx @typeofweb/ignore-monorepo-buildstep $VERCEL_GIT_PREVIOUS_SHA
```

### Result

When any changes are introduced to `packages/common`, both apps `a` and `b` will be built:
![](./docs/github-both.png)

However, when `packages/depA` is modified, only `apps/a` is built while `apps/b` is skipped:
![](./docs/github-one.png)

Moreover, deployment statuses are reported as successful even when builds are skipped:
![](./docs/github-status.png)

## How does it work?

`@typeofweb/ignore-monorepo-buildstep` analyses the structure of the monorepo. It reads `pnpm-workspace.yaml` and `package.json` of every package, and creates a tree of dependencies inside the monorepo.

Then, it proceeds to check whether the given package or any of its dependencies were modified since the last commit with the use of `git diff "HEAD^" "HEAD" --quiet`.

Currently, only `pnpm` and `yarn` workspaces are supported but more is on the roadmap.
npm package: @layerzerolabs/io-devtools
Description: Utilities for working with I/O in LayerZero devtools
Latest version: 0.3.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/io-devtools</h1>

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

## Installation

```bash
pnpm install @layerzerolabs/io-devtools
```

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

```bash
npm install @layerzerolabs/io-devtools
```

## API Documentation

### Filesystem utilities

#### isDirectory(path)

Returns `true` if specified filesystem `path` points to a directory, `false` otherwise. Does not throw if `path` does not exist on the filesystem, instead returns `false`

#### isFile(path)

Returns `true` if specified filesystem `path` points to a file, `false` otherwise. Does not throw if `path` does not exist on the filesystem, instead returns `false`

#### isReadable(path)

Returns `true` if specified filesystem `path` can be read by the current user, `false` otherwise. Does not throw if `path` does not exist on the filesystem, instead returns `false`

### Standard input/output utilities

#### promptToContinue([message, defaultValue])

Asks the user whether they want to continue and reads the input from the CLI standard input. By default the question displayed is `Do you want to continue?` and the default response is `yes`

```typescript
const goahead = await promptToContinue();

// To ask a different question
const goahead = await promptToContinue("Are you sure?");

// To default the response to false, good for important and unsafe decisions
const goahead = await promptToContinue("Are you sure?", false);
```
npm package: @layerzerolabs/nextjs-config
Description: LayerZero Next.js Config
Latest version: 0.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/nextjs-config</h1>

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

## Installation

```bash
yarn add @layerzerolabs/nextjs-config

pnpm add @layerzerolabs/nextjs-config

npm install @layerzerolabs/nextjs-config
```

## Usage
npm package: @layerzerolabs/oapp-alt-evm
Description: LayerZero Labs reference EVM OmniChain Application (OAppAlt) for EndpointV2Alt implementation
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/oapp-alt-evm</h1>

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

## Installation

```bash
pnpm install @layerzerolabs/oapp-alt-evm
```

```bash
yarn install @layerzerolabs/oapp-alt-evm
```

```bash
npm install @layerzerolabs/oapp-alt-evm
```
npm package: @layerzerolabs/oapp-evm
Description: LayerZero Labs reference EVM OmniChain Application (OApp) implementation
Latest version: 0.4.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/oapp-evm</h1>

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

## Installation

```bash
pnpm install @layerzerolabs/oapp-evm
```

```bash
yarn install @layerzerolabs/oapp-evm
```

```bash
npm install @layerzerolabs/oapp-evm
```
npm package: @layerzerolabs/oapp-evm-upgradeable
Description: LayerZero Labs reference EVM OmniChain Application (OApp) implementation
Latest version: 0.1.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/oapp-evm-upgradeable</h1>

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

## Installation

```bash
pnpm install @layerzerolabs/oapp-evm-upgradeable
```

```bash
yarn install @layerzerolabs/oapp-evm-upgradeable
```

```bash
npm install @layerzerolabs/oapp-evm-upgradeable
```
npm package: @layerzerolabs/oft-alt-evm
Description: LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation
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/oft-alt-evm</h1>

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

## Installation

```bash
pnpm install @layerzerolabs/oft-alt-evm
```

```bash
yarn install @layerzerolabs/oft-alt-evm
```

```bash
npm install @layerzerolabs/oft-alt-evm
```
npm package: @layerzerolabs/oft-evm
Description: LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation
Latest version: 4.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/oft-evm</h1>

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

## Installation

```bash
pnpm install @layerzerolabs/oft-evm
```

```bash
yarn install @layerzerolabs/oft-evm
```

```bash
npm install @layerzerolabs/oft-evm
```
npm package: @layerzerolabs/oft-evm-upgradeable
Description: LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation
Latest version: 4.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/oft-evm-upgradeable</h1>

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

## Installation

```bash
pnpm install @layerzerolabs/oft-evm-upgradeable
```

```bash
yarn install @layerzerolabs/oft-evm-upgradeable
```

```bash
npm install @layerzerolabs/oft-evm-upgradeable
```
npm package: @layerzerolabs/omnicounter-devtools
Description: Utilities for working with LayerZero OmniCounter contract
Latest version: 5.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/omnicounter-devtools</h1>

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

## Installation

```sh
$ npm install @layerzerolabs/omnicounter-devtools
```
npm package: @layerzerolabs/omnicounter-devtools-evm
Description: Utilities for working with LayerZero OmniCounter contract
Latest version: 7.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/omnicounter-devtools-evm</h1>

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

## Installation

```sh
$ npm install @layerzerolabs/omnicounter-devtools-evm
```
npm package: @layerzerolabs/onft-evm
Description: LayerZero Labs reference EVM OmniChain Non Fungible Token (ONFT) implementation
Latest version: 0.2.4

<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/onft-evm</h1>

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

## Description

A reference OmniChain implementation of the
[ERC721 token standard](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC721).

## Installation

```bash
pnpm install @layerzerolabs/onft-evm
```

```bash
yarn install @layerzerolabs/onft-evm
```

```bash
npm install @layerzerolabs/onft-evm
```