Conversation
- Added KMS wallet support to handle Ethereum transactions securely using AWS Key Management Service. - Updated configuration to allow KMS key IDs and region settings. - Refactored AdminWallet and Web3Wallet to support KMS-based transaction signing. - Introduced KMSWallet class to encapsulate KMS operations. - Added tests for KMS transaction submission and wallet functionality.
- Updated KMSWallet and Web3Wallet to store and retrieve wallet addresses in a case-insensitive manner. - Removed unnecessary console log from KMSWallet during transaction signing. - Adjusted tests to ensure KMS wallet address normalization is correctly handled.
…just Jest configuration
…ated package versions in package.json and package-lock.json
sirpy
requested changes
Dec 23, 2025
…ce Web3Wallet with optional parameters for improved error handling
…-1559 support detection in Web3Wallet
…let with PromiEvent handling and improved KMS integration
…b3Wallet with EIP-1559 support detection and gas pricing normalization
…ment to prevent async issues
…t initialization logic
…e without adminWalletAddress
…emoving test mode checks and redundant code
…ating logic and enhancing EIP-1559 support checks
…validity during wallet initialization
…dless of KMS configuration
…d improve test reliability
…nage conversion errors
…ng checksum address handling
…vent import issues during tests
…elManager to streamline execution
sirpy
requested changes
Jan 28, 2026
sirpy
requested changes
Jan 28, 2026
…ensure proper functionality
…erformance and reduce RPC calls
…ify transaction handling
…et by removing unused rpcUrl field
…larity and maintainability
sirpy
requested changes
Feb 2, 2026
sirpy
reviewed
Feb 2, 2026
…t to simplify support verification
Contributor
|
@sourcery-ai review |
Contributor
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The new KMS tests in
adminWalletKMS.test.jsdepend on real AWS KMS and a hard‑coded mainnet WETH address, which makes the test suite tightly coupled to specific infrastructure and networks; consider parameterizing the contract address / network and adding a way to skip or stub KMS calls when the required env vars or AWS credentials are not present. - The EIP‑1559 support detection in
supportsEIP1559()relies on a hard‑coded chain ID allowlist; it might be more robust to make this list configurable (e.g., via config/env) or to fallback to a feature probe (eth_feeHistory/eth_maxPriorityFeePerGas) so new networks don’t require a code change.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The new KMS tests in `adminWalletKMS.test.js` depend on real AWS KMS and a hard‑coded mainnet WETH address, which makes the test suite tightly coupled to specific infrastructure and networks; consider parameterizing the contract address / network and adding a way to skip or stub KMS calls when the required env vars or AWS credentials are not present.
- The EIP‑1559 support detection in `supportsEIP1559()` relies on a hard‑coded chain ID allowlist; it might be more robust to make this list configurable (e.g., via config/env) or to fallback to a feature probe (`eth_feeHistory`/`eth_maxPriorityFeePerGas`) so new networks don’t require a code change.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
sirpy
approved these changes
Feb 4, 2026
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.
Description
Added the KMS wallet, which signs transactions using keys stored in AWS KMS.
The
kms-ethereum-signingdependency is the modularized PoC project I previously built.About # (link your issue here)
How Has This Been Tested?
The KMS wallet is tested in
adminWalletKMS.test.ts.Checklist:
Summary by Sourcery
Introduce AWS KMS–backed wallet support and integrate it into the admin wallet while improving gas handling and test stability.
New Features:
Bug Fixes:
Enhancements:
Build:
CI:
Documentation:
Tests: