-
Notifications
You must be signed in to change notification settings - Fork 0
add support for aerodrome slipstream v2 #40
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
Conversation
WalkthroughThis PR introduces a new AerodromeSlipstreamV2 liquidity provider to the SushiSwap router infrastructure. The provider class extends the base Velodrome provider with Aerodrome-specific configurations, and is registered in both the main DataFetcher and RainDataFetcher initialization sequences. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (3)
🧰 Additional context used🧠 Learnings (4)📓 Common learnings📚 Learning: 2025-11-27T23:22:25.791ZApplied to files:
📚 Learning: 2025-04-09T16:38:40.404ZApplied to files:
📚 Learning: 2025-04-08T19:08:36.306ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (17)
🔇 Additional comments (3)
Comment |
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.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
packages/sushi/src/router/data-fetcher.ts(2 hunks)packages/sushi/src/router/liquidity-providers/AerodromeSlipstreamV2.ts(1 hunks)packages/sushi/src/router/liquidity-providers/LiquidityProvider.ts(2 hunks)packages/sushi/src/router/rain/RainDataFetcher.ts(2 hunks)protocols/route-processor/test/DataFetcher.test.ts(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-04-08T19:08:36.306Z
Learnt from: rouzwelt
Repo: rainlanguage/sushiswap PR: 32
File: packages/sushi/src/router/rain/UniswapV3Base.ts:169-210
Timestamp: 2025-04-08T19:08:36.306Z
Learning: In packages/sushi/src/router/rain/UniswapV3Base.ts, the methods getIndexes and fetchPoolsForToken are separate methods with distinct responsibilities and not closely interlinked as might be assumed.
Applied to files:
packages/sushi/src/router/liquidity-providers/LiquidityProvider.tsprotocols/route-processor/test/DataFetcher.test.tspackages/sushi/src/router/rain/RainDataFetcher.ts
📚 Learning: 2025-04-09T16:38:40.404Z
Learnt from: rouzwelt
Repo: rainlanguage/sushiswap PR: 32
File: packages/sushi/src/router/rain/UniswapV3Base.ts:71-92
Timestamp: 2025-04-09T16:38:40.404Z
Learning: In packages/sushi/src/router/rain/UniswapV3Base.ts, the fetchPoolData method uses multicall where each pool returns its own response independently, and failures are handled at the individual pool level rather than affecting all pools at once.
Applied to files:
protocols/route-processor/test/DataFetcher.test.tspackages/sushi/src/router/rain/RainDataFetcher.ts
🧬 Code graph analysis (3)
protocols/route-processor/test/DataFetcher.test.ts (2)
apis/tokens/drizzle/schema.ts (1)
token(17-40)packages/sushi/src/currency/tokens.ts (1)
USDC(788-814)
packages/sushi/src/router/data-fetcher.ts (1)
packages/sushi/src/router/liquidity-providers/AerodromeSlipstreamV2.ts (1)
AerodromeSlipstreamV2Provider(6-24)
packages/sushi/src/router/rain/RainDataFetcher.ts (1)
packages/sushi/src/router/liquidity-providers/AerodromeSlipstreamV2.ts (1)
AerodromeSlipstreamV2Provider(6-24)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
- GitHub Check: datafetcher-test (BOBA_BNB)
- GitHub Check: datafetcher-test (KAVA)
- GitHub Check: datafetcher-test (ZETACHAIN)
- GitHub Check: datafetcher-test (FILECOIN)
- GitHub Check: datafetcher-test (BTTC)
- GitHub Check: datafetcher-test (BASE)
- GitHub Check: datafetcher-test (METIS)
- GitHub Check: datafetcher-test (OPTIMISM)
- GitHub Check: datafetcher-test (MOONBEAM)
- GitHub Check: datafetcher-test (MOONRIVER)
- GitHub Check: datafetcher-test (FUSE)
- GitHub Check: datafetcher-test (CELO)
- GitHub Check: datafetcher-test (TELOS)
- GitHub Check: datafetcher-test (OKEX)
- GitHub Check: datafetcher-test (ARBITRUM_NOVA)
- GitHub Check: datafetcher-test (GNOSIS)
- GitHub Check: datafetcher-test (FANTOM)
- GitHub Check: datafetcher-test (POLYGON)
- GitHub Check: datafetcher-test (ETHEREUM)
- GitHub Check: router-test
🔇 Additional comments (3)
packages/sushi/src/router/rain/RainDataFetcher.ts (1)
7-7: RainDataFetcher now includes AerodromeSlipstreamV2 consistentlyImporting
AerodromeSlipstreamV2Providerand adding it alongsideAerodromeSlipstreamProviderinallProviderskeeps the Rain-specific routing stack in sync with the mainDataFetcherand ensures slipstream v2 pools participate in log processing and routing. Looks good.Also applies to: 149-151
packages/sushi/src/router/liquidity-providers/LiquidityProvider.ts (1)
87-87: Enum and UniV3LiquidityProviders updated correctly for AerodromeSlipstreamV2
LiquidityProviders.AerodromeSlipstreamV2matches the new provider’sgetType()and adding it toUniV3LiquidityProviders(alongside AerodromeSlipstream and VelodromeSlipstream) keeps all slipstream variants covered by the shared UniV3-like fee/tick checks and any logic keyed off that list. This extension looks consistent.Also applies to: 270-272
packages/sushi/src/router/data-fetcher.ts (1)
6-6: DataFetcher provider set cleanly extended with AerodromeSlipstreamV2Adding
AerodromeSlipstreamV2Providerto the imports and to the_setProviderslist right afterAerodromeSlipstreamProviderkeeps the default on-chain DataFetcher configuration in sync with the new LP. Instantiation is already wrapped in the existing try/catch, so unsupported chains will be handled the same way as for other providers.Also applies to: 191-193
Motivation
Add support for
Aerodrome Slipstream V2Solution
Checks
By submitting this for review, I'm confirming I've done the following:
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.