Skip to content

Conversation

@0xh3rman
Copy link
Contributor

@0xh3rman 0xh3rman commented Jan 20, 2026

Simulator Screenshot - iPhone 17 Pro - 2026-01-25 at 11 31 55 Simulator Screenshot - iPhone 17 Pro - 2026-01-19 at 20 47 18 Simulator Screenshot - iPhone 17 Pro - 2026-01-19 at 20 47 21 Simulator Screenshot - iPhone 17 Pro - 2026-01-19 at 20 47 44 Simulator Screenshot - iPhone 17 Pro - 2026-01-25 at 11 31 46 Simulator Screenshot - iPhone 17 Pro - 2026-01-19 at 20 47 51

Introduces the Yield module, including Swift Package setup, scene, view models, and UI components for displaying yield opportunities and positions. Integrates Yield into Assets and Staking features, updates navigation, and extends transfer and primitives types to support yield actions. Adds new resources and images for yield providers, and updates dependencies and project configuration accordingly.
Deleted the unused 'name' property from GemYieldProvider and removed debug print statements from YieldSceneViewModel's fetch method for cleaner code. Updated core submodule reference.
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @0xh3rman, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a comprehensive 'Yield' feature, enabling users to engage with yield-generating protocols directly within the application. It establishes a new dedicated module for yield management, integrates yield information into existing asset and staking views, and extends the transaction processing system to support yield deposits and withdrawals. The changes ensure a cohesive user experience for discovering and participating in yield opportunities.

Highlights

  • New Yield Feature Module: A new 'Yield' feature module has been introduced, including YieldScene for displaying yield opportunities and positions, YieldInput for data passing, YieldOpportunityViewModel for individual opportunity presentation, and YieldSceneViewModel for managing the scene's logic and state.
  • Asset Scene Integration: The AssetScene now conditionally displays yield positions and opportunities. The AssetSceneViewModel has been updated to integrate YieldService for fetching yield data, and new UI components (yieldView, yieldViewEmpty) have been added to present this information.
  • Staking Scene Integration: The StakeScene can now navigate to the new YieldScene via an 'Earn' section, allowing users to access yield opportunities directly from their staking view. The StakeSceneViewModel was updated to support this navigation.
  • Transaction Handling for Yield Operations: The Transfer module has been updated to support 'yield' related transactions, including deposit and withdrawal. This involved modifying TransactionFactory, TransferExecutor, AmountDataProvider, AmountInputConfig, and various Confirm view models to recognize and process yieldDeposit and yieldWithdraw transaction types.
  • Core Service and Model Updates: The TransactionType enum now includes yieldDeposit and yieldWithdraw. GatewayService and Signer have been updated to handle these new transaction types, particularly for EVM chains, including ERC20 approvals when necessary. ViewModelFactory and AppResolver were extended to provide the YieldService and YieldSceneViewModel throughout the application.
  • New Yield Service: A YieldService and its corresponding YieldServiceTestKit have been added to FeatureServices, providing an interface to interact with the underlying GemYielder for fetching yield data, checking availability, and executing deposit/withdraw operations.
  • Simulator and Build Process Enhancements: The justfile has been updated to use the 'iPhone 17 Pro' simulator and includes a new run command to streamline the process of building, installing, and launching the application on the simulator.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

- Resolve conflicts with yield feature integration
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a significant new "Yield" feature, allowing users to earn on their assets. The changes are extensive, touching multiple features to integrate this functionality, including UI additions in the Assets and Staking scenes, and core logic modifications in Transfer, Signer, and the newly created Yield and YieldService packages. My review focuses on ensuring the correctness and precision of balance calculations by advocating for the use of BigInt over Double, and on improving error handling for better debuggability. Overall, the implementation is well-structured and consistent with the existing architecture.

@0xh3rman 0xh3rman marked this pull request as ready for review February 2, 2026 02:45
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