Skip to content

chore: Alphabetize contract addresses in active network files#273

Open
michaelsmueller wants to merge 4 commits into
mainfrom
chore/alphabetize-addresses
Open

chore: Alphabetize contract addresses in active network files#273
michaelsmueller wants to merge 4 commits into
mainfrom
chore/alphabetize-addresses

Conversation

@michaelsmueller

@michaelsmueller michaelsmueller commented Jul 7, 2026

Copy link
Copy Markdown
Contributor
Type Ticket
Chore N/A

Problem

Address entries in the network files weren't alphabetized (e.g. PoolDeployerV400 sat between PoolManagerV400 and PoolPermissionManager), and address values were inconsistently cased — mostly EIP-55 checksummed on mainnet but overwhelmingly all-lowercase on sepolia.

Solution

Two mechanical passes over the four active network files (mainnet-prod, mainnet-dev, sepolia-prod, sepolia-dev):

  1. Alphabetized every entry case-insensitively by key (manifest kept last).
  2. Normalized every non-zero address to EIP-55 checksum casing.

Verified: same 173-key set in every file, and each address is byte-identical to main aside from casing. No invalid/corrupt checksums existed.

Other notes

  • Deprecated base-mainnet-prod left untouched (already had no lowercase addresses).
  • Full alphabetization split the former MapleStrategy Aave/Basic/Sky/Bitcoin grouping (MapleBitcoinStrategy* now sorts under "MapleB"). Say the word if you'd rather preserve that grouping.

Summary by CodeRabbit

  • Bug Fixes
    • Updated several network address entries to their checksummed/corrected forms for improved consistency and reliability.
    • Added support for the new PoolDeployerV400 address across supported networks.

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Address string literals across four network address configuration files (mainnet-dev, mainnet-prod, sepolia-dev, sepolia-prod) were updated to checksummed/mixed-case hex formats. A new PoolDeployerV400 entry was added to mainnet-dev.ts and mainnet-prod.ts. No logic, structure, or manifest changes were made.

Changes

Address map checksum updates and PoolDeployerV400 addition

Layer / File(s) Summary
mainnet-dev.ts checksum updates and PoolDeployerV400 addition
src/addresses/mainnet-dev.ts
Updates AAVE/ATokens, DebtLockerV3, LINK, LoanV3*/Maple strategy, PoolManagerV400/PremiumCalc/PriceOracle/stSyrup, USDC*, and WithdrawalManagerQueue*/xMPL entries to checksummed casing; adds new PoolDeployerV400 key.
mainnet-prod.ts checksum updates and PoolDeployerV400 addition
src/addresses/mainnet-prod.ts
Updates AAVE/ATokens/DAI, LINK, LoanV3*/Maple strategy, PoolManagerV400*/PremiumCalc/PriceOracle/stSyrup, USDC*, and WithdrawalManagerQueue*/xMPL entries to checksummed casing; inserts new PoolDeployerV400 entry.
sepolia-dev.ts checksum updates
src/addresses/sepolia-dev.ts
Updates AAVEPool/AssetController/ATokenUSDC/BorrowerActions*, FeeManager/FixedTermLoan*/Liquidator*/LoanManagerFactory/LoanV2Factory, Maple*/OpenTermLoan*/PoolDeployer*/PoolManager*/PoolPermissionManager*, and remaining downstream entries to new checksummed values.
sepolia-prod.ts checksum updates
src/addresses/sepolia-prod.ts
Updates ATokenUSDC, FeeManager/FixedTermLoan*/Liquidator*/LoanManagerFactory/LoanV2Factory, Maple*/OpenTermLoan*/Pool* components, and remaining downstream entries to checksummed/mixed-case values.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: callum-hyland, adriamarti, jdrskr

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly matches the main change: alphabetizing active network contract addresses, with checksum normalization as secondary detail.
Description check ✅ Passed The description covers the required problem, solution, and notes sections; only the optional screenshots section is missing.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/alphabetize-addresses

Comment @coderabbitai help to get the list of available commands.

@michaelsmueller
michaelsmueller marked this pull request as ready for review July 7, 2026 15:02
@michaelsmueller
michaelsmueller requested review from Jakkc and josadcha July 7, 2026 15:02
@michaelsmueller
michaelsmueller requested a review from jdrskr July 10, 2026 09:33

@jdrskr jdrskr 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.

LGTM.

One thing to keep in mind is that strict string comparison might break for integrators but I wouldn't expect it to be used like this

Copy link
Copy Markdown
Contributor Author

you mean because we use checksum case rather than lowercase?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants