Skip to content

Eip 7579 safes#31

Merged
code-z2 merged 59 commits intomainfrom
EIP-7579-safes
May 23, 2025
Merged

Eip 7579 safes#31
code-z2 merged 59 commits intomainfrom
EIP-7579-safes

Conversation

@code-z2
Copy link
Member

@code-z2 code-z2 commented May 23, 2025

No description provided.

code-z2 and others added 30 commits January 26, 2025 17:38
…ndling

Introduce a `nonceKey` parameter across various methods in the SmartWallet class to allow custom nonce management. This change enhances flexibility for transaction handling by enabling users to specify a nonce key, which defaults to the nonce from the bundler if not provided. Additionally, deprecated the `nonce` getter in favor of the new `getNonce` method, which supports nonce key functionality.
This commit introduces new parameters `setupTo` and `setupData` to the `encode7579InitCalldata` function, allowing for more flexible preValidation setup in the Safe7579 initialization process. Additionally, a new method `createSafe7579AccountWithPasskey` is added to the `SmartWalletFactory` to support passkey-based account creation with the new setup parameters.
… configurations

The jsonRpcUrl field has been removed from the Chain configurations to simplify the structure and avoid redundancy. This change aligns with the updated architecture where RPC URLs should be provided externally.
…lity

Update support for the Safe7579 module by introducing new addresses, updating the Safe4337Module contract ABI, and modifying the SmartWalletFactory and SafeModule classes to handle Safe7579-specific logic. This includes adding a new `getSafeOp` function, updating the `getSafeOperationHash` method to support Safe7579, and ensuring the factory can create Safe7579-compatible accounts. These changes enable compatibility with the Safe7579 module across all chains.
Convert raw byte arrays to EthereumAddress and int types for better type safety and clarity. Also, ensure the mapped list is explicitly converted to a list to avoid potential issues with lazy evaluation.
…nsform functions

The legacy gas multiplier logic has been replaced with a more flexible approach using transform functions. This change improves maintainability and allows for more precise gas value modifications. The deprecated fields have been marked accordingly to ensure a smooth transition.
maxiggle and others added 28 commits April 16, 2025 23:11
…onents for better maintainability

- Break down 1000+ line widget into multiple files with clear responsibilities
- Create utility class for Ethereum address operations
- Fix QR code layout in Receive widget to prevent overflow
…ethods

Consolidate redundant wallet creation methods into a single method for each type (Safe, Light, Modular). Introduce a `getSigner` helper method to reduce code duplication. Simplify transaction simulation methods for minting and transferring tokens. Update gas override logic for better clarity and maintainability.
…in initialization

Update contract addresses to new values and refactor the chain initialization process to directly set parameters in the constructor. This improves code readability and reduces unnecessary method calls.
…, added new enums to track creating accounts with the right signers, removed excessive UI
…countProvider

This commit removes the separate ModularAccountsProvider and integrates its functionality into the existing AccountProvider. This change simplifies the codebase by reducing redundancy and centralizing account management logic. The modular account-related methods and state have been moved to AccountProvider, and all references to ModularAccountsProvider have been updated accordingly. Additionally, the Home7579InterfaceImpl has been introduced to replace the ModularAccountInterface, further streamlining the code.

The changes include:
- Removal of ModularAccountsProvider and its related files
- Integration of modular account logic into AccountProvider
- Introduction of Home7579InterfaceImpl to replace ModularAccountInterface
- Updates to all dependent files to reflect these changes

This refactor improves maintainability and reduces complexity in the codebase.
- Refactor error handling in WalletProvider to log and return truncated error messages
- Extract CopyButton into a reusable component for better maintainability
- Update home screen to use provider methods for simulateTransfer and simulateMint
This commit refactors the module management system to use the new `variance-modules` package. It removes the old `modular_account_impl.dart`, `module_entry.dart`, and `user_operations.dart` files, and introduces a new `module_provider.dart` to handle module-related operations. The changes also include updates to the `pubspec.yaml` and `pubspec.lock` files to include the new dependencies. Additionally, the `HexUtils` class has been refactored into an extension for better code organization. The commit aims to improve maintainability and reduce code duplication by leveraging the new package.
…functionality

Improve performance by adding caching to the module list method and introduce a reload method to refresh the module list. This reduces unnecessary network calls and ensures the UI stays up-to-date with the latest module state.
Update contract addresses to new deployments and switch chain configuration from Fuse to Base Sepolia. Additionally, refactor module-related logic to improve error handling and add wallet deployment checks before performing actions.

- Update contract addresses for NFT, ERC20, and remove unused verifier
- Change chain configuration to Base Sepolia
- Add wallet deployment checks in module-related actions
- Improve error handling and feedback in UI components
- Remove unused `registryHook` module from `ModuleProvider`
- Simplify `data` assignment in `jsonRpc_actions.dart`
- Update `web3_signers` dependency to version 0.1.10
- Add empty state UI for module installation and uninstallation sheets
- Reordered imports in `variance_dart.dart` for better organization
- Added `encodeModuleUninstallCalldata` function to handle module uninstallation
- Introduced `SafeHookType` enum and constants for hook types
- Updated `_uninstallModule` method to use `deInitData` instead of `initData`
- Modified `ModuleProvider` to use `BigInt` for threshold and simplified module initialization
This commit refactors the codebase by reorganizing files, removing unused code, and improving code readability. Key changes include:
- Moved URL validation logic to extensions.dart
- Removed deprecated Safe7579-related files and code
- Improved type definitions and added new constants
- Enhanced code formatting and consistency
- Simplified mixin implementations and state management
- publish ready
Update Android Gradle plugin to version 8.2.1 and Gradle wrapper to version 8.14. Add new CMake build configurations for different architectures (x86, x86_64, arm64-v8a, armeabi-v7a) to support modular builds. This ensures compatibility with the latest Android build tools and improves build performance.
Update web3_signers dependency to version 0.1.11 and adjust public key access syntax in factory.dart. Also, add variance_modules import and validators in wallet_provider.dart to enhance functionality.
…skeybased modular accounts"

This reverts commit ec6cd8e.
…tBase

The getNonce method in SmartWallet has been simplified by removing redundant deployment checks. Additionally, SmartWalletBase has been refactored to extend TransactionBuilder, moving transaction-related methods to the new base class. This improves code organization and maintainability.
…th mixins

Update dependencies and refactor SmartWallet class to use mixins for better maintainability and flexibility. Remove deprecated methods and simplify user operation preparation logic. Update gas override handling and improve state management with SmartWalletState.copyWith method. Adjust module initialization and validation logic for consistency.
…an up code

- Replace local path dependency for web3_signers with hosted version ^0.2.0
- Remove unused U8a extension and redundant imports
- Update module provider to use wallet for module installation
- Fix keypair parameter in WebauthnValidator initialization
- Update README for clarity and consistency
@code-z2 code-z2 merged commit a11a837 into main May 23, 2025
1 of 3 checks passed
@code-z2 code-z2 deleted the EIP-7579-safes branch November 4, 2025 22:24
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