From 18e91d3ac9de6e7110b75964b1f932c460fd7a37 Mon Sep 17 00:00:00 2001 From: broody Date: Wed, 21 Jan 2026 08:38:50 -1000 Subject: [PATCH 1/9] Test coinbase apple pay --- examples/next/src/app/page.tsx | 86 ++++++++++++------- .../components/providers/StarknetProvider.tsx | 2 +- .../connect/buttons/auth-button.tsx | 2 +- .../checkout/onchain/wallet-drawer.tsx | 7 +- .../context/starterpack/onchain-purchase.tsx | 2 +- 5 files changed, 63 insertions(+), 36 deletions(-) diff --git a/examples/next/src/app/page.tsx b/examples/next/src/app/page.tsx index a5d992ba6e..cb25e704b5 100644 --- a/examples/next/src/app/page.tsx +++ b/examples/next/src/app/page.tsx @@ -1,38 +1,64 @@ "use client"; -import { FC } from "react"; - -import { ColorModeToggle } from "components/ColorModeToggle"; -import Header from "components/Header"; -import { DelegateAccount } from "components/DelegateAccount"; -import { InvalidTxn } from "components/InvalidTxn"; -import { LookupControllers } from "components/LookupControllers"; -import { ManualTransferEth } from "components/ManualTransferEth"; -import { PlayButton } from "components/PlayButton"; -import { Profile } from "components/Profile"; -import { SignMessage } from "components/SignMessage"; -import { Transfer } from "components/Transfer"; -import { Starterpack } from "components/Starterpack"; +import { FC, useEffect, useMemo, useState } from "react"; +import { useAccount, useConnect, useDisconnect } from "@starknet-react/core"; +import ControllerConnector from "@cartridge/connector/controller"; +import { Button } from "@cartridge/ui"; const Home: FC = () => { + const { status } = useAccount(); + const { connect, connectors } = useConnect(); + const { disconnect } = useDisconnect(); + const [isControllerReady, setIsControllerReady] = useState(false); + + const controllerConnector = useMemo( + () => ControllerConnector.fromConnectors(connectors), + [connectors], + ); + + useEffect(() => { + const checkReady = () => { + try { + if (controllerConnector) { + setIsControllerReady(controllerConnector.isReady()); + } + } catch (e) { + console.error("Error checking controller readiness:", e); + } + }; + + checkReady(); + const interval = setInterval(checkReady, 1000); + return () => clearInterval(interval); + }, [controllerConnector]); + return ( -
-
-

- Controller Example (Next.js) -

- -
-
- - - - - - - - - +
+ {status !== "connected" ? ( + + ) : ( +
+ + +
+ )}
); }; diff --git a/examples/next/src/components/providers/StarknetProvider.tsx b/examples/next/src/components/providers/StarknetProvider.tsx index 3341ffab70..121dbd6a34 100644 --- a/examples/next/src/components/providers/StarknetProvider.tsx +++ b/examples/next/src/components/providers/StarknetProvider.tsx @@ -232,7 +232,7 @@ export function StarknetProvider({ children }: PropsWithChildren) { return ( > = { }, password: { Icon: LockIcon, - bgColor: "bg-background-300", + bgColor: "bg-foreground-300", label: AUTH_METHODS_LABELS.password, }, }; diff --git a/packages/keychain/src/components/purchasenew/checkout/onchain/wallet-drawer.tsx b/packages/keychain/src/components/purchasenew/checkout/onchain/wallet-drawer.tsx index 33d2e177ba..90b47bd1cf 100644 --- a/packages/keychain/src/components/purchasenew/checkout/onchain/wallet-drawer.tsx +++ b/packages/keychain/src/components/purchasenew/checkout/onchain/wallet-drawer.tsx @@ -16,7 +16,6 @@ import { import { ExternalWallet } from "@cartridge/controller"; import { useOnchainPurchaseContext, useStarterpackContext } from "@/context"; import { useConnection } from "@/hooks/connection"; -import { useFeature } from "@/hooks/features"; import { networkWalletData } from "../../wallet/config"; import { Network } from "../../types"; @@ -31,8 +30,10 @@ export function WalletSelectionDrawer({ isOpen, onClose, }: WalletSelectionDrawerProps) { - const isSupportedPlatformsEnabled = useFeature("supported-platforms"); - const isApplePayEnabled = useFeature("apple-pay-support"); + // const isSupportedPlatformsEnabled = useFeature("supported-platforms"); + // const isApplePayEnabled = useFeature("apple-pay-support"); + const isSupportedPlatformsEnabled = true; + const isApplePayEnabled = true; const { isMainnet, externalDetectWallets } = useConnection(); const { starterpackDetails } = useStarterpackContext(); diff --git a/packages/keychain/src/context/starterpack/onchain-purchase.tsx b/packages/keychain/src/context/starterpack/onchain-purchase.tsx index 5637febf4e..47a3206da4 100644 --- a/packages/keychain/src/context/starterpack/onchain-purchase.tsx +++ b/packages/keychain/src/context/starterpack/onchain-purchase.tsx @@ -199,7 +199,7 @@ export const OnchainPurchaseProvider = ({ onError: setDisplayError, }); - const [isApplePaySelected, setIsApplePaySelected] = useState(false); + const [isApplePaySelected, setIsApplePaySelected] = useState(true); const { paymentLink, isCreatingOrder, From 16f44c55aa6175fe370d8b2c961de92c99f5be28 Mon Sep 17 00:00:00 2001 From: broody Date: Wed, 21 Jan 2026 09:41:50 -1000 Subject: [PATCH 2/9] remove policies --- examples/next/src/components/providers/StarknetProvider.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/next/src/components/providers/StarknetProvider.tsx b/examples/next/src/components/providers/StarknetProvider.tsx index 121dbd6a34..2ee630988e 100644 --- a/examples/next/src/components/providers/StarknetProvider.tsx +++ b/examples/next/src/components/providers/StarknetProvider.tsx @@ -196,7 +196,6 @@ const signupOptions: AuthOptions = [ ]; const controller = new ControllerConnector({ - policies, // With the defaults, you can omit chains if you want to use: // - chains: [ // { rpcUrl: "https://api.cartridge.gg/x/starknet/sepolia/rpc/v0_9" }, From f06d524b530a94debad51e5d269bb80b34cc5f8d Mon Sep 17 00:00:00 2001 From: broody Date: Tue, 27 Jan 2026 12:28:20 -1000 Subject: [PATCH 3/9] mainnet --- examples/next/src/app/page.tsx | 2 +- examples/next/src/components/providers/StarknetProvider.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/next/src/app/page.tsx b/examples/next/src/app/page.tsx index cb25e704b5..236f2ae3a9 100644 --- a/examples/next/src/app/page.tsx +++ b/examples/next/src/app/page.tsx @@ -45,7 +45,7 @@ const Home: FC = () => {