Skip to content

Conversation

@0xh3rman
Copy link
Collaborator

Introduces PanoraProvider to enable Aptos chain swaps via Panora, including integration tests, model definitions, and API registration. Updates dependencies and referrer addresses to support Panora, and adds Panora to the SwapProvider enum.

Introduces PanoraProvider to enable Aptos chain swaps via Panora, including integration tests, model definitions, and API registration. Updates dependencies and referrer addresses to support Panora, and adds Panora to the SwapProvider enum.
@semanticdiff-com
Copy link

semanticdiff-com bot commented Jan 14, 2026

Review changes with  SemanticDiff

Changed Files
File Status
  packages/swapper/jest.config.js  100% smaller
  packages/swapper/src/referrer.ts  50% smaller
  apps/api/src/index.ts  0% smaller
  packages/swapper/package.json  0% smaller
  packages/swapper/src/bigint_math.ts  0% smaller
  packages/swapper/src/guards.ts  0% smaller
  packages/swapper/src/index.ts  0% smaller
  packages/swapper/src/orca/model.ts  0% smaller
  packages/swapper/src/panora/index.ts  0% smaller
  packages/swapper/src/panora/model.ts  0% smaller
  packages/swapper/src/panora/move.ts  0% smaller
  packages/swapper/src/panora/provider.test.ts  0% smaller
  packages/swapper/src/panora/provider.ts  0% smaller
  packages/types/src/primitives/SwapProvider.ts  0% smaller
  pnpm-lock.yaml  0% smaller

@gemini-code-assist
Copy link

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 significantly expands the platform's swapping capabilities by integrating Panora as a new swap provider, specifically targeting the Aptos blockchain. This integration allows users to perform Aptos-based asset exchanges, leveraging Panora's infrastructure. The changes encompass adding new provider logic, defining necessary data models for quotes and transactions, updating core dependencies, and registering the new provider within the application's API and internal enumerations.

Highlights

  • Panora Integration for Aptos: The pull request introduces the PanoraProvider to enable cryptocurrency swaps on the Aptos blockchain, expanding the platform's multi-chain capabilities.
  • New Panora Module and Files: A dedicated 'panora' module has been added within the 'swapper' package, including new files for the provider logic, data models (PanoraTxData, PanoraToken, PanoraQuoteEntry, PanoraQuoteResponse), and integration tests.
  • Dependency Updates: The @panoraexchange/swap-sdk and several @aptos-labs related packages have been added to support the new integration, along with other necessary transitive dependencies.
  • API and Enum Registration: The PanoraProvider is now registered in the API's list of available swap providers, and 'Panora' has been added to the SwapProvider enum, making it discoverable and usable within the system.
  • Aptos Referrer Address Support: An Aptos-specific referrer address has been added to the system's referrer configuration, allowing for proper attribution and fee handling for Aptos swaps.

🧠 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.

Copy link

@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 support for Panora as a swap provider on the Aptos chain. The changes are well-structured, including the new provider implementation, data models, and integration tests. My review focuses on improving type safety and data validation, particularly in the type coercion logic, which is currently too lenient and could lead to runtime errors. I've also suggested a minor refactoring in the tests to reduce code duplication and improve maintainability.

Moved formatting and argument normalization functions from provider.ts into new format.ts and move.ts modules for better code organization and reusability. Updated imports in provider.ts to use the new modules.
Added isPanoraQuoteResponse for stricter quote response validation and updated PanoraProvider to use it. Enhanced error handling in move.ts coercion functions. Refactored provider tests to reuse a single provider instance for improved efficiency.
@0xh3rman 0xh3rman merged commit 1c9736a into main Jan 15, 2026
4 checks passed
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