Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

Description

Adds support for the isSmartWalletSignature parameter in the SDK's signTypedData method to allow users to get smart wallet signatures instead of the default signer signatures. Previously, this parameter was hardcoded to false, but the backend API already supports it.

Changes made:

  • Added optional isSmartWalletSignature?: boolean parameter to SignTypedDataInput interface
  • Updated EVMWallet.signTypedData method to use the parameter instead of hardcoding false
  • Parameter defaults to false for backward compatibility

Context: This addresses Linear ticket WAL-6377 where users needed to get ERC6492-wrapped smart wallet signatures for permit2 compatibility testing.

Link to Devin run: https://app.devin.ai/sessions/894691ae61ac40ddaf6cce140226d50b
Requested by: @jorge2393

Test plan

⚠️ Testing limitation: This PR was not end-to-end tested due to environment constraints. Manual testing should verify:

  • Backward compatibility: Existing signTypedData calls continue to work unchanged (default behavior preserved)
  • New functionality: Setting isSmartWalletSignature: true returns smart wallet signatures (ERC6492-wrapped)
  • Parameter passing: The parameter correctly flows through to the backend API
  • Type safety: TypeScript compilation and interface compatibility confirmed ✅

Package updates

No package updates required - this is a feature addition using existing dependencies.

Human review checklist

🔍 Critical items to verify:

  • Backend API actually handles isSmartWalletSignature parameter correctly
  • Smart wallet signatures vs signer signatures produce different results when parameter is toggled
  • No breaking changes to existing signTypedData usage
  • Default value logic works as expected (false when parameter omitted)

- Add optional isSmartWalletSignature parameter to SignTypedDataInput interface
- Update EVMWallet.signTypedData to use parameter instead of hardcoded false
- Defaults to false for backward compatibility
- Enables smart wallet signatures when set to true

Fixes WAL-6377

Co-Authored-By: [email protected] <[email protected]>
@devin-ai-integration
Copy link
Contributor Author

Original prompt from [email protected]
SYSTEM:
=== BEGIN THREAD HISTORY (in #help-wallets) ===
Jorge (U0757E01YJV): Trying to use <https://docs.crossmint.com/wallets/guides/sign-message-evm#signing-typed-data|signTypedData> always default to the wallet's signer, devin says `isSmartWalletSignature` is hardcoded to false. Is there a way to get a smart wallet signature?

trying to test if our sw signatures are compatible with permit2 (they should be but testing e2e to confirm)

Linear Asks (U064YQRSWJC): Jorge Villamil created a new General Ask WAL-6377 Get smart wallet signature instead of default wallet signer

*Jorge Villamil* created a new General Ask

<https://linear.app/crossmint/issue/WAL-6377/get-smart-wallet-signature-instead-of-default-wallet-signer|WAL-6377 Get smart wallet signature instead of default wallet signer>
Trying to use <https://docs.crossmint.com/wallets/guides/sign-message-evm#signing-typed-data|signTypedData> always default to the wallet's signer, devin says it's hardcoded. Is there a way to get a smart wallet signature
:slack: Synced with Slack
<https://linear.app/crossmint/team/WAL/all|[ENG] Wallets> | <!date^1756488187^{date_short_pretty} {time}|August 29, 2025>


Jorge (U0757E01YJV): @Devin trying to use signTypedData on the wallets sdk always return a signature from the signer of the wallet, figure out if it's possible to pass a isSmartWallet: true via the sdk to get a smart wallet signature

if not propose a PR to enable this
=== END THREAD HISTORY ===

The latest message is the one right above that tagged you.

@changeset-bot
Copy link

changeset-bot bot commented Sep 1, 2025

🦋 Changeset detected

Latest commit: 81ddb54

The changes in this PR will be included in the next version bump.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@vercel
Copy link

vercel bot commented Sep 1, 2025

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

1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
smart-wallet-auth-demo Ignored Ignored Sep 1, 2025 0:04am

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.

0 participants