Charged Particles
  • What is Charged Particles
  • GETTING STARTED
    • Quick Start
  • CHARGED PARTICLES PROTOCOL
    • Protocol Overview
      • How It Works
      • Current Status
      • Protocol Revenue
      • Protocol Features
    • Why Use Charged Particles?
      • NFT Platforms And How They Differ
      • Charged Particles NFTs - What Are They?
    • How to Use Charged Particles
      • Minting an NFT
      • Energizing an NFT
      • Manage an NFT
      • Using A Test Network
      • Migrating Particles from V1 to V2
    • Developer Docs
      • System Overview
      • Quickstart
        • Read and Write to Contracts
        • Read from the Subgraph
        • Get Kovan ETH + ERC20s
        • VSCode Node.js Typescript Debugging
      • Smart Contracts
        • V2
          • Charged Particles Contract (V2)
          • Charged Settings Contract (V2)
          • Charged State Contract (V2)
          • ProtonB Contract
        • V1
          • Charged Particles Contract
          • Charged Settings Contract
          • Charged State Contract
          • Proton Contract
        • Error Codes
      • Protocol Subgraph
    • IONX
      • IONX Token Addresses
      • IONX Rewards
    • Web3 Packs
    • Liquidity Mining
      • Base Reward Program
      • Leptons
    • Protocol Governance
      • Governance Process
      • Creating a Proposal
      • Voting
      • Delegating Votes
    • Projects + Use Cases
    • Allowlist Application
    • Team
    • Guilds
    • Roadmap
    • Hackathons
      • Hackathon Ideas
      • Previous Hackathons
    • Dune Analytics
  • SDK
    • Charged Particles SDK Overview
    • Quick Start
    • API
    • Advanced Use
    • Types
    • Common Issues / FAQ
    • Common Terminology
  • RESOURCES
    • Hiring!
      • Full-stack/Back-end Web3 Engineer
      • Create Your Own Position
    • Glossary of Terms
    • FAQs
      • Protocol and app.charged.fi
      • Governance
      • Other
      • How to report a bug
    • External Contracts Allowlisted
    • Audits
    • Legal
      • Beta End User License Agreement (EULA)
      • Privacy Policy
      • Policies & Terms of Service
    • Media Kit
  • Additional Resources
    • Discord
    • Telegram
    • Twitter
    • Medium
    • Github
    • LinkedIn
    • Instagram
    • TikTok
Powered by GitBook
On this page
  • Overview
  • What does migration mean?
  • Who should migrate their Particles' assets?
  • Migration Guide
  • Migrating Tokens
  • Migrating NFTs

Was this helpful?

  1. CHARGED PARTICLES PROTOCOL
  2. How to Use Charged Particles

Migrating Particles from V1 to V2

A guide on Migrating Particle balances from V1 to V2

PreviousUsing A Test NetworkNextDeveloper Docs

Last updated 3 years ago

Was this helpful?

Overview

With the launch of Charged Particles V2 comes the option to migrate your Particle's wallet balances from V1 to V2. This guide explains the what, why, and when of migration to help you make a decision on whether or not to migrate your Particle's assets, and how to do so if you choose to.

What does migration mean?

There are two types of migrations related to V2 of Charged Particles -- contract-level migrations, and asset migration:

  • Contract-level migrations refer to the ChargedSettings.sol and ChargedState.sol and will be done automatically for all Particles after upgrades are complete.

  • Asset migration refers to moving balances from a Particle's V1 smart wallets to its V2 smart wallets. Asset migration is optional and must be done by a Particle's owner. For more information on smart wallets, see .

Asset Migration Flow

Who should migrate their Particles' assets?

Migrating assets from V1 to V2 is not necessary and does not make sense in many scenarios.

Scenarios when it DOES make sense to migrate your Particle's assets:

  • You do not plan on depositing any additional assets into V1

Scenarios where it DOES NOT make sense to migrate your Particle's assets:

  • You already have assets in V1 and do not want to pay gas fees to withdraw those assets from V1 and deposit into V2 -- In this case, you can just keep depositing into V1 so that when you do decide to withdraw from your Particle, you only have to do so once for each asset type

Migration Guide

Migrating assets from V1 to V2 requires 2 basic steps -- withdrawing assets from V1 and depositing them into V2. See below for specific instructions on how to migrate Aave ERC20s, Non-aave ERC20s, and Nested NFTs.

Migrating Tokens

Removing an Asset from V1

  • Click the "Discharge" button on the Energize page for your particle.

  • Select "Total Amount" from the dropdown

  • Make sure V1 is selected

  • Select either the Aave or Non-Aave depending on what you are trying to withdraw, and select the token you want to migrate

Depositing an Asset into V2

  • After successfully withdrawing your asset, click the "Charge" button

  • Ensure that V2 is selected on the Energize popup

  • Deposit your asset into V2

Migrating NFTs

Removing an Asset from V1

  • Click the "Discharge" button on the Energize page for your particle.

  • Select "NFTs" from the dropdown

  • Make sure V1 is selected

  • Select the NFT you want to migrate and remove it from the V1 wallet of your Particle

Depositing an Asset into V2

  • After successfully withdrawing your asset, click the "Charge" button

  • Ensure that V2 is selected on the Energize popup

  • Deposit your asset into V2

You want to be able to redirect your Particle's royalties and/or to a third party, (that feature is only available in V2)

You are not concerned with getting

all of V2's features
creator annuities
this high-level overview