Skip to content

LiFi Widget Incompatibility with Smart Contract Wallets (ZeroDev) — Throws Invalid yParityOrV value #433

@maxivarela

Description

@maxivarela

🛡️ Bug Report: Invalid yParityOrV value when Using LiFi Widget with Smart Contract Wallet (Account Abstraction)

Summary

When using the LiFi Widget with a Smart Contract Wallet via Account Abstraction (specifically ZeroDev's Smart Account), the widget throws the following error during swap attempts:

Invalid yParityOrV value

This issue does not occur when using a standard EOA (Externally Owned Account) with the same widget and setup.


Steps to Reproduce

  1. Initialize a Smart Contract Wallet using ZeroDev (ERC-4337 compatible).
  2. Use Dynamic as the wallet connector for the DApp.
  3. Embed the LiFi Widget in the app with default setup.
  4. Attempt a token swap through the widget.
  5. Observe the error: Invalid yParityOrV value.

Expected Behavior

  • The widget should support swaps for Smart Contract Wallets (Account Abstraction) without throwing signature-related errors.
  • The yParityOrV value should be properly handled or normalized in the underlying signing logic.

Additional Details

  • Wallet Provider: ZeroDev Smart Account
  • Connector: Dynamic Labs
  • Error only occurs with Smart Contract Wallet, not with EOA.
  • The issue appears related to signature format expectations — AA wallets often don't expose standard eth_sign behavior, requiring different handling for transaction signing.

Suggested Considerations

  • Improve compatibility of LiFi Widget with Account Abstraction wallets (ERC-4337).
  • Ensure signature handling in the widget or SDK supports AA-specific flows.
  • Possibly provide a flag or recommended approach for Smart Account environments.

Environment

Tool Version/Details
LiFi Widget 3.21.3
ZeroDev SDK 5.4.26
Dynamic Labs 4.9.1
Browser/OS Chrome version 137.0.7151.120 (Official Build) (arm64)

Happy to provide additional technical details or test beta fixes. Let me know how I can assist!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions