Skip to content

omni-network/omni

Omni Monorepo

Monorepo for Omni node, contracts and other related tools.

Build Tests Documentation Discord Telegram Twitter Follow

Logo

About Omni

This monorepo contains all source code for the Omni protocol. Omni's goal is to make it easy for smart contract developers to source liquidity and users from anywhere. The protocol consists of various components including an EVM and cross-chain messaging.

The Omni Docs are the best place to get started learning about Omni.

Quickstart

Building the node requires a working Go (version 1.22 or higher, see go.mod) and goreleaser (see installation guide here or install with make ensure-go-releaser). You can install them using your favorite package manager. Once the dependencies are installed, run:

make build-docker

To run the end-to-end tests, run:

MANIFEST=devnet1 make e2e-run

To start a devnet, run:

make devnet-deploy

To stop it, run:

make devnet-clean

Directory Structure

├── contracts: Solidity contracts and related software.
│ ├── core/: Core protocol smart contracts.
│ ├── avs/: Eigen AVS smart contracts.
│ ├── bindings/: Go smart contract bindings.
│ └── allocs/: Predeploy allocations.
├── docs: Documentation resources, including images and diagrams.
├── halo: The Halo instance, including application logic and attestation mechanisms.
│ ├── app: Application logic for Halo.
│ └── cmd: Command-line tools and utilities.
├── lib: Core libraries for various protocol functionalities.
│ ├── cchain: Consensus chain interaction utilities.
│ └── xchain: Cross-chain messaging and utilities.
├── octane: Octane is a modular framework for the EVM.
│ └── evmengine: The EVMEngine cosmos module.
├── relayer: Relayer service for cross-chain messages and transactions.
│ └── app: Application logic for the relayer service.
├── scripts: Utility scripts for development and operational tasks.
└── test: Testing suite for end-to-end, smoke, and utility testing.

Contributing

We are open to contributions, but don't currently have a formal process for contributors. If you are interested, browse through open issues, read our code of conduct, or chat with the team.

Security

Please refer to SECURITY.md.