ソースを参照

Update reps, fix example, remove and deprecate a bunch of stuff (#1076)

* node 22, pnpm 10.8.1

* remove some overrides

* use node 22 in all packages

* convert Uint8Array to Buffer

* update github actions

* add packageManager to json

* update dependencies

* remove ant-design

* add authToken to .npmrc

* lint

* update turbo config

* add es2022/es2022.error to tsconfig

* skipLibCheck on Torus adapter

* remove/deprecate material ui starter

* fix example using parcel

* remove material-ui, next, and cra starters

* undo change to .npmrc

* regen lockfile

* add changeset

* fix some test warnings

* "fix" test
Jordan 7 ヶ月 前
コミット
27e408d
100 ファイル変更362 行追加3247 行削除
  1. 47 0
      .changeset/busy-forks-beam.md
  2. 2 2
      .github/workflows/build-and-test.yml
  3. 4 4
      .github/workflows/release.yml
  4. 1 3
      APP.md
  5. 0 69
      FAQ.md
  6. 1 8
      PACKAGES.md
  7. 23 28
      package.json
  8. 9 9
      packages/core/base/package.json
  9. 14 14
      packages/core/react/package.json
  10. 1 1
      packages/core/react/src/__mocks__/MockWalletAdapter.ts
  11. 5 4
      packages/core/react/src/__tests__/WalletProviderBase-test.tsx
  12. 5 4
      packages/core/react/src/__tests__/WalletProviderDesktop-test.tsx
  13. 11 12
      packages/core/react/src/__tests__/WalletProviderMobile-test.tsx
  14. 5 4
      packages/core/react/src/__tests__/useLocalStorage-test.tsx
  15. 10 10
      packages/core/react/src/defineProperty.ts
  16. 0 9
      packages/starter/create-react-app-starter/.editorconfig
  17. 0 25
      packages/starter/create-react-app-starter/.gitignore
  18. 0 4
      packages/starter/create-react-app-starter/.prettierignore
  19. 0 7
      packages/starter/create-react-app-starter/.prettierrc
  20. 0 159
      packages/starter/create-react-app-starter/CHANGELOG.md
  21. 0 202
      packages/starter/create-react-app-starter/LICENSE
  22. 0 46
      packages/starter/create-react-app-starter/README.md
  23. 0 44
      packages/starter/create-react-app-starter/config-overrides.js
  24. 0 79
      packages/starter/create-react-app-starter/package.json
  25. BIN
      packages/starter/create-react-app-starter/public/favicon.ico
  26. 0 43
      packages/starter/create-react-app-starter/public/index.html
  27. BIN
      packages/starter/create-react-app-starter/public/logo192.png
  28. BIN
      packages/starter/create-react-app-starter/public/logo512.png
  29. 0 25
      packages/starter/create-react-app-starter/public/manifest.json
  30. 0 3
      packages/starter/create-react-app-starter/public/robots.txt
  31. 0 6
      packages/starter/create-react-app-starter/src/App.css
  32. 0 62
      packages/starter/create-react-app-starter/src/App.tsx
  33. 0 14
      packages/starter/create-react-app-starter/src/index.css
  34. 0 17
      packages/starter/create-react-app-starter/src/index.tsx
  35. 0 1
      packages/starter/create-react-app-starter/src/react-app-env.d.ts
  36. 0 15
      packages/starter/create-react-app-starter/src/reportWebVitals.ts
  37. 0 5
      packages/starter/create-react-app-starter/src/setupTests.ts
  38. 0 22
      packages/starter/create-react-app-starter/tsconfig.json
  39. 0 3
      packages/starter/example/.eslintrc.json
  40. 3 36
      packages/starter/example/.gitignore
  41. 2 2
      packages/starter/example/.prettierignore
  42. 0 38
      packages/starter/example/README.md
  43. 0 5
      packages/starter/example/next-env.d.ts
  44. 0 24
      packages/starter/example/next.config.js
  45. 25 39
      packages/starter/example/package.json
  46. BIN
      packages/starter/example/public/favicon.ico
  47. 0 4
      packages/starter/example/public/vercel.svg
  48. 12 0
      packages/starter/example/src/App.tsx
  49. 3 10
      packages/starter/example/src/components/ContextProvider.tsx
  50. 2 3
      packages/starter/example/src/components/RequestAirdrop.tsx
  51. 2 3
      packages/starter/example/src/components/SendLegacyTransaction.tsx
  52. 2 3
      packages/starter/example/src/components/SendTransaction.tsx
  53. 2 3
      packages/starter/example/src/components/SendV0Transaction.tsx
  54. 2 3
      packages/starter/example/src/components/SignIn.tsx
  55. 2 3
      packages/starter/example/src/components/SignMessage.tsx
  56. 2 3
      packages/starter/example/src/components/SignTransaction.tsx
  57. 119 0
      packages/starter/example/src/components/Tables.tsx
  58. 0 0
      packages/starter/example/src/components/useNotify.tsx
  59. 27 0
      packages/starter/example/src/index.css
  60. 3 1
      packages/starter/example/src/index.html
  61. 0 0
      packages/starter/example/src/index.tsx
  62. 0 26
      packages/starter/example/src/pages/_app.tsx
  63. 0 210
      packages/starter/example/src/pages/index.tsx
  64. 0 0
      packages/starter/example/src/reset.css
  65. 0 18
      packages/starter/example/src/styles/globals.css
  66. 7 13
      packages/starter/example/tsconfig.json
  67. 0 9
      packages/starter/material-ui-starter/.editorconfig
  68. 0 6
      packages/starter/material-ui-starter/.gitignore
  69. 0 5
      packages/starter/material-ui-starter/.prettierignore
  70. 0 7
      packages/starter/material-ui-starter/.prettierrc
  71. 0 160
      packages/starter/material-ui-starter/CHANGELOG.md
  72. 0 202
      packages/starter/material-ui-starter/LICENSE
  73. 0 50
      packages/starter/material-ui-starter/package.json
  74. 0 69
      packages/starter/material-ui-starter/src/App.tsx
  75. 0 47
      packages/starter/material-ui-starter/src/Theme.tsx
  76. 0 13
      packages/starter/material-ui-starter/src/index.css
  77. 0 16
      packages/starter/material-ui-starter/tsconfig.json
  78. 0 9
      packages/starter/nextjs-starter/.editorconfig
  79. 0 3
      packages/starter/nextjs-starter/.eslintrc.json
  80. 0 39
      packages/starter/nextjs-starter/.gitignore
  81. 0 5
      packages/starter/nextjs-starter/.prettierignore
  82. 0 7
      packages/starter/nextjs-starter/.prettierrc
  83. 0 159
      packages/starter/nextjs-starter/CHANGELOG.md
  84. 0 202
      packages/starter/nextjs-starter/LICENSE
  85. 0 38
      packages/starter/nextjs-starter/README.md
  86. 0 5
      packages/starter/nextjs-starter/next-env.d.ts
  87. 0 4
      packages/starter/nextjs-starter/next.config.js
  88. 0 54
      packages/starter/nextjs-starter/package.json
  89. BIN
      packages/starter/nextjs-starter/public/favicon.ico
  90. 0 4
      packages/starter/nextjs-starter/public/vercel.svg
  91. 0 52
      packages/starter/nextjs-starter/src/pages/_app.tsx
  92. 0 10
      packages/starter/nextjs-starter/src/pages/api/hello.ts
  93. 0 82
      packages/starter/nextjs-starter/src/pages/index.tsx
  94. 0 122
      packages/starter/nextjs-starter/src/styles/Home.module.css
  95. 0 16
      packages/starter/nextjs-starter/src/styles/globals.css
  96. 0 22
      packages/starter/nextjs-starter/tsconfig.json
  97. 9 9
      packages/starter/react-ui-starter/package.json
  98. 0 142
      packages/ui/ant-design/CHANGELOG.md
  99. 0 202
      packages/ui/ant-design/LICENSE
  100. 0 67
      packages/ui/ant-design/README.md

+ 47 - 0
.changeset/busy-forks-beam.md

@@ -0,0 +1,47 @@
+---
+'@solana/wallet-adapter-react-ui-starter': patch
+'@solana/wallet-adapter-unsafe-burner': patch
+'@solana/wallet-adapter-walletconnect': patch
+'@solana/wallet-adapter-tokenpocket': patch
+'@solana/wallet-adapter-mathwallet': patch
+'@solana/wallet-adapter-coinbase': patch
+'@solana/wallet-adapter-hyperpay': patch
+'@solana/wallet-adapter-keystone': patch
+'@solana/wallet-adapter-particle': patch
+'@solana/wallet-adapter-solflare': patch
+'@solana/wallet-adapter-tokenary': patch
+'@solana/wallet-adapter-example': patch
+'@solana/wallet-adapter-bitkeep': patch
+'@solana/wallet-adapter-coinhub': patch
+'@solana/wallet-adapter-fractal': patch
+'@solana/wallet-adapter-krystal': patch
+'@solana/wallet-adapter-nightly': patch
+'@solana/wallet-adapter-phantom': patch
+'@solana/wallet-adapter-safepal': patch
+'@solana/wallet-adapter-wallets': patch
+'@solana/wallet-adapter-bitpie': patch
+'@solana/wallet-adapter-clover': patch
+'@solana/wallet-adapter-coin98': patch
+'@solana/wallet-adapter-ledger': patch
+'@solana/wallet-adapter-salmon': patch
+'@solana/wallet-adapter-solong': patch
+'@solana/wallet-adapter-trezor': patch
+'@solana/wallet-adapter-alpha': patch
+'@solana/wallet-adapter-avana': patch
+'@solana/wallet-adapter-huobi': patch
+'@solana/wallet-adapter-saifu': patch
+'@solana/wallet-adapter-torus': patch
+'@solana/wallet-adapter-trust': patch
+'@solana/wallet-adapter-xdefi': patch
+'@solana/wallet-adapter-neko': patch
+'@solana/wallet-adapter-nufi': patch
+'@solana/wallet-adapter-onto': patch
+'@solana/wallet-adapter-spot': patch
+'@solana/wallet-adapter-react-ui': patch
+'@solana/wallet-adapter-sky': patch
+'@solana/wallet-adapter-react': patch
+'@solana/wallet-adapter-base-ui': patch
+'@solana/wallet-adapter-base': patch
+---
+
+Update dependencies

+ 2 - 2
.github/workflows/build-and-test.yml

@@ -23,14 +23,14 @@ jobs:
         id: install-pnpm
         uses: pnpm/action-setup@v2
         with:
-            version: 9
+            version: 10.8.1
             run_install: false
 
       - name: Install Node.js
         id: install-node
         uses: actions/setup-node@v3
         with:
-            node-version: 18
+            node-version: 22
             cache: 'pnpm'
 
       - name: Get pnpm store directory

+ 4 - 4
.github/workflows/release.yml

@@ -21,16 +21,16 @@ jobs:
 
       - name: Install pnpm
         id: install-pnpm
-        uses: pnpm/action-setup@v2
+        uses: pnpm/action-setup@v4
         with:
-            version: 9
+            version: 10.8.1
             run_install: false
 
       - name: Install Node.js
         id: install-node
-        uses: actions/setup-node@v3
+        uses: actions/setup-node@v4
         with:
-            node-version: 18
+            node-version: 22
             cache: 'pnpm'
 
       - name: Get pnpm store directory

+ 1 - 3
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
 

+ 0 - 69
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,74 +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).
-
-### Material UI (with React)
-Yes, see the [material-ui-starter](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/starter/material-ui-starter) package.
-
-### Ant Design (with React)
-Yes, see the [ant-design](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/core/ant-design) package.
-
-### 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 [...]`

