Skip to content

Commit 966ae58

Browse files
authored
Merge pull request #449 from alephium/detect-injected-providers
Detect injected providers
2 parents 9b650ab + bb2dce8 commit 966ae58

File tree

8 files changed

+528
-288
lines changed

8 files changed

+528
-288
lines changed

packages/web3-react/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"@alephium/get-extension-wallet": "workspace:^",
4242
"@alephium/walletconnect-provider": "workspace:^",
4343
"@alephium/walletconnect-qrcode-modal": "^0.1.0",
44+
"use-sync-external-store": "^1.2.2",
4445
"buffer": "^6.0.3",
4546
"detect-browser": "^5.3.0",
4647
"framer-motion": "^6.5.1",
@@ -62,6 +63,7 @@
6263
"@types/react-dom": "^18.0.11",
6364
"@types/styled-components": "^5.1.26",
6465
"eslint-plugin-react-hooks": "^4.6.0",
66+
"@types/use-sync-external-store": "^0.0.6",
6567
"rollup": "^2.79.2",
6668
"rollup-plugin-peer-deps-external": "^2.2.4",
6769
"rollup-plugin-terser": "^7.0.2",

packages/web3-react/src/components/AlephiumConnect.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import {
4747
} from '../contexts/alephiumConnect'
4848
import { getLastConnectedAccount, removeLastConnectedAccount } from '../utils/storage'
4949
import { ConnectResult, getConnectorById } from '../utils/connector'
50+
import { useInjectedProviders } from '../hooks/useInjectedProviders'
5051

5152
export const ConnectSettingProvider: React.FC<{
5253
theme?: Theme
@@ -132,6 +133,7 @@ export const AlephiumConnectProvider: React.FC<{
132133
const [_network, setNetwork] = useState<NetworkId>(network)
133134
const [_addressGroup, setAddressGroup] = useState<number | undefined>(addressGroup)
134135
const [_keyType, setKeyType] = useState<KeyType>(keyType ?? 'default')
136+
const allInjectedProviders = useInjectedProviders()
135137

136138
useEffect(() => setNetwork(network), [network])
137139
useEffect(() => setAddressGroup(addressGroup), [addressGroup])
@@ -196,7 +198,14 @@ export const AlephiumConnectProvider: React.FC<{
196198
for (const connectorId of sortedConnectorIds) {
197199
const connector = getConnectorById(connectorId)
198200
if (connector.autoConnect !== undefined) {
199-
const result = await connector.autoConnect({ network, addressGroup, keyType, onDisconnected, onConnected })
201+
const result = await connector.autoConnect({
202+
network,
203+
addressGroup,
204+
keyType,
205+
onDisconnected,
206+
onConnected,
207+
allInjectedProviders: connectorId === 'injected' ? allInjectedProviders : undefined
208+
})
200209
if (result !== undefined) {
201210
return
202211
}

0 commit comments

Comments
 (0)