diff --git a/e2e/tests/accounts.test.ts b/e2e/tests/accounts.test.ts index d049d73cb..85f41dbed 100644 --- a/e2e/tests/accounts.test.ts +++ b/e2e/tests/accounts.test.ts @@ -572,7 +572,7 @@ describe("CoreSDK - accounts", () => { let exist = before.some((s) => s.id === seller.id); expect(exist).toBe(false); const after = await coreSDK.getSellers(); - expect(after.length).toEqual(before.length + 1); + expect(after.length).toBeGreaterThan(before.length); exist = after.some((s) => s.id === seller.id); expect(exist).toBe(true); }); diff --git a/packages/react-kit/src/components/magicLink/MagicContext.tsx b/packages/react-kit/src/components/magicLink/MagicContext.tsx index 28ecb8d90..1c011ac62 100644 --- a/packages/react-kit/src/components/magicLink/MagicContext.tsx +++ b/packages/react-kit/src/components/magicLink/MagicContext.tsx @@ -4,13 +4,14 @@ import { UserProvider } from "./UserContext"; import { CONFIG } from "../../lib/config/config"; import { useConfigContext } from "../config/ConfigContext"; import type { getRpcUrls } from "../../lib/const/networks"; +import { ethers } from "ethers"; -export const MagicContext = createContext< - | (Magic & { - uuid: string; - }) - | null ->(null); +export const MagicContext = createContext<{ + magic: Magic & { + uuid: string; + }; + magicProvider: ethers.providers.Web3Provider; +} | null>(null); export const MagicProvider = ({ children }: { children: ReactNode }) => { const { config, magicLinkKey } = useConfigContext(); @@ -53,7 +54,10 @@ export const InnerMagicProvider = ({ .preload() .then(() => console.info("magic link preloaded")) .catch(() => console.info("magic link could not be preloaded")); - return magic as typeof magic & { uuid: string }; + return { + magic: magic as typeof magic & { uuid: string }, + magicProvider: new ethers.providers.Web3Provider(magic.rpcProvider as any) + }; // return magic provider too }, [chainId, magicLinkKey, rpcUrls]); return ( diff --git a/packages/react-kit/src/hooks/magic.ts b/packages/react-kit/src/hooks/magic.ts index 3924cf5ad..56f72ee3b 100644 --- a/packages/react-kit/src/hooks/magic.ts +++ b/packages/react-kit/src/hooks/magic.ts @@ -9,7 +9,7 @@ export const useMagic = () => { if (!context) { throw new Error("useMagic must be used within MagicContext"); } - return context; + return context.magic; }; export const useWalletInfo = () => { @@ -24,16 +24,11 @@ export const useWalletInfo = () => { }; export function useMagicProvider() { - const magic = useMagic(); - const magicProvider = useMemo( - () => - magic - ? // eslint-disable-next-line @typescript-eslint/no-explicit-any - new ethers.providers.Web3Provider(magic.rpcProvider as any) - : null, - [magic] - ); - return magicProvider; + const context = useContext(MagicContext); + if (!context) { + throw new Error("useMagic must be used within MagicContext"); + } + return context.magicProvider; } export function useMagicChainId() {