You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 30, 2024. It is now read-only.
Repository navigation
This repository was archived by the owner on May 30, 2024. It is now read-only.
Based on community feedback, it has become evident that there is a need for examples and tutorials for XCM. The existing documentation provides a solid foundation, but developers would greatly benefit from practical implementation guidance and code snippets (cookbook) to better understand and utilize XCM in their projects.
Furthermore, there is a specific request for examples focusing on the configuration of the xcm-executor. It would be highly beneficial to provide clear examples demonstrating the various configurations and options available for xcm-executor.
Additionally, together with the Trappist team we decided to create the examples using Trappist (https://github.com/paritytech/trappist) as the framework. Trappist is widely used as an example within the community and would be an excellent choice for showcasing XCM integration in real-world scenarios.
### Examples/Tutorials
- [ ] Integrate native token on the Asset Hub.
- [ ] Configure nfts pallet for derivative non-fungible assets.
- [ ] Showcase how to do cross chain transactions (Teleport and Reserve) and how to manage the Fee payment.
- [ ] Showcase use of ExchangeAsset with dex pallet (https://github.com/paritytech/trappist/issues/47)
- [ ] Show how to practically make use of Transact
During sub0 2022, we presented with @stiiifff a complex use case that includes most of the items described above.
Here is the presentation: https://www.youtube.com/watch?v=1eJwzbtqZYs
The presentation rely on a use case based on real world assets (RWA) and a borrow and lending protocol from those RWA (represented as NFT).
The topology of the workshop was:
Statemine (now called asset hub) as a reserve for NFT and fungible asset.
Trappist holding the NFT borrow and lending protocol.
Stout as a DEX parachain.
The sequence for the workshop was:
Fund Trappist and Stout with stUSD backed in statemine.
Transfer an NFT to Trappist being backed in Statemine.
Use the NFT in the borrow and lending app by locking it on Statemine and providing some liquidity to the account.
The same borrow and lending app performs the following steps :
Move the liquidity from Trappist to Stout.
Executes a transact that provide liquidity to a liquidity pool running on the DEX of Stout. Also this step is swapping the 50% automatically to fill the 50/50 proportion of LPs.
The code can be found here: https://github.com/paritytech/trappist/blob/sub0_2022
It can be considered as a reference but not definitely as a starting point since some things has changed/improved in XCM v3 from that time and also i cut some corners due to time constraints that need to be addressed. This for example:
Activity
hbulgarini commentedon Jun 23, 2023
During sub0 2022, we presented with @stiiifff a complex use case that includes most of the items described above.
Here is the presentation: https://www.youtube.com/watch?v=1eJwzbtqZYs
The presentation rely on a use case based on real world assets (RWA) and a borrow and lending protocol from those RWA (represented as NFT).
The topology of the workshop was:
The sequence for the workshop was:
The code can be found here: https://github.com/paritytech/trappist/blob/sub0_2022
It can be considered as a reference but not definitely as a starting point since some things has changed/improved in XCM v3 from that time and also i cut some corners due to time constraints that need to be addressed. This for example:
https://github.com/paritytech/trappist/blob/sub0_2022/runtime/trappist/src/xcm_config.rs#L73:L91