diff --git a/app/app.nix b/app/app.nix index 71e147d40f..dca268e510 100644 --- a/app/app.nix +++ b/app/app.nix @@ -19,7 +19,7 @@ _: { { packages = { app = jsPkgs.buildNpmPackage { - npmDepsHash = "sha256-z5AN/oqJSY2R2wAQx4RooCG/7P6AY41hyfmeW3ytEGc="; + npmDepsHash = "sha256-ZXPdOFx9IyZNGVbKXSBm1rDA3rkwgQYQROrAX35E09c="; src = ./.; sourceRoot = "app"; npmFlags = [ diff --git a/app/package-lock.json b/app/package-lock.json index 6dd3b2d7f3..5f1922030a 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -19,7 +19,7 @@ "@tanstack/svelte-query": "5.61.5", "@tanstack/svelte-table": "^8.20.5", "@tanstack/svelte-virtual": "3.10.9", - "@unionlabs/client": "0.0.52", + "@unionlabs/client": "0.0.53", "@wagmi/connectors": "5.7.5", "@wagmi/core": "2.16.3", "bits-ui": "^0.21.13", @@ -3252,9 +3252,9 @@ "license": "MIT" }, "node_modules/@unionlabs/client": { - "version": "0.0.52", - "resolved": "https://registry.npmjs.org/@unionlabs/client/-/client-0.0.52.tgz", - "integrity": "sha512-/aSDltnog1pU6mGdbB1zq+aMoSmAjdxp8OeKWLqGXUHuCsrfvzTvPWxINi3nJM96lNsFSLSg0JQGzrB5T7YjJg==", + "version": "0.0.53", + "resolved": "https://registry.npmjs.org/@unionlabs/client/-/client-0.0.53.tgz", + "integrity": "sha512-7JNr1Dj159BXtc2hat5lODgYuxjM48mDjNPWtmoTBN0zZoEW/J5NMwoPS2nS0kNxSngJlyJXmQCS16iQZzNirw==", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/app/package.json b/app/package.json index c6a35760cd..67cfbf1887 100644 --- a/app/package.json +++ b/app/package.json @@ -28,7 +28,7 @@ "@tanstack/svelte-query": "5.61.5", "@tanstack/svelte-table": "^8.20.5", "@tanstack/svelte-virtual": "3.10.9", - "@unionlabs/client": "0.0.52", + "@unionlabs/client": "0.0.53", "@wagmi/connectors": "5.7.5", "@wagmi/core": "2.16.3", "bits-ui": "^0.21.13", diff --git a/app/src/lib/components/TransferFrom/components/Cube/faces/Intent.svelte b/app/src/lib/components/TransferFrom/components/Cube/faces/Intent.svelte index 95e12d5497..188b3f61eb 100644 --- a/app/src/lib/components/TransferFrom/components/Cube/faces/Intent.svelte +++ b/app/src/lib/components/TransferFrom/components/Cube/faces/Intent.svelte @@ -28,15 +28,18 @@ export let stores: Props["stores"] export let rotateTo: Props["rotateTo"] export let chains: Array<Chain> export let channel: Readable<Ucs03Channel | null> -export let transferArgs: { - baseToken: string - baseAmount: bigint - quoteToken: string - quoteAmount: bigint - receiver: string - sourceChannelId: number - ucs03address: string -} | null +export let transferArgs: + | { + baseToken: string + baseAmount: bigint + quoteToken: string + quoteAmount: bigint + receiver: string + sourceChannelId: number + ucs03address: string + } + | "NO_QUOTE_AVAILABLE" + | null let { rawIntents, intents, validation } = stores </script> @@ -106,6 +109,8 @@ let { rawIntents, intents, validation } = stores {:else} {#if !transferArgs} <LoadingDots/> + {:else if transferArgs === "NO_QUOTE_AVAILABLE"} + <div class="text-xs text-center">No Quote Token available for this transfer. Sending new assets to Cosmos is currently not supported and will be enabled in an update soon.</div> {:else} <div class="flex-1 flex flex-col items-center text-xs"> <Token amount={$rawIntents.amount} chainId={$rawIntents.destination} denom={transferArgs.quoteToken} {chains}/> diff --git a/app/src/lib/components/TransferFrom/index.svelte b/app/src/lib/components/TransferFrom/index.svelte index a81b20c402..47f2c10191 100644 --- a/app/src/lib/components/TransferFrom/index.svelte +++ b/app/src/lib/components/TransferFrom/index.svelte @@ -33,15 +33,19 @@ let channel = derived(rawIntents, $rawIntents => { return getChannelInfo($rawIntents.source, $rawIntents.destination, ucs03channels) }) -let transferArgs: Writable<{ - baseToken: string - baseAmount: bigint - quoteToken: string - quoteAmount: bigint - receiver: string - sourceChannelId: number - ucs03address: string -} | null> = writable(null) +let transferArgs: Writable< + | { + baseToken: string + baseAmount: bigint + quoteToken: string + quoteAmount: bigint + receiver: string + sourceChannelId: number + ucs03address: string + } + | "NO_QUOTE_AVAILABLE" + | null +> = writable(null) rawIntents.subscribe(async () => { transferArgs.set(null) @@ -63,7 +67,13 @@ rawIntents.subscribe(async () => { const quoteToken = await getQuoteToken($rawIntents.source, baseToken, $channel) if (quoteToken.isErr()) { - return null + transferArgs.set(null) + return + } + + if (quoteToken.value.type === "NO_QUOTE_AVAILABLE") { + transferArgs.set("NO_QUOTE_AVAILABLE") + return } const receiver = @@ -76,8 +86,6 @@ rawIntents.subscribe(async () => { ? fromHex(`0x${$channel.source_port_id}`, "string") : `0x${$channel.source_port_id}` - console.log("setting") - transferArgs.set({ baseToken, baseAmount: BigInt($rawIntents.amount),