OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Pigeon

Pigeon is an open-source, modular Solidity testing toolkit for cross-chain applications. Used with Foundry, its helper contracts simulate bridge messaging and parts of off-chain bridge infrastructure, enabling tests across forked mainnet environments.

Independent OpenViST project profile, based on linked sources.

Pigeon — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Pigeon when a Foundry test needs to model bridge messaging or selected off-chain bridge behavior across forked networks, rather than mocking the whole flow with local contract calls.

Who it is for

  • Solidity developers building applications that communicate across chains.
  • Teams writing Foundry unit tests for Arbitrary Message Bridges or RFQ-based bridge flows.

Documented uses

  • Simulate cross-chain bridge messages in a test suite.
  • Run cross-chain unit tests against forked mainnet environments.
  • Exercise bridge-related sender-authentication assumptions.
  • Use bridge helpers to model selected messaging and gas-estimation behavior.
Before you choose

Requirements & limits

The repository is public, open source and MIT-licensed. The documented workflow uses Foundry's forge command.

  • The README lists messaging support for multiple bridges, but gas-estimation support is listed for only Hyperlane, LayerZero, LayerZero V2 and CCIP.
  • Bridge helpers have specific simulation boundaries; for example, the CCIP helper omits token-pool release or minting, rate limits, RMN curse checks and USDC CCTP attestations.
  • The documented installation uses Foundry, and tests must provide relevant fork identifiers, endpoint details and emitted logs.
  • For a.DI flows, the CrossChainController must be funded by the test before forwarding, and configured AMB endpoints should be read from the adapter.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Install Pigeon in a Foundry project

Add Pigeon's helper contracts to a Foundry project so they can be imported into test files.

Before you start

  • A Foundry project
  • Foundry's forge command

Steps

  1. Install the repository with forge install exp-table/pigeon.

  2. Add pigeon/=lib/pigeon/ to the project's Foundry remappings.

  3. Import Pigeon helper contracts into test files.

Expected outcome

Pigeon helper contracts are available for use in Foundry test files.

Guide limitations

  • This covers installation and imports; bridge-specific test setup and execution require project configuration.
Source-based practical guide

Simulate a Hyperlane message in a Foundry test

Pass a captured source transaction's logs to the Hyperlane helper for a destination fork.

Before you start

  • Pigeon installed and remapped in a Foundry project
  • A Foundry test with the source and destination fork identifiers and Hyperlane mailbox details

Steps

  1. Record logs with vm.recordLogs().

  2. Call the cross-chain function in the test.

  3. Collect the emitted logs with vm.getRecordedLogs().

  4. Pass the source and destination mailbox details, destination fork ID and logs to hyperlaneHelper.help.

Expected outcome

The example invokes Pigeon's Hyperlane helper using the recorded source logs and destination fork context.

Guide limitations

  • The example does not provide a complete project configuration or supported-network list.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
12 October 2026
Original website title
exp-table/pigeon · Official homepage title · retained in its source language