Skip to content

feat(EMBED-457): add gaslessTransfers SDK config - #2541

Open
arch1995 wants to merge 4 commits into
masterfrom
feat/EMBED-457-gasless-transfers
Open

arch1995 wants to merge 4 commits into
masterfrom
feat/EMBED-457-gasless-transfers

Conversation

@arch1995

@arch1995 arch1995 commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Jira Link

https://torusresearch.atlassian.net/browse/EMBED-457

Description

Add a gaslessTransfers flag to the no-modal SDK account-abstraction config.

  • Dashboard smartAccounts.gaslessTransfers is copied into accountAbstractionConfig.
  • Constructor accountAbstractionConfig.gaslessTransfers overrides the dashboard value.
  • Init throws if gaslessTransfers is true without MetaMask smart account type and EIP-7702.

Related:

How has this been tested?

  • Lint for @web3auth/no-modal.
  • noModal.test.ts gasless config cases passed in Chrome and Safari.

Screenshots (if appropriate)

N/A

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

  • My code follows the code style of this project. (run lint)
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Test plan

  • Init with dashboard gaslessTransfers: true and MetaMask EIP-7702. Config is true.
  • Init with constructor gaslessTransfers: false and dashboard true. Config stays false.
  • Init with constructor gaslessTransfers: true when dashboard omits the flag. Config stays true.
  • Init with gaslessTransfers: true on Safe / EIP-4337 throws WalletInitializationError.

Note

Medium Risk
Touches SDK account-abstraction initialization and validation; misconfiguration now fails fast at init, and gasless mode depends on MetaMask EIP-7702 plus wallet-services integration.

Overview
Adds gaslessTransfers to no-modal account-abstraction config: dashboard smartAccounts.gaslessTransfers is merged on init, constructor values override the dashboard, and init throws unless the setup is MetaMask + EIP-7702. Types and tests cover merge/override and invalid combinations.

The vue-app-new demo is extended to exercise this: settings for EIP standard (4337 vs 7702), gasless transfers, and local wallet services (localhost:4050); AA options pass smartAccountEipStandard and gaslessTransfers, omit per-chain bundler config for 7702, and still apply wallet-services confirmation when gasless is on without the widget button. The dashboard adds ERC-20 transfer testing (defaults per chain, e.g. Arbitrum 0xa4b1).

Reviewed by Cursor Bugbot for commit e3b1b50. Bugbot is set up for automated code reviews on this repo. Configure here.

@arch1995
arch1995 requested a review from a team as a code owner October 8, 2026 09:21
@vercel

vercel Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
web3auth-web Ready Ready Preview Oct 19, 2026 11:32am UTC

Request Review

chaitanyapotti
chaitanyapotti previously approved these changes Oct 12, 2026

This branch was successfully deployed

1 active deployment
Preview — e3b1b50c Deployed Oct 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants