🚀 soon-migrate
is a CLI tool that helps developers migrate their Solana Anchor projects to the SOON Network. It modifies the Anchor.toml
configuration file, updates the cluster RPC URL, and provides oracle detection and migration guidance. This tool simplifies the process of upgrading and migrating existing Solana Anchor projects to the SOON ecosystem.
- 🛠 Automatic Migration: Updates the
Anchor.toml
file to migrate from standard Solana clusters to SOON Network. - 🔍 Oracle Detection: Automatically detects and provides migration guidance for various oracle providers (Pyth, Switchboard, Chainlink, etc.).
- 📦 APRO Integration: Generates comprehensive guides for integrating with APRO (SOON's oracle solution).
- 📊 Configuration Management: Handles cluster and program configurations seamlessly.
- 📦 Backup & Restore: Automatically backs up the existing
Anchor.toml
to ensure you can restore it if needed. - 🔍 Dry Run Option: Preview changes before applying them.
- 🗑 Verbose Logging: Detailed output to help you understand the migration process.
You can install soon-migrate
using Cargo:
cargo install soon-migrate
Navigate to the root directory of your Anchor project and run:
soon-migrate
This will migrate your project by modifying Anchor.toml
and updating the cluster RPC URL to the SOON Network. The tool will also create a backup (Anchor.toml.bak
) before making any changes.
You can specify the path to your Anchor project explicitly:
soon-migrate /path/to/your/anchor-project
If you want to preview the changes that will be made without modifying the actual files, use the --dry-run
flag:
soon-migrate --dry-run
This will print out the changes that would be made to Anchor.toml
without making any modifications.
For more detailed logging about the migration process, use the --verbose
flag:
soon-migrate --verbose
If you need to revert the changes made by soon-migrate
, you can restore the backup using the --restore
flag:
soon-migrate --restore
- Basic Migration:
soon-migrate
- Specify Path:
soon-migrate /path/to/project
- Dry Run:
soon-migrate --dry-run
- Verbose Logging:
soon-migrate --verbose
- Restore Backup:
soon-migrate --restore
-
Run a Dry Run to see what changes will be made:
soon-migrate --dry-run
-
Run the Actual Migration after reviewing the dry run output:
soon-migrate
-
For Oracle Migration, review the generated guide:
soon-migrate --oracle
-
Verify the updated
Anchor.toml
and run your project's tests. -
If something went wrong, restore from the backup:
soon-migrate --restore
soon-migrate
performs the following tasks:
- Project Validation: Ensures the directory is a valid Anchor project with
Anchor.toml
andCargo.toml
. - Backup Creation: Creates a backup of
Anchor.toml
before making any changes. - Network Migration: Updates the RPC URL in
Anchor.toml
to point to the SOON Network. - Oracle Detection: Scans your project for oracle usage and provides migration guidance.
- Configuration Updates: Handles program IDs and cluster configurations specific to SOON Network.
- Documentation: Generates detailed migration guides for detected oracles.
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue for suggestions, improvements, or bug reports.
-
Clone the Repository:
git clone https://github.com/akshatcoder-hash/soon-migrate.git cd soon-migrate
-
Build the Project:
cargo build
-
Run Tests:
cargo test
-
Run Linting:
cargo clippy -- -D warnings cargo fmt --check
-
Generate Documentation:
cargo doc --no-deps --open
Licensed under the MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT).
- Author: Akshat Sharma ([email protected])
- GitHub: akshatcoder-hash
If you have any questions or suggestions, feel free to reach out!
Give soon-migrate
a ⭐ on GitHub if you find it useful!