FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

View File

@@ -0,0 +1,2 @@
export * from './useStandardWalletAdapters.js';
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}

View File

@@ -0,0 +1 @@
{"root":["../../src/index.ts","../../src/useStandardWalletAdapters.ts"],"version":"5.7.3"}

View File

@@ -0,0 +1,56 @@
import { isWalletAdapterCompatibleWallet, StandardWalletAdapter } from '@solana/wallet-standard-wallet-adapter-base';
import { DEPRECATED_getWallets } from '@wallet-standard/app';
import { useEffect, useMemo, useRef, useState } from 'react';
export function useStandardWalletAdapters(adapters) {
const warnings = useConstant(() => new Set());
const { get, on } = useConstant(() => DEPRECATED_getWallets());
const [standardAdapters, setStandardAdapters] = useState(() => wrapWalletsWithAdapters(get()));
useEffect(() => {
const listeners = [
on('register', (...wallets) => setStandardAdapters((standardAdapters) => [...standardAdapters, ...wrapWalletsWithAdapters(wallets)])),
on('unregister', (...wallets) => setStandardAdapters((standardAdapters) => standardAdapters.filter((standardAdapter) => wallets.some((wallet) => wallet === standardAdapter.wallet)))),
];
return () => listeners.forEach((off) => off());
}, [on]);
const prevStandardAdapters = usePrevious(standardAdapters);
useEffect(() => {
if (!prevStandardAdapters)
return;
const currentAdapters = new Set(standardAdapters);
const removedAdapters = new Set(prevStandardAdapters.filter((previousAdapter) => !currentAdapters.has(previousAdapter)));
removedAdapters.forEach((adapter) => adapter.destroy());
}, [prevStandardAdapters, standardAdapters]);
// eslint-disable-next-line react-hooks/exhaustive-deps
useEffect(() => () => standardAdapters.forEach((adapter) => adapter.destroy()), []);
return useMemo(() => [
...standardAdapters,
...adapters.filter(({ name }) => {
if (standardAdapters.some((standardAdapter) => standardAdapter.name === name)) {
if (!warnings.has(name)) {
warnings.add(name);
console.warn(`${name} was registered as a Standard Wallet. The Wallet Adapter for ${name} can be removed from your app.`);
}
return false;
}
return true;
}),
], [standardAdapters, adapters, warnings]);
}
function useConstant(fn) {
const ref = useRef(undefined);
if (ref.current === undefined) {
ref.current = { value: fn() };
}
return ref.current.value;
}
function usePrevious(state) {
const ref = useRef(undefined);
useEffect(() => {
ref.current = state;
});
return ref.current;
}
function wrapWalletsWithAdapters(wallets) {
return wallets.filter(isWalletAdapterCompatibleWallet).map((wallet) => new StandardWalletAdapter({ wallet }));
}
//# sourceMappingURL=useStandardWalletAdapters.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"useStandardWalletAdapters.js","sourceRoot":"","sources":["../../src/useStandardWalletAdapters.ts"],"names":[],"mappings":"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"}