This project implements a cross-chain token migration system for migrating tokens from one blockchain to another. It is built on top of LayerZero, enabling seamless communication between different blockchains (such as BNB and Polygon). The system allows users to swap old versions of tokens on one chain for new versions on another chain, with various options for vesting and bonuses.
The project consists of two main smart contracts:
-
CrossChainSwap:
- Manages the token swap process, allowing users to swap tokens from one chain to another with different vesting options and bonuses.
- Supports multiple swap options, including a direct 1:1 transfer with no vesting or bonuses (Option 3).
- Tracks the total amount of swapped tokens and ensures the proper handling of token transfers and cross-chain messaging.
-
CrossChainVesting:
- Manages the vesting schedules for tokens swapped across chains.
- Supports vesting options with different cliff periods, bonuses, and durations.
- Handles the release of vested tokens and allows for the claiming of tokens under Option 3 after a specific event (TGE).
- Provides a mechanism for the owner to withdraw excess tokens from the contract after covering all vesting and claimable amounts.
This project is designed to ensure a smooth and secure migration of tokens between chains while providing flexible vesting options for users. The contracts include additional functionality for tracking total swapped tokens, managing vesting schedules, and handling token claims post-TGE.
Install Foundry and Forge: installation guide
git clone <repo_link>
forge install
make build
make test
cp .env.example .env
make execute-swap
- LayerZero Scan: View and track cross-chain transactions in real-time.
- LayerZero Docs: Learn more about LayerZero's omnichain infrastructure and available developer tools.
Name | Address |
---|---|
ARTCOIN_BEP20 | 0xF3B5E392278C3Ff61C5E6eBE14aC9EB5EdEb976a |
CROSS_CHAIN_SWAP | 0x297571610EEB63136a796fC717952017BC3A6774 |
Name | Address |
---|---|
ARTCOIN_ERC20 | 0x234aFAFa5507042BD05D8f42454616BA103004B1 |
CROSS_CHAIN_VESTING | 0xE3351140F9D2060Df71B458657099beA83b095C0 |