From 0e918e9a42926fd9fca28179685a6f53506d1605 Mon Sep 17 00:00:00 2001 From: guillermo dieguez Date: Thu, 30 Apr 2026 11:31:17 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20app:=20route=20owner=20rpc=20thr?= =?UTF-8?q?ough=20alchemy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/chubby-flowers-learn.md | 5 +++++ src/utils/wagmi/owner.ts | 10 ++++++++++ 2 files changed, 15 insertions(+) create mode 100644 .changeset/chubby-flowers-learn.md diff --git a/.changeset/chubby-flowers-learn.md b/.changeset/chubby-flowers-learn.md new file mode 100644 index 000000000..ef5c441dd --- /dev/null +++ b/.changeset/chubby-flowers-learn.md @@ -0,0 +1,5 @@ +--- +"@exactly/mobile": patch +--- + +🐛 route owner rpc through alchemy diff --git a/src/utils/wagmi/owner.ts b/src/utils/wagmi/owner.ts index ccc13f1a7..7c5e0989f 100644 --- a/src/utils/wagmi/owner.ts +++ b/src/utils/wagmi/owner.ts @@ -1,11 +1,13 @@ import AsyncStorage from "@react-native-async-storage/async-storage"; +import * as infra from "@account-kit/infra"; import { sdk } from "@farcaster/miniapp-sdk"; import { farcasterMiniApp as miniAppConnector } from "@farcaster/miniapp-wagmi-connector"; import { http } from "viem"; import * as chains from "viem/chains"; import { createConfig, createStorage, custom, injected } from "wagmi"; +import alchemyAPIKey from "@exactly/common/alchemyAPIKey"; import chain from "@exactly/common/generated/chain"; import publicClient from "../publicClient"; @@ -15,6 +17,14 @@ const config = createConfig({ connectors: [miniAppConnector(), injected()], transports: { ...Object.fromEntries(Object.values(chains).map((c) => [c.id, http()])), + ...Object.values(infra).reduce>>((result, item) => { + if (typeof item !== "object" || !("id" in item) || !("rpcUrls" in item)) return result; + const c = item as { id: number; rpcUrls: { alchemy?: { http?: readonly string[] } } }; + const url = c.rpcUrls.alchemy?.http?.[0]; + if (!url) return result; + result[c.id] = http(`${url}/${alchemyAPIKey}`); + return result; + }, {}), [chain.id]: custom(publicClient), }, storage: createStorage({ key: "wagmi.owner", storage: AsyncStorage }),