@solana/wallet-adapter-react
Advanced tools
Comparing version 0.14.0 to 0.14.1
@@ -22,3 +22,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
}; | ||
export const WalletProvider = ({ children, wallets, autoConnect = false, onError: _onError = (error) => console.error(error), localStorageKey = 'walletName', }) => { | ||
export const WalletProvider = ({ children, wallets, autoConnect = false, onError, localStorageKey = 'walletName', }) => { | ||
const [name, setName] = useLocalStorage(localStorageKey, null); | ||
@@ -73,3 +73,3 @@ const [{ wallet, adapter, ready, publicKey, connected }, setState] = useState(initialState); | ||
setName(null); | ||
// Don't throw error, but onError will still be called | ||
// Don't throw error, but handleError will still be called | ||
} | ||
@@ -100,3 +100,3 @@ finally { | ||
// Handle the adapter's connect event | ||
const onConnect = useCallback(() => { | ||
const handleConnect = useCallback(() => { | ||
if (!adapter) | ||
@@ -108,3 +108,3 @@ return; | ||
// Handle the adapter's disconnect event | ||
const onDisconnect = useCallback(() => { | ||
const handleDisconnect = useCallback(() => { | ||
// Clear the selected wallet unless the window is unloading | ||
@@ -115,8 +115,9 @@ if (!isUnloading.current) | ||
// Handle the adapter's error event, and local errors | ||
const onError = useCallback((error) => { | ||
// Call the provided error handler unless the window is unloading | ||
if (!isUnloading.current) | ||
_onError(error); | ||
const handleError = useCallback((error) => { | ||
// Call onError unless the window is unloading | ||
if (!isUnloading.current) { | ||
(onError || console.error)(error); | ||
} | ||
return error; | ||
}, [isUnloading, _onError]); | ||
}, [isUnloading, onError]); | ||
// Connect the adapter to the wallet | ||
@@ -127,3 +128,3 @@ const connect = useCallback(() => __awaiter(void 0, void 0, void 0, function* () { | ||
if (!wallet || !adapter) | ||
throw onError(new WalletNotSelectedError()); | ||
throw handleError(new WalletNotSelectedError()); | ||
if (!ready) { | ||
@@ -135,3 +136,3 @@ // Clear the selected wallet | ||
} | ||
throw onError(new WalletNotReadyError()); | ||
throw handleError(new WalletNotReadyError()); | ||
} | ||
@@ -146,3 +147,3 @@ isConnecting.current = true; | ||
setName(null); | ||
// Rethrow the error, and onError will also be called | ||
// Rethrow the error, and handleError will also be called | ||
throw error; | ||
@@ -154,3 +155,14 @@ } | ||
} | ||
}), [isConnecting, connecting, disconnecting, connected, wallet, adapter, onError, ready, setConnecting, setName]); | ||
}), [ | ||
isConnecting, | ||
connecting, | ||
disconnecting, | ||
connected, | ||
wallet, | ||
adapter, | ||
handleError, | ||
ready, | ||
setConnecting, | ||
setName, | ||
]); | ||
// Disconnect the adapter from the wallet | ||
@@ -170,3 +182,3 @@ const disconnect = useCallback(() => __awaiter(void 0, void 0, void 0, function* () { | ||
setName(null); | ||
// Rethrow the error, and onError will also be called | ||
// Rethrow the error, and handleError will also be called | ||
throw error; | ||
@@ -182,7 +194,7 @@ } | ||
if (!adapter) | ||
throw onError(new WalletNotSelectedError()); | ||
throw handleError(new WalletNotSelectedError()); | ||
if (!connected) | ||
throw onError(new WalletNotConnectedError()); | ||
throw handleError(new WalletNotConnectedError()); | ||
return yield adapter.sendTransaction(transaction, connection, options); | ||
}), [adapter, onError, connected]); | ||
}), [adapter, handleError, connected]); | ||
// Sign a transaction if the wallet supports it | ||
@@ -192,6 +204,6 @@ const signTransaction = useMemo(() => adapter && 'signTransaction' in adapter | ||
if (!connected) | ||
throw onError(new WalletNotConnectedError()); | ||
throw handleError(new WalletNotConnectedError()); | ||
return yield adapter.signTransaction(transaction); | ||
}) | ||
: undefined, [adapter, onError, connected]); | ||
: undefined, [adapter, handleError, connected]); | ||
// Sign multiple transactions if the wallet supports it | ||
@@ -201,6 +213,6 @@ const signAllTransactions = useMemo(() => adapter && 'signAllTransactions' in adapter | ||
if (!connected) | ||
throw onError(new WalletNotConnectedError()); | ||
throw handleError(new WalletNotConnectedError()); | ||
return yield adapter.signAllTransactions(transactions); | ||
}) | ||
: undefined, [adapter, onError, connected]); | ||
: undefined, [adapter, handleError, connected]); | ||
// Sign an arbitrary message if the wallet supports it | ||
@@ -210,19 +222,19 @@ const signMessage = useMemo(() => adapter && 'signMessage' in adapter | ||
if (!connected) | ||
throw onError(new WalletNotConnectedError()); | ||
throw handleError(new WalletNotConnectedError()); | ||
return yield adapter.signMessage(message); | ||
}) | ||
: undefined, [adapter, onError, connected]); | ||
: undefined, [adapter, handleError, connected]); | ||
// Setup and teardown event listeners when the adapter changes | ||
useEffect(() => { | ||
if (adapter) { | ||
adapter.on('connect', onConnect); | ||
adapter.on('disconnect', onDisconnect); | ||
adapter.on('error', onError); | ||
adapter.on('connect', handleConnect); | ||
adapter.on('disconnect', handleDisconnect); | ||
adapter.on('error', handleError); | ||
return () => { | ||
adapter.off('connect', onConnect); | ||
adapter.off('disconnect', onDisconnect); | ||
adapter.off('error', onError); | ||
adapter.off('connect', handleConnect); | ||
adapter.off('disconnect', handleDisconnect); | ||
adapter.off('error', handleError); | ||
}; | ||
} | ||
}, [adapter, onConnect, onDisconnect, onError]); | ||
}, [adapter, handleConnect, handleDisconnect, handleError]); | ||
return (React.createElement(WalletContext.Provider, { value: { | ||
@@ -229,0 +241,0 @@ wallets, |
{ | ||
"name": "@solana/wallet-adapter-react", | ||
"version": "0.14.0", | ||
"version": "0.14.1", | ||
"author": "Solana Maintainers <maintainers@solana.foundation>", | ||
@@ -40,3 +40,3 @@ "repository": "https://github.com/solana-labs/wallet-adapter", | ||
}, | ||
"gitHead": "137794254bdd45d8ebc0f59394d7919bf8599f6e" | ||
"gitHead": "c5ed52d1f0e34fa7e626d89093eaa68c85a38a1d" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
62758
998