Skip to content

Releases: reown-com/appkit

@reown/[email protected]

26 Mar 16:55
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:56
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:56
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:55
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:56
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:56
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:56
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:56
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more

@reown/[email protected]

26 Mar 16:55
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })

@reown/[email protected]

26 Mar 16:55
a26c315
Compare
Choose a tag to compare

Patch Changes

  • #4014 a945a10 Thanks @magiziz! - Fixed an issue where network and wallet images weren't prefetched after connection

  • #4045 681557f Thanks @tomiir! - Updates solana dependencies to latest stable version

  • #4052 e7480ec Thanks @arein! - Disable open button until connection established

  • #4042 0f21f5f Thanks @enesozturk! - Fixes recommended wallets listing when opening modal with namespace filter

  • #4077 2f4bdc2 Thanks @enesozturk! - Adds customRpcUrls prop to override default RPC URLs of the networks for native RPC calls.

    Example

    Define your map of chain ID / URL objects:

    const customRpcUrls = {
      'eip155:1': [{ url: 'https://your-custom-mainnet-url.com' }],
      'eip155:137': [{ url: 'https://your-custom-polygon-url.com' }]
    }

    Pass it to the AppKit's createAppKit function.

    Additionally, if you are using Wagmi adapter you need to pass same customRpcUrls prop to WagmiAdapter.

    const wagmiAdapter = new WagmiAdapter({
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })
    
    const modal = createAppKit({
      adapters: [...],
      networks: [...],
      projectId: "project-id",
      customRpcUrls
    })

    Passing network props

    If you need to pass fetch configs for your transport, you can use config property:

    const customRpcUrls = {
      'eip155:1': [
        {
          url: 'https://your-custom-mainnet-url.com',
          config: {
            fetchOptions: {
              headers: {
                'Content-Type': 'text/plain'
              }
            }
          }
        }
      ]
    }
  • #4037 478bd96 Thanks @enesozturk! - Fixed connector listing when filtering by namespace

  • #4049 c7994ea Thanks @enesozturk! - Updates Bitcoin networks image ids

  • #4054 8665987 Thanks @enesozturk! - Fixes redundant namespace filter while switching between networks

  • #4041 5c14b6e Thanks @tomiir! - Declares appkit packages in ui dependencies

  • #4030 eeb2c84 Thanks @enesozturk! - Allows disconnecting specific namespace. Users can pass ChainNamespace value to disconnect() function returned from useDisconnect, and disconnect only given namespace.

    If namespace is not passed, it'll disconnect all namespaces.

    Example usage:

    const { disconnect } = useDisconnect()
    
    <Button onClick={() => disconnect({ namespace: 'solana' })}>
      Disconnect Solana
    </Button>
  • #4035 02a2d53 Thanks @tomiir! - Updates dependencies and applies overrides for nested subdependenceis with high level vulnerabilities

  • #4045 681557f Thanks @tomiir! - Patches changesets action to allow for automatic canaries and GH Changelogs

  • #4046 475e422 Thanks @magiziz! - Fixed an issue where the CAIP address was not set for the namespace when using multichain

  • #4068 7e6dfcd Thanks @magiziz! - Fixed an issue where Coinbase Wallet wasn't working with multichain

  • #4055 4f79747 Thanks @enesozturk! - Adds Bitcoin logo to wui-visual to use on chain switch screen

  • #3925 093f24c Thanks @magiziz! - - Added email wallet button

    • Added email update functionality

    TypeScript Example usage

    import { createAppKitWalletButton } from '@reown/appkit-wallet-button'
    
    const appKitWalletButton = createAppKitWalletButton()
    
    const connectEmail = async () => {
      const { address, chainId, chainNamespace } = await appKitWalletButton.connect('email')
    
      return { address, chainId, chainNamespace }
    }
    
    const updateEmail = async () => {
      const { email } = await appKitWalletButton.updateEmail()
    
      return email // Return the new updated email
    }

    React Hook Example usage

    import { useAppKitUpdateEmail, useAppKitWallet } from '@reown/appkit-wallet-button/react'
    
    export function ConnectEmail() {
      const { data, error, isPending, isSuccess, isError, connect } = useAppKitWallet({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => connect('email')}>Connect Email</button>
    }
    
    export function UpdateEmail() {
      const { data, error, isPending, isSuccess, isError, updateEmail } = useAppKitUpdateEmail({
        onError: err => {
          // ...
        },
        onSuccess: data => {
          // ...
        }
      })
    
      return <button onClick={() => updateEmail()}>Update Email</button>
    }
  • #4048 ffb8188 Thanks @tomiir! - Interecepts Leather wallet image and injects the missing '+xml' declaration

  • #4074 d59d1dc Thanks @magiziz! - Added support for customizing connector positions in connect modal.

    The array order determines the exact display order, in the example below the injected wallets will appear first, followed by WalletConnect and then recent wallets.

    Example usage

    import { createAppKit } from '@reown/appkit'
    
    const modal = createAppKit({
      adapters: [], // Add your adapters here
      networks: [], // Add your networks here
      projectId: 'YOUR_PROJECT_ID',
      features: {
        connectorTypeOrder: ['injected', 'walletConnect', 'recent']
      }
    })
  • Updated dependencies [a945a10, 681557f, e7480ec, 0f21f5f, 2f4bdc2, 478bd96, c7994ea, 8665987, 5c14b6e, eeb2c84, 02a2d53, 681557f, 475e422, 7e6dfcd, 4f79747, 093f24c, [ffb8188](https://github.com/reown-co...

Read more