Skip to content
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
5 changes: 5 additions & 0 deletions .changeset/orange-parents-stay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@reown/appkit': patch
---

Fixes issue on initialization Bitcoin path and publicKey doesn't get set when reconnecting
2 changes: 1 addition & 1 deletion apps/laboratory/src/components/AppKitInfo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ export function AppKitInfo() {
<Box display="flex" alignItems="center" gap={2}>
{walletInfo?.icon ? (
<Image
src={walletInfo.icon}
src={walletInfo.icon.trim()}
alt={walletInfo.name}
width={24}
height={24}
Expand Down
2 changes: 1 addition & 1 deletion apps/laboratory/src/components/AppKitInfoMultiChain.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ function AccountCard({
<Box display="flex" alignItems="center" gap={2}>
{walletInfo?.icon ? (
<Image
src={walletInfo.icon}
src={walletInfo.icon.trim()}
Comment thread
enesozturk marked this conversation as resolved.
alt={walletInfo.name}
width={24}
height={24}
Expand Down
7 changes: 3 additions & 4 deletions apps/laboratory/src/layout/LayoutHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import {
useDisclosure
} from '@chakra-ui/react'
import Link from 'next/link'
import { usePathname } from 'next/navigation'

import { useChakraToast } from '@/src/components/Toast'
import { DOCS_URL, GALLERY_URL, REPO_URL } from '@/src/utils/ConstantsUtil'
Expand Down Expand Up @@ -44,16 +43,16 @@ function downloadLogs(toast: ReturnType<typeof useChakraToast>) {
}

export function LayoutHeader() {
const pathname = usePathname()
const controls = useDisclosure()
const controlsCW = useDisclosure({ id: 'customWallet' })
const controlsNW = useDisclosure({ id: 'networks' })
const controlsPID = useDisclosure({ id: 'projectId' })
const toast = useChakraToast()
const { colorMode } = useColorMode()
const [origin, setOrigin] = useState('')

useEffect(() => {
setOrigin(window.location.origin)
setOrigin(window.location.href)
Comment thread
enesozturk marked this conversation as resolved.
}, [])

return (
Expand Down Expand Up @@ -97,7 +96,7 @@ export function LayoutHeader() {
Logs
</Button>
</Stack>
<Text fontSize="2xs">{origin + pathname}</Text>
<Text fontSize="2xs">{origin}</Text>

<OptionsDrawer controls={controls} />
<NetworksDrawer controls={controlsNW} />
Expand Down
6 changes: 2 additions & 4 deletions packages/adapters/bitcoin/src/adapter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -217,17 +217,15 @@ export class BitcoinAdapter extends AdapterBlueprint<BitcoinConnector> {

public async syncConnections({
connectToFirstConnector,
caipNetwork,
getConnectorStorageInfo
caipNetwork
}: AdapterBlueprint.SyncConnectionsParams) {
await this.connectionManager?.syncConnections({
connectors: this.connectors,
caipNetwork,
caipNetworks: this.getCaipNetworks(),
universalProvider: this.universalProvider as UniversalProvider,
onConnection: this.addConnection.bind(this),
onListenProvider: this.listenProviderEvents.bind(this),
getConnectionStatusInfo: getConnectorStorageInfo
onListenProvider: this.listenProviderEvents.bind(this)
})

if (connectToFirstConnector) {
Expand Down
66 changes: 28 additions & 38 deletions packages/adapters/bitcoin/tests/BitcoinAdapter.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
type NetworkControllerClient,
StorageUtil
} from '@reown/appkit-controllers'
import { HelpersUtil } from '@reown/appkit-utils'
import { bitcoin, bitcoinTestnet, mainnet } from '@reown/appkit/networks'

import { BitcoinAdapter, type BitcoinConnector } from '../src'
Expand Down Expand Up @@ -752,11 +753,9 @@ describe('BitcoinAdapter', () => {
})

describe('syncConnections', () => {
let mockGetConnectorStorageInfo: Mock
let mockEmitFirstAvailableConnection: any

beforeEach(() => {
mockGetConnectorStorageInfo = vi.fn()
mockEmitFirstAvailableConnection = vi
.spyOn(adapter as any, 'emitFirstAvailableConnection')
.mockImplementation(() => {})
Expand All @@ -780,15 +779,14 @@ describe('BitcoinAdapter', () => {

adapter.connectors.push(connector)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValue({
hasDisconnected: false,
hasConnected: true
})

await adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})

expect(connectSpy).toHaveBeenCalled()
Expand All @@ -808,15 +806,14 @@ describe('BitcoinAdapter', () => {
const connectSpy = vi.spyOn(connector, 'connect')
adapter.connectors.push(connector)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: true,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValue({
hasDisconnected: true,
hasConnected: false
})

await adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})

expect(connectSpy).not.toHaveBeenCalled()
Expand All @@ -833,15 +830,14 @@ describe('BitcoinAdapter', () => {
const connectSpy = vi.spyOn(connector, 'connect')
adapter.connectors.push(connector)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValue({
hasDisconnected: false,
hasConnected: false
})

await adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})

expect(connectSpy).not.toHaveBeenCalled()
Expand All @@ -865,15 +861,14 @@ describe('BitcoinAdapter', () => {
]
vi.spyOn(WcHelpersUtil, 'getWalletConnectAccounts').mockReturnValue(mockAccounts)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValue({
hasDisconnected: false,
hasConnected: true
})

await adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})

const wcConnection = adapter.connections.find(c => c.connectorId === 'walletConnect')
Expand All @@ -895,15 +890,14 @@ describe('BitcoinAdapter', () => {

adapter.connectors.push(connector)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValueOnce({
hasDisconnected: false,
hasConnected: true
})

await adapter.syncConnections({
connectToFirstConnector: true,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})

expect(mockEmitFirstAvailableConnection).toHaveBeenCalled()
Expand All @@ -923,15 +917,14 @@ describe('BitcoinAdapter', () => {

adapter.connectors.push(connector)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValueOnce({
hasDisconnected: false,
hasConnected: true
})

await adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})

expect(mockEmitFirstAvailableConnection).not.toHaveBeenCalled()
Expand All @@ -957,16 +950,15 @@ describe('BitcoinAdapter', () => {

adapter.connectors.push(connector1, connector2)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValueOnce({
hasDisconnected: false,
hasConnected: true
})

await expect(
adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})
).rejects.toThrow('Connection failed')

Expand All @@ -989,16 +981,15 @@ describe('BitcoinAdapter', () => {

adapter.connectors.push(connector)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValueOnce({
hasDisconnected: false,
hasConnected: true
})

await expect(
adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})
).rejects.toThrow('The connector does not support any of the requested chains')

Expand All @@ -1018,15 +1009,14 @@ describe('BitcoinAdapter', () => {
])
adapter.connectors.push(connector)

mockGetConnectorStorageInfo.mockReturnValue({
isDisconnected: false,
vi.spyOn(HelpersUtil, 'getConnectorStorageInfo').mockReturnValueOnce({
hasDisconnected: false,
hasConnected: true
})

await adapter.syncConnections({
connectToFirstConnector: false,
caipNetwork: bitcoin,
getConnectorStorageInfo: mockGetConnectorStorageInfo
caipNetwork: bitcoin
})

expect(adapter.connections).toHaveLength(0)
Expand Down
8 changes: 2 additions & 6 deletions packages/adapters/ethers/src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -321,18 +321,14 @@ export class EthersAdapter extends AdapterBlueprint {
}

public async syncConnections({
connectToFirstConnector,
getConnectorStorageInfo
connectToFirstConnector
}: AdapterBlueprint.SyncConnectionsParams) {
await this.connectionManager?.syncConnections({
connectors: this.connectors,
caipNetworks: this.getCaipNetworks(),
universalProvider: this.universalProvider as UniversalProvider,
onConnection: this.addConnection.bind(this),
onListenProvider: this.listenProviderEvents.bind(this),
getConnectionStatusInfo(connectorId) {
return getConnectorStorageInfo(connectorId)
}
onListenProvider: this.listenProviderEvents.bind(this)
})

if (connectToFirstConnector) {
Expand Down
Loading
Loading