Skip to content

Commit

Permalink
Merge branch 'main' into fix/brokenlinksindocs
Browse files Browse the repository at this point in the history
  • Loading branch information
FelixNicolaeBucsa authored Feb 13, 2025
2 parents a74af92 + 92c24b8 commit dd1f8b3
Show file tree
Hide file tree
Showing 12 changed files with 128 additions and 1 deletion.
4 changes: 3 additions & 1 deletion .github/spelling/known_words_corpus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -789,4 +789,6 @@ apimessagepayload
confirmationmessage
apimessage
getmodels
runtype
runtype
CUDOS
HD
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ In the [Agentverse ↗️](https://agentverse.ai/) code editor, you have the fre

- [`validators` ↗️](/guides/agentverse/allowed-imports#validators).

- [`web3` ↗️](/guides/agentverse/allowed-imports#web3).

## Allowed imports

#### uagents
Expand Down Expand Up @@ -615,6 +617,22 @@ Integrate Agents with the AI Engine to perform a wide variety tasks, including i
print(validators.email('invalid-email')) # ValidationFailure

```

#### web3

`web3` is a Python library for interacting with the Ethereum blockchain. It provides functionalities for sending transactions, interacting with smart contracts, and querying blockchain data. Further reference [here ↗️](https://pypi.org/project/web3/).

**Example**:

```py copy
from web3 import Web3

w3 = Web3(Web3.HTTPProvider("https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID"))

print(w3.is_connected()) # True if connected to Ethereum network

```

## Multi-file Support

The Agentverse Code Editor enhances your agent development experience with multi-file support, enabling you to tackle complex projects with ease. Leverage this feature to:
Expand Down
5 changes: 5 additions & 0 deletions pages/guides/fetch-network/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
"tags": ["Intermediate", "Python", "FET"],
"timestamp": true
},
"ibc-transfers": {
"title": "IBC CUDOS Tokens Transfer",
"tags": ["Intermediate", "IBC", "CUDOS"],
"timestamp": true
},
"setting-up-a-multisig": {
"title": "How to setup a Multisig Wallet",
"tags": ["Intermediate", "Python", "Wallet"],
Expand Down
102 changes: 102 additions & 0 deletions pages/guides/fetch-network/ibc-transfers.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
import { Callout } from 'nextra/components'

# IBC CUDOS Tokens Transfer

## Overview

The Artificial Superintelligence Alliance (ASI) network facilitates CUDOS token reconciliation following the CUDOS network's merger into the ASI Alliance network. This process allows users to migrate their CUDOS tokens to FET tokens based on a pre-agreed conversion rate via the [Companion App ↗️](https://companion.fetch.ai/fetchhub-4/reconciliation) UI.

By following the appropriate steps for either claiming locked tokens or converting liquid tokens, users can securely complete their migration using the Companion App. Ensuring the correct wallet connection is essential for claiming tokens, while for conversion, it is simply a matter of having available liquid CUDOS tokens in the account.

## Claim and Convert options

Users may face two different scenarios when migrating their tokens:

### 1. Claiming locked CUDOS tokens

If CUDOS tokens were previously sent via IBC (Inter-Blockchain Communication) back to their native CUDOS Mainnet chain **after** it was decommissioned, then these tokens became locked forever. Users can claim these locked tokens as FET ones via the [Companion App ↗️](https://companion.fetch.ai/fetchhub-4/reconciliation).

The most crucial aspect of claiming locked tokens is selecting the correct wallet account (with the correct ASI address) in the [ASI Alliance Web Wallet ↗️](/guides/fetch-network/asi-wallet/web-wallet/get-started) extension, otherwise users won't be able to see their claimable tokens in the Companion app UI and consequently claim them. The correct ASI account must be derived from the very same private key as the original sender's account used to transfer CUDOS tokens from the source chain (e.g. Osmosis) to the already decommissioned CUDOS mainnet, which caused the tokens to become locked. Depending on how the original sender's account was created (respectively how the user/owner is usually accessing it), there are two possible ways how to add it to the ASI Wallet Extension:

- **Software wallet**: users will need to provide the same mnemonic seed phrase and HD Derivation path as when the user created the original sender's account .

- **Hardware wallet**: users will need to add the same Ledger Hardware Wallet and use the correct HD Derivation path. In this case, there is no need for a seed phrase, since it is represented by the Ledger Hardware Wallet itself.

If all parameters are correctly provided, the user will end up with the correct ASI wallet account in the ASI Wallet Extension.

#### Walk-through to claim locked CUDOS tokens

1. Open the [Companion App ↗️](https://companion.fetch.ai/fetchhub-4/reconciliation).
2. Head over to the **Reconciliation** tab.

![](src/images/guides/ibc-transfers/ibc-transfers_1.png)

3. Switch to the **CUDOS tokens** tab.
4. Connect your ASI Web Wallet. If you do not have one, download it from [here ↗️](/guides/fetch-network/asi-wallet/web-wallet/get-started).
5. You need to ensure that you use the exact wallet address that was originally used to lock CUDOS tokens from the source network. You can add such a wallet within the ASI Wallet by clicking the 3 dots menu button:

![](src/images/guides/ibc-transfers/ibc-transfers_2.png)

Then, click **Add a new wallet**.

![](src/images/guides/ibc-transfers/ibc-transfers_3.png)

Click **Import existing wallet**.

![](src/images/guides/ibc-transfers/ibc-transfers_4.png)

Choose to import a wallet based on a seed phrase (if you have a software wallet) or by connecting a hardware wallet.

![](src/images/guides/ibc-transfers/ibc-transfers_5.png)

By using a _software wallet_, you need to import the wallet using the **same** seed phrase as the one related to the wallet you used to lock the CUDOS tokens on the source network.

![](src/images/guides/ibc-transfers/ibc-transfers_6.png)

If you know the _HD derivation path_ for your original wallet address, provide it alongside the seed phrase, by clicking the **Advanced Options** button.

<Callout type="info" emoji="ℹ️">
The **HD derivation path** presents multiple fields that need to be populated: **account**, **exchange** and **index**. These fields of HD path determine the private key of the account, which is going to be imported to the ASI wallet. If they (and seed phrase) are provided correctly, the resulting derived private key will be exactly the same, as the one used to derive the source account used to initially transfer CUDOS tokens from original source chain (e.g. Osmosis) to the decommissioned CUDOS Mainnet chain, thus effectively locking them.
</Callout>

![](src/images/guides/ibc-transfers/ibc-transfers_7.png)

Click **Next**.

6. Once you connect the new account successfully, the Companion App UI will refresh, and you should be able to check the **Claim** section with the available amount of CUDOS tokens that can be actually claimed.

![](src/images/guides/ibc-transfers/ibc-transfers_8.png)

7. Check that the amount is displayed correctly, then proceed to submit the claim request by clicking the **Execute** button.

8. Confirm the transaction within the ASI Wallet and wait for processing.

9. The FET tokens will be credited to your connected ASI account upon successful claim processing.

### 2. Converting liquid CUDOS tokens

If users hold liquid CUDOS tokens on IBC-supported networks, they can convert them to FET tokens using the Companion App.

First, they will need to transfer them via IBC to the ASI Alliance Network, and then convert them to FET tokens using the dedicated Companion App UI.

<Callout type="info" emoji="ℹ️">
At the moment, _only_ CUDOS tokens on the **Osmosis** and **Archway** networks are supported. In addition, _CUDOS tokens on the Archway network will need to be first transferred over IBC to the Osmosis network, and then from there to the ASI Main network_.
</Callout>

During this process, the ASI account itself (its address) is not relevant for the conversion process (opposite to the claiming process described above). **_All that matters is the ownership of CUDOS tokens_**. The Companion App UI will automatically populate the **Convert** field based on the available balance of CUDOS tokens once the ASI account is connected to the app itself.

#### Walk-through to convert liquid CUDOS tokens

1. Open the [Companion App ↗️](https://companion.fetch.ai/fetchhub-4/reconciliation).
2. Head over to the **Reconciliation** tab.
3. Connect your [ASI wallet ↗️](/guides/fetch-network/asi-wallet/web-wallet/get-started). Ensure it holds liquid CUDOS tokens on any IBC-supported network. These can be transferred from the source wallet to the ASI wallet straightforwardly.
4. Navigate to the **CUDOS** tab within the **Reconciliation** page.

<Callout type="info" emoji="ℹ️">
The available balance of CUDOS tokens should be displayed automatically based on the amount available of liquid CUDOS tokens on your connected wallet.
</Callout>

5. Select the amount you wish to convert.
6. Press **Execute** button.
7. Confirm the transaction on the wallet and wait for processing.
8. The corresponding amount of FET tokens will be credited to your ASI wallet upon successful conversion.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit dd1f8b3

Please sign in to comment.