From a0bb9d436244bdec06638d34ec81059021929aee Mon Sep 17 00:00:00 2001 From: Ruey Date: Sat, 25 Jan 2025 23:44:45 +0800 Subject: [PATCH 1/3] preserve return values from core package operations in Vue composable: connectWallet, disconnectWallet, setChain --- packages/vue/src/index.ts | 11 ++++++++--- packages/vue/src/types.ts | 6 +++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts index ab0b7db61..e1472ac67 100644 --- a/packages/vue/src/index.ts +++ b/packages/vue/src/index.ts @@ -76,16 +76,20 @@ const useOnboard = (): OnboardComposable => { const connectWallet = async (options?: ConnectOptions) => { connectingWallet.value = true - await (web3Onboard as OnboardAPI).connectWallet(options) + const walletState = await (web3Onboard as OnboardAPI).connectWallet(options) lastConnectionTimestamp.value = Date.now() connectingWallet.value = false + return walletState } const disconnectWallet = async (wallet: DisconnectOptions) => { connectingWallet.value = true - await (web3Onboard as OnboardAPI).disconnectWallet(wallet) + const walletState = await (web3Onboard as OnboardAPI).disconnectWallet( + wallet + ) updateAlreadyConnectedWallets() connectingWallet.value = false + return walletState } const disconnectConnectedWallet = async () => { @@ -115,8 +119,9 @@ const useOnboard = (): OnboardComposable => { const setChain = async (options: SetChainOptions) => { settingChain.value = true - await (web3Onboard as OnboardAPI).setChain(options) + const success = await (web3Onboard as OnboardAPI).setChain(options) settingChain.value = false + return success } return { diff --git a/packages/vue/src/types.ts b/packages/vue/src/types.ts index b207a9e52..4e5067988 100644 --- a/packages/vue/src/types.ts +++ b/packages/vue/src/types.ts @@ -20,15 +20,15 @@ type SetChainOptions = { interface OnboardComposable { alreadyConnectedWallets: ReadonlyRef - connectWallet: (options?: ConnectOptions) => Promise + connectWallet: (options?: ConnectOptions) => Promise connectedChain: ComputedRef connectedWallet: ComputedRef connectingWallet: ReadonlyRef - disconnectWallet: (wallet: DisconnectOptions) => Promise + disconnectWallet: (wallet: DisconnectOptions) => Promise disconnectConnectedWallet: () => Promise getChain: (walletLabel: string) => ConnectedChain | null lastConnectionTimestamp: ReadonlyRef - setChain: (options: SetChainOptions) => Promise + setChain: (options: SetChainOptions) => Promise settingChain: ReadonlyRef wallets: ReadonlyRef } From 77136a29666d568ce8c9a80ed9e5ca5a45d9f425 Mon Sep 17 00:00:00 2001 From: Ruey Date: Sat, 25 Jan 2025 23:45:05 +0800 Subject: [PATCH 2/3] updated SetChainOptions type --- packages/vue/src/types.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vue/src/types.ts b/packages/vue/src/types.ts index 4e5067988..63abe56dc 100644 --- a/packages/vue/src/types.ts +++ b/packages/vue/src/types.ts @@ -10,9 +10,9 @@ import type { Ref, ComputedRef } from 'vue-demi' type ReadonlyRef = Readonly> type SetChainOptions = { - chainId: string + chainId: string | number chainNamespace?: string - wallet: string + wallet?: WalletState['label'] rpcUrl?: string label?: string token?: string From ff41416bd765d928e9c44c4ca5fce14d80a7763c Mon Sep 17 00:00:00 2001 From: Ruey Date: Sun, 26 Jan 2025 01:17:30 +0800 Subject: [PATCH 3/3] bump package version to 2.9.2-alpha.1 --- packages/vue/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vue/package.json b/packages/vue/package.json index df42d3d30..25caec3a3 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@web3-onboard/vue", - "version": "2.9.1", + "version": "2.9.2-alpha.1", "description": "A collection of Vue Composables for integrating Web3-Onboard in to a Vue or Nuxt project. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardized spec compliant web3 providers for all supported wallets, modern javascript UI with code splitting, CSS customization, multi-chain and multi-account support, reactive wallet state subscriptions and real-time transaction state change notifications.", "keywords": [ "Ethereum",