Skip to content
This repository was archived by the owner on Jun 1, 2026. It is now read-only.

Enforce max domain name length - #978

Merged
0xh3rman merged 4 commits into
mainfrom
inj-fix
Mar 3, 2026
Merged

0xh3rman merged 4 commits into
mainfrom
inj-fix

Conversation

@0xh3rman

@0xh3rman 0xh3rman commented Mar 3, 2026

Copy link
Copy Markdown
Collaborator

Add a MAX_NAME_LENGTH (20) constant and import NameError; the resolve method now checks the first label (before the first '.') and returns an error if it exceeds the maximum length to avoid resolving invalid/oversized names. Also add an async unit test to verify that overly long names are rejected.

Add a MAX_NAME_LENGTH (20) constant and import NameError; the resolve method now checks the first label (before the first '.') and returns an error if it exceeds the maximum length to avoid resolving invalid/oversized names. Also add an async unit test to verify that overly long names are rejected.
@semanticdiff-com

semanticdiff-com Bot commented Mar 3, 2026 •

Copy link
Copy Markdown

Review changes with  SemanticDiff

Changed Files
File Status
  crates/name_resolver/src/client.rs  0% smaller
  crates/name_resolver/tests/integration_test.rs  0% smaller

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 enhances the Injective name resolution client by implementing a crucial validation step. It introduces a maximum length constraint for Injective names, preventing the resolution of invalid or oversized names. This ensures greater data integrity and robustness in the name resolution process, with an accompanying test to confirm the new behavior.

Highlights

  • Name Length Enforcement: A new constant, MAX_NAME_LENGTH (set to 20), has been introduced to define the maximum allowed length for the first label of an Injective name.
  • Validation Logic: The resolve method in InjectiveNameClient now includes a check to ensure that the first part of the name does not exceed MAX_NAME_LENGTH. If it does, a NameError is returned.
  • Error Handling: The NameError type has been imported and is now used to signal when a name exceeds the maximum allowed length during resolution.
  • Unit Testing: An asynchronous unit test (test_resolve_rejects_long_name) has been added to verify that the resolve method correctly rejects names that are too long.

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

Changelog
  • crates/name_resolver/src/injective.rs
    • Added MAX_NAME_LENGTH constant set to 20.
    • Imported NameError for custom error handling.
    • Implemented a length check in the resolve method for the first part of the name.
    • Returned a NameError if the name part exceeds the maximum length.
    • Added a new #[tokio::test] to validate the rejection of overly long names.
Activity
  • No human activity has occurred on this pull request yet.
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. ↩

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

Copy link
Copy Markdown
Contributor

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 correctly implements a length check for Injective names by adding a MAX_NAME_LENGTH constant and validating the name in the resolve method. The addition of a unit test to verify this behavior is also a good practice. I have a couple of suggestions to make the code more idiomatic and the test more robust.

Comment thread crates/name_resolver/src/injective.rs Outdated
Comment thread crates/name_resolver/src/injective.rs Outdated
@0xh3rman 0xh3rman changed the title Enforce max Injective name length Enforce max domain name length Mar 3, 2026
@0xh3rman
0xh3rman merged commit 2759722 into main Mar 3, 2026
4 checks passed
@0xh3rman
0xh3rman deleted the inj-fix branch March 3, 2026 13:30
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant