Skip to content

Standardize provider contract address storage#336

Open
its-applekid wants to merge 9 commits into
ethereum-optimism:mainfrom
its-applekid:feat/standardize-provider-addresses
Open

Standardize provider contract address storage#336
its-applekid wants to merge 9 commits into
ethereum-optimism:mainfrom
its-applekid:feat/standardize-provider-addresses

Conversation

@its-applekid
Copy link
Copy Markdown

Summary

Refactors all provider contract address storage to follow a consistent { contracts, metadata } pattern, enabling automated address validation through abstract methods on base classes.

Changes

Phase 1: Restructured Address Maps

  • ✅ Uniswap addresses → { contracts, metadata } pattern
  • ✅ Aave addresses → { contracts, metadata } pattern
  • ✅ Morpho addresses → { contracts, metadata } pattern

Phase 2: Abstract Methods

  • ✅ Added abstract contractAddresses() to SwapProvider
  • ✅ Added abstract contractAddresses() to LendProvider

Phase 3: Provider Implementations

  • ✅ Implemented contractAddresses() in UniswapSwapProvider
  • ✅ Implemented contractAddresses() in AaveLendProvider
  • ✅ Implemented contractAddresses() in MorphoLendProvider

Phase 4: Test Updates

  • ✅ Updated validateAddresses.test.ts to use generic provider iteration
  • ✅ Removed hardcoded address map imports
  • ✅ Added contractAddresses() to mock providers

Benefits

  1. Compiler-enforced completeness — New providers must implement contractAddresses()
  2. Automated validation — Tests validate all providers without manual imports
  3. Consistent structure — All providers follow same { contracts, metadata } pattern
  4. Self-documenting — Contract names as keys make address maps clear

Testing

  • ✅ All existing tests pass (366 tests)
  • ✅ TypeScript compilation succeeds
  • ✅ Linter passes

Closes

Closes #328

@its-applekid its-applekid requested a review from a team as a code owner March 26, 2026 20:58
@its-applekid its-applekid requested a review from tremarkley March 26, 2026 20:58
@netlify
Copy link
Copy Markdown

netlify Bot commented Mar 26, 2026

👷 Deploy request for actions-ui pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 0c76442

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.

Standardize provider contract address storage

1 participant