Merged
Conversation
…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.
…e-dart into EIP-7579-safes
…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
…loading states and readble error messages
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.
…d modular accounts
…skeybased modular accounts" This reverts commit ec6cd8e.
…d modular accounts
…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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.