Zlr3-NFJ@NFaJlhyfcw{k^vvtGl`N9xSo**rDW4S}i
zM9{fMPWo%4wYDG~BZ18BD+}h|GQKc-g^{++3MY>}W_uq7jGHx{mwE9fZiPCoxN$+7
zrODGGJrOkcPQUB(FD5aoS4g~7#6NR^ma7-!>mHuJfY5kTe6PpNNKC9GGRiu^L31uG
z$7v`*JknQHsYB!Tm_W{a32TM099djW%5e+j0Ve_ct}IM>XLF1Ap+YvcrLV=|CKo6S
zb+9Nl3_YdKP6%Cxy@6TxZ>;4&nTneadr
z_ES90ydCev)LV!dN=#(*f}|ZORFdvkYBni^aLbUk>BajeWIOcmHP#8S)*2U~QKI%S
zyrLmtPqb&TphJ;>yAxri#;{uyk`JJqODDw%(Z=2`1uc}br^V%>j!gS)D*q*f_-qf8&D;W1dJgQMlaH5er
zN2U<%Smb7==vE}dDI8K7cKz!vs^73o9f>2sgiTzWcwY|BMYHH5%Vn7#kiw&eItCqa
zIkR2~Q}>X=Ar8W|^Ms41Fm8o6IB2_j60eOeBB1Br!boW7JnoeX6Gs)?7rW0^5psc-
zjS16yb>dFn>KPOF;imD}e!enuIniFzv}n$m2#gCCv4jM#ArwlzZ$7@9&XkFxZ4n!V
zj3dyiwW4Ki2QG{@i>yuZXQizw_OkZI^-3otXC{!(lUpJF33gI60ak;Uqitp74|B6I
zgg{b=Iz}WkhCGj1M=hu4#Aw173YxIVbISaoc
z-nLZC*6Tgivd5V`K%GxhBsp@SUU60-rfc$=wb>zdJzXS&-5(NRRodFk;Kxk!S(O(a0e7oY=E(
zAyS;Ow?6Q&XA+cnkCb{28_1N8H#?J!*$MmIwLq^*T_9-z^&UE@A(z9oGYtFy6EZef
LrJugUA?W`A8`#=m
diff --git a/packages/starter/example/public/vercel.svg b/packages/starter/example/public/vercel.svg
deleted file mode 100644
index fbf0e25a6..000000000
--- a/packages/starter/example/public/vercel.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/packages/starter/example/src/App.tsx b/packages/starter/example/src/App.tsx
new file mode 100644
index 000000000..fbcd5dcac
--- /dev/null
+++ b/packages/starter/example/src/App.tsx
@@ -0,0 +1,12 @@
+import type { FC } from 'react';
+import React from 'react';
+import { ContextProvider } from './components/ContextProvider';
+import { Tables } from './components/Tables';
+
+export const App: FC = () => {
+ return (
+
+
+
+ );
+};
diff --git a/packages/starter/example/src/components/ContextProvider.tsx b/packages/starter/example/src/components/ContextProvider.tsx
index a6abc53b4..cad65bfe0 100644
--- a/packages/starter/example/src/components/ContextProvider.tsx
+++ b/packages/starter/example/src/components/ContextProvider.tsx
@@ -9,8 +9,7 @@ import { type SolanaSignInInput } from '@solana/wallet-standard-features';
import { verifySignIn } from '@solana/wallet-standard-util';
import { clusterApiUrl } from '@solana/web3.js';
import { SnackbarProvider, useSnackbar } from 'notistack';
-import type { FC, ReactNode } from 'react';
-import React, { useCallback, useMemo } from 'react';
+import React, { useCallback, useMemo, type FC, type ReactNode } from 'react';
import { AutoConnectProvider, useAutoConnect } from './AutoConnectProvider';
const theme = createTheme({
diff --git a/packages/starter/example/src/components/RequestAirdrop.tsx b/packages/starter/example/src/components/RequestAirdrop.tsx
index ea6f2afe7..e23b4f04d 100644
--- a/packages/starter/example/src/components/RequestAirdrop.tsx
+++ b/packages/starter/example/src/components/RequestAirdrop.tsx
@@ -2,9 +2,8 @@ import { Button } from '@mui/material';
import { useConnection, useWallet } from '@solana/wallet-adapter-react';
import type { TransactionSignature } from '@solana/web3.js';
import { LAMPORTS_PER_SOL } from '@solana/web3.js';
-import type { FC } from 'react';
-import React, { useCallback } from 'react';
-import { useNotify } from './notify';
+import React, { useCallback, type FC } from 'react';
+import { useNotify } from './useNotify';
export const RequestAirdrop: FC = () => {
const { connection } = useConnection();
diff --git a/packages/starter/example/src/components/SendLegacyTransaction.tsx b/packages/starter/example/src/components/SendLegacyTransaction.tsx
index 8238d6ec7..3e7e4c4cc 100644
--- a/packages/starter/example/src/components/SendLegacyTransaction.tsx
+++ b/packages/starter/example/src/components/SendLegacyTransaction.tsx
@@ -2,9 +2,8 @@ import { Button } from '@mui/material';
import { useConnection, useWallet } from '@solana/wallet-adapter-react';
import type { TransactionSignature } from '@solana/web3.js';
import { PublicKey, TransactionMessage, VersionedTransaction } from '@solana/web3.js';
-import type { FC } from 'react';
-import React, { useCallback } from 'react';
-import { useNotify } from './notify';
+import React, { useCallback, type FC } from 'react';
+import { useNotify } from './useNotify';
export const SendLegacyTransaction: FC = () => {
const { connection } = useConnection();
diff --git a/packages/starter/example/src/components/SendTransaction.tsx b/packages/starter/example/src/components/SendTransaction.tsx
index 9649c360b..8d4d4515f 100644
--- a/packages/starter/example/src/components/SendTransaction.tsx
+++ b/packages/starter/example/src/components/SendTransaction.tsx
@@ -2,9 +2,8 @@ import { Button } from '@mui/material';
import { useConnection, useWallet } from '@solana/wallet-adapter-react';
import type { TransactionSignature } from '@solana/web3.js';
import { PublicKey, Transaction, TransactionInstruction } from '@solana/web3.js';
-import type { FC } from 'react';
-import React, { useCallback } from 'react';
-import { useNotify } from './notify';
+import React, { useCallback, type FC } from 'react';
+import { useNotify } from './useNotify';
export const SendTransaction: FC = () => {
const { connection } = useConnection();
diff --git a/packages/starter/example/src/components/SendV0Transaction.tsx b/packages/starter/example/src/components/SendV0Transaction.tsx
index 2291e8db8..43465139c 100644
--- a/packages/starter/example/src/components/SendV0Transaction.tsx
+++ b/packages/starter/example/src/components/SendV0Transaction.tsx
@@ -2,9 +2,8 @@ import { Button } from '@mui/material';
import { useConnection, useWallet } from '@solana/wallet-adapter-react';
import type { TransactionSignature } from '@solana/web3.js';
import { PublicKey, TransactionMessage, VersionedTransaction } from '@solana/web3.js';
-import type { FC } from 'react';
-import React, { useCallback } from 'react';
-import { useNotify } from './notify';
+import React, { useCallback, type FC } from 'react';
+import { useNotify } from './useNotify';
export const SendV0Transaction: FC = () => {
const { connection } = useConnection();
diff --git a/packages/starter/example/src/components/SignIn.tsx b/packages/starter/example/src/components/SignIn.tsx
index 68fdc3661..e38d4f824 100644
--- a/packages/starter/example/src/components/SignIn.tsx
+++ b/packages/starter/example/src/components/SignIn.tsx
@@ -3,9 +3,8 @@ import { useWallet } from '@solana/wallet-adapter-react';
import type { SolanaSignInInput } from '@solana/wallet-standard-features';
import { verifySignIn } from '@solana/wallet-standard-util';
import bs58 from 'bs58';
-import type { FC } from 'react';
-import React, { useCallback } from 'react';
-import { useNotify } from './notify';
+import React, { useCallback, type FC } from 'react';
+import { useNotify } from './useNotify';
export const SignIn: FC = () => {
const { signIn, publicKey } = useWallet();
diff --git a/packages/starter/example/src/components/SignMessage.tsx b/packages/starter/example/src/components/SignMessage.tsx
index abfddf6ad..b69395327 100644
--- a/packages/starter/example/src/components/SignMessage.tsx
+++ b/packages/starter/example/src/components/SignMessage.tsx
@@ -2,9 +2,8 @@ import { Button } from '@mui/material';
import { ed25519 } from '@noble/curves/ed25519';
import { useWallet } from '@solana/wallet-adapter-react';
import bs58 from 'bs58';
-import type { FC } from 'react';
-import React, { useCallback } from 'react';
-import { useNotify } from './notify';
+import React, { useCallback, type FC } from 'react';
+import { useNotify } from './useNotify';
export const SignMessage: FC = () => {
const { publicKey, signMessage } = useWallet();
diff --git a/packages/starter/example/src/components/SignTransaction.tsx b/packages/starter/example/src/components/SignTransaction.tsx
index a2e622512..87bfefac9 100644
--- a/packages/starter/example/src/components/SignTransaction.tsx
+++ b/packages/starter/example/src/components/SignTransaction.tsx
@@ -2,9 +2,8 @@ import { Button } from '@mui/material';
import { useConnection, useWallet } from '@solana/wallet-adapter-react';
import { PublicKey, Transaction, TransactionInstruction } from '@solana/web3.js';
import bs58 from 'bs58';
-import type { FC } from 'react';
-import React, { useCallback } from 'react';
-import { useNotify } from './notify';
+import React, { useCallback, type FC } from 'react';
+import { useNotify } from './useNotify';
export const SignTransaction: FC = () => {
const { connection } = useConnection();
diff --git a/packages/starter/example/src/components/Tables.tsx b/packages/starter/example/src/components/Tables.tsx
new file mode 100644
index 000000000..59ccd7ad1
--- /dev/null
+++ b/packages/starter/example/src/components/Tables.tsx
@@ -0,0 +1,119 @@
+import { FormControlLabel, Switch, Table, TableBody, TableCell, TableHead, TableRow, Tooltip } from '@mui/material';
+import React, { type FC } from 'react';
+
+import {
+ WalletConnectButton,
+ WalletDisconnectButton,
+ WalletModalButton,
+ WalletMultiButton,
+} from '@solana/wallet-adapter-react-ui';
+
+import pkg from '../../package.json';
+import { SendLegacyTransaction } from '../components/SendLegacyTransaction';
+import { SendTransaction } from '../components/SendTransaction';
+import { SendV0Transaction } from '../components/SendV0Transaction';
+import { SignIn } from '../components/SignIn';
+import { SignMessage } from '../components/SignMessage';
+import { SignTransaction } from '../components/SignTransaction';
+import { useAutoConnect } from './AutoConnectProvider';
+import { RequestAirdrop } from './RequestAirdrop';
+
+export const Tables: FC = () => {
+ const { autoConnect, setAutoConnect } = useAutoConnect();
+
+ return (
+ <>
+
+
+
+ Component
+ React UI
+
+
+
+
+
+ Connect Button
+
+
+
+
+
+
+ Disconnect Button
+
+
+
+
+
+
+ Dialog/Modal Button
+
+
+
+
+
+
+ Multi Button
+
+
+
+
+
+
+
+
+
+
+ Example v{pkg.version}
+
+
+ setAutoConnect(checked)}
+ />
+ }
+ label="AutoConnect"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/packages/starter/example/src/components/notify.tsx b/packages/starter/example/src/components/useNotify.tsx
similarity index 100%
rename from packages/starter/example/src/components/notify.tsx
rename to packages/starter/example/src/components/useNotify.tsx
diff --git a/packages/starter/example/src/index.css b/packages/starter/example/src/index.css
new file mode 100644
index 000000000..19fc4ee90
--- /dev/null
+++ b/packages/starter/example/src/index.css
@@ -0,0 +1,27 @@
+@import './reset.css';
+
+html, body {
+ padding: 0;
+ margin: 0;
+ background-color: #303030;
+ color: #FFFFFF;
+ font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
+ Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
+}
+
+#app {
+ min-height: 100vh;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ gap: 64px;
+}
+
+a {
+ color: inherit;
+ text-decoration: none;
+}
+
+* {
+ box-sizing: border-box;
+}
diff --git a/packages/starter/example/src/index.html b/packages/starter/example/src/index.html
new file mode 100644
index 000000000..f451ad536
--- /dev/null
+++ b/packages/starter/example/src/index.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+ Wallet Adapter Example
+
+
+
+
+
+
+
+
+
diff --git a/packages/starter/example/src/index.tsx b/packages/starter/example/src/index.tsx
new file mode 100644
index 000000000..306befb5c
--- /dev/null
+++ b/packages/starter/example/src/index.tsx
@@ -0,0 +1,10 @@
+import React, { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+import { App } from './App';
+
+// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+createRoot(document.getElementById('app')!).render(
+
+
+
+);
diff --git a/packages/starter/example/src/pages/_app.tsx b/packages/starter/example/src/pages/_app.tsx
deleted file mode 100644
index cf938042d..000000000
--- a/packages/starter/example/src/pages/_app.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import type { AppProps } from 'next/app';
-import Head from 'next/head';
-import type { FC } from 'react';
-import React from 'react';
-import { ContextProvider } from '../components/ContextProvider';
-
-// Use require instead of import since order matters
-require('@solana/wallet-adapter-react-ui/styles.css');
-require('../styles/globals.css');
-
-const App: FC = ({ Component, pageProps }) => {
- return (
- <>
-
- @solana/wallet-adapter Example
-
-
-
-
- >
- );
-};
-
-export default App;
diff --git a/packages/starter/example/src/pages/index.tsx b/packages/starter/example/src/pages/index.tsx
deleted file mode 100644
index 1b0e96c29..000000000
--- a/packages/starter/example/src/pages/index.tsx
+++ /dev/null
@@ -1,185 +0,0 @@
-import { FormControlLabel, Switch, Table, TableBody, TableCell, TableHead, TableRow, Tooltip } from '@mui/material';
-import type { NextPage } from 'next';
-import dynamic from 'next/dynamic';
-import React from 'react';
-import pkg from '../../package.json';
-import { useAutoConnect } from '../components/AutoConnectProvider';
-
-const MaterialUIWalletConnectButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-material-ui')).WalletConnectButton,
- { ssr: false }
-);
-const MaterialUIWalletDisconnectButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-material-ui')).WalletDisconnectButton,
- { ssr: false }
-);
-const MaterialUIWalletDialogButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-material-ui')).WalletDialogButton,
- { ssr: false }
-);
-const MaterialUIWalletMultiButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-material-ui')).WalletMultiButton,
- { ssr: false }
-);
-
-const ReactUIWalletConnectButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-react-ui')).WalletConnectButton,
- { ssr: false }
-);
-const ReactUIWalletDisconnectButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-react-ui')).WalletDisconnectButton,
- { ssr: false }
-);
-const ReactUIWalletMultiButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-react-ui')).WalletMultiButton,
- { ssr: false }
-);
-const ReactUIWalletModalButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-react-ui')).WalletModalButton,
- { ssr: false }
-);
-
-const RequestAirdropDynamic = dynamic(async () => (await import('../components/RequestAirdrop')).RequestAirdrop, {
- ssr: false,
-});
-const SendLegacyTransactionDynamic = dynamic(
- async () => (await import('../components/SendLegacyTransaction')).SendLegacyTransaction,
- { ssr: false }
-);
-const SendTransactionDynamic = dynamic(async () => (await import('../components/SendTransaction')).SendTransaction, {
- ssr: false,
-});
-const SendV0TransactionDynamic = dynamic(
- async () => (await import('../components/SendV0Transaction')).SendV0Transaction,
- { ssr: false }
-);
-const SignInDynamic = dynamic(async () => (await import('../components/SignIn')).SignIn, { ssr: false });
-const SignMessageDynamic = dynamic(async () => (await import('../components/SignMessage')).SignMessage, { ssr: false });
-const SignTransactionDynamic = dynamic(async () => (await import('../components/SignTransaction')).SignTransaction, {
- ssr: false,
-});
-
-const Index: NextPage = () => {
- const { autoConnect, setAutoConnect } = useAutoConnect();
-
- return (
- <>
-
-
-
- Component
- Material UI
- React UI
-
-
-
-
-
-
- Connect Button
-
-
-
-
-
-
-
-
-
-
- Disconnect Button
-
-
-
-
-
-
-
-
-
-
- Dialog/Modal Button
-
-
-
-
-
-
-
-
-
-
- Multi Button
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Example v{pkg.version}
-
-
-
-
-
-
-
-
-
-
- setAutoConnect(checked)}
- />
- }
- label="AutoConnect"
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- );
-};
-
-export default Index;
diff --git a/packages/starter/example/src/reset.css b/packages/starter/example/src/reset.css
new file mode 100644
index 000000000..60d4fb4fd
--- /dev/null
+++ b/packages/starter/example/src/reset.css
@@ -0,0 +1,74 @@
+/* Box sizing rules */
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+/* Remove default margin */
+body,
+h1,
+h2,
+h3,
+h4,
+p,
+figure,
+blockquote,
+dl,
+dd {
+ margin: 0;
+}
+
+/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
+ul[role='list'],
+ol[role='list'] {
+ list-style: none;
+}
+
+/* Set core root defaults */
+html:focus-within {
+ scroll-behavior: smooth;
+}
+
+/* Set core body defaults */
+body {
+ min-height: 100vh;
+ text-rendering: optimizeSpeed;
+ line-height: 1.5;
+}
+
+/* A elements that don't have a class get default styles */
+a:not([class]) {
+ text-decoration-skip-ink: auto;
+}
+
+/* Make images easier to work with */
+img,
+picture {
+ max-width: 100%;
+ display: block;
+}
+
+/* Inherit fonts for inputs and buttons */
+input,
+button,
+textarea,
+select {
+ font: inherit;
+}
+
+/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
+@media (prefers-reduced-motion: reduce) {
+ html:focus-within {
+ scroll-behavior: auto;
+ }
+
+ *,
+ *::before,
+ *::after {
+ animation-duration: 0.01ms !important;
+ animation-iteration-count: 1 !important;
+ transition-duration: 0.01ms !important;
+ scroll-behavior: auto !important;
+ }
+}
diff --git a/packages/starter/example/src/styles/globals.css b/packages/starter/example/src/styles/globals.css
deleted file mode 100644
index 9ef305366..000000000
--- a/packages/starter/example/src/styles/globals.css
+++ /dev/null
@@ -1,18 +0,0 @@
-html,
-body {
- padding: 0;
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
- Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
- background-color: #303030;
- color: #FFFFFF;
-}
-
-a {
- color: inherit;
- text-decoration: none;
-}
-
-* {
- box-sizing: border-box;
-}
diff --git a/packages/starter/example/tsconfig.json b/packages/starter/example/tsconfig.json
index 525d42c0d..7e4981773 100644
--- a/packages/starter/example/tsconfig.json
+++ b/packages/starter/example/tsconfig.json
@@ -1,22 +1,16 @@
{
"extends": "../../../tsconfig.root.json",
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "package.json"],
+ "include": ["src", "package.json"],
"compilerOptions": {
"outDir": "lib",
- "target": "es6",
- "lib": ["dom", "dom.iterable", "esnext"],
- "allowJs": true,
- "skipLibCheck": true,
- "strict": true,
- "forceConsistentCasingInFileNames": true,
"noEmit": true,
- "esModuleInterop": true,
+ "target": "esnext",
"module": "esnext",
"moduleResolution": "node",
+ "jsx": "react",
+ "strict": true,
+ "esModuleInterop": true,
"resolveJsonModule": true,
- "isolatedModules": true,
- "jsx": "preserve",
- "incremental": true
- },
- "exclude": ["node_modules"]
+ "isolatedModules": true
+ }
}
From 0eb53765ddf73b89f0394b1dc8a7194733cf6aba Mon Sep 17 00:00:00 2001
From: Jordan Sexton <1173161+jordaaash@users.noreply.github.com>
Date: Tue, 15 Apr 2025 18:59:03 -0500
Subject: [PATCH 16/21] remove material-ui, next, and cra starters
---
APP.md | 4 +-
FAQ.md | 63 -
PACKAGES.md | 7 +-
.../create-react-app-starter/.editorconfig | 9 -
.../create-react-app-starter/.gitignore | 25 -
.../create-react-app-starter/.prettierignore | 4 -
.../create-react-app-starter/.prettierrc | 7 -
.../create-react-app-starter/CHANGELOG.md | 159 -
.../starter/create-react-app-starter/LICENSE | 202 -
.../create-react-app-starter/README.md | 46 -
.../config-overrides.js | 44 -
.../create-react-app-starter/package.json | 71 -
.../public/favicon.ico | Bin 3870 -> 0 bytes
.../public/index.html | 43 -
.../public/logo192.png | Bin 5347 -> 0 bytes
.../public/logo512.png | Bin 9664 -> 0 bytes
.../public/manifest.json | 25 -
.../public/robots.txt | 3 -
.../create-react-app-starter/src/App.css | 6 -
.../create-react-app-starter/src/App.tsx | 62 -
.../create-react-app-starter/src/index.css | 14 -
.../create-react-app-starter/src/index.tsx | 17 -
.../src/react-app-env.d.ts | 1 -
.../src/reportWebVitals.ts | 15 -
.../src/setupTests.ts | 5 -
.../create-react-app-starter/tsconfig.json | 22 -
packages/starter/nextjs-starter/.editorconfig | 9 -
.../starter/nextjs-starter/.eslintrc.json | 3 -
packages/starter/nextjs-starter/.gitignore | 39 -
.../starter/nextjs-starter/.prettierignore | 5 -
packages/starter/nextjs-starter/.prettierrc | 7 -
packages/starter/nextjs-starter/CHANGELOG.md | 159 -
packages/starter/nextjs-starter/LICENSE | 202 -
packages/starter/nextjs-starter/README.md | 38 -
packages/starter/nextjs-starter/next-env.d.ts | 5 -
.../starter/nextjs-starter/next.config.js | 4 -
packages/starter/nextjs-starter/package.json | 54 -
.../starter/nextjs-starter/public/favicon.ico | Bin 25931 -> 0 bytes
.../starter/nextjs-starter/public/vercel.svg | 4 -
.../starter/nextjs-starter/src/pages/_app.tsx | 52 -
.../nextjs-starter/src/pages/api/hello.ts | 10 -
.../nextjs-starter/src/pages/index.tsx | 82 -
.../nextjs-starter/src/styles/Home.module.css | 122 -
.../nextjs-starter/src/styles/globals.css | 16 -
packages/starter/nextjs-starter/tsconfig.json | 22 -
packages/ui/material-ui/CHANGELOG.md | 149 -
packages/ui/material-ui/LICENSE | 202 -
packages/ui/material-ui/README.md | 5 -
packages/ui/material-ui/package.json | 58 -
.../src/BaseWalletConnectButton.tsx | 34 -
.../src/BaseWalletConnectionButton.tsx | 30 -
.../src/BaseWalletDisconnectButton.tsx | 33 -
.../material-ui/src/BaseWalletMultiButton.tsx | 177 -
.../material-ui/src/WalletConnectButton.tsx | 14 -
packages/ui/material-ui/src/WalletDialog.tsx | 175 -
.../ui/material-ui/src/WalletDialogButton.tsx | 30 -
.../material-ui/src/WalletDialogProvider.tsx | 25 -
.../src/WalletDisconnectButton.tsx | 13 -
packages/ui/material-ui/src/WalletIcon.tsx | 18 -
.../ui/material-ui/src/WalletListItem.tsx | 21 -
.../ui/material-ui/src/WalletMultiButton.tsx | 16 -
packages/ui/material-ui/src/index.ts | 11 -
.../ui/material-ui/src/useWalletDialog.ts | 12 -
packages/ui/material-ui/tsconfig.cjs.json | 8 -
packages/ui/material-ui/tsconfig.esm.json | 9 -
packages/ui/material-ui/tsconfig.json | 11 -
pnpm-lock.yaml | 19580 +++++-----------
tsconfig.all.json | 12 -
68 files changed, 5741 insertions(+), 16589 deletions(-)
delete mode 100644 packages/starter/create-react-app-starter/.editorconfig
delete mode 100644 packages/starter/create-react-app-starter/.gitignore
delete mode 100644 packages/starter/create-react-app-starter/.prettierignore
delete mode 100644 packages/starter/create-react-app-starter/.prettierrc
delete mode 100644 packages/starter/create-react-app-starter/CHANGELOG.md
delete mode 100644 packages/starter/create-react-app-starter/LICENSE
delete mode 100644 packages/starter/create-react-app-starter/README.md
delete mode 100644 packages/starter/create-react-app-starter/config-overrides.js
delete mode 100644 packages/starter/create-react-app-starter/package.json
delete mode 100644 packages/starter/create-react-app-starter/public/favicon.ico
delete mode 100644 packages/starter/create-react-app-starter/public/index.html
delete mode 100644 packages/starter/create-react-app-starter/public/logo192.png
delete mode 100644 packages/starter/create-react-app-starter/public/logo512.png
delete mode 100644 packages/starter/create-react-app-starter/public/manifest.json
delete mode 100644 packages/starter/create-react-app-starter/public/robots.txt
delete mode 100644 packages/starter/create-react-app-starter/src/App.css
delete mode 100644 packages/starter/create-react-app-starter/src/App.tsx
delete mode 100644 packages/starter/create-react-app-starter/src/index.css
delete mode 100644 packages/starter/create-react-app-starter/src/index.tsx
delete mode 100644 packages/starter/create-react-app-starter/src/react-app-env.d.ts
delete mode 100644 packages/starter/create-react-app-starter/src/reportWebVitals.ts
delete mode 100644 packages/starter/create-react-app-starter/src/setupTests.ts
delete mode 100644 packages/starter/create-react-app-starter/tsconfig.json
delete mode 100644 packages/starter/nextjs-starter/.editorconfig
delete mode 100644 packages/starter/nextjs-starter/.eslintrc.json
delete mode 100644 packages/starter/nextjs-starter/.gitignore
delete mode 100644 packages/starter/nextjs-starter/.prettierignore
delete mode 100644 packages/starter/nextjs-starter/.prettierrc
delete mode 100644 packages/starter/nextjs-starter/CHANGELOG.md
delete mode 100644 packages/starter/nextjs-starter/LICENSE
delete mode 100644 packages/starter/nextjs-starter/README.md
delete mode 100644 packages/starter/nextjs-starter/next-env.d.ts
delete mode 100644 packages/starter/nextjs-starter/next.config.js
delete mode 100644 packages/starter/nextjs-starter/package.json
delete mode 100644 packages/starter/nextjs-starter/public/favicon.ico
delete mode 100644 packages/starter/nextjs-starter/public/vercel.svg
delete mode 100644 packages/starter/nextjs-starter/src/pages/_app.tsx
delete mode 100644 packages/starter/nextjs-starter/src/pages/api/hello.ts
delete mode 100644 packages/starter/nextjs-starter/src/pages/index.tsx
delete mode 100644 packages/starter/nextjs-starter/src/styles/Home.module.css
delete mode 100644 packages/starter/nextjs-starter/src/styles/globals.css
delete mode 100644 packages/starter/nextjs-starter/tsconfig.json
delete mode 100644 packages/ui/material-ui/CHANGELOG.md
delete mode 100644 packages/ui/material-ui/LICENSE
delete mode 100644 packages/ui/material-ui/README.md
delete mode 100644 packages/ui/material-ui/package.json
delete mode 100644 packages/ui/material-ui/src/BaseWalletConnectButton.tsx
delete mode 100644 packages/ui/material-ui/src/BaseWalletConnectionButton.tsx
delete mode 100644 packages/ui/material-ui/src/BaseWalletDisconnectButton.tsx
delete mode 100644 packages/ui/material-ui/src/BaseWalletMultiButton.tsx
delete mode 100644 packages/ui/material-ui/src/WalletConnectButton.tsx
delete mode 100644 packages/ui/material-ui/src/WalletDialog.tsx
delete mode 100644 packages/ui/material-ui/src/WalletDialogButton.tsx
delete mode 100644 packages/ui/material-ui/src/WalletDialogProvider.tsx
delete mode 100644 packages/ui/material-ui/src/WalletDisconnectButton.tsx
delete mode 100644 packages/ui/material-ui/src/WalletIcon.tsx
delete mode 100644 packages/ui/material-ui/src/WalletListItem.tsx
delete mode 100644 packages/ui/material-ui/src/WalletMultiButton.tsx
delete mode 100644 packages/ui/material-ui/src/index.ts
delete mode 100644 packages/ui/material-ui/src/useWalletDialog.ts
delete mode 100644 packages/ui/material-ui/tsconfig.cjs.json
delete mode 100644 packages/ui/material-ui/tsconfig.esm.json
delete mode 100644 packages/ui/material-ui/tsconfig.json
diff --git a/APP.md b/APP.md
index 1868a7cd5..17d5cceef 100644
--- a/APP.md
+++ b/APP.md
@@ -4,9 +4,7 @@ This is a quick setup guide with examples of how to add Wallet Adapter to a Reac
See the [packages](https://github.com/anza-xyz/wallet-adapter/blob/master/PACKAGES.md) and [FAQ](https://github.com/anza-xyz/wallet-adapter/blob/master/FAQ.md) for other supported frontend frameworks.
-## Quick Setup (using React UI)
-
-There are also [material-ui](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/ui/material-ui) and [ant-design](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/ui/ant-design) packages if you use those UI component frameworks.
+## Quick Setup (using React)
### Install
diff --git a/FAQ.md b/FAQ.md
index 04e7ea115..8ca7c84bc 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -5,7 +5,6 @@ Please search https://solana.stackexchange.com and the issues in the repo. Issue
- [I am building an app, how do I use this?](#i-am-building-an-app-how-do-i-use-this)
- [I am building a wallet, how do I use this?](#i-am-building-a-wallet-how-do-i-use-this)
- [How can I get support?](#how-can-i-get-support)
-- [Can I use this with ___?](#can-i-use-this-with-___)
- [What does this error mean?](#what-does-this-error-mean)
- [How can I sign and verify messages?](#how-can-i-sign-and-verify-messages)
@@ -23,68 +22,6 @@ Please ask questions on the [Solana Stack Exchange](https://solana.stackexchange
After reading this FAQ, if you've found a bug or if you'd like to request a feature, please [open an issue](https://github.com/anza-xyz/wallet-adapter/issues/new).
-## Can I use this with ___?
-
-### React
-Yes, see the [react-ui-starter](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/starter/react-ui-starter) package.
-
-### Anchor
-Yes, use the [`useAnchorWallet()`](https://github.com/anza-xyz/wallet-adapter/blob/master/packages/core/react/src/useAnchorWallet.ts) hook in the React package to easily get an [Anchor-compatible Wallet interface](https://github.com/project-serum/anchor/blob/0faed886002a9b01ad0513c860e19d7570cb0221/ts/src/provider.ts#L220-L224).
-
-### Next.js (with React)
-Yes, see the [nextjs-starter](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/starter/nextjs-starter) package for very basic configuration, or the [example](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/starter/example) package for more complete configuration.
-
-If you're using one of the [react-ui](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/ui/react-ui), [material-ui](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/ui/material-ui), or [ant-design](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/ui/ant-design) packages too, make sure to configure the `WalletModalProvider` or `WalletDialogProvider` context [as shown here](https://github.com/anza-xyz/wallet-adapter#setup).
-
-### Vue
-Yes, see the community-maintained [Vue](https://github.com/lorisleiva/solana-wallets-vue) package.
-
-### Angular / RxJS
-Yes, see the community-maintained [Angular](https://github.com/heavy-duty/platform/tree/master/libs/wallet-adapter) package.
-
-### Svelte
-Yes, see the community-maintained [Svelte](https://github.com/svelte-on-solana/wallet-adapter) package.
-
-### Unity
-Yes, see the community-maintained [Unity](https://github.com/magicblock-labs/Solana.Unity-SDK) package.
-
-### Webpack / Gatsby
-Yes, but you may need to set up polyfills for certain imported modules.
-
-For example, you may need to install `buffer`:
-```shell
-npm install --save buffer
-```
-
-And configure `webpack.config.js`:
-```js
-const webpack = require('webpack');
-
-module.exports = {
- plugins: [
- new webpack.ProvidePlugin({
- Buffer: ['buffer', 'Buffer']
- })
- ],
- resolve: {
- fallback: {
- crypto: false
- }
- }
-};
-```
-
-### Babel / Rollup / Vite / Snowpack / esbuild
-Yes, but you may need to provide custom build configuration.
-Most of the packages are built using the TypeScript compiler, which outputs modular ES6 with `import`/`export` statements.
-
-If you're using Create React App, craco, or one of the React-based starter projects using them, this should be handled automatically.
-
-If you're using Next.js, this requires configuration, which is provided in the [nextjs-starter](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/starter/nextjs-starter) package.
-
-If you're using something else, you may have to configure your build tool to transpile the packages similarly to how it's done in the Next.js config.
-Please open an issue or pull request to document your solution!
-
## What does this error mean?
### `Failed to compile. [...] Module not found: Can't resolve [...]`
diff --git a/PACKAGES.md b/PACKAGES.md
index 537533bc6..e08f167a3 100644
--- a/PACKAGES.md
+++ b/PACKAGES.md
@@ -27,8 +27,6 @@ These packages provide components for common UI frameworks.
| package | description | npm |
|-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
| [react-ui](https://github.com/solana-labs/wallet-adapter/tree/master/packages/ui/react-ui) | Components for React (no UI framework, just CSS) | [`@solana/wallet-adapter-react-ui`](https://npmjs.com/package/@solana/wallet-adapter-react-ui) |
-| [material-ui](https://github.com/solana-labs/wallet-adapter/tree/master/packages/ui/material-ui) | Components for [Material UI](https://material-ui.com) with React | [`@solana/wallet-adapter-material-ui`](https://npmjs.com/package/@solana/wallet-adapter-material-ui) |
-| [angular-material-ui](https://github.com/heavy-duty/platform/tree/master/libs/wallet-adapter/ui/material) | Components for [Angular Material UI](https://material.angular.io/) | [`@heavy-duty/wallet-adapter-material`](https://www.npmjs.com/package/@heavy-duty/wallet-adapter-material) |
### Wallets
These packages provide adapters for each wallet.
@@ -41,7 +39,7 @@ You can use the [wallets](https://github.com/solana-labs/wallet-adapter/tree/mas
| [avana](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/avana) | Adapter for [Avana](https://www.avanawallet.com) | [`@solana/wallet-adapter-avana`](https://npmjs.com/package/@solana/wallet-adapter-avana) |
| [bitkeep](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/bitkeep) | Adapter for [BitKeep](https://bitkeep.com) | [`@solana/wallet-adapter-bitkeep`](https://npmjs.com/package/@solana/wallet-adapter-bitkeep) |
| [bitpie](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/bitpie) | Adapter for [Bitpie](https://bitpie.com) | [`@solana/wallet-adapter-bitpie`](https://npmjs.com/package/@solana/wallet-adapter-bitpie) |
-| [clv](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/clover) | Adapter for [CLV](https://clv.org) | [`@solana/wallet-adapter-clover`](https://npmjs.com/package/@solana/wallet-adapter-clover) |
+| [clover](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/clover) | Adapter for [CLV](https://clv.org) | [`@solana/wallet-adapter-clover`](https://npmjs.com/package/@solana/wallet-adapter-clover) |
| [coin98](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/coin98) | Adapter for [Coin98](https://coin98.com) | [`@solana/wallet-adapter-coin98`](https://npmjs.com/package/@solana/wallet-adapter-coin98) |
| [coinbase](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/coinbase) | Adapter for [Coinbase](https://www.coinbase.com) | [`@solana/wallet-adapter-coinbase`](https://npmjs.com/package/@solana/wallet-adapter-coinbase) |
| [coinhub](https://github.com/solana-labs/wallet-adapter/tree/master/packages/wallets/coinhub) | Adapter for [Coinhub](https://coinhub.org) | [`@solana/wallet-adapter-coinhub`](https://npmjs.com/package/@solana/wallet-adapter-coinhub) |
@@ -75,11 +73,8 @@ You can use the [wallets](https://github.com/solana-labs/wallet-adapter/tree/mas
### Starter Projects
These packages provide projects that you can use to start building a app with built-in wallet support.
-Alternatively, check out [solana-dapp-next](https://github.com/lisenmayben/solana-dapp-next) for a more complete framework.
| package | description | npm |
|---------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| [example](https://github.com/solana-labs/wallet-adapter/tree/master/packages/starter/example) | Demo of UI components and wallets | [`@solana/wallet-adapter-example`](https://npmjs.com/package/@solana/wallet-adapter-example) |
-| [create-react-app-starter](https://github.com/solana-labs/wallet-adapter/tree/master/packages/starter/create-react-app-starter) | [Create React App](https://create-react-app.dev) project using React UI | [`@solana/wallet-adapter-create-react-app-starter`](https://npmjs.com/package/@solana/wallet-adapter-create-react-app-starter) |
| [react-ui-starter](https://github.com/solana-labs/wallet-adapter/tree/master/packages/starter/react-ui-starter) | [Parcel](https://parceljs.org) project using React UI | [`@solana/wallet-adapter-react-ui-starter`](https://npmjs.com/package/@solana/wallet-adapter-react-ui-starter) |
-| [nextjs-starter](https://github.com/solana-labs/wallet-adapter/tree/master/packages/starter/nextjs-starter) | [Next.js](https://nextjs.org) project using React UI | [`@solana/wallet-adapter-nextjs-starter`](https://npmjs.com/package/@solana/wallet-adapter-nextjs-starter) |
diff --git a/packages/starter/create-react-app-starter/.editorconfig b/packages/starter/create-react-app-starter/.editorconfig
deleted file mode 100644
index 3e10c03d0..000000000
--- a/packages/starter/create-react-app-starter/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 4
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
\ No newline at end of file
diff --git a/packages/starter/create-react-app-starter/.gitignore b/packages/starter/create-react-app-starter/.gitignore
deleted file mode 100644
index f608f5b9e..000000000
--- a/packages/starter/create-react-app-starter/.gitignore
+++ /dev/null
@@ -1,25 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# production
-/build
-
-# misc
-.DS_Store
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-/lib
diff --git a/packages/starter/create-react-app-starter/.prettierignore b/packages/starter/create-react-app-starter/.prettierignore
deleted file mode 100644
index 62325de5c..000000000
--- a/packages/starter/create-react-app-starter/.prettierignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/build
-/lib
-/node_modules
-
diff --git a/packages/starter/create-react-app-starter/.prettierrc b/packages/starter/create-react-app-starter/.prettierrc
deleted file mode 100644
index b9ce4c192..000000000
--- a/packages/starter/create-react-app-starter/.prettierrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "printWidth": 120,
- "trailingComma": "es5",
- "tabWidth": 4,
- "semi": true,
- "singleQuote": true
-}
\ No newline at end of file
diff --git a/packages/starter/create-react-app-starter/CHANGELOG.md b/packages/starter/create-react-app-starter/CHANGELOG.md
deleted file mode 100644
index 505075021..000000000
--- a/packages/starter/create-react-app-starter/CHANGELOG.md
+++ /dev/null
@@ -1,159 +0,0 @@
-# @solana/wallet-adapter-create-react-app-starter
-
-## 0.1.32
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.34
-
-## 0.1.31
-
-### Patch Changes
-
-- c96cae47: The base version of Node has been raised to v20
-- Updated dependencies [e25e7971]
-- Updated dependencies [c96cae47]
- - @solana/wallet-adapter-react@0.15.36
- - @solana/wallet-adapter-wallets@0.19.33
- - @solana/wallet-adapter-react-ui@0.9.36
- - @solana/wallet-adapter-base@0.9.24
-
-## 0.1.30
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.32
-
-## 0.1.29
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.31
-
-## 0.1.28
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.30
-
-## 0.1.27
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.29
-
-## 0.1.26
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.28
-
-## 0.1.25
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.27
-
-## 0.1.24
-
-### Patch Changes
-
-- Updated dependencies [cb29215]
- - @solana/wallet-adapter-react-ui@0.9.35
- - @solana/wallet-adapter-wallets@0.19.26
-
-## 0.1.23
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.25
-
-## 0.1.22
-
-### Patch Changes
-
-- Updated dependencies [46f06e72]
- - @solana/wallet-adapter-wallets@0.19.24
-
-## 0.1.21
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.23
-
-## 0.1.20
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.22
-
-## 0.1.19
-
-### Patch Changes
-
-- Updated dependencies [bdc0eff]
- - @solana/wallet-adapter-wallets@0.19.21
- - @solana/wallet-adapter-react@0.15.35
- - @solana/wallet-adapter-react-ui@0.9.34
-
-## 0.1.18
-
-### Patch Changes
-
-- Updated dependencies [a3d35a1]
- - @solana/wallet-adapter-react@0.15.34
- - @solana/wallet-adapter-base@0.9.23
- - @solana/wallet-adapter-wallets@0.19.20
- - @solana/wallet-adapter-react-ui@0.9.33
-
-## 0.1.17
-
-### Patch Changes
-
-- Updated dependencies [7b06737]
-- Updated dependencies [ba57f75]
-- Updated dependencies [7c6f2e1]
- - @solana/wallet-adapter-react-ui@0.9.32
- - @solana/wallet-adapter-react@0.15.33
- - @solana/wallet-adapter-wallets@0.19.19
-
-## 0.1.16
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.18
-
-## 0.1.15
-
-### Patch Changes
-
-- 8a8fdc72: Update dependencies
-- Updated dependencies [8a8fdc72]
- - @solana/wallet-adapter-wallets@0.19.15
- - @solana/wallet-adapter-react-ui@0.9.29
- - @solana/wallet-adapter-react@0.15.30
- - @solana/wallet-adapter-base@0.9.22
-
-## 0.1.14
-
-### Patch Changes
-
-- 912cc0e: Allow wallets to customize autoConnect handling, adding support for Phantom deep links on iOS
-- Updated dependencies [912cc0e]
- - @solana/wallet-adapter-base@0.9.20
- - @solana/wallet-adapter-react@0.15.26
- - @solana/wallet-adapter-react-ui@0.9.24
- - @solana/wallet-adapter-wallets@0.19.9
-
-## 0.1.13
-
-### Patch Changes
-
-- 5d016a2: Mobile Wallet Adapter and Wallet Standard support in `@solana/wallet-adapter-react`
-
- - Early Access + Upgrade Guide: https://github.com/solana-labs/wallet-adapter/issues/604
- - Changes in this release: https://github.com/solana-labs/wallet-adapter/pull/598
-
-- Updated dependencies [5d016a2]
- - @solana/wallet-adapter-react@0.15.22
- - @solana/wallet-adapter-react-ui@0.9.20
diff --git a/packages/starter/create-react-app-starter/LICENSE b/packages/starter/create-react-app-starter/LICENSE
deleted file mode 100644
index d64569567..000000000
--- a/packages/starter/create-react-app-starter/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/packages/starter/create-react-app-starter/README.md b/packages/starter/create-react-app-starter/README.md
deleted file mode 100644
index b87cb0044..000000000
--- a/packages/starter/create-react-app-starter/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Getting Started with Create React App
-
-This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
-
-## Available Scripts
-
-In the project directory, you can run:
-
-### `npm start`
-
-Runs the app in the development mode.\
-Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
-
-The page will reload if you make edits.\
-You will also see any lint errors in the console.
-
-### `npm test`
-
-Launches the test runner in the interactive watch mode.\
-See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
-
-### `npm run build`
-
-Builds the app for production to the `build` folder.\
-It correctly bundles React in production mode and optimizes the build for the best performance.
-
-The build is minified and the filenames include the hashes.\
-Your app is ready to be deployed!
-
-See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
-
-### `npm run eject`
-
-**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
-
-If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
-
-Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
-
-You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
-
-## Learn More
-
-You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
-
-To learn React, check out the [React documentation](https://reactjs.org/).
diff --git a/packages/starter/create-react-app-starter/config-overrides.js b/packages/starter/create-react-app-starter/config-overrides.js
deleted file mode 100644
index 5d7dceba7..000000000
--- a/packages/starter/create-react-app-starter/config-overrides.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const { ProvidePlugin } = require('webpack');
-
-module.exports = function (config, env) {
- return {
- ...config,
- module: {
- ...config.module,
- rules: [
- ...config.module.rules,
- {
- test: /\.m?[jt]sx?$/,
- enforce: 'pre',
- use: ['source-map-loader'],
- },
- {
- test: /\.m?[jt]sx?$/,
- resolve: {
- fullySpecified: false,
- },
- },
- ],
- },
- plugins: [
- ...config.plugins,
- new ProvidePlugin({
- process: 'process/browser',
- }),
- ],
- resolve: {
- ...config.resolve,
- fallback: {
- assert: require.resolve('assert'),
- buffer: require.resolve('buffer'),
- crypto: require.resolve('crypto-browserify'),
- http: require.resolve('stream-http'),
- https: require.resolve('https-browserify'),
- stream: require.resolve('stream-browserify'),
- url: require.resolve('url/'),
- zlib: require.resolve('browserify-zlib'),
- },
- },
- ignoreWarnings: [/Failed to parse source map/],
- };
-};
diff --git a/packages/starter/create-react-app-starter/package.json b/packages/starter/create-react-app-starter/package.json
deleted file mode 100644
index 5f972c10f..000000000
--- a/packages/starter/create-react-app-starter/package.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "name": "@solana/wallet-adapter-create-react-app-starter",
- "version": "0.1.32",
- "author": "Solana Maintainers ",
- "repository": "https://github.com/anza-xyz/wallet-adapter",
- "license": "Apache-2.0",
- "publishConfig": {
- "access": "public"
- },
- "files": [
- "public",
- "src",
- ".gitignore",
- "config-overrides.js",
- "LICENSE",
- "package.json",
- "README.md",
- "tsconfig.json"
- ],
- "scripts": {
- "build": "tsc --build --verbose && react-app-rewired build",
- "clean": "shx mkdir -p build lib && shx rm -rf build lib",
- "lint": "prettier --check 'src/{*,**/*}.{ts,tsx,js,jsx,json}' && eslint",
- "start": "react-app-rewired start",
- "eject": "react-scripts eject"
- },
- "dependencies": {
- "@solana/wallet-adapter-base": "workspace:^",
- "@solana/wallet-adapter-react": "workspace:^",
- "@solana/wallet-adapter-react-ui": "workspace:^",
- "@solana/wallet-adapter-wallets": "workspace:^",
- "@solana/web3.js": "^1.98.0",
- "react": "^18.3.1",
- "react-app-rewired": "^2.2.1",
- "react-dom": "^18.3.1",
- "react-scripts": "^5.0.1"
- },
- "devDependencies": {
- "@types/react": "^18.3.19",
- "@types/react-dom": "^18.3.6",
- "browserify-zlib": "^0.2.0",
- "crypto-browserify": "^3.12.1",
- "https-browserify": "^1.0.0",
- "process": "^0.11.10",
- "shx": "^0.4.0",
- "source-map-loader": "^5.0.0",
- "stream-browserify": "^3.0.0",
- "stream-http": "^3.2.0",
- "typescript": "^5.8.3",
- "url": "^0.11.4",
- "webpack": "^5.99.5"
- },
- "eslintConfig": {
- "extends": [
- "react-app",
- "react-app/jest"
- ]
- },
- "browserslist": {
- "production": [
- ">0.2%",
- "not dead",
- "not op_mini all"
- ],
- "development": [
- "last 1 chrome version",
- "last 1 firefox version",
- "last 1 safari version"
- ]
- }
-}
diff --git a/packages/starter/create-react-app-starter/public/favicon.ico b/packages/starter/create-react-app-starter/public/favicon.ico
deleted file mode 100644
index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3870
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
baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@
diff --git a/packages/starter/create-react-app-starter/public/index.html b/packages/starter/create-react-app-starter/public/index.html
deleted file mode 100644
index aa069f27c..000000000
--- a/packages/starter/create-react-app-starter/public/index.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- React App
-
-
- You need to enable JavaScript to run this app.
-
-
-
-
diff --git a/packages/starter/create-react-app-starter/public/logo192.png b/packages/starter/create-react-app-starter/public/logo192.png
deleted file mode 100644
index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 5347
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
b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN
diff --git a/packages/starter/create-react-app-starter/public/manifest.json b/packages/starter/create-react-app-starter/public/manifest.json
deleted file mode 100644
index f01493ff0..000000000
--- a/packages/starter/create-react-app-starter/public/manifest.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "short_name": "React App",
- "name": "Create React App Sample",
- "icons": [
- {
- "src": "favicon.ico",
- "sizes": "64x64 32x32 24x24 16x16",
- "type": "image/x-icon"
- },
- {
- "src": "logo192.png",
- "type": "image/png",
- "sizes": "192x192"
- },
- {
- "src": "logo512.png",
- "type": "image/png",
- "sizes": "512x512"
- }
- ],
- "start_url": ".",
- "display": "standalone",
- "theme_color": "#000000",
- "background_color": "#ffffff"
-}
diff --git a/packages/starter/create-react-app-starter/public/robots.txt b/packages/starter/create-react-app-starter/public/robots.txt
deleted file mode 100644
index e9e57dc4d..000000000
--- a/packages/starter/create-react-app-starter/public/robots.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# https://www.robotstxt.org/robotstxt.html
-User-agent: *
-Disallow:
diff --git a/packages/starter/create-react-app-starter/src/App.css b/packages/starter/create-react-app-starter/src/App.css
deleted file mode 100644
index af5d12ffe..000000000
--- a/packages/starter/create-react-app-starter/src/App.css
+++ /dev/null
@@ -1,6 +0,0 @@
-.App {
- min-height: 100vh;
- display: flex;
- justify-content: center;
- align-items: center;
-}
diff --git a/packages/starter/create-react-app-starter/src/App.tsx b/packages/starter/create-react-app-starter/src/App.tsx
deleted file mode 100644
index 6988f18bb..000000000
--- a/packages/starter/create-react-app-starter/src/App.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { WalletAdapterNetwork } from '@solana/wallet-adapter-base';
-import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
-import { WalletModalProvider, WalletMultiButton } from '@solana/wallet-adapter-react-ui';
-import { UnsafeBurnerWalletAdapter } from '@solana/wallet-adapter-wallets';
-import { clusterApiUrl } from '@solana/web3.js';
-import React, { FC, ReactNode, useMemo } from 'react';
-
-require('./App.css');
-require('@solana/wallet-adapter-react-ui/styles.css');
-
-const App: FC = () => {
- return (
-
-
-
- );
-};
-export default App;
-
-const Context: FC<{ children: ReactNode }> = ({ children }) => {
- // The network can be set to 'devnet', 'testnet', or 'mainnet-beta'.
- const network = WalletAdapterNetwork.Devnet;
-
- // You can also provide a custom RPC endpoint.
- const endpoint = useMemo(() => clusterApiUrl(network), [network]);
-
- const wallets = useMemo(
- () => [
- /**
- * Wallets that implement either of these standards will be available automatically.
- *
- * - Solana Mobile Stack Mobile Wallet Adapter Protocol
- * (https://github.com/solana-mobile/mobile-wallet-adapter)
- * - Solana Wallet Standard
- * (https://github.com/solana-labs/wallet-standard)
- *
- * If you wish to support a wallet that supports neither of those standards,
- * instantiate its legacy wallet adapter here. Common legacy adapters can be found
- * in the npm package `@solana/wallet-adapter-wallets`.
- */
- new UnsafeBurnerWalletAdapter(),
- ],
- // eslint-disable-next-line react-hooks/exhaustive-deps
- [network]
- );
-
- return (
-
-
- {children}
-
-
- );
-};
-
-const Content: FC = () => {
- return (
-
-
-
- );
-};
diff --git a/packages/starter/create-react-app-starter/src/index.css b/packages/starter/create-react-app-starter/src/index.css
deleted file mode 100644
index 6db76d5af..000000000
--- a/packages/starter/create-react-app-starter/src/index.css
+++ /dev/null
@@ -1,14 +0,0 @@
-body {
- background: #222222;
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
- sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
-}
diff --git a/packages/starter/create-react-app-starter/src/index.tsx b/packages/starter/create-react-app-starter/src/index.tsx
deleted file mode 100644
index 0d995296c..000000000
--- a/packages/starter/create-react-app-starter/src/index.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-import App from './App';
-import './index.css';
-import reportWebVitals from './reportWebVitals';
-
-ReactDOM.render(
-
-
- ,
- document.getElementById('root')
-);
-
-// If you want to start measuring performance in your app, pass a function
-// to log results (for example: reportWebVitals(console.log))
-// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
-reportWebVitals();
diff --git a/packages/starter/create-react-app-starter/src/react-app-env.d.ts b/packages/starter/create-react-app-starter/src/react-app-env.d.ts
deleted file mode 100644
index 6431bc5fc..000000000
--- a/packages/starter/create-react-app-starter/src/react-app-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/packages/starter/create-react-app-starter/src/reportWebVitals.ts b/packages/starter/create-react-app-starter/src/reportWebVitals.ts
deleted file mode 100644
index d95c0a66b..000000000
--- a/packages/starter/create-react-app-starter/src/reportWebVitals.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { ReportHandler } from 'web-vitals';
-
-const reportWebVitals = (onPerfEntry?: ReportHandler) => {
- if (onPerfEntry && onPerfEntry instanceof Function) {
- import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
- getCLS(onPerfEntry);
- getFID(onPerfEntry);
- getFCP(onPerfEntry);
- getLCP(onPerfEntry);
- getTTFB(onPerfEntry);
- });
- }
-};
-
-export default reportWebVitals;
diff --git a/packages/starter/create-react-app-starter/src/setupTests.ts b/packages/starter/create-react-app-starter/src/setupTests.ts
deleted file mode 100644
index 8f2609b7b..000000000
--- a/packages/starter/create-react-app-starter/src/setupTests.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// jest-dom adds custom jest matchers for asserting on DOM nodes.
-// allows you to do things like:
-// expect(element).toHaveTextContent(/react/i)
-// learn more: https://github.com/testing-library/jest-dom
-import '@testing-library/jest-dom';
diff --git a/packages/starter/create-react-app-starter/tsconfig.json b/packages/starter/create-react-app-starter/tsconfig.json
deleted file mode 100644
index d8ca1b3d8..000000000
--- a/packages/starter/create-react-app-starter/tsconfig.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "extends": "../../../tsconfig.root.json",
- "include": ["src"],
- "compilerOptions": {
- "outDir": "lib",
- "target": "es5",
- "lib": ["dom", "dom.iterable", "esnext"],
- "allowJs": true,
- "skipLibCheck": true,
- "esModuleInterop": true,
- "allowSyntheticDefaultImports": true,
- "strict": true,
- "forceConsistentCasingInFileNames": true,
- "noFallthroughCasesInSwitch": true,
- "module": "esnext",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "noEmit": true,
- "jsx": "react-jsx"
- }
-}
diff --git a/packages/starter/nextjs-starter/.editorconfig b/packages/starter/nextjs-starter/.editorconfig
deleted file mode 100644
index 3e10c03d0..000000000
--- a/packages/starter/nextjs-starter/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 4
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
\ No newline at end of file
diff --git a/packages/starter/nextjs-starter/.eslintrc.json b/packages/starter/nextjs-starter/.eslintrc.json
deleted file mode 100644
index 1c2aa65d7..000000000
--- a/packages/starter/nextjs-starter/.eslintrc.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "next/core-web-vitals"
-}
diff --git a/packages/starter/nextjs-starter/.gitignore b/packages/starter/nextjs-starter/.gitignore
deleted file mode 100644
index 8b60e9e2f..000000000
--- a/packages/starter/nextjs-starter/.gitignore
+++ /dev/null
@@ -1,39 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/.swc/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# local env files
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-/lib
diff --git a/packages/starter/nextjs-starter/.prettierignore b/packages/starter/nextjs-starter/.prettierignore
deleted file mode 100644
index 922ec451a..000000000
--- a/packages/starter/nextjs-starter/.prettierignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/.next
-/.swc
-/lib
-/node_modules
-
diff --git a/packages/starter/nextjs-starter/.prettierrc b/packages/starter/nextjs-starter/.prettierrc
deleted file mode 100644
index b9ce4c192..000000000
--- a/packages/starter/nextjs-starter/.prettierrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "printWidth": 120,
- "trailingComma": "es5",
- "tabWidth": 4,
- "semi": true,
- "singleQuote": true
-}
\ No newline at end of file
diff --git a/packages/starter/nextjs-starter/CHANGELOG.md b/packages/starter/nextjs-starter/CHANGELOG.md
deleted file mode 100644
index bc428ad5b..000000000
--- a/packages/starter/nextjs-starter/CHANGELOG.md
+++ /dev/null
@@ -1,159 +0,0 @@
-# @solana/wallet-adapter-nextjs-starter
-
-## 0.8.34
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.34
-
-## 0.8.33
-
-### Patch Changes
-
-- c96cae47: The base version of Node has been raised to v20
-- Updated dependencies [e25e7971]
-- Updated dependencies [c96cae47]
- - @solana/wallet-adapter-react@0.15.36
- - @solana/wallet-adapter-wallets@0.19.33
- - @solana/wallet-adapter-react-ui@0.9.36
- - @solana/wallet-adapter-base@0.9.24
-
-## 0.8.32
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.32
-
-## 0.8.31
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.31
-
-## 0.8.30
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.30
-
-## 0.8.29
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.29
-
-## 0.8.28
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.28
-
-## 0.8.27
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.27
-
-## 0.8.26
-
-### Patch Changes
-
-- Updated dependencies [cb29215]
- - @solana/wallet-adapter-react-ui@0.9.35
- - @solana/wallet-adapter-wallets@0.19.26
-
-## 0.8.25
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.25
-
-## 0.8.24
-
-### Patch Changes
-
-- Updated dependencies [46f06e72]
- - @solana/wallet-adapter-wallets@0.19.24
-
-## 0.8.23
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.23
-
-## 0.8.22
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.22
-
-## 0.8.21
-
-### Patch Changes
-
-- Updated dependencies [bdc0eff]
- - @solana/wallet-adapter-wallets@0.19.21
- - @solana/wallet-adapter-react@0.15.35
- - @solana/wallet-adapter-react-ui@0.9.34
-
-## 0.8.20
-
-### Patch Changes
-
-- Updated dependencies [a3d35a1]
- - @solana/wallet-adapter-react@0.15.34
- - @solana/wallet-adapter-base@0.9.23
- - @solana/wallet-adapter-wallets@0.19.20
- - @solana/wallet-adapter-react-ui@0.9.33
-
-## 0.8.19
-
-### Patch Changes
-
-- Updated dependencies [7b06737]
-- Updated dependencies [ba57f75]
-- Updated dependencies [7c6f2e1]
- - @solana/wallet-adapter-react-ui@0.9.32
- - @solana/wallet-adapter-react@0.15.33
- - @solana/wallet-adapter-wallets@0.19.19
-
-## 0.8.18
-
-### Patch Changes
-
-- @solana/wallet-adapter-wallets@0.19.18
-
-## 0.8.17
-
-### Patch Changes
-
-- 8a8fdc72: Update dependencies
-- Updated dependencies [8a8fdc72]
- - @solana/wallet-adapter-wallets@0.19.15
- - @solana/wallet-adapter-react-ui@0.9.29
- - @solana/wallet-adapter-react@0.15.30
- - @solana/wallet-adapter-base@0.9.22
-
-## 0.8.16
-
-### Patch Changes
-
-- 912cc0e: Allow wallets to customize autoConnect handling, adding support for Phantom deep links on iOS
-- Updated dependencies [912cc0e]
- - @solana/wallet-adapter-base@0.9.20
- - @solana/wallet-adapter-react@0.15.26
- - @solana/wallet-adapter-react-ui@0.9.24
- - @solana/wallet-adapter-wallets@0.19.9
-
-## 0.8.15
-
-### Patch Changes
-
-- 5d016a2: Mobile Wallet Adapter and Wallet Standard support in `@solana/wallet-adapter-react`
-
- - Early Access + Upgrade Guide: https://github.com/solana-labs/wallet-adapter/issues/604
- - Changes in this release: https://github.com/solana-labs/wallet-adapter/pull/598
-
-- Updated dependencies [5d016a2]
- - @solana/wallet-adapter-react@0.15.22
- - @solana/wallet-adapter-react-ui@0.9.20
diff --git a/packages/starter/nextjs-starter/LICENSE b/packages/starter/nextjs-starter/LICENSE
deleted file mode 100644
index d64569567..000000000
--- a/packages/starter/nextjs-starter/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/packages/starter/nextjs-starter/README.md b/packages/starter/nextjs-starter/README.md
deleted file mode 100644
index 27ed15aa5..000000000
--- a/packages/starter/nextjs-starter/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# `@solana/wallet-adapter-nextjs-starter`
-
-
-
-This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
-
-## Getting Started
-
-First, run the development server:
-
-```bash
-npm run dev
-# or
-yarn dev
-```
-
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
-
-You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.
-
-[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
-
-The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
-
-## Learn More
-
-To learn more about Next.js, take a look at the following resources:
-
-- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
-- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
-
-You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
-
-## Deploy on Vercel
-
-The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
-
-Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
diff --git a/packages/starter/nextjs-starter/next-env.d.ts b/packages/starter/nextjs-starter/next-env.d.ts
deleted file mode 100644
index 4f11a03dc..000000000
--- a/packages/starter/nextjs-starter/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/packages/starter/nextjs-starter/next.config.js b/packages/starter/nextjs-starter/next.config.js
deleted file mode 100644
index 7c274edf6..000000000
--- a/packages/starter/nextjs-starter/next.config.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/** @type {import('next').NextConfig} */
-module.exports = {
- reactStrictMode: true,
-};
diff --git a/packages/starter/nextjs-starter/package.json b/packages/starter/nextjs-starter/package.json
deleted file mode 100644
index dbb0a9765..000000000
--- a/packages/starter/nextjs-starter/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "name": "@solana/wallet-adapter-nextjs-starter",
- "version": "0.8.34",
- "author": "Solana Maintainers ",
- "repository": "https://github.com/anza-xyz/wallet-adapter",
- "license": "Apache-2.0",
- "publishConfig": {
- "access": "public"
- },
- "files": [
- "public",
- "src",
- ".editorconfig",
- ".eslintrc.json",
- ".gitignore",
- ".prettierignore",
- ".prettierrc",
- "LICENSE",
- "next.config.js",
- "next-env.d.ts",
- "package.json",
- "README.md",
- "tsconfig.json"
- ],
- "engines": {
- "node": "22"
- },
- "scripts": {
- "build": "tsc --build --verbose && next build",
- "clean": "shx rm -rf .next .swc lib",
- "dev": "NODE_OPTIONS='--inspect' next dev",
- "start": "next start",
- "lint": "prettier --check 'src/{*,**/*}.{ts,tsx,js,jsx,json}' && eslint && next lint"
- },
- "dependencies": {
- "@solana/wallet-adapter-base": "workspace:^",
- "@solana/wallet-adapter-react": "workspace:^",
- "@solana/wallet-adapter-react-ui": "workspace:^",
- "@solana/wallet-adapter-wallets": "workspace:^",
- "next": "^15.3.0",
- "react": "^18.3.1",
- "react-dom": "^18.3.1"
- },
- "devDependencies": {
- "@types/node-fetch": "^2.6.12",
- "@types/react": "^18.3.19",
- "@types/react-dom": "^18.3.6",
- "eslint": "8.22.0",
- "eslint-config-next": "^15.3.0",
- "prettier": "^3.5.3",
- "shx": "^0.4.0",
- "typescript": "^5.8.3"
- }
-}
diff --git a/packages/starter/nextjs-starter/public/favicon.ico b/packages/starter/nextjs-starter/public/favicon.ico
deleted file mode 100644
index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 25931
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
LrJugUA?W`A8`#=m
diff --git a/packages/starter/nextjs-starter/public/vercel.svg b/packages/starter/nextjs-starter/public/vercel.svg
deleted file mode 100644
index fbf0e25a6..000000000
--- a/packages/starter/nextjs-starter/public/vercel.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/packages/starter/nextjs-starter/src/pages/_app.tsx b/packages/starter/nextjs-starter/src/pages/_app.tsx
deleted file mode 100644
index 4b8454edb..000000000
--- a/packages/starter/nextjs-starter/src/pages/_app.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import { WalletAdapterNetwork } from '@solana/wallet-adapter-base';
-import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
-import { WalletModalProvider } from '@solana/wallet-adapter-react-ui';
-import { UnsafeBurnerWalletAdapter } from '@solana/wallet-adapter-wallets';
-import { clusterApiUrl } from '@solana/web3.js';
-import type { AppProps } from 'next/app';
-import type { FC } from 'react';
-import React, { useMemo } from 'react';
-
-// Use require instead of import since order matters
-require('@solana/wallet-adapter-react-ui/styles.css');
-require('../styles/globals.css');
-
-const App: FC = ({ Component, pageProps }) => {
- // Can be set to 'devnet', 'testnet', or 'mainnet-beta'
- const network = WalletAdapterNetwork.Devnet;
-
- // You can also provide a custom RPC endpoint
- const endpoint = useMemo(() => clusterApiUrl(network), [network]);
-
- const wallets = useMemo(
- () => [
- /**
- * Wallets that implement either of these standards will be available automatically.
- *
- * - Solana Mobile Stack Mobile Wallet Adapter Protocol
- * (https://github.com/solana-mobile/mobile-wallet-adapter)
- * - Solana Wallet Standard
- * (https://github.com/solana-labs/wallet-standard)
- *
- * If you wish to support a wallet that supports neither of those standards,
- * instantiate its legacy wallet adapter here. Common legacy adapters can be found
- * in the npm package `@solana/wallet-adapter-wallets`.
- */
- new UnsafeBurnerWalletAdapter(),
- ],
- // eslint-disable-next-line react-hooks/exhaustive-deps
- [network]
- );
-
- return (
-
-
-
-
-
-
-
- );
-};
-
-export default App;
diff --git a/packages/starter/nextjs-starter/src/pages/api/hello.ts b/packages/starter/nextjs-starter/src/pages/api/hello.ts
deleted file mode 100644
index 744b71044..000000000
--- a/packages/starter/nextjs-starter/src/pages/api/hello.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
-import type { NextApiRequest, NextApiResponse } from 'next';
-
-type Data = {
- name: string;
-};
-
-export default function handler(req: NextApiRequest, res: NextApiResponse) {
- res.status(200).json({ name: 'John Doe' });
-}
diff --git a/packages/starter/nextjs-starter/src/pages/index.tsx b/packages/starter/nextjs-starter/src/pages/index.tsx
deleted file mode 100644
index a597aa68a..000000000
--- a/packages/starter/nextjs-starter/src/pages/index.tsx
+++ /dev/null
@@ -1,82 +0,0 @@
-import type { NextPage } from 'next';
-import dynamic from 'next/dynamic';
-import Head from 'next/head';
-import Image from 'next/image';
-import React from 'react';
-import styles from '../styles/Home.module.css';
-
-const WalletDisconnectButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-react-ui')).WalletDisconnectButton,
- { ssr: false }
-);
-const WalletMultiButtonDynamic = dynamic(
- async () => (await import('@solana/wallet-adapter-react-ui')).WalletMultiButton,
- { ssr: false }
-);
-
-const Home: NextPage = () => {
- return (
-
-
-
Create Next App
-
-
-
-
-
-
-
-
-
-
-
-
-
- Get started by editing pages/index.tsx
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/packages/starter/nextjs-starter/src/styles/Home.module.css b/packages/starter/nextjs-starter/src/styles/Home.module.css
deleted file mode 100644
index 796e34bb3..000000000
--- a/packages/starter/nextjs-starter/src/styles/Home.module.css
+++ /dev/null
@@ -1,122 +0,0 @@
-.container {
- padding: 0 2rem;
-}
-
-.main {
- min-height: 100vh;
- padding: 4rem 0;
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-}
-
-.footer {
- display: flex;
- flex: 1;
- padding: 2rem 0;
- border-top: 1px solid #eaeaea;
- justify-content: center;
- align-items: center;
-}
-
-.footer a {
- display: flex;
- justify-content: center;
- align-items: center;
- flex-grow: 1;
-}
-
-.title a {
- color: #0070f3;
- text-decoration: none;
-}
-
-.title a:hover,
-.title a:focus,
-.title a:active {
- text-decoration: underline;
-}
-
-.title {
- margin: 0;
- line-height: 1.15;
- font-size: 4rem;
-}
-
-.title,
-.description {
- text-align: center;
-}
-
-.walletButtons {
- margin-top: 1.5rem;
- display: flex;
- gap: 2rem;
-}
-
-.description {
- margin: 4rem 0;
- line-height: 1.5;
- font-size: 1.5rem;
-}
-
-.code {
- background: #fafafa;
- border-radius: 5px;
- padding: 0.75rem;
- font-size: 1.1rem;
- font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
- Bitstream Vera Sans Mono, Courier New, monospace;
-}
-
-.grid {
- display: flex;
- align-items: center;
- justify-content: center;
- flex-wrap: wrap;
- max-width: 800px;
-}
-
-.card {
- margin: 1rem;
- padding: 1.5rem;
- text-align: left;
- color: inherit;
- text-decoration: none;
- border: 1px solid #eaeaea;
- border-radius: 10px;
- transition: color 0.15s ease, border-color 0.15s ease;
- max-width: 300px;
-}
-
-.card:hover,
-.card:focus,
-.card:active {
- color: #0070f3;
- border-color: #0070f3;
-}
-
-.card h2 {
- margin: 0 0 1rem 0;
- font-size: 1.5rem;
-}
-
-.card p {
- margin: 0;
- font-size: 1.25rem;
- line-height: 1.5;
-}
-
-.logo {
- height: 1em;
- margin-left: 0.5rem;
-}
-
-@media (max-width: 600px) {
- .grid {
- width: 100%;
- flex-direction: column;
- }
-}
diff --git a/packages/starter/nextjs-starter/src/styles/globals.css b/packages/starter/nextjs-starter/src/styles/globals.css
deleted file mode 100644
index e5e2dcc23..000000000
--- a/packages/starter/nextjs-starter/src/styles/globals.css
+++ /dev/null
@@ -1,16 +0,0 @@
-html,
-body {
- padding: 0;
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
- Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
-}
-
-a {
- color: inherit;
- text-decoration: none;
-}
-
-* {
- box-sizing: border-box;
-}
diff --git a/packages/starter/nextjs-starter/tsconfig.json b/packages/starter/nextjs-starter/tsconfig.json
deleted file mode 100644
index c61508adf..000000000
--- a/packages/starter/nextjs-starter/tsconfig.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "extends": "../../../tsconfig.root.json",
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
- "compilerOptions": {
- "outDir": "lib",
- "target": "es6",
- "lib": ["dom", "dom.iterable", "esnext"],
- "allowJs": true,
- "skipLibCheck": true,
- "strict": true,
- "forceConsistentCasingInFileNames": true,
- "noEmit": true,
- "esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "jsx": "preserve",
- "incremental": true
- },
- "exclude": ["node_modules"]
-}
diff --git a/packages/ui/material-ui/CHANGELOG.md b/packages/ui/material-ui/CHANGELOG.md
deleted file mode 100644
index 033b3aaca..000000000
--- a/packages/ui/material-ui/CHANGELOG.md
+++ /dev/null
@@ -1,149 +0,0 @@
-# @solana/wallet-adapter-material-ui
-
-## 0.16.35
-
-### Patch Changes
-
-- c96cae47: The base version of Node has been raised to v20
-- Updated dependencies [e25e7971]
-- Updated dependencies [c96cae47]
- - @solana/wallet-adapter-react@0.15.36
- - @solana/wallet-adapter-base-ui@0.1.3
- - @solana/wallet-adapter-base@0.9.24
-
-## 0.16.34
-
-### Patch Changes
-
-- cb29215: Simplify wallet ordering to respect order provided by application
-
-## 0.16.33
-
-### Patch Changes
-
-- Updated dependencies [bdc0eff]
- - @solana/wallet-adapter-react@0.15.35
- - @solana/wallet-adapter-base-ui@0.1.2
-
-## 0.16.32
-
-### Patch Changes
-
-- Updated dependencies [a3d35a1]
- - @solana/wallet-adapter-react@0.15.34
- - @solana/wallet-adapter-base@0.9.23
- - @solana/wallet-adapter-base-ui@0.1.1
-
-## 0.16.31
-
-### Patch Changes
-
-- 7b06737: Use wallet button hooks from base-ui package
-- ba57f75: feat: extract wallet buttons and text labels into separate components
- Now that the wallet connection state is an enum, it makes it easier to extract the labels from the components. You can now bring your own i18n framework to bear on the `Base*` version of `WalletConnectButton`, `WalletDisconnectButton`, and `WalletMultiButton` to inject your own translated labels.
-- Updated dependencies [7b06737]
-- Updated dependencies [ba57f75]
-- Updated dependencies [7c6f2e1]
-- Updated dependencies [7b06737]
- - @solana/wallet-adapter-react@0.15.33
- - @solana/wallet-adapter-base-ui@0.1.0
-
-## 0.16.30
-
-### Patch Changes
-
-- Updated dependencies [f62ce364]
- - @solana/wallet-adapter-react@0.15.32
-
-## 0.16.29
-
-### Patch Changes
-
-- Updated dependencies [61d62efa]
- - @solana/wallet-adapter-react@0.15.31
-
-## 0.16.28
-
-### Patch Changes
-
-- 8a8fdc72: Update dependencies
-- Updated dependencies [8a8fdc72]
- - @solana/wallet-adapter-react@0.15.30
- - @solana/wallet-adapter-base@0.9.22
-
-## 0.16.27
-
-### Patch Changes
-
-- f9e20fa0: Updated imports of Material UI icons in such a way that sidesteps the problem described here: https://github.com/mui/material-ui/issues/35233
-
-## 0.16.26
-
-### Patch Changes
-
-- f99c2154: Uses default import for @mui/icons-material
-- Updated dependencies [f99c2154]
- - @solana/wallet-adapter-base@0.9.21
- - @solana/wallet-adapter-react@0.15.29
-
-## 0.16.25
-
-### Patch Changes
-
-- Updated dependencies [0a5f56e]
- - @solana/wallet-adapter-react@0.15.28
-
-## 0.16.24
-
-### Patch Changes
-
-- Updated dependencies [faf61e6]
- - @solana/wallet-adapter-react@0.15.27
-
-## 0.16.23
-
-### Patch Changes
-
-- e2a5b34: UI tweaks for wallet modal/dialogs
-
-## 0.16.22
-
-### Patch Changes
-
-- Updated dependencies [912cc0e]
- - @solana/wallet-adapter-base@0.9.20
- - @solana/wallet-adapter-react@0.15.26
-
-## 0.16.21
-
-### Patch Changes
-
-- Updated dependencies [353f2a5]
- - @solana/wallet-adapter-base@0.9.19
- - @solana/wallet-adapter-react@0.15.25
-
-## 0.16.20
-
-### Patch Changes
-
-- Updated dependencies [21200bc]
- - @solana/wallet-adapter-react@0.15.24
-
-## 0.16.19
-
-### Patch Changes
-
-- Updated dependencies [0e62d22]
- - @solana/wallet-adapter-react@0.15.23
-
-## 0.16.18
-
-### Patch Changes
-
-- 5d016a2: Mobile Wallet Adapter and Wallet Standard support in `@solana/wallet-adapter-react`
-
- - Early Access + Upgrade Guide: https://github.com/solana-labs/wallet-adapter/issues/604
- - Changes in this release: https://github.com/solana-labs/wallet-adapter/pull/598
-
-- Updated dependencies [5d016a2]
- - @solana/wallet-adapter-react@0.15.22
diff --git a/packages/ui/material-ui/LICENSE b/packages/ui/material-ui/LICENSE
deleted file mode 100644
index d64569567..000000000
--- a/packages/ui/material-ui/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/packages/ui/material-ui/README.md b/packages/ui/material-ui/README.md
deleted file mode 100644
index 3c7d0fbd5..000000000
--- a/packages/ui/material-ui/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# `@solana/wallet-adapter-material-ui`
-
-
-
-Coming soon.
\ No newline at end of file
diff --git a/packages/ui/material-ui/package.json b/packages/ui/material-ui/package.json
deleted file mode 100644
index c4e8b1a07..000000000
--- a/packages/ui/material-ui/package.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "name": "@solana/wallet-adapter-material-ui",
- "version": "0.16.35",
- "author": "Solana Maintainers ",
- "repository": "https://github.com/anza-xyz/wallet-adapter",
- "license": "Apache-2.0",
- "publishConfig": {
- "access": "public"
- },
- "files": [
- "lib",
- "src",
- "LICENSE"
- ],
- "engines": {
- "node": "22"
- },
- "type": "module",
- "sideEffects": false,
- "main": "./lib/cjs/index.js",
- "module": "./lib/esm/index.js",
- "types": "./lib/types/index.d.ts",
- "exports": {
- "require": "./lib/cjs/index.js",
- "import": "./lib/esm/index.js",
- "types": "./lib/types/index.d.ts"
- },
- "scripts": {
- "build": "tsc --build --verbose && pnpm run package",
- "clean": "shx mkdir -p lib && shx rm -rf lib",
- "lint": "prettier --check 'src/{*,**/*}.{ts,tsx,js,jsx,json}' && eslint",
- "package": "shx mkdir -p lib/cjs && shx echo '{ \"type\": \"commonjs\" }' > lib/cjs/package.json"
- },
- "peerDependencies": {
- "@mui/icons-material": "*",
- "@mui/material": "*",
- "@solana/web3.js": "^1.98.0",
- "react": "*",
- "react-dom": "*"
- },
- "dependencies": {
- "@solana/wallet-adapter-base": "workspace:^",
- "@solana/wallet-adapter-base-ui": "workspace:^",
- "@solana/wallet-adapter-react": "workspace:^"
- },
- "devDependencies": {
- "@emotion/react": "^11.14.0",
- "@emotion/styled": "^11.14.0",
- "@mui/icons-material": "^5.17.1",
- "@mui/material": "^5.17.1",
- "@solana/web3.js": "^1.98.0",
- "@types/react": "^18.3.19",
- "@types/react-dom": "^18.3.6",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
- "shx": "^0.4.0"
- }
-}
diff --git a/packages/ui/material-ui/src/BaseWalletConnectButton.tsx b/packages/ui/material-ui/src/BaseWalletConnectButton.tsx
deleted file mode 100644
index 3e8354678..000000000
--- a/packages/ui/material-ui/src/BaseWalletConnectButton.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import type { ButtonProps } from '@mui/material';
-
-import { useWalletConnectButton } from '@solana/wallet-adapter-base-ui';
-import React from 'react';
-import { BaseWalletConnectionButton } from './BaseWalletConnectionButton.js';
-
-type Props = ButtonProps & {
- labels: { [TButtonState in ReturnType['buttonState']]: string };
-};
-
-export function BaseWalletConnectButton({ children, disabled, labels, onClick, ...props }: Props) {
- const { buttonDisabled, buttonState, onButtonClick, walletIcon, walletName } = useWalletConnectButton();
- return (
- {
- if (onClick) {
- onClick(e);
- }
- if (e.defaultPrevented) {
- return;
- }
- if (onButtonClick) {
- onButtonClick();
- }
- }}
- walletIcon={walletIcon}
- walletName={walletName}
- >
- {children ? children : labels[buttonState]}
-
- );
-}
diff --git a/packages/ui/material-ui/src/BaseWalletConnectionButton.tsx b/packages/ui/material-ui/src/BaseWalletConnectionButton.tsx
deleted file mode 100644
index 6a28a9197..000000000
--- a/packages/ui/material-ui/src/BaseWalletConnectionButton.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import type { ButtonProps } from '@mui/material';
-import { Button } from '@mui/material';
-import type { WalletName } from '@solana/wallet-adapter-base';
-import React from 'react';
-import { WalletIcon } from './WalletIcon.js';
-
-type Props = ButtonProps & {
- walletIcon?: string;
- walletName?: WalletName;
-};
-
-export const BaseWalletConnectionButton = React.forwardRef(function BaseWalletConnectionButton(
- { color = 'primary', type = 'button', walletIcon, walletName, variant = 'contained', ...props }: Props,
- forwardedRef: React.Ref
-) {
- return (
-
- ) : undefined
- }
- ref={forwardedRef}
- type={type}
- variant={variant}
- />
- );
-});
diff --git a/packages/ui/material-ui/src/BaseWalletDisconnectButton.tsx b/packages/ui/material-ui/src/BaseWalletDisconnectButton.tsx
deleted file mode 100644
index 0336144fa..000000000
--- a/packages/ui/material-ui/src/BaseWalletDisconnectButton.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import type { ButtonProps } from '@mui/material';
-import { useWalletDisconnectButton } from '@solana/wallet-adapter-base-ui';
-import React from 'react';
-import { BaseWalletConnectionButton } from './BaseWalletConnectionButton.js';
-
-type Props = ButtonProps & {
- labels: { [TButtonState in ReturnType['buttonState']]: string };
-};
-
-export function BaseWalletDisconnectButton({ children, disabled, labels, onClick, ...props }: Props) {
- const { buttonDisabled, buttonState, onButtonClick, walletIcon, walletName } = useWalletDisconnectButton();
- return (
- {
- if (onClick) {
- onClick(e);
- }
- if (e.defaultPrevented) {
- return;
- }
- if (onButtonClick) {
- onButtonClick();
- }
- }}
- walletIcon={walletIcon}
- walletName={walletName}
- >
- {children ? children : labels[buttonState]}
-
- );
-}
diff --git a/packages/ui/material-ui/src/BaseWalletMultiButton.tsx b/packages/ui/material-ui/src/BaseWalletMultiButton.tsx
deleted file mode 100644
index 4fae0108d..000000000
--- a/packages/ui/material-ui/src/BaseWalletMultiButton.tsx
+++ /dev/null
@@ -1,177 +0,0 @@
-import {
- // FIXME(https://github.com/mui/material-ui/issues/35233)
- FileCopy as CopyIcon,
- // FIXME(https://github.com/mui/material-ui/issues/35233)
- LinkOff as DisconnectIcon,
- // FIXME(https://github.com/mui/material-ui/issues/35233)
- SwapHoriz as SwitchIcon,
-} from '@mui/icons-material';
-import type { ButtonProps, Theme } from '@mui/material';
-import { Collapse, Fade, ListItemIcon, Menu, MenuItem, styled } from '@mui/material';
-
-import { useWalletMultiButton } from '@solana/wallet-adapter-base-ui';
-import React, { useMemo, useState } from 'react';
-import { BaseWalletConnectionButton } from './BaseWalletConnectionButton.js';
-import { useWalletDialog } from './useWalletDialog.js';
-
-const StyledMenu = styled(Menu)(({ theme }: { theme: Theme }) => ({
- '& .MuiList-root': {
- padding: 0,
- },
- '& .MuiListItemIcon-root': {
- marginRight: theme.spacing(),
- minWidth: 'unset',
- '& .MuiSvgIcon-root': {
- width: 20,
- height: 20,
- },
- },
-}));
-
-const WalletActionMenuItem = styled(MenuItem)(({ theme }: { theme: Theme }) => ({
- padding: theme.spacing(1, 2),
- boxShadow: 'inset 0 1px 0 0 ' + 'rgba(255, 255, 255, 0.1)',
-
- '&:hover': {
- boxShadow: 'inset 0 1px 0 0 ' + 'rgba(255, 255, 255, 0.1)' + ', 0 1px 0 0 ' + 'rgba(255, 255, 255, 0.05)',
- },
-}));
-
-const WalletMenuItem = styled(WalletActionMenuItem)(() => ({
- padding: 0,
-
- '& .MuiButton-root': {
- borderRadius: 0,
- },
-}));
-
-type Props = ButtonProps & {
- labels: Omit<
- { [TButtonState in ReturnType['buttonState']]: string },
- 'connected' | 'disconnecting'
- > & {
- 'copy-address': string;
- 'change-wallet': string;
- disconnect: string;
- };
-};
-
-export function BaseWalletMultiButton({ children, labels, ...props }: Props) {
- const { setOpen: setModalVisible } = useWalletDialog();
- const anchorRef = React.createRef