Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Apr 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .changeset/busy-forks-beam.md
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 1 addition & 3 deletions APP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
69 changes: 0 additions & 69 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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 [...]`
Expand Down
9 changes: 1 addition & 8 deletions PACKAGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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) |
Expand Down Expand Up @@ -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) |
51 changes: 23 additions & 28 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": "[email protected]",
"type": "module",
"sideEffects": false,
"scripts": {
"corepack": "corepack enable && corepack prepare [email protected] --activate && corepack use [email protected]",
"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",
Expand All @@ -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
Expand Down
18 changes: 9 additions & 9 deletions packages/core/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"LICENSE"
],
"engines": {
"node": ">=20"
"node": "22"
},
"type": "module",
"sideEffects": false,
Expand All @@ -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"
}
}
Loading
Loading