+ 1 - 8
PACKAGES.md

@@ -27,9 +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)       |
-| [ant-design](https://github.com/solana-labs/wallet-adapter/tree/master/packages/ui/ant-design)            | Components for [Ant Design](https://ant.design) with React         | [`@solana/wallet-adapter-ant-design`](https://npmjs.com/package/@solana/wallet-adapter-ant-design)         |
-| [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.
@@ -42,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)             |
@@ -76,12 +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) |
-| [material-ui-starter](https://github.com/solana-labs/wallet-adapter/tree/master/packages/starter/material-ui-starter)           | [Parcel](https://parceljs.org) project using Material UI                | [`@solana/wallet-adapter-material-ui-starter`](https://npmjs.com/package/@solana/wallet-adapter-material-ui-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)                     |

+ 23 - 28
package.json

@@ -5,12 +5,14 @@
     "repository": "https://github.com/anza-xyz/wallet-adapter",
     "license": "Apache-2.0",
     "engines": {
-        "node": ">=20",
-        "pnpm": ">=9"
+        "node": "22",
+        "pnpm": "10.8.1"
     },
+    "packageManager": "pnpm@10.8.1",
     "type": "module",
     "sideEffects": false,
     "scripts": {
+        "corepack": "corepack enable && corepack prepare pnpm@10.8.1 --activate && corepack use pnpm@10.8.1",
         "nuke": "shx rm -rf packages/*/*/node_modules node_modules pnpm-lock.yaml || true",
         "reinstall": "pnpm run nuke && pnpm install",
         "clean": "pnpm --recursive --workspace-concurrency=0 run clean && shx rm -rf **/*.tsbuildinfo",
@@ -25,48 +27,41 @@
         "deploy": "pnpm run deploy:docs && pnpm run deploy:example",
         "docs": "shx rm -rf docs && NODE_OPTIONS=--max_old_space_size=16000 typedoc && shx cp ./{.nojekyll,wallets.png} docs/",
         "deploy:docs": "pnpm run docs && gh-pages --dist docs --dotfiles",
-        "example": "pnpm run --filter {packages/starter/example} export",
-        "deploy:example": "pnpm run example && gh-pages --dist packages/starter/example/out --dest example --dotfiles"
+        "example": "pnpm run --filter {packages/starter/example} deploy",
+        "deploy:example": "pnpm run example && gh-pages --dist packages/starter/example/dist --dest example --dotfiles"
     },
     "devDependencies": {
         "@changesets/cli": "^2.26.1",
         "@parcel/resolver-default": "2.14.4",
-        "@types/node": "^20",
+        "@types/node": "^22.14.1",
         "@typescript-eslint/eslint-plugin": "^5.60.0",
         "@typescript-eslint/parser": "^5.60.0",
         "eslint": "8.22.0",
-        "eslint-config-prettier": "^8.8.0",
-        "eslint-plugin-prettier": "^4.2.1",
-        "eslint-plugin-react": "^7.32.2",
-        "eslint-plugin-react-hooks": "^4.6.0",
+        "eslint-config-prettier": "^10.1.2",
+        "eslint-plugin-prettier": "^5.2.6",
+        "eslint-plugin-react": "^7.37.5",
+        "eslint-plugin-react-hooks": "^5.2.0",
         "eslint-plugin-require-extensions": "^0.1.3",
-        "gh-pages": "^4.0.0",
-        "pnpm": "^9",
-        "prettier": "^2.8.8",
-        "shx": "^0.3.4",
-        "turbo": "^1.13.3",
-        "typedoc": "^0.23.28",
-        "typescript": "~5"
+        "gh-pages": "^6.3.0",
+        "pnpm": "10.8.1",
+        "prettier": "^3.5.3",
+        "shx": "^0.4.0",
+        "turbo": "^2.5.0",
+        "typedoc": "^0.28.2",
+        "typescript": "^5.8.3",
+        "vm-browserify": "^1.1.2"
     },
     "overrides": {
-        "@ledgerhq/devices": "6.27.1",
-        "@ledgerhq/errors": "6.16.3",
-        "@ledgerhq/hw-transport": "6.27.1",
-        "@ledgerhq/hw-transport-webhid": "6.27.1",
         "@solana/wallet-adapter-base": "workspace:^",
-        "@types/web": "npm:typescript@~4.7.4",
         "eslint": "8.22.0",
-        "@ngraveio/bc-ur": "1.1.12"
+        "@ngraveio/bc-ur": "1.1.12",
+        "@types/web": "npm:typescript@^5.8.3"
     },
     "resolutions": {
-        "@ledgerhq/devices": "6.27.1",
-        "@ledgerhq/errors": "6.16.3",
-        "@ledgerhq/hw-transport": "6.27.1",
-        "@ledgerhq/hw-transport-webhid": "6.27.1",
         "@solana/wallet-adapter-base": "workspace:^",
-        "@types/web": "npm:typescript@~4.7.4",
         "eslint": "8.22.0",
-        "@ngraveio/bc-ur": "1.1.12"
+        "@ngraveio/bc-ur": "1.1.12",
+        "@types/web": "npm:typescript@^5.8.3"
     },
     "@parcel/resolver-default": {
         "packageExports": true

+ 9 - 9
packages/core/base/package.json

@@ -13,7 +13,7 @@
         "LICENSE"
     ],
     "engines": {
-        "node": ">=20"
+        "node": "22"
     },
     "type": "module",
     "sideEffects": false,
@@ -32,17 +32,17 @@
         "package": "shx mkdir -p lib/cjs && shx echo '{ \"type\": \"commonjs\" }' > lib/cjs/package.json"
     },
     "peerDependencies": {
-        "@solana/web3.js": "^1.77.3"
+        "@solana/web3.js": "^1.98.0"
     },
     "dependencies": {
-        "@solana/wallet-standard-features": "^1.1.0",
-        "@wallet-standard/base": "^1.0.1",
-        "@wallet-standard/features": "^1.0.3",
-        "eventemitter3": "^4.0.7"
+        "@solana/wallet-standard-features": "^1.3.0",
+        "@wallet-standard/base": "^1.1.0",
+        "@wallet-standard/features": "^1.1.0",
+        "eventemitter3": "^5.0.1"
     },
     "devDependencies": {
-        "@solana/web3.js": "^1.77.3",
-        "@types/node-fetch": "^2.6.4",
-        "shx": "^0.3.4"
+        "@solana/web3.js": "^1.98.0",
+        "@types/node-fetch": "^2.6.12",
+        "shx": "^0.4.0"
     }
 }

+ 14 - 14
packages/core/react/package.json

