The Example Liquidity Layer utilizes the Wormhole Circle Integration contract to faciliate cross-chain transfers of USDC (along with arbitrary messages) to custom smart contracts on any CCTP-enabled blockchain.
Clone the repo using the following command to make sure that all necessary submodules are installed:
git clone [email protected]:wormhole-foundation/example-liquidity-layer.git --recurse-submodules
Install Foundry tools, which include forge
, anvil
and cast
CLI tools.
Each directory represents Wormhole integrations for specific blockchain networks. Please navigate to a network subdirectory to see more details (see the relevant README.md) on building, testing and deploying the smart contracts.
To use the Typescript SDK, at the root of this repository, run:
npm ci && npm run build && npm run pack
Which will produce a .tgz
file that can be installed using npm or any other package manager like:
npm install /path/to/example-liquidity-layer/wormhole-foundation-example-liquidity-layer-solana-0.0.1.tgz
Once installed, it can be used like any other package:
// ...
import * as tokenRouterSdk from "@wormhole-foundation/example-liquidity-layer-solana/tokenRouter";
import {
LiquidityLayerDeposit,
LiquidityLayerMessage,
} from "@wormhole-foundation/example-liquidity-layer-solana/common";
import { PreparedOrder } from "@wormhole-foundation/example-liquidity-layer-solana/tokenRouter/state";
// ...