LayerZero Developer Utilities
The Devtools
toolkit 🧰 and other packages are designed to streamline the process of building, testing, and deploying omnichain applications (OApps) using LayerZero. The tools and packages are meant to support you through the end-to-end development lifecycle of a cross-chain project. Below is a list and description of the official plugins.
@layerzerolabs/create3-factory​
A factory contract for deploying smart contracts to deterministic addresses using CREATE3. Enables deploying contracts using CREATE3. Each deployer (msg.sender
) has its own namespace for deployed addresses.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/create3-factory
yarn add @layerzerolabs/create3-factory
pnpm add @layerzerolabs/create3-factory
@layerzerolabs/devtools​
Development tools, utilities and types to help you get started with building Omnichain applications.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/devtools
yarn add @layerzerolabs/devtools
pnpm add @layerzerolabs/devtools
@layerzerolabs/error-parser​
This package provides utilities for handling errors returned by LayerZero protocol contracts. It offers a streamlined way to check and parse hexadecimal strings that may represent errors sent by Solidity contracts.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/error-parser
yarn add @layerzerolabs/error-parser
pnpm add @layerzerolabs/error-parser
@layerzerolabs/lz-definitions​
Core definitions and configurations for the LayerZero protocol. Provides helpful constants like Endpoint IDs on mainnet and testnets for both V1 and V2 protocols, message lib versions, etc. and some helpful functions like chain type, chain to name and chain to endpoint id conversions, etc.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/lz-definitions
yarn add @layerzerolabs/lz-definitions
pnpm add @layerzerolabs/lz-definitions
@layerzerolabs/lz-evm-oapp-v2​
Set of contracts and examples serving as the base of OApp implementation. Combining OApp Sender and Receiver functionality.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/lz-evm-oapp-v2
yarn add @layerzerolabs/lz-evm-oapp-v2
pnpm add @layerzerolabs/lz-evm-oapp-v2
@layerzerolabs/lz-proof-utility​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/lz-proof-utility
yarn add @layerzerolabs/lz-proof-utility
pnpm add @layerzerolabs/lz-proof-utility
@layerzerolabs/lz-utilities​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/lz-utilities
yarn add @layerzerolabs/lz-utilities
pnpm add @layerzerolabs/lz-utilities
@layerzerolabs/lz-v2-utilities​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/lz-v2-utilities
yarn add @layerzerolabs/lz-v2-utilities
pnpm add @layerzerolabs/lz-v2-utilities
@layerzerolabs/protocol-devtools​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/protocol-devtools
yarn add @layerzerolabs/protocol-devtools
pnpm add @layerzerolabs/protocol-devtools
@layerzerolabs/sg-sdk​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/sg-sdk
yarn add @layerzerolabs/sg-sdk
pnpm add @layerzerolabs/sg-sdk
@layerzerolabs/solidity-bytes-utils​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/solidity-bytes-utils
yarn add @layerzerolabs/solidity-bytes-utils
pnpm add @layerzerolabs/solidity-bytes-utils
@layerzerolabs/solidity-examples​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/solidity-examples
yarn add @layerzerolabs/solidity-examples
pnpm add @layerzerolabs/solidity-examples
@layerzerolabs/test-devtools-evm-foundry​
Test helpers for foundry. Eg., you can use the OptionsHelper.sol
contract to decode your options using foundry. You will also find the OptionsHelper.sol
contract for reference in the contracts folder of the node module.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/test-devtools-evm-foundry
yarn add @layerzerolabs/test-devtools-evm-foundry
pnpm add @layerzerolabs/test-devtools-evm-foundry
@layerzerolabs/toolbox-foundry​
Toolbox for Foundry, tailored for LayerZero smart contract development.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/toolbox-foundry
yarn add @layerzerolabs/toolbox-foundry
pnpm add @layerzerolabs/toolbox-foundry
@layerzerolabs/toolbox-hardhat​
Toolbox for Hardhat, tailored for LayerZero smart contract development.
- npm
- Yarn
- pnpm
npm i @layerzerolabs/toolbox-hardhat
yarn add @layerzerolabs/toolbox-hardhat
pnpm add @layerzerolabs/toolbox-hardhat
@layerzerolabs/typechain-hardhat​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/typechain-hardhat
yarn add @layerzerolabs/typechain-hardhat
pnpm add @layerzerolabs/typechain-hardhat
@layerzerolabs/ua-devtools​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/ua-devtools
yarn add @layerzerolabs/ua-devtools
pnpm add @layerzerolabs/ua-devtools
@layerzerolabs/ui-bridge-oft​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/ui-bridge-oft
yarn add @layerzerolabs/ui-bridge-oft
pnpm add @layerzerolabs/ui-bridge-oft
@layerzerolabs/ui-bridge-oft-wrapper​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/ui-bridge-oft-wrapper
yarn add @layerzerolabs/ui-bridge-oft-wrapper
pnpm add @layerzerolabs/ui-bridge-oft-wrapper
@layerzerolabs/ui-bridge-sdk​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/ui-bridge-sdk
yarn add @layerzerolabs/ui-bridge-sdk
pnpm add @layerzerolabs/ui-bridge-sdk
@layerzerolabs/ui-stargate-sdk​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/ui-stargate-sdk
yarn add @layerzerolabs/ui-stargate-sdk
pnpm add @layerzerolabs/ui-stargate-sdk
@layerzerolabs/ui-wallet​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/ui-wallet
yarn add @layerzerolabs/ui-wallet
pnpm add @layerzerolabs/ui-wallet
@layerzerolabs/ui-wallet-evm​
- npm
- Yarn
- pnpm
npm i @layerzerolabs/ui-wallet-evm
yarn add @layerzerolabs/ui-wallet-evm
pnpm add @layerzerolabs/ui-wallet-evm
@layerzerolabs/verify-contract​
Verify source code on block explorers
- npm
- Yarn
- pnpm
npm i @layerzerolabs/verify-contract
yarn add @layerzerolabs/verify-contract
pnpm add @layerzerolabs/verify-contract