@@ -13,7 +13,7 @@
         "LICENSE"
     ],
     "engines": {
-        "node": ">=20"
+        "node": "22"
     },
     "type": "module",
     "sideEffects": false,
@@ -33,25 +33,25 @@
         "test": "jest"
     },
     "peerDependencies": {
-        "@solana/web3.js": "^1.77.3",
+        "@solana/web3.js": "^1.98.0",
         "react": "*"
     },
     "dependencies": {
-        "@solana-mobile/wallet-adapter-mobile": "^2.0.0",
+        "@solana-mobile/wallet-adapter-mobile": "^2.1.5",
         "@solana/wallet-adapter-base": "workspace:^",
-        "@solana/wallet-standard-wallet-adapter-react": "^1.1.0"
+        "@solana/wallet-standard-wallet-adapter-react": "^1.1.4"
     },
     "devDependencies": {
-        "@solana/web3.js": "^1.77.3",
-        "@types/jest": "^28.1.8",
-        "@types/react": "^18.2.13",
-        "@types/react-dom": "^18.2.6",
-        "jest": "^28.1.3",
-        "jest-environment-jsdom": "^28.1.3",
+        "@solana/web3.js": "^1.98.0",
+        "@types/jest": "^29.5.14",
+        "@types/react": "^18.3.19",
+        "@types/react-dom": "^18.3.6",
+        "jest": "^29.7.0",
+        "jest-environment-jsdom": "^29.7.0",
         "jest-localstorage-mock": "^2.4.26",
-        "react": "^18.2.0",
-        "react-dom": "^18.2.0",
-        "shx": "^0.3.4",
-        "ts-jest": "^28.0.8"
+        "react": "^18.3.1",
+        "react-dom": "^18.3.1",
+        "shx": "^0.4.0",
+        "ts-jest": "^29.3.2"
     }
 }

+ 1 - 1
packages/core/react/src/__mocks__/MockWalletAdapter.ts

@@ -1,5 +1,5 @@
 import { BaseWalletAdapter, WalletReadyState } from '@solana/wallet-adapter-base';
