Skip to content

Commit

Permalink
fix(unlock-app): fixing siwe (#14582)
Browse files Browse the repository at this point in the history
fixing siwe
  • Loading branch information
julien51 committed Sep 9, 2024
1 parent 4afb54d commit 9173b2e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
20 changes: 15 additions & 5 deletions unlock-app/src/hooks/useProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,16 @@ export const useProvider = (config: any) => {

const displayAccount = email || connected

const createBrowserProvider = (provider: any): ethers.BrowserProvider => {
console.log('ready:', { provider })
const browserProvider = new ethers.BrowserProvider(provider)
if (provider.parentOrigin) {
// @ts-expect-error Property 'parentOrigin' does not exist on type 'BrowserProvider'.
browserProvider.parentOrigin = provider.parentOrigin
}
return browserProvider
}

const switchBrowserProviderNetwork = async (id: number) => {
try {
await provider.send(
Expand Down Expand Up @@ -98,9 +108,9 @@ export const useProvider = (config: any) => {
} else {
await switchBrowserProviderNetwork(networkId)
if (getStorage('provider') === 'WALLET_CONNECT') {
walletServiceProvider = new ethers.BrowserProvider(eip1193)
walletServiceProvider = createBrowserProvider(eip1193)
} else {
walletServiceProvider = new ethers.BrowserProvider(window.ethereum!)
walletServiceProvider = createBrowserProvider(window.ethereum!)
}
}
}
Expand Down Expand Up @@ -183,15 +193,15 @@ export const useProvider = (config: any) => {

if (eip1193Provider.on) {
eip1193Provider.on('accountsChanged', async () => {
await resetProvider(new ethers.BrowserProvider(eip1193Provider))
await resetProvider(createBrowserProvider(eip1193Provider))
})

eip1193Provider.on('chainChanged', async () => {
await resetProvider(new ethers.BrowserProvider(eip1193Provider))
await resetProvider(createBrowserProvider(eip1193Provider))
})
}

auth = await resetProvider(new ethers.BrowserProvider(eip1193Provider))
auth = await resetProvider(createBrowserProvider(eip1193Provider))
}

setLoading(false)
Expand Down
4 changes: 2 additions & 2 deletions unlock-app/src/hooks/useSIWE.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ export const SIWEProvider = ({ children }: Props) => {

let domain = window.location.host
// If we are using the parent's provider, then we MUST use the parent's domain
if (provider?.provider?.parentOrigin) {
domain = new URL(provider.provider.parentOrigin()).host
if (provider?.parentOrigin) {
domain = new URL(provider.parentOrigin()).host
}

const siwe = new SiweMessage({
Expand Down

0 comments on commit 9173b2e

Please sign in to comment.