From 6af732ec3195b981118a690acca9340064740292 Mon Sep 17 00:00:00 2001 From: Shubham Saxena Date: Wed, 10 Sep 2025 01:47:58 +0530 Subject: [PATCH 1/5] [SDK] Feature: added chain definitions for apechain and curtis --- .../src/chains/chain-definitions/apechain.ts | 20 +++++++++++++++++++ .../src/chains/chain-definitions/curtis.ts | 17 ++++++++++++++++ packages/thirdweb/src/exports/chains.ts | 2 ++ 3 files changed, 39 insertions(+) create mode 100644 packages/thirdweb/src/chains/chain-definitions/apechain.ts create mode 100644 packages/thirdweb/src/chains/chain-definitions/curtis.ts diff --git a/packages/thirdweb/src/chains/chain-definitions/apechain.ts b/packages/thirdweb/src/chains/chain-definitions/apechain.ts new file mode 100644 index 00000000000..43b5d966d40 --- /dev/null +++ b/packages/thirdweb/src/chains/chain-definitions/apechain.ts @@ -0,0 +1,20 @@ +import { defineChain } from "../utils.js"; + +/** + * @chain + */ +export const apechain = /* @__PURE__ */ defineChain({ + blockExplorers: [ + { + name: "Apescan", + url: "https://apescan.io", + }, + ], + id: 33139, + name: "Ape Chain", + nativeCurrency: { + name: 'ApeCoin', + symbol: 'APE', + decimals: 18, + }, +}); diff --git a/packages/thirdweb/src/chains/chain-definitions/curtis.ts b/packages/thirdweb/src/chains/chain-definitions/curtis.ts new file mode 100644 index 00000000000..2bf22fb380b --- /dev/null +++ b/packages/thirdweb/src/chains/chain-definitions/curtis.ts @@ -0,0 +1,17 @@ +import { defineChain } from "../utils.js"; + +/** + * @chain + */ +export const curtis = /* @__PURE__ */ defineChain({ + blockExplorers: [ + { + name: "Curtis Explorer", + url: "https://explorer.curtis.apechain.com", + }, + ], + id: 33_111, + name: "Curtis", + nativeCurrency: { name: 'ApeCoin', symbol: 'APE', decimals: 18 }, + testnet: true, +}); diff --git a/packages/thirdweb/src/exports/chains.ts b/packages/thirdweb/src/exports/chains.ts index 1d704d48c4c..8beb4c507b0 100644 --- a/packages/thirdweb/src/exports/chains.ts +++ b/packages/thirdweb/src/exports/chains.ts @@ -2,6 +2,8 @@ export { abstract } from "../chains/chain-definitions/abstract.js"; export { abstractTestnet } from "../chains/chain-definitions/abstract-testnet.js"; +export { apechain } from "../chains/chain-definitions/apechain.js"; +export { curtis } from "../chains/chain-definitions/curtis.js"; /** * PRE_DEFINED CHAINS From f647a2f690332339d5064e3499427956b1ff9660 Mon Sep 17 00:00:00 2001 From: Shubham Saxena Date: Wed, 10 Sep 2025 04:55:53 +0530 Subject: [PATCH 2/5] [Playground-Web] Feature: Added Glyph Wallet --- apps/playground-web/package.json | 1 + .../wallets/sign-in/button/RightSection.tsx | 11 +- .../src/components/styled-connect-button.tsx | 2 + .../src/components/styled-connect-embed.tsx | 2 + pnpm-lock.yaml | 453 ++++++++++++++++-- 5 files changed, 436 insertions(+), 33 deletions(-) diff --git a/apps/playground-web/package.json b/apps/playground-web/package.json index 35764a3b1fd..035d3aee1ae 100644 --- a/apps/playground-web/package.json +++ b/apps/playground-web/package.json @@ -1,6 +1,7 @@ { "dependencies": { "@abstract-foundation/agw-react": "^1.6.4", + "@use-glyph/sdk-react": "1.2.2", "@ai-sdk/react": "^2.0.25", "@hookform/resolvers": "^3.9.1", "@radix-ui/react-avatar": "^1.1.10", diff --git a/apps/playground-web/src/app/wallets/sign-in/button/RightSection.tsx b/apps/playground-web/src/app/wallets/sign-in/button/RightSection.tsx index b3f288d23af..3bcffc64ed1 100644 --- a/apps/playground-web/src/app/wallets/sign-in/button/RightSection.tsx +++ b/apps/playground-web/src/app/wallets/sign-in/button/RightSection.tsx @@ -1,9 +1,11 @@ import { abstractWallet } from "@abstract-foundation/agw-react/thirdweb"; +import { glyphWalletTW } from "@use-glyph/sdk-react"; import { XIcon } from "lucide-react"; import { usePathname } from "next/navigation"; import { useEffect, useState } from "react"; import { abstract, + apechain, arbitrum, arbitrumSepolia, base, @@ -126,6 +128,7 @@ export function RightSection(props: { optimism, arbitrum, abstract, + apechain, sepolia, baseSepolia, optimismSepolia, @@ -185,7 +188,7 @@ export function RightSection(props: { // TODO: should show the expanded connected modal here instead connectButton ) : ( -
+
{/* Fake X icon to make it looks exactly like a modal */} { if (id === "xyz.abs") { return abstractWallet(); + } if( id === "io.useglyph") { + return glyphWalletTW(); } return createWallet(id); }), @@ -283,7 +288,7 @@ function TabButtons(props: { }) { return (
-
+
{props.tabs.map((tab) => (