Skip to content

CoinMigrator is a comprehensive token migration solution on Supra Chain enabling seamless transition from legacy Coin-based tokens to modern FungibleAsset standards. Features bidirectional conversion, balance tracking, and admin tools for Haven Coin (HVC) with CLI interface and Move Framework integration.

Notifications You must be signed in to change notification settings

wdcs-meetrathod/CoinMigrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🪙 Coin to Fungible Asset Migration on Supra Chain

This repository implements the full migration flow from a legacy Coin-based token (Haven Coin - HVC) to the modern FungibleAsset standard using the Supra Move Framework.


📦 Modules

1. haven_coin

  • Manages the legacy Haven Coin (HVC)
  • Includes minting, transfer, airdrop, and user registration

2. migration

  • Handles the migration of HVC into a FungibleAsset
  • Supports viewing FA balances and metadata object addresses

🚀 Getting Started

🔧 Setup Supra Profile

supra profile new \
  --rpc-url "https://rpc-testnet-1262.supra.com/" \
  --faucet-url "https://rpc-testnet-1262.supra.com/"

💰 Fund Your Account

supra move account fund-with-faucet

📤 Publish the Contract

supra move tool publish

Get the module address from the output, and assign it:

module=YOUR_MODULE_ADDRESS

🧵 CLI Usage Examples

🔍 View Legacy Balance

supra move tool view \
  --function-id "0x1::coin::balance" \
  --type-args "$module::haven_coin::HVC" \
  --args address:<your-address>

🔁 Migrate Coin to Fungible Asset

supra move tool run \
  --function-id "0x1::coin::migrate_to_fungible_store" \
  --type-args "$module::haven_coin::HVC"

📊 View Balances

Legacy Coin Balance:

supra move tool view \
  --function-id "$module::haven_coin::get_balance" \
  --args address:<user-address>

Fungible Asset Balance (after migration):

supra move tool view \
  --function-id "$module::migration::fa_balance" \
  --type-args "$module::haven_coin::HVC" \
  --args address:<user-address>

🔁 Migrate Coins

Legacy Coin → FA:

supra move tool run \
  --function-id "$module::migration::coin_address_to_fa" \
  --type-args "$module::haven_coin::HVC" \
  --args address:<user-address> u64:<amount>

FA → Legacy Coin:

supra move tool run \
  --function-id "$module::migration::fa_address_to_coin3" \
  --type-args "$module::haven_coin::HVC" \
  --args address:<user-address> u64:<amount>

🎁 Airdrop

supra move tool run \
  --function-id "$module::haven_coin::airdrop_coin" \
  --args address:<receiver-address> u64:100

🧠 Conceptual Flow

[Legacy Coin (HVC)]
│
├── mint / airdrop / transfer
│
▼
[Migration Module]
├── Convert Coin → FungibleAsset
├── Deposit into FA Store
└── View FA balance

✨ Credits

Built using the Supra Move Framework.
Developer: Meet Rathod

About

CoinMigrator is a comprehensive token migration solution on Supra Chain enabling seamless transition from legacy Coin-based tokens to modern FungibleAsset standards. Features bidirectional conversion, balance tracking, and admin tools for Haven Coin (HVC) with CLI interface and Move Framework integration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages