From 191a3dc98dc6006dcd3314248f3f7164f3dc9ae3 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Thu, 31 Oct 2024 22:11:47 +0800 Subject: [PATCH 01/19] use wallet service --- demo/vue-app-new/src/MainView.vue | 4 +- .../src/components/AppDashboard.vue | 60 ++++++++--- .../src/services/walletServiceHandlers.ts | 102 ++++++++++++++++++ 3 files changed, 152 insertions(+), 14 deletions(-) create mode 100644 demo/vue-app-new/src/services/walletServiceHandlers.ts diff --git a/demo/vue-app-new/src/MainView.vue b/demo/vue-app-new/src/MainView.vue index 22ba05044..5a5b84b08 100644 --- a/demo/vue-app-new/src/MainView.vue +++ b/demo/vue-app-new/src/MainView.vue @@ -38,7 +38,9 @@ const walletPlugins = computed(() => { if (formData.chainNamespace !== CHAIN_NAMESPACES.EIP155 || !formData.walletPlugin.enable) return []; const { logoDark, logoLight } = formData.walletPlugin; const walletServicesPlugin = new WalletServicesPlugin({ - walletInitOptions: { whiteLabel: { showWidgetButton: true, logoDark: logoDark || "logo", logoLight: logoLight || "logo" } }, + walletInitOptions: { + whiteLabel: { showWidgetButton: true, logoDark: logoDark || "logo", logoLight: logoLight || "logo" }, + }, }); return [walletServicesPlugin]; }); diff --git a/demo/vue-app-new/src/components/AppDashboard.vue b/demo/vue-app-new/src/components/AppDashboard.vue index 9fb7387a2..c792471d5 100644 --- a/demo/vue-app-new/src/components/AppDashboard.vue +++ b/demo/vue-app-new/src/components/AppDashboard.vue @@ -16,6 +16,12 @@ import { signTypedMessage, } from "../services/ethHandlers"; import { signAllTransactions, signAndSendTransaction, signMessage, signTransaction as signSolTransaction } from "../services/solHandlers"; +import { + walletSendEth, + walletSignPersonalMessage, + walletSignTransaction as walletSignEthTransaction, + walletSignTypedMessage, +} from "../services/walletServiceHandlers"; import { formDataStore } from "../store/form"; const { t } = useI18n({ useScope: "global" }); @@ -48,19 +54,6 @@ const isDisplay = (name: string): boolean => { } }; -const showWalletUI = async () => { - const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; - await walletPlugin.showWalletUi(); -}; -const showCheckout = async () => { - const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; - await walletPlugin.showCheckout(); -}; -const showWalletConnectScanner = async () => { - const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; - await walletPlugin.showWalletConnectScanner(); -}; - const clearConsole = () => { const el = document.querySelector("#console>pre"); const h1 = document.querySelector("#console>h1"); @@ -91,6 +84,37 @@ const printToConsole = (...args: unknown[]) => { } }; +// Wallet Services +const showWalletUI = async () => { + const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; + await walletPlugin.showWalletUi(); +}; +const showCheckout = async () => { + const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; + await walletPlugin.showCheckout(); +}; +const showWalletConnectScanner = async () => { + const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; + await walletPlugin.showWalletConnectScanner(); +}; +const onWalletSignPersonalMessage = async () => { + const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; + await walletSignPersonalMessage(walletPlugin.wsEmbedInstance.provider, printToConsole); +}; +const onWalletSignTypedData_v4 = async () => { + const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; + await walletSignTypedMessage(walletPlugin.wsEmbedInstance.provider, printToConsole); +}; +const onWalletSendEth = async () => { + const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; + await walletSendEth(walletPlugin.wsEmbedInstance.provider, printToConsole); +}; +const onWalletSignEthTransaction = async () => { + const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; + await walletSignEthTransaction(walletPlugin.wsEmbedInstance.provider as IProvider, printToConsole); +}; + +// Ethereum Provider const onGetUserInfo = async () => { printToConsole("User Info", userInfo.value); }; @@ -206,6 +230,16 @@ const onSignPersonalMsg = async () => { + + + +
Sample Transaction
diff --git a/demo/vue-app-new/src/services/walletServiceHandlers.ts b/demo/vue-app-new/src/services/walletServiceHandlers.ts new file mode 100644 index 000000000..2993684b8 --- /dev/null +++ b/demo/vue-app-new/src/services/walletServiceHandlers.ts @@ -0,0 +1,102 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { log } from "@web3auth/base"; +import { verifyMessage as eipVerifyMessage } from "@web3auth/sign-in-with-ethereum"; +import { WalletServicesPlugin } from "@web3auth/wallet-services-plugin"; +import { BrowserProvider, parseEther } from "ethers"; + +import { getV4TypedData } from "../config"; + +export const walletSignPersonalMessage = async (provider: WalletServicesPlugin["provider"], uiConsole: any) => { + try { + const ethProvider = new BrowserProvider(provider); + const accounts = await provider.request({ method: "eth_accounts" }); + const smartAccountAddress = accounts[1]; + const signer = await ethProvider.getSigner(smartAccountAddress); + const account = await signer.getAddress(); + const from = account; + + const originalMessage = "Example `personal_sign` messages"; + + // Sign the message + const signedMessage = await signer.signMessage(originalMessage); + + const valid = await eipVerifyMessage({ + provider: ethProvider, + message: originalMessage, + signature: signedMessage, + signer: from, + }); + + uiConsole(`Success`, { signedMessage, verify: valid }); + } catch (error) { + log.error("Error", error); + uiConsole("Error", error instanceof Error ? error.message : error); + } +}; + +export const walletSignTypedMessage = async (provider: WalletServicesPlugin["provider"], uiConsole: any) => { + try { + const ethProvider = new BrowserProvider(provider); + const accounts = await provider.request({ method: "eth_accounts" }); + const smartAccountAddress = accounts[1]; + const signer = await ethProvider.getSigner(smartAccountAddress); + const account = await signer.getAddress(); + const from = account; + const typedData = getV4TypedData(provider.chainId); + + const signedMessage = await signer.signTypedData(typedData.domain, typedData.types, typedData.message); + + const valid = await eipVerifyMessage({ + provider: ethProvider, + typedData, + signature: signedMessage, + signer: from, + }); + + uiConsole(`Success`, { signedMessage, verify: valid }); + } catch (error) { + log.error("Error", error); + uiConsole("Error", error instanceof Error ? error.message : error); + } +}; + +export const walletSendEth = async (provider: WalletServicesPlugin["provider"], uiConsole: any) => { + try { + const ethProvider = new BrowserProvider(provider); + const accounts = await provider.request({ method: "eth_accounts" }); + const smartAccountAddress = accounts[1]; + const signer = await ethProvider.getSigner(smartAccountAddress); + const account = await signer.getAddress(); + const txRes = await signer.sendTransaction({ + from: account, + to: account, + value: parseEther("0.01"), + }); + // check for big int before logging to not break the stringify + uiConsole("txRes", txRes.toJSON()); + } catch (error) { + log.info("error", error); + uiConsole("error", error instanceof Error ? error.message : error); + } +}; + +export const walletSignTransaction = async (provider: WalletServicesPlugin["provider"], uiConsole: any) => { + try { + const ethProvider = new BrowserProvider(provider); + const accounts = await provider.request({ method: "eth_accounts" }); + const smartAccountAddress = accounts[1]; + const signer = await ethProvider.getSigner(smartAccountAddress); + const account = await signer.getAddress(); + // only supported with social logins (openlogin adapter) + const serializedTx = await signer.signTransaction({ + from: account, + to: account, + value: parseEther("0.01"), + }); + + uiConsole("serialized user operation", serializedTx); + } catch (error) { + log.info("error", error); + uiConsole("error", error instanceof Error ? error.message : error); + } +}; From 77c16dc1deab4a0c4e81f967414974acd27dad44 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Mon, 4 Nov 2024 16:03:44 +0800 Subject: [PATCH 02/19] pass aa config to wallet service --- packages/plugins/wallet-services-plugin/src/plugin.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/plugins/wallet-services-plugin/src/plugin.ts b/packages/plugins/wallet-services-plugin/src/plugin.ts index eaf54bf2b..41e7d3c50 100644 --- a/packages/plugins/wallet-services-plugin/src/plugin.ts +++ b/packages/plugins/wallet-services-plugin/src/plugin.ts @@ -1,5 +1,6 @@ import { type BaseEmbedControllerState } from "@toruslabs/base-controllers"; import type { EthereumProviderConfig } from "@toruslabs/ethereum-controllers"; +import { AccountAbstractionProvider } from "@web3auth/account-abstraction-provider"; import { SafeEventEmitter, type WhiteLabelData } from "@web3auth/auth"; import { ADAPTER_EVENTS, @@ -98,11 +99,19 @@ export class WalletServicesPlugin extends SafeEventEmitter implements IPlugin { if (!connectedChainConfig.ticker) throw WalletServicesPluginError.invalidParams("ticker is required in chainConfig"); if (!connectedChainConfig.tickerName) throw WalletServicesPluginError.invalidParams("tickerName is required in chainConfig"); + const accountAbstractionConfig = { + enabled: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider) !== undefined, + smartAccountType: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config.smartAccountInit.name || undefined, + paymasterUrl: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.paymasterConfig?.url || undefined, + bundlerUrl: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.bundlerConfig?.url || undefined, + }; + const finalInitOptions = { ...this.walletInitOptions, chainConfig: connectedChainConfig as EthereumProviderConfig, enableLogging: this.web3auth.coreOptions?.enableLogging, whiteLabel: mergedWhitelabelSettings, + accountAbstractionConfig, }; await this.wsEmbedInstance.init(finalInitOptions); From 001c6d91560cb9be113a4056a47ff5f08f5ad56b Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Mon, 4 Nov 2024 23:57:01 +0800 Subject: [PATCH 03/19] update accountAbstractionConfig --- .../wallet-services-plugin/src/plugin.ts | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/plugins/wallet-services-plugin/src/plugin.ts b/packages/plugins/wallet-services-plugin/src/plugin.ts index 41e7d3c50..2b5c40015 100644 --- a/packages/plugins/wallet-services-plugin/src/plugin.ts +++ b/packages/plugins/wallet-services-plugin/src/plugin.ts @@ -21,7 +21,7 @@ import { WALLET_ADAPTERS, WalletServicesPluginError, } from "@web3auth/base"; -import WsEmbed, { CtorArgs, WsEmbedParams } from "@web3auth/ws-embed"; +import WsEmbed, { AccountAbstractionConfig, CtorArgs, WsEmbedParams } from "@web3auth/ws-embed"; type WsPluginEmbedParams = Omit & { /** @@ -99,12 +99,21 @@ export class WalletServicesPlugin extends SafeEventEmitter implements IPlugin { if (!connectedChainConfig.ticker) throw WalletServicesPluginError.invalidParams("ticker is required in chainConfig"); if (!connectedChainConfig.tickerName) throw WalletServicesPluginError.invalidParams("tickerName is required in chainConfig"); + const enableAccountAbstraction = + web3auth.coreOptions.useAAWithExternalWallet && + (web3auth.connectedAdapterName === WALLET_ADAPTERS.AUTH || + (web3auth.connectedAdapterName !== WALLET_ADAPTERS.AUTH && web3auth.coreOptions.useAAWithExternalWallet)); + const smartAccountType = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config.smartAccountInit.name; + const paymasterConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.paymasterConfig; + const bundlerConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.bundlerConfig; + + // TODO: fix this type casting when we start using accountAbstractionController const accountAbstractionConfig = { - enabled: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider) !== undefined, - smartAccountType: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config.smartAccountInit.name || undefined, - paymasterUrl: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.paymasterConfig?.url || undefined, - bundlerUrl: (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.bundlerConfig?.url || undefined, - }; + enabled: enableAccountAbstraction, + smartAccountType: smartAccountType || undefined, + paymasterConfig: paymasterConfig || undefined, + bundlerConfig: bundlerConfig || undefined, + } as AccountAbstractionConfig; const finalInitOptions = { ...this.walletInitOptions, From d80151be7d5b8a0a4e457983a03c90ea43555487 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Tue, 5 Nov 2024 00:15:38 +0800 Subject: [PATCH 04/19] pass generated smartAccount address to have initial value --- packages/plugins/wallet-services-plugin/src/plugin.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/plugins/wallet-services-plugin/src/plugin.ts b/packages/plugins/wallet-services-plugin/src/plugin.ts index 2b5c40015..dc84ba912 100644 --- a/packages/plugins/wallet-services-plugin/src/plugin.ts +++ b/packages/plugins/wallet-services-plugin/src/plugin.ts @@ -103,6 +103,7 @@ export class WalletServicesPlugin extends SafeEventEmitter implements IPlugin { web3auth.coreOptions.useAAWithExternalWallet && (web3auth.connectedAdapterName === WALLET_ADAPTERS.AUTH || (web3auth.connectedAdapterName !== WALLET_ADAPTERS.AUTH && web3auth.coreOptions.useAAWithExternalWallet)); + const smartAccountAddress = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.smartAccount.address; const smartAccountType = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config.smartAccountInit.name; const paymasterConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.paymasterConfig; const bundlerConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.bundlerConfig; @@ -110,6 +111,7 @@ export class WalletServicesPlugin extends SafeEventEmitter implements IPlugin { // TODO: fix this type casting when we start using accountAbstractionController const accountAbstractionConfig = { enabled: enableAccountAbstraction, + smartAccountAddress: smartAccountAddress || undefined, smartAccountType: smartAccountType || undefined, paymasterConfig: paymasterConfig || undefined, bundlerConfig: bundlerConfig || undefined, From 4008302b66c8d0782d11d05f77923a412d3c2f0f Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Wed, 6 Nov 2024 16:41:55 +0800 Subject: [PATCH 05/19] update package.json --- packages/plugins/wallet-services-plugin/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/plugins/wallet-services-plugin/package.json b/packages/plugins/wallet-services-plugin/package.json index dcfb633c7..f65e9a67b 100644 --- a/packages/plugins/wallet-services-plugin/package.json +++ b/packages/plugins/wallet-services-plugin/package.json @@ -34,10 +34,11 @@ "@toruslabs/ethereum-controllers": "^6.2.2" }, "dependencies": { + "@web3auth/account-abstraction-provider": "^9.3.1", "@web3auth/auth": "^9.4.1", "@web3auth/base": "^9.3.0", "@web3auth/no-modal": "^9.3.1", - "@web3auth/ws-embed": "^3.1.0", + "@web3auth/ws-embed": "file:../../../../wallet-services/packages/ws-embed", "loglevel": "^1.9.2" }, "peerDependencies": { From 8a981e5b2d5ee6efa3ef6513f75eedbcb33e3ed3 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Fri, 29 Nov 2024 12:39:26 +0800 Subject: [PATCH 06/19] pass undefined aaConfig if it's not enabled on sdk config --- .../wallet-services-plugin/src/plugin.ts | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/packages/plugins/wallet-services-plugin/src/plugin.ts b/packages/plugins/wallet-services-plugin/src/plugin.ts index dc84ba912..82dc69e39 100644 --- a/packages/plugins/wallet-services-plugin/src/plugin.ts +++ b/packages/plugins/wallet-services-plugin/src/plugin.ts @@ -103,19 +103,23 @@ export class WalletServicesPlugin extends SafeEventEmitter implements IPlugin { web3auth.coreOptions.useAAWithExternalWallet && (web3auth.connectedAdapterName === WALLET_ADAPTERS.AUTH || (web3auth.connectedAdapterName !== WALLET_ADAPTERS.AUTH && web3auth.coreOptions.useAAWithExternalWallet)); - const smartAccountAddress = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.smartAccount.address; - const smartAccountType = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config.smartAccountInit.name; - const paymasterConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.paymasterConfig; - const bundlerConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.bundlerConfig; - - // TODO: fix this type casting when we start using accountAbstractionController - const accountAbstractionConfig = { - enabled: enableAccountAbstraction, - smartAccountAddress: smartAccountAddress || undefined, - smartAccountType: smartAccountType || undefined, - paymasterConfig: paymasterConfig || undefined, - bundlerConfig: bundlerConfig || undefined, - } as AccountAbstractionConfig; + + let accountAbstractionConfig: AccountAbstractionConfig; + + if (enableAccountAbstraction) { + const smartAccountAddress = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.smartAccount.address; + const smartAccountType = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config.smartAccountInit.name; + const paymasterConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.paymasterConfig; + const bundlerConfig = (web3auth.coreOptions.accountAbstractionProvider as AccountAbstractionProvider)?.config?.bundlerConfig; + + // TODO: fix this type casting when we start using accountAbstractionController + accountAbstractionConfig = { + smartAccountAddress: smartAccountAddress || undefined, + smartAccountType: smartAccountType || undefined, + paymasterConfig: paymasterConfig || undefined, + bundlerConfig: bundlerConfig || undefined, + } as AccountAbstractionConfig; + } const finalInitOptions = { ...this.walletInitOptions, From 6c62f09f87be02d49ede4c209117c7f80c87254e Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Fri, 29 Nov 2024 13:56:43 +0800 Subject: [PATCH 07/19] update demo wallet-service handlers --- .../src/services/walletServiceHandlers.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/demo/vue-app-new/src/services/walletServiceHandlers.ts b/demo/vue-app-new/src/services/walletServiceHandlers.ts index 2993684b8..06af1219a 100644 --- a/demo/vue-app-new/src/services/walletServiceHandlers.ts +++ b/demo/vue-app-new/src/services/walletServiceHandlers.ts @@ -9,9 +9,7 @@ import { getV4TypedData } from "../config"; export const walletSignPersonalMessage = async (provider: WalletServicesPlugin["provider"], uiConsole: any) => { try { const ethProvider = new BrowserProvider(provider); - const accounts = await provider.request({ method: "eth_accounts" }); - const smartAccountAddress = accounts[1]; - const signer = await ethProvider.getSigner(smartAccountAddress); + const signer = await ethProvider.getSigner(); const account = await signer.getAddress(); const from = account; @@ -37,9 +35,7 @@ export const walletSignPersonalMessage = async (provider: WalletServicesPlugin[" export const walletSignTypedMessage = async (provider: WalletServicesPlugin["provider"], uiConsole: any) => { try { const ethProvider = new BrowserProvider(provider); - const accounts = await provider.request({ method: "eth_accounts" }); - const smartAccountAddress = accounts[1]; - const signer = await ethProvider.getSigner(smartAccountAddress); + const signer = await ethProvider.getSigner(); const account = await signer.getAddress(); const from = account; const typedData = getV4TypedData(provider.chainId); @@ -63,9 +59,7 @@ export const walletSignTypedMessage = async (provider: WalletServicesPlugin["pro export const walletSendEth = async (provider: WalletServicesPlugin["provider"], uiConsole: any) => { try { const ethProvider = new BrowserProvider(provider); - const accounts = await provider.request({ method: "eth_accounts" }); - const smartAccountAddress = accounts[1]; - const signer = await ethProvider.getSigner(smartAccountAddress); + const signer = await ethProvider.getSigner(); const account = await signer.getAddress(); const txRes = await signer.sendTransaction({ from: account, @@ -84,7 +78,7 @@ export const walletSignTransaction = async (provider: WalletServicesPlugin["prov try { const ethProvider = new BrowserProvider(provider); const accounts = await provider.request({ method: "eth_accounts" }); - const smartAccountAddress = accounts[1]; + const smartAccountAddress = accounts[0]; const signer = await ethProvider.getSigner(smartAccountAddress); const account = await signer.getAddress(); // only supported with social logins (openlogin adapter) From c71cd6a71691add38435848ab61fcd5c48e56111 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Fri, 29 Nov 2024 14:58:15 +0800 Subject: [PATCH 08/19] remove sign tx --- demo/vue-app-new/src/components/AppDashboard.vue | 7 ------- 1 file changed, 7 deletions(-) diff --git a/demo/vue-app-new/src/components/AppDashboard.vue b/demo/vue-app-new/src/components/AppDashboard.vue index c792471d5..61c103285 100644 --- a/demo/vue-app-new/src/components/AppDashboard.vue +++ b/demo/vue-app-new/src/components/AppDashboard.vue @@ -109,10 +109,6 @@ const onWalletSendEth = async () => { const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; await walletSendEth(walletPlugin.wsEmbedInstance.provider, printToConsole); }; -const onWalletSignEthTransaction = async () => { - const walletPlugin = web3Auth.value?.getPlugin(WALLET_PLUGINS.WALLET_SERVICES) as WalletServicesPlugin; - await walletSignEthTransaction(walletPlugin.wsEmbedInstance.provider as IProvider, printToConsole); -}; // Ethereum Provider const onGetUserInfo = async () => { @@ -237,9 +233,6 @@ const onSignPersonalMsg = async () => { {{ t("app.buttons.btnSignTypedData_v4") }} -
Sample Transaction
From 0a7930598c35ce25d03977187e7ca9800ec1ce31 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Mon, 2 Dec 2024 12:14:10 +0800 Subject: [PATCH 09/19] setup for testing --- demo/vue-app-new/package.json | 1 + demo/vue-app-new/src/MainView.vue | 6 ++++++ packages/plugins/wallet-services-plugin/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/demo/vue-app-new/package.json b/demo/vue-app-new/package.json index 895ec478e..38b12e9a2 100644 --- a/demo/vue-app-new/package.json +++ b/demo/vue-app-new/package.json @@ -36,6 +36,7 @@ "@web3auth/torus-solana-adapter": "file:../../packages/adapters/torus-solana-adapter", "@web3auth/wallet-connect-v2-adapter": "file:../../packages/adapters/wallet-connect-v2-adapter", "@web3auth/wallet-services-plugin": "file:../../packages/plugins/wallet-services-plugin", + "@web3auth/ws-embed": "file:../../web3auth-ws-embed-3.1.2.tgz", "bs58": "^5.0.0", "ethers": "^6.13.3", "vue": "^3.5.11", diff --git a/demo/vue-app-new/src/MainView.vue b/demo/vue-app-new/src/MainView.vue index 7fff1a0d0..056936902 100644 --- a/demo/vue-app-new/src/MainView.vue +++ b/demo/vue-app-new/src/MainView.vue @@ -40,6 +40,12 @@ const walletPlugins = computed(() => { const walletServicesPlugin = new WalletServicesPlugin({ walletInitOptions: { whiteLabel: { showWidgetButton: true, logoDark: logoDark || "logo", logoLight: logoLight || "logo" }, + walletUrls: { + production: { + url: "https://test-wallet.web3auth.io", + logLevel: "debug", + }, + }, }, }); return [walletServicesPlugin]; diff --git a/packages/plugins/wallet-services-plugin/package.json b/packages/plugins/wallet-services-plugin/package.json index f13fc749e..c30f9ad80 100644 --- a/packages/plugins/wallet-services-plugin/package.json +++ b/packages/plugins/wallet-services-plugin/package.json @@ -38,7 +38,7 @@ "@web3auth/auth": "^9.5.3", "@web3auth/base": "^9.4.5", "@web3auth/no-modal": "^9.4.5", - "@web3auth/ws-embed": "^3.1.6", + "@web3auth/ws-embed": "file:../../../web3auth-ws-embed-3.1.2.tgz", "loglevel": "^1.9.2" }, "peerDependencies": { From f9df0319da265b612f8c385307f6d481a3625ae7 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Mon, 2 Dec 2024 12:16:43 +0800 Subject: [PATCH 10/19] add embed pack for testing --- web3auth-ws-embed-3.1.2.tgz | Bin 0 -> 124861 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 web3auth-ws-embed-3.1.2.tgz diff --git a/web3auth-ws-embed-3.1.2.tgz b/web3auth-ws-embed-3.1.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a85d4d57a94f80f236eae0edc06d9bae307c5181 GIT binary patch literal 124861 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

)E&ND7Kv|#hF2QIEhZS}FHZ0N5^4GQf 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ÖO+tWD{yY5}3PpN%fFH7cOfhUm(~>3-2PZ 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 T)4%E8SNr?_8EDxX06+);=ClQ3 literal 0 HcmV?d00001 From 6e93ccd34ea29e1344895dfde15206ba2aee9c39 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Mon, 2 Dec 2024 14:45:53 +0800 Subject: [PATCH 11/19] trigger vercel From 69a07a65f5c01bcbcc1f7c31ea89cc15d892e94c Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Mon, 2 Dec 2024 15:02:34 +0800 Subject: [PATCH 12/19] trigger vercel 2 From 5557fc80194c46efb168df7b83b9d9648031848e Mon Sep 17 00:00:00 2001 From: Tai Nguyen Date: Tue, 3 Dec 2024 09:25:06 +0700 Subject: [PATCH 13/19] fix issue of vue-composables --- .../composables/modal-vue-composables/src/Web3AuthProvider.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts b/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts index 27aca016d..0598f2592 100644 --- a/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts +++ b/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts @@ -97,6 +97,7 @@ export const Web3AuthProvider = defineComponent({ watch( () => props.config, (newConfig) => { + if (web3Auth.value) return; const resetHookState = () => { provider.value = null; userInfo.value = null; From 09f517557b4b14b9505a85c53b28709117ba1451 Mon Sep 17 00:00:00 2001 From: Tai Nguyen Date: Tue, 3 Dec 2024 13:04:57 +0700 Subject: [PATCH 14/19] Revert "fix issue of vue-composables" This reverts commit 5557fc80194c46efb168df7b83b9d9648031848e. --- .../composables/modal-vue-composables/src/Web3AuthProvider.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts b/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts index 0598f2592..27aca016d 100644 --- a/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts +++ b/packages/composables/modal-vue-composables/src/Web3AuthProvider.ts @@ -97,7 +97,6 @@ export const Web3AuthProvider = defineComponent({ watch( () => props.config, (newConfig) => { - if (web3Auth.value) return; const resetHookState = () => { provider.value = null; userInfo.value = null; From 29e714e8c584bb053aa86fb60d31d37ec69563c1 Mon Sep 17 00:00:00 2001 From: Lionell Briones Date: Tue, 3 Dec 2024 14:55:06 +0800 Subject: [PATCH 15/19] allow config confirmation strategy --- demo/vue-app-new/src/MainView.vue | 3 ++- .../src/components/AppSettings.vue | 19 ++++++++++++++++++- demo/vue-app-new/src/config.ts | 8 ++++++++ demo/vue-app-new/src/translations/en.json | 4 ++-- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/demo/vue-app-new/src/MainView.vue b/demo/vue-app-new/src/MainView.vue index 056936902..61aa188c1 100644 --- a/demo/vue-app-new/src/MainView.vue +++ b/demo/vue-app-new/src/MainView.vue @@ -36,7 +36,7 @@ const externalAdapters = ref[]>([]); const walletPlugins = computed(() => { if (formData.chainNamespace !== CHAIN_NAMESPACES.EIP155 || !formData.walletPlugin.enable) return []; - const { logoDark, logoLight } = formData.walletPlugin; + const { logoDark, logoLight, confirmationStrategy } = formData.walletPlugin; const walletServicesPlugin = new WalletServicesPlugin({ walletInitOptions: { whiteLabel: { showWidgetButton: true, logoDark: logoDark || "logo", logoLight: logoLight || "logo" }, @@ -46,6 +46,7 @@ const walletPlugins = computed(() => { logLevel: "debug", }, }, + confirmationStrategy, }, }); return [walletServicesPlugin]; diff --git a/demo/vue-app-new/src/components/AppSettings.vue b/demo/vue-app-new/src/components/AppSettings.vue index 465fc8d42..c87e75f6e 100644 --- a/demo/vue-app-new/src/components/AppSettings.vue +++ b/demo/vue-app-new/src/components/AppSettings.vue @@ -4,7 +4,15 @@ import { ADAPTER_STATUS, CHAIN_NAMESPACES, ChainNamespaceType, log } from "@web3 import { useWeb3Auth } from "@web3auth/modal-vue-composables"; import { computed, InputHTMLAttributes, ref } from "vue"; -import { chainConfigs, chainNamespaceOptions, languageOptions, loginProviderOptions, networkOptions, SmartAccountOptions } from "../config"; +import { + chainConfigs, + chainNamespaceOptions, + confirmationStrategyOptions, + languageOptions, + loginProviderOptions, + networkOptions, + SmartAccountOptions, +} from "../config"; import { formDataStore } from "../store/form"; const formData = formDataStore; @@ -350,6 +358,15 @@ const onChainNamespaceChange = (value: string) => { :placeholder="$t('app.walletPlugin.logoDark')" class="sm:col-span-2" /> +