Skip to content

Commit

Permalink
fix(docs/content): enhance claiming and fix links
Browse files Browse the repository at this point in the history
  • Loading branch information
miker83z committed Aug 13, 2024
1 parent f53399a commit 38c67ef
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 21 deletions.
9 changes: 4 additions & 5 deletions docs/content/developer/stardust/claiming.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ title: Claiming Stardust Assets
description: Describes how to access the migrated assets and tokens
---

- Explains the resulting migrated state for simple coins (exchanges)
- Demonstrates through examples for each output type the resulting move objects
- Explains what commands need to be called in a PTB to claim the assets
- Describes transaction sponsorship from iota addresses for shimmer claiming
As detailed in the [Stardust Move Models](move-models.mdx), Stardust assets are represented as Move objects within the ledger. Claiming these assets involves enabling original owners to utilize a [Programmable Transaction Block](../iota-101/transactions/ptb/prog-txn-blocks.mdx) to "unlock" assets such as IOTA, Shimmer, custom [`Coin`](../../references/framework/iota-framework/coin.mdx#resource-coin)s, or even `Alias` and `Nft` objects.

## IOTA tokens automatic migration
This process takes advantage of Move's unique features to ensure that assets are transferred and unlocked securely and efficiently to their rightful owners.


## Output types to Move Objects

Stardust assets come in the form of Outputs and each Output can be of a different type. For understanding how Outputs have been transformed into Move Objects based on their types, please refer to the [Stardust Move Models](move-models.mdx#summary) page. In here, one or more claiming examples for each Output type will be shown.


## Examples of Stardust asset claim transactions

Expand Down
2 changes: 1 addition & 1 deletion docs/content/developer/stardust/claiming/alias.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

An address can own `AliasOutput` objects only if before the migration it was set as the Alias Governor Address.
In this case, the `AliasOutput` object is an owned object in the ledger and its owner is the Governor address.
Such address can be directly controlled by a user or by another object (either an `Alias` or `Nft` object). For the latter use case, check the [`Claiming an Output unlockable by an Alias/Nft Address`](address-uc.mdx) example.
Such address can be directly controlled by a user or by another object (either an `Alias` or `Nft` object). For the latter use case, check the [`Claiming an Output unlockable by an Alias/Nft Address`](address-unlock-condition.mdx) example.

## Claim of an Alias Output

Expand Down
28 changes: 13 additions & 15 deletions docs/content/developer/stardust/move-models.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@ description: Describes how stardust assets are represented in the object-based M
This document describes what move models the Stardust UTXOs are migrated to in the Move-based ledger in IOTA Rebased. First, the Stardust
Move Package is discussed that emulates the legacy UTXO models in object-based move.

## Summary

| Stardust Output (UTXO) | Move Container or Migrated Object | Encapsulated Move Assets Inside the Container |
|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Basic Output with IOTA/SMR only | [`Coin<IOTA/SMR>`](../../references/framework/iota-framework/coin.mdx#resource-coin) | ready to be used, no need to extract any assets |
| Basic Output with IOTA/SMR and native tokens | [`Coin<IOTA/SMR>`](../../references/framework/iota-framework/coin.mdx#resource-coin) and one or more [`Coin<NATIVE_TOKEN>`](../../references/framework/iota-framework/coin.mdx#resource-coin) | ready to be used, no need to extract any assets |
| Basic Output with unlock conditions or features | [`BasicOutput<IOTA/SMR>`](../../references/framework/stardust/basic_output#resource-basicoutput) | [`Balance<IOTA/SMR>`](../../references/framework/iota-framework/balance#struct-balance), [`Bag`](../../references/framework/iota-framework/bag#resource-bag) of `Balance<NATIVE_TOKEN>` key-ed by `"NATIVE_TOKEN"` |
| Alias Output | [`AliasOutput<IOTA/SMR`](../../references/framework/stardust/alias_output#resource-aliasoutput) | [`Balance<IOTA/SMR>`](../../references/framework/iota-framework/balance#struct-balance), [`Bag`](../../references/framework/iota-framework/bag#resource-bag) of `Balance<NATIVE_TOKEN>` key-ed by `"NATIVE_TOKEN"`, [`Alias`](../../references/framework/stardust/alias#resource-alias) object |
| Nft Output | [`NftOutput<IOTA/SMR`](../../references/framework/stardust/nft_output#resource-nftoutput) | [`Balance<IOTA/SMR>`](../../references/framework/iota-framework/balance#struct-balance), [`Bag`](../../references/framework/iota-framework/bag#resource-bag) of `Balance<NATIVE_TOKEN>` key-ed by `"NATIVE_TOKEN"`, [`Nft`](../../references/framework/stardust/nft#resource-nft) object |
| Foundry Output | Migrated to a Move Package with [template](https://github.com/iotaledger/iota/blob/develop/crates/iota-genesis-builder/src/stardust/native_token/package_template/sources/native_token_template.move) and [`CoinManager`](../../references/framework/iota-framework/coin_manager). Base tokens of the output are sent to the controlling alias as `Coin<IOTA/SMR>` objects. | - |
| [Vested Rewards From the Stardust Upgrade](https://github.com/iotaledger/new_supply) | [`Timelock<Balance<IOTA>>`](../../references/framework/iota-framework/timelock.mdx#resource-timelock) objects. | - |


## Design Principles

- The migration to IOTA Rebased aims to move away from the Stardust-based ledger concepts and transform assets into their pure
Expand Down Expand Up @@ -518,18 +531,3 @@ public fun extract_assets<T>(output: nft_output::NftOutput<T>, ctx: &mut tx_cont
- The caller has to decide what address to send the `Nft` object to.
- The `NftOutput` container is destroyed in the process.

## Summary


| Stardust Output (UTXO) | Move Container or Migrated Object | Encapsulated Move Assets Inside the Container |
|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Basic Output with IOTA/SMR only | [`Coin<IOTA/SMR>`](../../references/framework/iota-framework/coin.mdx#resource-coin) | ready to be used, no need to extract any assets |
| Basic Output with IOTA/SMR and native tokens | [`Coin<IOTA/SMR>`](../../references/framework/iota-framework/coin.mdx#resource-coin) and one or more [`Coin<NATIVE_TOKEN>`](../../references/framework/iota-framework/coin.mdx#resource-coin) | ready to be used, no need to extract any assets |
| Basic Output with unlock conditions or features | [`BasicOutput<IOTA/SMR>`](../../references/framework/stardust/basic_output#resource-basicoutput) | [`Balance<IOTA/SMR>`](../../references/framework/iota-framework/balance#struct-balance), [`Bag`](../../references/framework/iota-framework/bag#resource-bag) of `Balance<NATIVE_TOKEN>` key-ed by `"NATIVE_TOKEN"` |
| Alias Output | [`AliasOutput<IOTA/SMR`](../../references/framework/stardust/alias_output#resource-aliasoutput) | [`Balance<IOTA/SMR>`](../../references/framework/iota-framework/balance#struct-balance), [`Bag`](../../references/framework/iota-framework/bag#resource-bag) of `Balance<NATIVE_TOKEN>` key-ed by `"NATIVE_TOKEN"`, [`Alias`](../../references/framework/stardust/alias#resource-alias) object |
| Nft Output | [`NftOutput<IOTA/SMR`](../../references/framework/stardust/nft_output#resource-nftoutput) | [`Balance<IOTA/SMR>`](../../references/framework/iota-framework/balance#struct-balance), [`Bag`](../../references/framework/iota-framework/bag#resource-bag) of `Balance<NATIVE_TOKEN>` key-ed by `"NATIVE_TOKEN"`, [`Nft`](../../references/framework/stardust/nft#resource-nft) object |
| Foundry Output | Migrated to a Move Package with [template](https://github.com/iotaledger/iota/blob/develop/crates/iota-genesis-builder/src/stardust/native_token/package_template/sources/native_token_template.move) and [`CoinManager`](../../references/framework/iota-framework/coin_manager). Base tokens of the output are sent to the controlling alias as `Coin<IOTA/SMR>` objects. | - |
| [Vested Rewards From the Stardust Upgrade](https://github.com/iotaledger/new_supply) | [`Timelock<Balance<IOTA>>`](../../references/framework/iota-framework/timelock.mdx#resource-timelock) objects. | - |



0 comments on commit 38c67ef

Please sign in to comment.