galacticcouncil / galacticcouncil/hydration-node

Change the storage for swap routes when using execute instruction

Open
#1,188 11 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
208
Forks
109
Avg merge
6d 3h
Merged PRs (30d)
3

Description

Some of the routes that work just fine in UI do not work when Execute Extrinsic is used with the Swap instruction.

We are getting an error NoDeal because that route is not registered in storage.

Can you guys please address this? Because lots of pairs do not work due to this, and when we wish to truly enable and enhance one-click cross-chain swap extrinsic experience, we need all of these to work.

### Description
This has been an ongoing problem for a while now. Previously, we were able to manually enable these routes (Which, from the user perspective, shouldn't be needed and should be enabled by the chain). Then it was switched to be registrable by governance only.

Could it be more dynamic? Like when new asset is registered, all routes for that asset are also registered in storage for paths usable by Execute.

### Actual status
(https://dev.papi.how/extrinsics#networkId=polkadot_asset_hub&endpoint=wss%3A%2F%2Fasset-hub-polkadot-rpc.dwellir.com&data=0x1f03050c00040002043205e5140002093d002b010e01010002043205e51400010100c91f0c13010300a10f043205e5140002093d00000f0101010300a10f043205e51400040001030034d5ffb83d14d82f87aaf2f13be895a3c814c2ad0013b13757dcfc784e03000d01010001030034d5ffb83d14d82f87aaf2f13be895a3c814c2ad0000010100246044e82dcb430908830f90e8c668b02544004d66eab58af5124b953ef57d3702f1d48e4970)

Following extrinsic, which moves USDT from AH to Hydration to exchange it for GDOT, but we are getting a NoDeal error no matter what the amount is.

### Expected status
The transfer should pass without issues, because all registered assets have their swap paths to other assets registered on the chain.

Thanks in advance!

With kind regards,
Team ParaSpell✨

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the linked Execute Extrinsic on Polkadot Asset Hub and trace where swap routes are registered and looked up for the Swap instruction. Done means the reported USDT-to-GDOT transfer succeeds without NoDeal and the route behavior works for the relevant registered assets.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.