From c533d60de088e4b62f11845ee98f90d0af0ecf11 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Wed, 4 Feb 2026 14:05:42 +0300 Subject: [PATCH] fix: use correct asset format for assetConversion pallet assetConversion.createPool expects { Asset: id } format, not raw numbers. This fixes pool creation on Asset Hub. --- web/src/components/dex/CreatePoolModal.tsx | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/web/src/components/dex/CreatePoolModal.tsx b/web/src/components/dex/CreatePoolModal.tsx index 52adb7c7..1fd3a355 100644 --- a/web/src/components/dex/CreatePoolModal.tsx +++ b/web/src/components/dex/CreatePoolModal.tsx @@ -177,13 +177,27 @@ export const CreatePoolModal: React.FC = ({ setTxStatus('signing'); setErrorMessage(''); + // Convert asset IDs to proper format for assetConversion pallet + // Native token uses { Native: null }, assets use { Asset: id } + const formatAssetId = (id: number) => { + // For now, all our tokens are assets on Asset Hub + return { Asset: id }; + }; + + const asset1 = formatAssetId(asset1Id!); + const asset2 = formatAssetId(asset2Id!); + + if (import.meta.env.DEV) { + console.log('🏊 Creating pool with:', { asset1, asset2, amount1Raw, amount2Raw }); + } + // Create pool extrinsic on Asset Hub - const createPoolTx = assetHubApi.tx.assetConversion.createPool(asset1Id, asset2Id); + const createPoolTx = assetHubApi.tx.assetConversion.createPool(asset1, asset2); // Add liquidity extrinsic on Asset Hub const addLiquidityTx = assetHubApi.tx.assetConversion.addLiquidity( - asset1Id, - asset2Id, + asset1, + asset2, amount1Raw, amount2Raw, amount1Raw, // min amount1