-import { act } from 'react-dom/test-utils';
+import { act } from 'react';
 
 export abstract class MockWalletAdapter extends BaseWalletAdapter {
     connectedValue = false;

+ 5 - 4
packages/core/react/src/__tests__/WalletProviderBase-test.tsx

@@ -13,9 +13,8 @@ import {
     WalletReadyState,
 } from '@solana/wallet-adapter-base';
 import { PublicKey } from '@solana/web3.js';
-import React, { createRef, forwardRef, useImperativeHandle } from 'react';
+import React, { act, createRef, forwardRef, useImperativeHandle } from 'react';
 import { createRoot } from 'react-dom/client';
-import { act } from 'react-dom/test-utils';
 import { useWallet, type WalletContextState } from '../useWallet.js';
 import { WalletProviderBase, type WalletProviderBaseProps } from '../WalletProviderBase.js';
 
@@ -38,7 +37,7 @@ const TestComponent = forwardRef(function TestComponentImpl(_props, ref) {
 });
 
 describe('WalletProviderBase', () => {
-    let ref: React.RefObject<TestRefType>;
+    let ref: React.RefObject<TestRefType | null>;
     let root: ReturnType<typeof createRoot>;
     let container: HTMLElement;
     let fooWalletAdapter: MockWalletAdapter;
@@ -138,7 +137,9 @@ describe('WalletProviderBase', () => {
     });
     afterEach(() => {
         if (root) {
-            root.unmount();
+            act(() => {
+                root.unmount();
+            });
         }
     });
     describe('given a selected wallet', () => {

+ 5 - 4
packages/core/react/src/__tests__/WalletProviderDesktop-test.tsx

@@ -12,9 +12,8 @@ import {
 import { type Adapter, WalletError, type WalletName, WalletReadyState } from '@solana/wallet-adapter-base';
 import { PublicKey } from '@solana/web3.js';
 import 'jest-localstorage-mock';
-import React, { createRef, forwardRef, useImperativeHandle } from 'react';
+import React, { act, createRef, forwardRef, useImperativeHandle } from 'react';
 import { createRoot } from 'react-dom/client';
-import { act } from 'react-dom/test-utils';
 import { MockWalletAdapter } from '../__mocks__/MockWalletAdapter.js';
 import { useWallet, type WalletContextState } from '../useWallet.js';
 import { WalletProvider, type WalletProviderProps } from '../WalletProvider.js';
@@ -54,7 +53,7 @@ const WALLET_NAME_CACHE_KEY = 'cachedWallet';
  * a solution, please do send a PR.
  */
 describe('WalletProvider when the environment is `DESKTOP_WEB`', () => {
-    let ref: React.RefObject<TestRefType>;
+    let ref: React.RefObject<TestRefType | null>;
     let root: ReturnType<typeof createRoot>;
     let container: HTMLElement;
     let fooWalletAdapter: MockWalletAdapter;
@@ -89,7 +88,9 @@ describe('WalletProvider when the environment is `DESKTOP_WEB`', () => {
     });
     afterEach(() => {
         if (root) {
-            root.unmount();
+            act(() => {
+                root.unmount();
+            });
         }
     });
     describe('given a selected wallet', () => {

+ 11 - 12
packages/core/react/src/__tests__/WalletProviderMobile-test.tsx

@@ -10,21 +10,15 @@ import {
     SolanaMobileWalletAdapter,
     SolanaMobileWalletAdapterWalletName,
 } from '@solana-mobile/wallet-adapter-mobile';
-import {
-    type Adapter,
-    WalletError,
-    type WalletName,
-    WalletReadyState,
-} from '@solana/wallet-adapter-base';
+import { type Adapter, WalletError, type WalletName, WalletReadyState } from '@solana/wallet-adapter-base';
 import { type Connection, PublicKey } from '@solana/web3.js';
 import 'jest-localstorage-mock';
-import React, { createRef, forwardRef, useImperativeHandle } from 'react';
+import React, { act, createRef, forwardRef, useImperativeHandle } from 'react';
 import { createRoot } from 'react-dom/client';
-import { act } from 'react-dom/test-utils';
+import { MockWalletAdapter } from '../__mocks__/MockWalletAdapter.js';
 import { useConnection } from '../useConnection.js';
 import { useWallet, type WalletContextState } from '../useWallet.js';
 import { WalletProvider, type WalletProviderProps } from '../WalletProvider.js';
-import { MockWalletAdapter } from '../__mocks__/MockWalletAdapter.js';
 
 jest.mock('../getEnvironment.js', () => ({
     ...jest.requireActual('../getEnvironment.js'),
@@ -74,7 +68,7 @@ const WALLET_NAME_CACHE_KEY = 'cachedWallet';
  * a solution, please do send a PR.
  */
 describe('WalletProvider when the environment is `MOBILE_WEB`', () => {
-    let ref: React.RefObject<TestRefType>;
+    let ref: React.RefObject<TestRefType | null>;
     let root: ReturnType<typeof createRoot>;
     let container: HTMLElement;
     let fooWalletAdapter: MockWalletAdapter;
@@ -114,7 +108,9 @@ describe('WalletProvider when the environment is `MOBILE_WEB`', () => {
     });
     afterEach(() => {
         if (root) {
-            root.unmount();
+            act(() => {
+                root.unmount();
+            });
         }
     });
     describe('given a selected wallet', () => {
@@ -168,6 +164,7 @@ describe('WalletProvider when the environment is `MOBILE_WEB`', () => {
         it('creates a new mobile wallet adapter with the appropriate cluster for the given endpoint', () => {
             renderTest({});
             expect(jest.mocked(SolanaMobileWalletAdapter).mock.instances).toHaveLength(1);
+            // @ts-expect-error // HACK: SolanaMobileWalletAdapter has a `cluster` property but it's not declared.
             expect(jest.mocked(SolanaMobileWalletAdapter).mock.calls[0][0].cluster).toBe('fake-cluster-for-test');
         });
     });
@@ -370,7 +367,9 @@ describe('WalletProvider when the environment is `MOBILE_WEB`', () => {
             describe('once disconnected', () => {
                 beforeEach(async () => {
                     jest.clearAllMocks();
-                    ref.current?.getWalletContextState().disconnect();
+                    act(() => {
+                        ref.current?.getWalletContextState().disconnect();
+                    });
                     await Promise.resolve(); // Flush all promises in effects after calling `disconnect()`.
                 });
                 it('should clear the stored wallet name', () => {

+ 5 - 4
packages/core/react/src/__tests__/useLocalStorage-test.tsx

@@ -5,9 +5,8 @@
 'use strict';
 
 import 'jest-localstorage-mock';
-import React, { createRef, forwardRef, useImperativeHandle } from 'react';
+import React, { act, createRef, forwardRef, useImperativeHandle } from 'react';
 import { createRoot } from 'react-dom/client';
-import { act } from 'react-dom/test-utils';
 import { useLocalStorage } from '../useLocalStorage.js';
 
 type TestRefType = {
@@ -59,7 +58,7 @@ const TestComponent = forwardRef(function TestComponentImpl(_props, ref) {
 describe('useLocalStorage', () => {
     let container: HTMLDivElement | null;
     let root: ReturnType<typeof createRoot>;
-    let ref: React.RefObject<TestRefType>;
+    let ref: React.RefObject<TestRefType | null>;
     function renderTest() {
         act(() => {
             root.render(<TestComponent ref={ref} />);
@@ -75,7 +74,9 @@ describe('useLocalStorage', () => {
     });
     afterEach(() => {
         if (root) {
-            root.unmount();
+            act(() => {
+                root.unmount();
+            });
         }
     });
     describe('getting the persisted value', () => {

+ 10 - 10
packages/core/react/src/defineProperty.ts

@@ -1,10 +1,10 @@
 type InferValue<Prop extends PropertyKey, Desc> = Desc extends { get(): any; value: any }
     ? never
     : Desc extends { value: infer T }
-    ? Record<Prop, T>
-    : Desc extends { get(): infer T }
-    ? Record<Prop, T>
-    : never;
+      ? Record<Prop, T>
+      : Desc extends { get(): infer T }
+        ? Record<Prop, T>
+        : never;
 
 type DefineProperty<Prop extends PropertyKey, Desc extends PropertyDescriptor> = Desc extends {
     writable: any;
@@ -12,12 +12,12 @@ type DefineProperty<Prop extends PropertyKey, Desc extends PropertyDescriptor> =
 }
     ? never
     : Desc extends { writable: any; get(): any }
-    ? never
-    : Desc extends { writable: false }
-    ? Readonly<InferValue<Prop, Desc>>
-    : Desc extends { writable: true }
-    ? InferValue<Prop, Desc>
-    : Readonly<InferValue<Prop, Desc>>;
+      ? never
+      : Desc extends { writable: false }
+        ? Readonly<InferValue<Prop, Desc>>
+        : Desc extends { writable: true }
+          ? InferValue<Prop, Desc>
+          : Readonly<InferValue<Prop, Desc>>;
 
 export default function defineProperty<Obj extends object, Key extends PropertyKey, PDesc extends PropertyDescriptor>(
     obj: Obj,

+ 0 - 9
packages/starter/create-react-app-starter/.editorconfig

@@ -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

+ 0 - 25
packages/starter/create-react-app-starter/.gitignore

@@ -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

+ 0 - 4
packages/starter/create-react-app-starter/.prettierignore

@@ -1,4 +0,0 @@
-/build
-/lib
-/node_modules
-

+ 0 - 7
packages/starter/create-react-app-starter/.prettierrc

@@ -1,7 +0,0 @@
-{
-    "printWidth": 120,
-    "trailingComma": "es5",
-    "tabWidth": 4,
-    "semi": true,
-    "singleQuote": true
-}

+ 0 - 159
packages/starter/create-react-app-starter/CHANGELOG.md

@@ -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

+ 0 - 202
packages/starter/create-react-app-starter/LICENSE

@@ -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.

+ 0 - 46
packages/starter/create-react-app-starter/README.md

@@ -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/).

+ 0 - 44
packages/starter/create-react-app-starter/config-overrides.js

@@ -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/],
-    };
-};

+ 0 - 79
packages/starter/create-react-app-starter/package.json

@@ -1,79 +0,0 @@
-{
-    "name": "@solana/wallet-adapter-create-react-app-starter",
-    "version": "0.1.32",
-    "author": "Solana Maintainers <maintainers@solana.foundation>",
-    "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",
-        "test": "CI=true react-app-rewired test --passWithNoTests",
-        "test:watch": "react-app-rewired test --passWithNoTests",
-        "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.77.3",
-        "react": "^18.2.0",
-        "react-app-rewired": "^2.2.1",
-        "react-dom": "^18.2.0",
-        "react-scripts": "5.0.1",
-        "web-vitals": "^2.1.4"
-    },
-    "devDependencies": {
-        "@testing-library/jest-dom": "^5.16.5",
-        "@testing-library/react": "^13.4.0",
-        "@testing-library/user-event": "^14.4.3",
-        "@types/jest": "^28.1.8",
-        "@types/react": "^18.2.13",
-        "@types/react-dom": "^18.2.6",
-        "@types/testing-library__jest-dom": "^5.14.6",
-        "browserify-zlib": "^0.2.0",
-        "crypto-browserify": "^3.12.0",
-        "https-browserify": "^1.0.0",
-        "process": "^0.11.10",
-        "shx": "^0.3.4",
-        "source-map-loader": "^4.0.1",
-        "stream-browserify": "^3.0.0",
-        "stream-http": "^3.2.0",
-        "typescript": "~5",
-        "url": "^0.11.1",
-        "webpack": "^5.88.0"
-    },
-    "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"
-        ]
-    }
-}

BIN
packages/starter/create-react-app-starter/public/favicon.ico


+ 0 - 43
packages/starter/create-react-app-starter/public/index.html

@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8" />
-    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
-    <meta name="viewport" content="width=device-width, initial-scale=1" />
-    <meta name="theme-color" content="#000000" />
-    <meta
-      name="description"
-      content="Web site created using create-react-app"
-    />
-    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
-    <!--
-      manifest.json provides metadata used when your web app is installed on a
-      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-    -->
-    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
-    <!--
-      Notice the use of %PUBLIC_URL% in the tags above.
-      It will be replaced with the URL of the `public` folder during the build.
-      Only files inside the `public` folder can be referenced from the HTML.
-
-      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
-      work correctly both with client-side routing and a non-root public URL.
-      Learn how to configure a non-root public URL by running `npm run build`.
-    -->
-    <title>React App</title>
-  </head>
-  <body>
-    <noscript>You need to enable JavaScript to run this app.</noscript>
-    <div id="root"></div>
-    <!--
-      This HTML file is a template.
-      If you open it directly in the browser, you will see an empty page.
-
-      You can add webfonts, meta tags, or analytics to this file.
-      The build step will place the bundled scripts into the <body> tag.
-
-      To begin the development, run `npm start` or `yarn start`.
-      To create a production bundle, use `npm run build` or `yarn build`.
-    -->
-  </body>
-</html>

BIN
packages/starter/create-react-app-starter/public/logo192.png


BIN
packages/starter/create-react-app-starter/public/logo512.png


+ 0 - 25
packages/starter/create-react-app-starter/public/manifest.json

@@ -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"
-}

+ 0 - 3
packages/starter/create-react-app-starter/public/robots.txt

@@ -1,3 +0,0 @@
-# https://www.robotstxt.org/robotstxt.html
-User-agent: *
-Disallow:

+ 0 - 6
packages/starter/create-react-app-starter/src/App.css

@@ -1,6 +0,0 @@
-.App {
-  min-height: 100vh;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}

+ 0 - 62
packages/starter/create-react-app-starter/src/App.tsx

@@ -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 (
-        <Context>
-            <Content />
-        </Context>
-    );
-};
-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 (
-        <ConnectionProvider endpoint={endpoint}>
-            <WalletProvider wallets={wallets} autoConnect>
-                <WalletModalProvider>{children}</WalletModalProvider>
-            </WalletProvider>
-        </ConnectionProvider>
-    );
-};
-
-const Content: FC = () => {
-    return (
-        <div className="App">
-            <WalletMultiButton />
-        </div>
-    );
-};

+ 0 - 14
packages/starter/create-react-app-starter/src/index.css

@@ -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;
-}

+ 0 - 17
packages/starter/create-react-app-starter/src/index.tsx

@@ -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(
-    <React.StrictMode>
-        <App />
-    </React.StrictMode>,
-    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();

+ 0 - 1
packages/starter/create-react-app-starter/src/react-app-env.d.ts

@@ -1 +0,0 @@
-/// <reference types="react-scripts" />

+ 0 - 15
packages/starter/create-react-app-starter/src/reportWebVitals.ts

@@ -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;

+ 0 - 5
packages/starter/create-react-app-starter/src/setupTests.ts

@@ -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';

+ 0 - 22
packages/starter/create-react-app-starter/tsconfig.json

@@ -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"
-    }
-}

+ 0 - 3
packages/starter/example/.eslintrc.json

@@ -1,3 +0,0 @@
-{
-    "extends": "next/core-web-vitals"
-}

+ 3 - 36
packages/starter/example/.gitignore

@@ -1,39 +1,6 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
+/.parcel-cache
+/dist
+/lib
 /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

+ 2 - 2
packages/starter/example/.prettierignore

@@ -1,5 +1,5 @@
-/.next
-/.swc
+/.parcel-cache
+/dist
 /lib
 /node_modules
 

+ 0 - 38
packages/starter/example/README.md

@@ -1,38 +0,0 @@
-# `@solana/wallet-adapter-example`
-
-<!-- @TODO -->
-
-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.

+ 0 - 5
packages/starter/example/next-env.d.ts

@@ -1,5 +0,0 @@
-/// <reference types="next" />
-/// <reference types="next/image-types/global" />
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.

+ 0 - 24
packages/starter/example/next.config.js

@@ -1,24 +0,0 @@
-/* eslint-disable @typescript-eslint/no-var-requires */
-const withAntdLess = require('next-plugin-antd-less');
-const { PHASE_PRODUCTION_BUILD } = require('next/constants');
-
-const COLORS = {
-    GREY: '#303030',
-    PURPLE: '#512da8',
-};
-
-module.exports = function (phase, { defaultConfig }) {
-    // See https://github.com/SolidZORO/next-plugin-antd-less
-    const config = withAntdLess({
-        // Note this produces an unnecessary warning:
-        // 'The root value has an unexpected property, modifyVars'
-        // See https://github.com/SolidZORO/next-plugin-antd-less/issues/105
-        modifyVars: {
-            '@background': COLORS.GREY,
-            '@primary-color': COLORS.PURPLE,
-        },
-        basePath: phase === PHASE_PRODUCTION_BUILD ? '/wallet-adapter/example' : '',
-    });
-
-    return config;
-};

+ 25 - 39
packages/starter/example/package.json

@@ -8,64 +8,50 @@
         "access": "public"
     },
     "files": [
-        "public",
         "src",
         ".editorconfig",
-        ".eslintrc.json",
+        ".env",
         ".gitignore",
         ".prettierignore",
         ".prettierrc",
         "LICENSE",
-        "next.config.js",
-        "next-env.d.ts",
         "package.json",
-        "README.md",
         "tsconfig.json"
     ],
-    "engines": {
-        "node": ">=20"
-    },
     "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",
-        "export": "next export"
+        "build": "tsc --build --verbose && parcel build src/index.html",
+        "deploy": "tsc --build --verbose && parcel build --public-url /wallet-adapter/example src/index.html",
+        "clean": "shx mkdir -p .parcel-cache dist lib && shx rm -rf .parcel-cache dist lib",
+        "lint": "prettier --check 'src/{*,**/*}.{ts,tsx,js,jsx,json}' && eslint",
+        "start": "parcel src/index.html"
     },
     "dependencies": {
-        "@ant-design/icons": "^4.8.0",
-        "@emotion/react": "^11.11.1",
-        "@emotion/styled": "^11.11.0",
+        "@emotion/react": "^11.14.0",
+        "@emotion/styled": "^11.14.0",
         "@mui/icons-material": "^5.11.16",
         "@mui/material": "^5.13.5",
-        "@noble/curves": "^1.1.0",
-        "@solana/wallet-adapter-ant-design": "workspace:^",
+        "@noble/curves": "^1.8.1",
         "@solana/wallet-adapter-base": "workspace:^",
-        "@solana/wallet-adapter-material-ui": "workspace:^",
         "@solana/wallet-adapter-react": "workspace:^",
         "@solana/wallet-adapter-react-ui": "workspace:^",
         "@solana/wallet-adapter-wallets": "workspace:^",
-        "@solana/wallet-standard-features": "^1.1.0",
-        "@solana/wallet-standard-util": "^1.1.0",
-        "@solana/web3.js": "^1.77.3",
-        "antd": "^4.24.10",
-        "bs58": "^4.0.1",
-        "next": "^12.3.4",
-        "notistack": "^3.0.1",
-        "react": "^18.2.0",
-        "react-dom": "^18.2.0"
+        "@solana/wallet-standard-features": "^1.3.0",
+        "@solana/wallet-standard-util": "^1.1.2",
+        "@solana/web3.js": "^1.98.0",
+        "bs58": "^6.0.0",
+        "next": "^15.3.0",
+        "notistack": "^3.0.2",
+        "react": "^18.3.1",
+        "react-dom": "^18.3.1"
     },
     "devDependencies": {
-        "@types/bs58": "^4.0.1",
-        "@types/node-fetch": "^2.6.4",
-        "@types/react": "^18.2.13",
-        "@types/react-dom": "^18.2.6",
-        "eslint": "8.22.0",
-        "eslint-config-next": "^12.3.4",
-        "next-plugin-antd-less": "^1.8.0",
-        "prettier": "^2.8.8",
-        "shx": "^0.3.4",
-        "typescript": "~5"
+        "@types/node-fetch": "^2.6.12",
+        "@types/react": "^18.3.19",
+        "@types/react-dom": "^18.3.6",
+        "parcel": "^2.14.4",
+        "prettier": "^3.5.3",
+        "process": "^0.11.10",
+        "shx": "^0.4.0",
+        "typescript": "^5.8.3"
     }
 }

BIN
packages/starter/example/public/favicon.ico


+ 0 - 4
packages/starter/example/public/vercel.svg

@@ -1,4 +0,0 @@
-<svg width="283" height="64" viewBox="0 0 283 64" fill="none" 
-    xmlns="http://www.w3.org/2000/svg">
-    <path d="M141.04 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM248.72 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.45 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM200.24 34c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10zm82.48-29v46h-9V5h9zM36.95 0L73.9 64H0L36.95 0zm92.38 5l-27.71 48L73.91 5H84.3l17.32 30 17.32-30h10.39zm58.91 12v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10V51h-9V17h9v9.2c0-5.08 5.91-9.2 13.2-9.2z" fill="#000"/>
-</svg>

+ 12 - 0
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 (
+        <ContextProvider>
+            <Tables />
+        </ContextProvider>
+    );
+};

+ 3 - 10
packages/starter/example/src/components/ContextProvider.tsx

@@ -1,18 +1,15 @@
 import { createTheme, StyledEngineProvider, ThemeProvider } from '@mui/material';
 import { deepPurple, pink } from '@mui/material/colors';
-import { WalletModalProvider as AntDesignWalletModalProvider } from '@solana/wallet-adapter-ant-design';
 import type { Adapter, WalletError } from '@solana/wallet-adapter-base';
 import { WalletAdapterNetwork } from '@solana/wallet-adapter-base';
-import { WalletDialogProvider as MaterialUIWalletDialogProvider } from '@solana/wallet-adapter-material-ui';
 import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
-import { WalletModalProvider as ReactUIWalletModalProvider } from '@solana/wallet-adapter-react-ui';
+import { WalletModalProvider } from '@solana/wallet-adapter-react-ui';
 import { UnsafeBurnerWalletAdapter } from '@solana/wallet-adapter-wallets';
 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({
@@ -106,11 +103,7 @@ const WalletContextProvider: FC<{ children: ReactNode }> = ({ children }) => {
     return (
         <ConnectionProvider endpoint={endpoint}>
             <WalletProvider wallets={wallets} onError={onError} autoConnect={autoConnect && autoSignIn}>
-                <MaterialUIWalletDialogProvider>
-                    <AntDesignWalletModalProvider>
-                        <ReactUIWalletModalProvider>{children}</ReactUIWalletModalProvider>
-                    </AntDesignWalletModalProvider>
-                </MaterialUIWalletDialogProvider>
+                <WalletModalProvider>{children}</WalletModalProvider>
             </WalletProvider>
         </ConnectionProvider>
     );

+ 2 - 3
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();

+ 2 - 3
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();

+ 2 - 3
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();

+ 2 - 3
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();

+ 2 - 3
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();

+ 2 - 3
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();

+ 2 - 3
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();

+ 119 - 0
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 (
+        <>
+            <Table>
+                <TableHead>
+                    <TableRow>
+                        <TableCell width={240}>Component</TableCell>
+                        <TableCell width={240}>React UI</TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                </TableHead>
+                <TableBody>
+                    <TableRow>
+                        <TableCell>Connect Button</TableCell>
+                        <TableCell>
+                            <WalletConnectButton />
+                        </TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                    <TableRow>
+                        <TableCell>Disconnect Button</TableCell>
+                        <TableCell>
+                            <WalletDisconnectButton />
+                        </TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                    <TableRow>
+                        <TableCell>Dialog/Modal Button</TableCell>
+                        <TableCell>
+                            <WalletModalButton />
+                        </TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                    <TableRow>
+                        <TableCell>Multi Button</TableCell>
+                        <TableCell>
+                            <WalletMultiButton />
+                        </TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                </TableBody>
+            </Table>
+            <Table>
+                <TableHead>
+                    <TableRow>
+                        <TableCell width={240}>Example v{pkg.version}</TableCell>
+                        <TableCell width={240}>
+                            <Tooltip title="Only runs if the wallet is ready to connect" placement="left">
+                                <FormControlLabel
+                                    control={
+                                        <Switch
+                                            name="autoConnect"
+                                            color="secondary"
+                                            checked={autoConnect}
+                                            onChange={(event, checked) => setAutoConnect(checked)}
+                                        />
+                                    }
+                                    label="AutoConnect"
+                                />
+                            </Tooltip>
+                        </TableCell>
+                        <TableCell width={240}>
+                            <RequestAirdrop />
+                        </TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                </TableHead>
+                <TableBody>
+                    <TableRow>
+                        <TableCell>
+                            <SignMessage />
+                        </TableCell>
+                        <TableCell>
+                            <SignIn />
+                        </TableCell>
+                        <TableCell>
+                            <SignTransaction />
+                        </TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                    <TableRow>
+                        <TableCell>
+                            <SendTransaction />
+                        </TableCell>
+                        <TableCell>
+                            <SendLegacyTransaction />
+                        </TableCell>
+                        <TableCell>
+                            <SendV0Transaction />
+                        </TableCell>
+                        <TableCell></TableCell>
+                    </TableRow>
+                </TableBody>
+            </Table>
+        </>
+    );
+};

+ 0 - 0
packages/starter/example/src/components/notify.tsx → packages/starter/example/src/components/useNotify.tsx


+ 27 - 0
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;
+}

+ 3 - 1
packages/starter/material-ui-starter/src/index.html → packages/starter/example/src/index.html

@@ -3,7 +3,9 @@
     <head>
         <meta charset="utf-8" />
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
-        <title>WalletAdapter Starter</title>
+        <title>Wallet Adapter Example</title>
+        <!-- Default styles that can be overridden by your app -->
+        <link rel="stylesheet" href="npm:@solana/wallet-adapter-react-ui/styles.css" />
         <link rel="stylesheet" href="index.css" />
     </head>
     <body>

+ 0 - 0
packages/starter/material-ui-starter/src/index.tsx → packages/starter/example/src/index.tsx


+ 0 - 26
packages/starter/example/src/pages/_app.tsx

@@ -1,26 +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('antd/dist/antd.dark.less');
-require('@solana/wallet-adapter-ant-design/styles.css');
-require('@solana/wallet-adapter-react-ui/styles.css');
-require('../styles/globals.css');
-
-const App: FC<AppProps> = ({ Component, pageProps }) => {
-    return (
-        <>
-            <Head>
-                <title>@solana/wallet-adapter Example</title>
-            </Head>
-            <ContextProvider>
-                <Component {...pageProps} />
-            </ContextProvider>
-        </>
-    );
-};
-
-export default App;

+ 0 - 210
packages/starter/example/src/pages/index.tsx

@@ -1,210 +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 AntDesignWalletConnectButtonDynamic = dynamic(
-    async () => (await import('@solana/wallet-adapter-ant-design')).WalletConnectButton,
-    { ssr: false }
-);
-const AntDesignWalletDisconnectButtonDynamic = dynamic(
-    async () => (await import('@solana/wallet-adapter-ant-design')).WalletDisconnectButton,
-    { ssr: false }
-);
-const AntDesignWalletMultiButtonDynamic = dynamic(
-    async () => (await import('@solana/wallet-adapter-ant-design')).WalletMultiButton,
-    { ssr: false }
-);
-const AntDesignWalletModalButtonDynamic = dynamic(
-    async () => (await import('@solana/wallet-adapter-ant-design')).WalletModalButton,
-    { ssr: false }
-);
-
-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 (
-        <>
-            <Table>
-                <TableHead>
-                    <TableRow>
-                        <TableCell width={240}>Component</TableCell>
-                        <TableCell width={240}>Material UI</TableCell>
-                        <TableCell width={240}>Ant Design</TableCell>
-                        <TableCell width={240}>React UI</TableCell>
-                        <TableCell></TableCell>
-                    </TableRow>
-                </TableHead>
-                <TableBody>
-                    <TableRow>
-                        <TableCell>Connect Button</TableCell>
-                        <TableCell>
-                            <MaterialUIWalletConnectButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <AntDesignWalletConnectButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <ReactUIWalletConnectButtonDynamic />
-                        </TableCell>
-                        <TableCell></TableCell>
-                    </TableRow>
-                    <TableRow>
-                        <TableCell>Disconnect Button</TableCell>
-                        <TableCell>
-                            <MaterialUIWalletDisconnectButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <AntDesignWalletDisconnectButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <ReactUIWalletDisconnectButtonDynamic />
-                        </TableCell>
-                        <TableCell></TableCell>
-                    </TableRow>
-                    <TableRow>
-                        <TableCell>Dialog/Modal Button</TableCell>
-                        <TableCell>
-                            <MaterialUIWalletDialogButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <AntDesignWalletModalButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <ReactUIWalletModalButtonDynamic />
-                        </TableCell>
-                        <TableCell></TableCell>
-                    </TableRow>
-                    <TableRow>
-                        <TableCell>Multi Button</TableCell>
-                        <TableCell>
-                            <MaterialUIWalletMultiButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <AntDesignWalletMultiButtonDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <ReactUIWalletMultiButtonDynamic />
-                        </TableCell>
-                        <TableCell></TableCell>
-                    </TableRow>
-                </TableBody>
-            </Table>
-            <br />
-            <br />
-            <Table>
-                <TableHead>
-                    <TableRow>
-                        <TableCell width={240}>Example v{pkg.version}</TableCell>
-                        <TableCell width={240}></TableCell>
-                        <TableCell width={240}></TableCell>
-                        <TableCell width={240}></TableCell>
-                        <TableCell></TableCell>
-                    </TableRow>
-                </TableHead>
-                <TableBody>
-                    <TableRow>
-                        <TableCell>
-                            <Tooltip title="Only runs if the wallet is ready to connect" placement="left">
-                                <FormControlLabel
-                                    control={
-                                        <Switch
-                                            name="autoConnect"
-                                            color="secondary"
-                                            checked={autoConnect}
-                                            onChange={(event, checked) => setAutoConnect(checked)}
-                                        />
-                                    }
-                                    label="AutoConnect"
-                                />
-                            </Tooltip>
-                        </TableCell>
-                        <TableCell>
-                            <RequestAirdropDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <SignTransactionDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <SignMessageDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <SignInDynamic />
-                        </TableCell>
-                    </TableRow>
-                    <TableRow>
-                        <TableCell></TableCell>
-                        <TableCell>
-                            <SendTransactionDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <SendLegacyTransactionDynamic />
-                        </TableCell>
-                        <TableCell>
-                            <SendV0TransactionDynamic />
-                        </TableCell>
-                        <TableCell></TableCell>
-                    </TableRow>
-                </TableBody>
-            </Table>
-        </>
-    );
-};
-
-export default Index;

+ 0 - 0
packages/starter/material-ui-starter/src/reset.css → packages/starter/example/src/reset.css


+ 0 - 18
packages/starter/example/src/styles/globals.css

@@ -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;
-}

+ 7 - 13
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
+    }
 }

+ 0 - 9
packages/starter/material-ui-starter/.editorconfig

@@ -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

+ 0 - 6
packages/starter/material-ui-starter/.gitignore

@@ -1,6 +0,0 @@
-/.parcel-cache
-/dist
-/lib
-/node_modules
-
-.DS_Store

+ 0 - 5
packages/starter/material-ui-starter/.prettierignore

@@ -1,5 +0,0 @@
-/.parcel-cache
-/dist
-/lib
-/node_modules
-

+ 0 - 7
packages/starter/material-ui-starter/.prettierrc

@@ -1,7 +0,0 @@
-{
-    "printWidth": 120,
-    "trailingComma": "es5",
-    "tabWidth": 4,
-    "semi": true,
-    "singleQuote": true
-}

+ 0 - 160
packages/starter/material-ui-starter/CHANGELOG.md

@@ -1,160 +0,0 @@
-# @solana/wallet-adapter-material-ui-starter
-
-## 0.13.34
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.34
-
-## 0.13.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-material-ui@0.16.35
-    -   @solana/wallet-adapter-base@0.9.24
-
-## 0.13.32
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.32
-
-## 0.13.31
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.31
-
-## 0.13.30
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.30
-
-## 0.13.29
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.29
-
-## 0.13.28
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.28
-
-## 0.13.27
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.27
-
-## 0.13.26
-
-### Patch Changes
-
--   Updated dependencies [cb29215]
-    -   @solana/wallet-adapter-material-ui@0.16.34
-    -   @solana/wallet-adapter-wallets@0.19.26
-
-## 0.13.25
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.25
-
-## 0.13.24
-
-### Patch Changes
-
--   Updated dependencies [46f06e72]
-    -   @solana/wallet-adapter-wallets@0.19.24
-
-## 0.13.23
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.23
-
-## 0.13.22
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.22
-
-## 0.13.21
-
-### Patch Changes
-
--   Updated dependencies [bdc0eff]
-    -   @solana/wallet-adapter-wallets@0.19.21
-    -   @solana/wallet-adapter-react@0.15.35
-    -   @solana/wallet-adapter-material-ui@0.16.33
-
-## 0.13.20
-
-### Patch Changes
-
--   a3d35a1: Add `signIn` (Sign In With Solana) method
--   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-material-ui@0.16.32
-
-## 0.13.19
-
-### Patch Changes
-
--   Updated dependencies [7b06737]
--   Updated dependencies [ba57f75]
--   Updated dependencies [7c6f2e1]
-    -   @solana/wallet-adapter-material-ui@0.16.31
-    -   @solana/wallet-adapter-react@0.15.33
-    -   @solana/wallet-adapter-wallets@0.19.19
-
-## 0.13.18
-
-### Patch Changes
-
--   @solana/wallet-adapter-wallets@0.19.18
-
-## 0.13.17
-
-### Patch Changes
-
--   8a8fdc72: Update dependencies
--   Updated dependencies [8a8fdc72]
-    -   @solana/wallet-adapter-wallets@0.19.15
-    -   @solana/wallet-adapter-material-ui@0.16.28
-    -   @solana/wallet-adapter-react@0.15.30
-    -   @solana/wallet-adapter-base@0.9.22
-
-## 0.13.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-material-ui@0.16.22
-    -   @solana/wallet-adapter-wallets@0.19.9
-
-## 0.13.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-material-ui@0.16.18

+ 0 - 202
packages/starter/material-ui-starter/LICENSE

@@ -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.

+ 0 - 50
packages/starter/material-ui-starter/package.json

@@ -1,50 +0,0 @@
-{
-    "name": "@solana/wallet-adapter-material-ui-starter",
-    "version": "0.13.34",
-    "author": "Solana Maintainers <maintainers@solana.foundation>",
-    "repository": "https://github.com/anza-xyz/wallet-adapter",
-    "license": "Apache-2.0",
-    "publishConfig": {
-        "access": "public"
-    },
-    "files": [
-        "src",
-        ".editorconfig",
-        ".env",
-        ".gitignore",
-        ".prettierignore",
-        ".prettierrc",
-        "LICENSE",
-        "package.json",
-        "tsconfig.json"
-    ],
-    "scripts": {
-        "build": "tsc --build --verbose && parcel build src/index.html",
-        "clean": "shx mkdir -p .parcel-cache dist lib && shx rm -rf .parcel-cache dist lib",
-        "lint": "prettier --check 'src/{*,**/*}.{ts,tsx,js,jsx,json}' && eslint",
-        "start": "parcel src/index.html"
-    },
-    "dependencies": {
-        "@emotion/react": "^11.11.1",
-        "@emotion/styled": "^11.11.0",
-        "@mui/icons-material": "^5.11.16",
-        "@mui/material": "^5.13.5",
-        "@solana/wallet-adapter-base": "workspace:^",
-        "@solana/wallet-adapter-material-ui": "workspace:^",
-        "@solana/wallet-adapter-react": "workspace:^",
-        "@solana/wallet-adapter-wallets": "workspace:^",
-        "@solana/web3.js": "^1.77.3",
-        "notistack": "^3.0.1",
-        "react": "^18.2.0",
-        "react-dom": "^18.2.0"
-    },
-    "devDependencies": {
-        "@types/react": "^18.2.13",
-        "@types/react-dom": "^18.2.6",
-        "parcel": "^2.9.2",
-        "prettier": "^2.8.8",
-        "process": "^0.11.10",
-        "shx": "^0.3.4",
-        "typescript": "~5"
-    }
-}

+ 0 - 69
packages/starter/material-ui-starter/src/App.tsx

@@ -1,69 +0,0 @@
-import type { Adapter, WalletError } from '@solana/wallet-adapter-base';
-import { WalletAdapterNetwork } from '@solana/wallet-adapter-base';
-import { WalletDialogProvider, WalletMultiButton } from '@solana/wallet-adapter-material-ui';
-import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';
-import { UnsafeBurnerWalletAdapter } from '@solana/wallet-adapter-wallets';
-import { clusterApiUrl } from '@solana/web3.js';
-import { useSnackbar } from 'notistack';
-import type { FC, ReactNode } from 'react';
-import React, { useCallback, useMemo } from 'react';
-import { Theme } from './Theme';
-
-export const App: FC = () => {
-    return (
-        <Theme>
-            <Context>
-                <Content />
-            </Context>
-        </Theme>
-    );
-};
-
-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]
-    );
-
-    const { enqueueSnackbar } = useSnackbar();
-    const onError = useCallback(
-        (error: WalletError, adapter?: Adapter) => {
-            enqueueSnackbar(error.message ? `${error.name}: ${error.message}` : error.name, { variant: 'error' });
-            console.error(error, adapter);
-        },
-        [enqueueSnackbar]
-    );
-
-    return (
-        <ConnectionProvider endpoint={endpoint}>
-            <WalletProvider wallets={wallets} onError={onError} autoConnect>
-                <WalletDialogProvider>{children}</WalletDialogProvider>
-            </WalletProvider>
-        </ConnectionProvider>
-    );
-};
-
-const Content: FC = () => {
-    return <WalletMultiButton />;
-};

+ 0 - 47
packages/starter/material-ui-starter/src/Theme.tsx

@@ -1,47 +0,0 @@
-import { createTheme, StyledEngineProvider, ThemeProvider } from '@mui/material';
-import { deepPurple } from '@mui/material/colors';
-import { SnackbarProvider } from 'notistack';
-import type { FC, ReactNode } from 'react';
-import React from 'react';
-
-const theme = createTheme({
-    palette: {
-        mode: 'dark',
-        primary: {
-            main: deepPurple[700],
-        },
-    },
-    components: {
-        MuiButtonBase: {
-            styleOverrides: {
-                root: {
-                    justifyContent: 'flex-start',
-                },
-            },
-        },
-        MuiButton: {
-            styleOverrides: {
-                root: {
-                    textTransform: 'none',
-                    padding: '12px 16px',
-                },
-                startIcon: {
-                    marginRight: 8,
-                },
-                endIcon: {
-                    marginLeft: 8,
-                },
-            },
-        },
-    },
-});
-
-export const Theme: FC<{ children: ReactNode }> = ({ children }) => {
-    return (
-        <StyledEngineProvider injectFirst>
-            <ThemeProvider theme={theme}>
-                <SnackbarProvider>{children}</SnackbarProvider>
-            </ThemeProvider>
-        </StyledEngineProvider>
-    );
-};

+ 0 - 13
packages/starter/material-ui-starter/src/index.css

@@ -1,13 +0,0 @@
-@import './reset.css';
-
-html, body {
-    background-color: #303030;
-    color: #FFFFFF;
-}
-
-#app {
-    min-height: 100vh;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-}

+ 0 - 16
packages/starter/material-ui-starter/tsconfig.json

@@ -1,16 +0,0 @@
-{
-    "extends": "../../../tsconfig.root.json",
-    "include": ["src"],
-    "compilerOptions": {
-        "outDir": "lib",
-        "noEmit": true,
-        "target": "esnext",
-        "module": "esnext",
-        "moduleResolution": "node",
-        "jsx": "react",
-        "strict": true,
-        "esModuleInterop": true,
-        "resolveJsonModule": true,
-        "isolatedModules": true
-    }
-}

+ 0 - 9
packages/starter/nextjs-starter/.editorconfig

@@ -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

+ 0 - 3
packages/starter/nextjs-starter/.eslintrc.json

@@ -1,3 +0,0 @@
-{
-    "extends": "next/core-web-vitals"
-}

+ 0 - 39
packages/starter/nextjs-starter/.gitignore

@@ -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

+ 0 - 5
packages/starter/nextjs-starter/.prettierignore

@@ -1,5 +0,0 @@
-/.next
-/.swc
-/lib
-/node_modules
-

+ 0 - 7
packages/starter/nextjs-starter/.prettierrc

@@ -1,7 +0,0 @@
-{
-    "printWidth": 120,
-    "trailingComma": "es5",
-    "tabWidth": 4,
-    "semi": true,
-    "singleQuote": true
-}

+ 0 - 159
packages/starter/nextjs-starter/CHANGELOG.md

@@ -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

+ 0 - 202
packages/starter/nextjs-starter/LICENSE

@@ -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.

+ 0 - 38
packages/starter/nextjs-starter/README.md

@@ -1,38 +0,0 @@
-# `@solana/wallet-adapter-nextjs-starter`
-
-<!-- @TODO -->
-
-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.

+ 0 - 5
packages/starter/nextjs-starter/next-env.d.ts

@@ -1,5 +0,0 @@
-/// <reference types="next" />
-/// <reference types="next/image-types/global" />
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.

+ 0 - 4
packages/starter/nextjs-starter/next.config.js

@@ -1,4 +0,0 @@
-/** @type {import('next').NextConfig} */
-module.exports = {
-    reactStrictMode: true,
-};

+ 0 - 54
packages/starter/nextjs-starter/package.json

@@ -1,54 +0,0 @@
-{
-    "name": "@solana/wallet-adapter-nextjs-starter",
-    "version": "0.8.34",
-    "author": "Solana Maintainers <maintainers@solana.foundation>",
-    "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": ">=20"
-    },
-    "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": "^12.3.4",
-        "react": "^18.2.0",
-        "react-dom": "^18.2.0"
-    },
-    "devDependencies": {
-        "@types/node-fetch": "^2.6.4",
-        "@types/react": "^18.2.13",
-        "@types/react-dom": "^18.2.6",
-        "eslint": "8.22.0",
-        "eslint-config-next": "^12.3.4",
-        "prettier": "^2.8.8",
-        "shx": "^0.3.4",
-        "typescript": "~5"
-    }
-}

BIN
packages/starter/nextjs-starter/public/favicon.ico


+ 0 - 4
packages/starter/nextjs-starter/public/vercel.svg

@@ -1,4 +0,0 @@
-<svg width="283" height="64" viewBox="0 0 283 64" fill="none" 
-    xmlns="http://www.w3.org/2000/svg">
-    <path d="M141.04 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM248.72 16c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.45 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5h-18.9zM200.24 34c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10zm82.48-29v46h-9V5h9zM36.95 0L73.9 64H0L36.95 0zm92.38 5l-27.71 48L73.91 5H84.3l17.32 30 17.32-30h10.39zm58.91 12v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10V51h-9V17h9v9.2c0-5.08 5.91-9.2 13.2-9.2z" fill="#000"/>
-</svg>

+ 0 - 52
packages/starter/nextjs-starter/src/pages/_app.tsx

@@ -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<AppProps> = ({ 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 (
-        <ConnectionProvider endpoint={endpoint}>
-            <WalletProvider wallets={wallets} autoConnect>
-                <WalletModalProvider>
-                    <Component {...pageProps} />
-                </WalletModalProvider>
-            </WalletProvider>
-        </ConnectionProvider>
-    );
-};
-
-export default App;

+ 0 - 10
packages/starter/nextjs-starter/src/pages/api/hello.ts

@@ -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<Data>) {
-    res.status(200).json({ name: 'John Doe' });
-}

+ 0 - 82
packages/starter/nextjs-starter/src/pages/index.tsx

@@ -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 (
-        <div className={styles.container}>
-            <Head>
-                <title>Create Next App</title>
-                <meta name="description" content="Generated by create next app" />
-                <link rel="icon" href="/favicon.ico" />
-            </Head>
-
-            <main className={styles.main}>
-                <h1 className={styles.title}>
-                    Welcome to <a href="https://nextjs.org">Next.js!</a>
-                </h1>
-
-                <div className={styles.walletButtons}>
-                    <WalletMultiButtonDynamic />
-                    <WalletDisconnectButtonDynamic />
-                </div>
-
-                <p className={styles.description}>
-                    Get started by editing <code className={styles.code}>pages/index.tsx</code>
-                </p>
-
-                <div className={styles.grid}>
-                    <a href="https://nextjs.org/docs" className={styles.card}>
-                        <h2>Documentation &rarr;</h2>
-                        <p>Find in-depth information about Next.js features and API.</p>
-                    </a>
-
-                    <a href="https://nextjs.org/learn" className={styles.card}>
-                        <h2>Learn &rarr;</h2>
-                        <p>Learn about Next.js in an interactive course with quizzes!</p>
-                    </a>
-
-                    <a href="https://github.com/vercel/next.js/tree/master/examples" className={styles.card}>
-                        <h2>Examples &rarr;</h2>
-                        <p>Discover and deploy boilerplate example Next.js projects.</p>
-                    </a>
-
-                    <a
-                        href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
-                        className={styles.card}
-                    >
-                        <h2>Deploy &rarr;</h2>
-                        <p>Instantly deploy your Next.js site to a public URL with Vercel.</p>
-                    </a>
-                </div>
-            </main>
-
-            <footer className={styles.footer}>
-                <a
-                    href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
-                    target="_blank"
-                    rel="noopener noreferrer"
-                >
-                    Powered by{' '}
-                    <span className={styles.logo}>
-                        <Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} />
-                    </span>
-                </a>
-            </footer>
-        </div>
-    );
-};
-
-export default Home;

+ 0 - 122
packages/starter/nextjs-starter/src/styles/Home.module.css

@@ -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;
-  }
-}

+ 0 - 16
packages/starter/nextjs-starter/src/styles/globals.css

@@ -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;
-}

+ 0 - 22
packages/starter/nextjs-starter/tsconfig.json

@@ -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"]
-}

+ 9 - 9
packages/starter/react-ui-starter/package.json

@@ -29,17 +29,17 @@
         "@solana/wallet-adapter-react": "workspace:^",
         "@solana/wallet-adapter-react-ui": "workspace:^",
         "@solana/wallet-adapter-wallets": "workspace:^",
-        "@solana/web3.js": "^1.77.3",
-        "react": "^18.2.0",
-        "react-dom": "^18.2.0"
+        "@solana/web3.js": "^1.98.0",
+        "react": "^18.3.1",
+        "react-dom": "^18.3.1"
     },
     "devDependencies": {
-        "@types/react": "^18.2.13",
-        "@types/react-dom": "^18.2.6",
-        "parcel": "^2.9.2",
-        "prettier": "^2.8.8",
+        "@types/react": "^18.3.19",
+        "@types/react-dom": "^18.3.6",
+        "parcel": "^2.14.4",
+        "prettier": "^3.5.3",
         "process": "^0.11.10",
-        "shx": "^0.3.4",
-        "typescript": "~5"
+        "shx": "^0.4.0",
+        "typescript": "^5.8.3"
     }
 }

+ 0 - 142
packages/ui/ant-design/CHANGELOG.md

@@ -1,142 +0,0 @@
-# @solana/wallet-adapter-ant-design
-
-## 0.11.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-base-ui@0.1.3
-    -   @solana/wallet-adapter-base@0.9.24
-
-## 0.11.32
-
-### Patch Changes
-
--   cb29215: Simplify wallet ordering to respect order provided by application
-
-## 0.11.31
-
-### Patch Changes
-
--   Updated dependencies [bdc0eff]
-    -   @solana/wallet-adapter-react@0.15.35
-    -   @solana/wallet-adapter-base-ui@0.1.2
-
-## 0.11.30
-
-### 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.11.29
-
-### 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.11.28
-
-### Patch Changes
-
--   Updated dependencies [f62ce364]
-    -   @solana/wallet-adapter-react@0.15.32
-
-## 0.11.27
-
-### Patch Changes
-
--   Updated dependencies [61d62efa]
-    -   @solana/wallet-adapter-react@0.15.31
-
-## 0.11.26
-
-### Patch Changes
-
--   8a8fdc72: Update dependencies
--   Updated dependencies [8a8fdc72]
-    -   @solana/wallet-adapter-react@0.15.30
-    -   @solana/wallet-adapter-base@0.9.22
-
-## 0.11.25
-
-### Patch Changes
-
--   Updated dependencies [f99c2154]
-    -   @solana/wallet-adapter-base@0.9.21
-    -   @solana/wallet-adapter-react@0.15.29
-
-## 0.11.24
-
-### Patch Changes
-
--   Updated dependencies [0a5f56e]
-    -   @solana/wallet-adapter-react@0.15.28
-
-## 0.11.23
-
-### Patch Changes
-
--   Updated dependencies [faf61e6]
-    -   @solana/wallet-adapter-react@0.15.27
-
-## 0.11.22
-
-### Patch Changes
-
--   e2a5b34: UI tweaks for wallet modal/dialogs
-
-## 0.11.21
-
-### Patch Changes
-
--   Updated dependencies [912cc0e]
-    -   @solana/wallet-adapter-base@0.9.20
-    -   @solana/wallet-adapter-react@0.15.26
-
-## 0.11.20
-
-### Patch Changes
-
--   Updated dependencies [353f2a5]
-    -   @solana/wallet-adapter-base@0.9.19
-    -   @solana/wallet-adapter-react@0.15.25
-
-## 0.11.19
-
-### Patch Changes
-
--   Updated dependencies [21200bc]
-    -   @solana/wallet-adapter-react@0.15.24
-
-## 0.11.18
-
-### Patch Changes
-
--   Updated dependencies [0e62d22]
-    -   @solana/wallet-adapter-react@0.15.23
-
-## 0.11.17
-
-### 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

+ 0 - 202
packages/ui/ant-design/LICENSE

@@ -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.

+ 0 - 67
packages/ui/ant-design/README.md

@@ -1,67 +0,0 @@
-# `@solana/wallet-adapter-ant-design`
-
-# Quick Setup (using Create-React-App with craco-less)
-See the [example](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/example) package for more usage.
-
-## Install
-
-1. Set up craco if you haven't already using the following [guide](https://github.com/gsoft-inc/craco/blob/master/packages/craco/README.md#installation).
-2. Add `craco-less` into the project `npm install --save craco-less`.
-   1. Add it to the `craco.config.js` file
-        ```javascript
-        const CracoLessPlugin = require('craco-less');
-        module.exports = {
-            plugins: [
-                {
-                    plugin: CracoLessPlugin,
-                    options: {
-                        lessLoaderOptions: {
-                            lessOptions: {
-                                modifyVars: { '@primary-color': '#512da8' },
-                                javascriptEnabled: true,
-                            },
-                        },
-                    },
-                },
-            ],
-        };
-        ```
-3. Install these peer dependencies (or skip this if you have them already):
-
-```
-npm install --save \
-    antd \
-    @ant-design/icons \
-    @solana/web3.js \
-    react
-```
-4. Install these dependencies:
-
-```
-npm install --save \
-    @solana/wallet-adapter-wallets \
-    @solana/wallet-adapter-react \
-    @solana/wallet-adapter-ant-design \
-    @solana/wallet-adapter-base
-```
-
-
-## Usage
-Check out usage in the [example](https://github.com/anza-xyz/wallet-adapter/tree/master/packages/starter/example) package.
-
-## Overrides
-
-You can override the following elements from the stylesheet:
-
-```
-.wallet-adapter-icon
-.wallet-adapter-modal-menu
-.wallet-adapter-modal-menu-item
-.wallet-adapter-modal-menu-button
-.wallet-adapter-modal-menu-button-icon
-.wallet-adapter-multi-button-menu
-.wallet-adapter-multi-button-menu-item
-.wallet-adapter-multi-button-menu-button
-.wallet-adapter-multi-button-icon
-.wallet-adapter-multi-button-item
-```

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません