-
Notifications
You must be signed in to change notification settings - Fork 80
fix: mypy type issues #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: mypy type issues #51
Conversation
Summary of ChangesHello @jorellis, 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 primarily focuses on enhancing the type safety and maintainability of the Python codebase by resolving Highlights
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this 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 effectively addresses mypy type errors and refines type usage, particularly around eth-account types. The changes improve code correctness and robustness, such as adding checksumming for addresses and ensuring None safety. Moving test dependencies to a dev group in pyproject.toml is also a good practice. I have one suggestion to improve maintainability by removing unused function parameters.
Fix: Resolve mypy type errors and refine eth-account type usage
This commit addresses mypy type errors related to the
eth-accountlibrary'sAccountandLocalAccounttypes, and refines type usage in an example file.The
Account.create()method returns aLocalAccountobject, which possesses the.addressattribute and signing capabilities. Previously,mypyflagged type mismatches whenLocalAccountinstances werepassed to functions expecting the more generic
Accounttype, particularly in thex402Clientconstructor.Changes include:
x402_a2a/core/wallet.pyandx402_a2a/executors/client.py:LocalAccountfrometh_account.signers.local.LocalAccountwhere instances are indeedLocalAccountobjects.typing.casttoAccountwhen initializingx402Clientinx402_a2a/core/wallet.pyto satisfy the external library's type expectations without compromising internal type accuracy.python/examples/ap2-demo/local_wallet.py:LocalAccountfrom theaccountvariable assignment.LocalAccount. This change simplifies the example by allowing type inference or relying on runtime behavior, avoiding potentialmypyconflicts in that specificcontext.