diff --git a/.changeset/sour-laws-divide.md b/.changeset/sour-laws-divide.md new file mode 100644 index 0000000000..bef4916122 --- /dev/null +++ b/.changeset/sour-laws-divide.md @@ -0,0 +1,38 @@ +--- +'@reown/appkit-adapter-ethers5': patch +'@reown/appkit-adapter-ethers': patch +'@reown/appkit-adapter-solana': patch +'@reown/appkit-adapter-wagmi': patch +'@reown/appkit-utils': patch +'@reown/appkit-scaffold-ui': patch +'@apps/laboratory': patch +'@reown/appkit': patch +'@reown/appkit-common': patch +'@reown/appkit-wallet': patch +'@reown/appkit-core': patch +'@apps/demo': patch +'@apps/gallery': patch +'@examples/html-ethers': patch +'@examples/html-ethers5': patch +'@examples/html-wagmi': patch +'@examples/next-ethers': patch +'@examples/next-wagmi': patch +'@examples/react-ethers': patch +'@examples/react-ethers5': patch +'@examples/react-solana': patch +'@examples/react-wagmi': patch +'@examples/vue-ethers5': patch +'@examples/vue-solana': patch +'@examples/vue-wagmi': patch +'@reown/appkit-adapter-polkadot': patch +'@reown/appkit-cdn': patch +'@reown/appkit-ethers': patch +'@reown/appkit-ethers5': patch +'@reown/appkit-polyfills': patch +'@reown/appkit-siwe': patch +'@reown/appkit-solana': patch +'@reown/appkit-ui': patch +'@reown/appkit-wagmi': patch +--- + +Remove intermediate screen for multi address on auth wallet diff --git a/packages/core/src/controllers/RouterController.ts b/packages/core/src/controllers/RouterController.ts index 8c0971dfc2..76b1cff21f 100644 --- a/packages/core/src/controllers/RouterController.ts +++ b/packages/core/src/controllers/RouterController.ts @@ -32,7 +32,6 @@ export interface RouterControllerState { view: | 'Account' | 'AccountSettings' - | 'SelectAddresses' | 'AllWallets' | 'ApproveTransaction' | 'BuyInProgress' diff --git a/packages/scaffold-ui/exports/index.ts b/packages/scaffold-ui/exports/index.ts index d03ca1ac71..d1d1221b03 100644 --- a/packages/scaffold-ui/exports/index.ts +++ b/packages/scaffold-ui/exports/index.ts @@ -60,7 +60,6 @@ export * from '../src/views/w3m-connect-wallets-view/index.js' export * from '../src/views/w3m-connect-socials-view/index.js' export * from '../src/views/w3m-connecting-social-view/index.js' export * from '../src/views/w3m-profile-view/index.js' -export * from '../src/views/w3m-select-addresses-view/index.js' export * from '../src/views/w3m-switch-address-view/index.js' export * from '../src/views/w3m-connecting-farcaster-view/index.js' diff --git a/packages/scaffold-ui/src/modal/w3m-router/index.ts b/packages/scaffold-ui/src/modal/w3m-router/index.ts index 9bf1358faa..3593119294 100644 --- a/packages/scaffold-ui/src/modal/w3m-router/index.ts +++ b/packages/scaffold-ui/src/modal/w3m-router/index.ts @@ -101,8 +101,6 @@ export class W3mRouter extends LitElement { return html`` case 'Profile': return html`` - case 'SelectAddresses': - return html`` case 'SwitchAddress': return html`` case 'Transactions': diff --git a/packages/scaffold-ui/src/partials/w3m-header/index.ts b/packages/scaffold-ui/src/partials/w3m-header/index.ts index 9a2170863c..812823643d 100644 --- a/packages/scaffold-ui/src/partials/w3m-header/index.ts +++ b/packages/scaffold-ui/src/partials/w3m-header/index.ts @@ -53,7 +53,6 @@ function headings() { OnRampTokenSelect: 'Select Token', OnRampFiatSelect: 'Select Currency', Profile: undefined, - SelectAddresses: 'Select accounts', SwitchNetwork: networkName ?? 'Switch Network', SwitchAddress: 'Switch Address', Transactions: 'Activity', @@ -213,7 +212,7 @@ export class W3mHeader extends LitElement { return html`` diff --git a/packages/scaffold-ui/src/views/w3m-connecting-wc-view/index.ts b/packages/scaffold-ui/src/views/w3m-connecting-wc-view/index.ts index 3b4f1d5d6a..d8ae0a347a 100644 --- a/packages/scaffold-ui/src/views/w3m-connecting-wc-view/index.ts +++ b/packages/scaffold-ui/src/views/w3m-connecting-wc-view/index.ts @@ -59,15 +59,7 @@ export class W3mConnectingWcView extends LitElement { if (retry || CoreHelperUtil.isPairingExpired(wcPairingExpiry)) { await ConnectionController.connectWalletConnect() this.finalizeConnection() - - if ( - StorageUtil.getConnectedConnector() === 'AUTH' && - OptionsController.state.hasMultipleAddresses - ) { - RouterController.push('SelectAddresses') - } else { - ModalController.close() - } + ModalController.close() } } catch (error) { EventsController.sendEvent({ diff --git a/packages/scaffold-ui/src/views/w3m-email-verify-otp-view/index.ts b/packages/scaffold-ui/src/views/w3m-email-verify-otp-view/index.ts index cbd27c00e6..794859e785 100644 --- a/packages/scaffold-ui/src/views/w3m-email-verify-otp-view/index.ts +++ b/packages/scaffold-ui/src/views/w3m-email-verify-otp-view/index.ts @@ -5,37 +5,15 @@ import { EventsController, ConnectionController, ModalController, - NetworkController, - RouterController, - AccountController, - ChainController, - OptionsController + ChainController } from '@reown/appkit-core' -import { state } from 'lit/decorators.js' @customElement('w3m-email-verify-otp-view') export class W3mEmailVerifyOtpView extends W3mEmailOtpWidget { - // -- Members ------------------------------------------- // - private unsubscribe: (() => void)[] = [] - - // -- State ------------------------------------------- // - @state() private smartAccountDeployed = AccountController.state.smartAccountDeployed - - public constructor() { - super() - - this.unsubscribe.push( - AccountController.subscribeKey('smartAccountDeployed', val => { - this.smartAccountDeployed = val - }) - ) - } - // -- Private ------------------------------------------ // override onOtpSubmit: OnOtpSubmitFn = async otp => { try { if (this.authConnector) { - const smartAccountEnabled = NetworkController.checkIfSmartAccountEnabled() await this.authConnector.provider.connectOtp({ otp }) EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_PASS' }) @@ -53,13 +31,7 @@ export class W3mEmailVerifyOtpView extends W3mEmailOtpWidget { event: 'CONNECT_SUCCESS', properties: { method: 'email', name: this.authConnector.name || 'Unknown' } }) - if (AccountController.state.allAccounts.length > 1) { - RouterController.push('SelectAddresses') - } else if (smartAccountEnabled && !this.smartAccountDeployed) { - RouterController.push('UpgradeToSmartAccount') - } else if (!OptionsController.state.isSiweEnabled) { - ModalController.close() - } + ModalController.close() } } catch (error) { EventsController.sendEvent({ type: 'track', event: 'EMAIL_VERIFICATION_CODE_FAIL' }) diff --git a/packages/scaffold-ui/src/views/w3m-profile-view/index.ts b/packages/scaffold-ui/src/views/w3m-profile-view/index.ts index 05b308ceda..de125128be 100644 --- a/packages/scaffold-ui/src/views/w3m-profile-view/index.ts +++ b/packages/scaffold-ui/src/views/w3m-profile-view/index.ts @@ -143,7 +143,7 @@ export class W3mProfileView extends LitElement { : html` this.onSwitchAccount(account)} >Switch { - this.allAccounts = allAccounts - }) - } - - // -- Render -------------------------------------------- // - public override render() { - return html` - - - - - Select all - - - - ${this.allAccounts.map(account => this.getAddressTemplate(account))} - - - - Cancel - - - ${this.isApproving ? 'Signing...' : 'Continue'} - - - ` - } - - // -- Private ------------------------------------------- // - - private getAddressTemplate = (account: AccountType) => { - const checked = this.selectedAccounts.some(_account => _account.address === account.address) - - return html` - - ` - } - - private onSelectAll = (event: Event) => { - const checked = (event.target as HTMLInputElement).checked - this.selectAll = this.selectedAccounts.length === this.allAccounts.length - this.allAccounts.forEach(account => { - this.onSelect(account, checked) - }) - } - - private onSelect = (account: AccountType, add: boolean) => { - if (add) { - this.selectedAccounts.push(account) - } else { - this.selectedAccounts = this.selectedAccounts.filter(a => a.address !== account.address) - } - if (this.selectedAccounts.length > 0) { - this.selectAll = this.selectedAccounts.length === this.allAccounts.length - } - } - - private handleClick(account: AccountType) { - return (event: Event) => { - const target = event.target as HTMLInputElement - this.onSelect?.({ ...account }, target?.checked) - } - } - - private onContinue() { - if (this.selectedAccounts.length > 0) { - this.isApproving = true - AccountController.setAllAccounts(this.selectedAccounts, ChainController.state.activeChain) - AccountController.setShouldUpdateToAddress( - this.selectedAccounts[0]?.address ?? '', - ChainController.state.activeChain - ) - this.approved = true - this.isApproving = false - ModalController.close() - } else { - this.onCancel() - } - } - - private async onCancel() { - const { isConnected } = AccountController.state - if (isConnected) { - await ConnectionController.disconnect() - ModalController.close() - } else { - RouterController.push('Connect') - } - } - public override disconnectedCallback() { - super.disconnectedCallback() - if (!this.approved) { - this.onCancel() - } - } -} - -declare global { - interface HTMLElementTagNameMap { - 'w3m-select-addresses-view': W3mSelectAddressesView - } -} diff --git a/packages/scaffold-ui/src/views/w3m-select-addresses-view/styles.ts b/packages/scaffold-ui/src/views/w3m-select-addresses-view/styles.ts deleted file mode 100644 index 0a60778245..0000000000 --- a/packages/scaffold-ui/src/views/w3m-select-addresses-view/styles.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { css } from 'lit' - -export default css` - input[type='checkbox'] { - all: revert; - width: var(--wui-spacing-xl); - height: var(--wui-spacing-xl); - accent-color: var(--wui-color-accent-100); - } -`