Skip to main content
Looking for Contributors! This Skill needs an implementation.Contributing a Skill involves:
  1. Writing a reference implementation with full functionality
  2. Adding comprehensive tests
  3. Writing documentation with usage examples
See the ethers-provider Skill for an example of a complete Skill implementation.Interested? Open an issue or PR at github.com/evmts/voltaire.
Skill — Copyable reference implementation. Use as-is or customize. See Skills Philosophy.
Send cross-chain messages and tokens via LayerZero V2.

Planned Implementation

Send Message

import { LayerZero } from './LayerZero.js';

const lz = LayerZero({
  provider,
  endpoint: LZ_ENDPOINT,
});

// Estimate fee
const fee = await lz.quote({
  dstEid: ARBITRUM_EID,
  message: encodedPayload,
  options: defaultOptions,
});

// Send message
await lz.send({
  dstEid: ARBITRUM_EID,
  message: encodedPayload,
  options: defaultOptions,
  fee,
  signer,
});

OFT (Omnichain Fungible Token)

// Send tokens cross-chain
await lz.sendOFT({
  oft: OFT_ADDRESS,
  dstEid: OPTIMISM_EID,
  to: recipientAddress,
  amount: parseEther('100'),
  signer,
});

Message Tracking

// Get message status by GUID
const status = await lz.getMessageStatus(guid);
// 'INFLIGHT' | 'DELIVERED' | 'FAILED'

Resources