#16
ParaSpell XCM-SDK featuring Basilisk support - Delivery Milestone 1
Executed
Basilisk Milestone delivery 📬
- Application Document: Make cross-chain SDK featuring Basilisk support
- Milestone Number: 1
Context
Milestone delivered upgrades for SDK and featured Basilisk support as well as Basilisk's XYK pallet support. All features were implemented according to plan.
Basilisk specific delivery
Number | Deliverable | Link | Notes |
---|---|---|---|
0a. | License | MIT | MIT |
0b. | Article | Medium article | We will mention Basilisk as supporting chain in Medium article about SDK development |
0c. | Badge | Badge in UI, Badge in SDK | Badges for each Repo |
1. | Implement support for checking asset compatibility on Basilisk through asset pallet |
Asset pallet commit | Check which tokens are supported and allow user to use them through SDK |
2.a | Implement support for Basilisk's XYK pallet | Basilisk XYK 1/2 - Function pattern style, Basilisk XYK 2/2 - Builder pattern | Add ability to exchange asset for another, create pool and more through Basilisk XYK Pallet |
2.b | Wiki guide Basilisk's XYK pallet | XYK Wiki | Add comprehensive guide on usage of XYK Pallet via SDK |
2.c | UI Example on Basilisk's XYK pallet | XYK UI | Create simple UI example that allows for quick demonstration of XYK Pallet and users are able to see how it can be implemented into dApp |
General delivery
Number | Deliverable | Link | Notes |
---|---|---|---|
0a. | License | MIT | MIT |
0c. | Testing guide | Testing guide | Core functionality & user guide will be covered in repository documentation as well as SDK UNIT tests for core functionality |
1. | Add SDK ability to transfer different token types | Asset pallet commit | Nodes, that support different token type transfers will have ability to customize this |
2 | Make SDK easier to use | Merging scenarios commit | Merge Parachain to Parachain & Parachain to Relay chain scenarios in SDK into one scenario that will be able to adapt based on details provided (if destination node id not provided, then assume transfer is for relay chain, also if token is compatible with relay chain), this will replace need for calling two functions for each scenario with only one function covering both scenarios eg. send() instead paratopara() & paratorelay() |
3.a | Add support for nodes without xTokens pallet I | Commit adding compatible polkadotXCM nodes | Implemented support for transfer scenario Parachain to Relay chain for nodes that do not have xTokens pallet but have polkadotXCM or other XCM pallet. SDK is be able to determine which pallet to use on which Parachain automatically. These nodes can transfer native Relay chain tokens upwards to Relay chain. |
3.b | Add support for nodes without xTokens pallet II | Commit adding compatible polkadotXCM nodes | Implemented support for transfer scenario Parachain to Parachain for nodes that do not have xTokens pallet but have polkadotXCM or other XCM pallet. SDK is be able to determine which pallet to use on which Parachain automatically. These nodes can transfer their native tokens into another Parachains which have HRMP channel with them. |
4 | Add support for checking data that does not change | Implementing constants that do not change like node id and asset decimals | There are things that do not change, such as base token configuration (Polkadot, DOT token, 10 decimals), (Basilisk, BSX, 12 decimals), (Astar, ASTR, 18 decimals) This can be imported from @polkadot/network to have better support for different transfer scenarios. |
5 | Rewrite SDK to builder pattern | Builder pattern commit, Builder pattern usage guide | Best thing we can do to support multiple pallets and make it simplier for developers would be a Builder pattern functionality would look like: import { Builder } as @paraspell/sdk and then building of call would be something in sence: const call = Builder(api).from(‘bsx’).to(‘ksm’).teleportTokens(‘KSM’).addr('destinationAddr').sum(currencySum).asV3().build() . |
3. | Make a map of compatible <chain, pallet> | xcmPallet map feature, usage guide for testing | Before each SDK release there should be a script that connects to the compatible nodes, checks all relevant available pallets xTokens , polkadotXCM , asset pallets , HRMP pallets ) and saves them to the map. |
7 | Use turborepo | Monorepo branch | Remake package into monorepo for easier importing and cleaner use. (Note this is created with future expand plans) |
8 | Add Wiki guide | Wiki guide | We will provide useful Wiki guide that will explain data that is used by different transfer scenarios. We will also explain how to add new nodes that will be compatible. |
Additional Information
Every aspect of project, that was defined in proposal, was implemented according to it. There were no changes required during development. Users are now able to use standard Paraspell XCM features as well as Basilisk XYK Pallet through SDK. Happy hacking!
Edited
Reply
Up
Votes5/5
This vote has been closed.
Business
Metadata
Proposer
Index
16
Threshold
5
Hash
0x37475ebf4119da13e55a1cc745d1e6f199802fc6dfdf29077d05cf54a06e18f6
Call
Table
Json
callIndex | 0x0402 | ||
section | treasury | ||
method | approveProposal | ||
args |
|
TimelineLatest activity undefined
Comments
There are no comments here