-
Notifications
You must be signed in to change notification settings - Fork 36
fix(sdk-router): export intent types #3620
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 pull request restructures the SDK-router’s type definitions by centralizing them in a dedicated types module. It adds new export statements and adjusts import paths across several files, removing local type definitions and replacing them with standardized ones from the new types files. The changes span updates to exports, imports, and type declarations in modules, operations, and system files, aiming for a more streamlined and consistent type management in the codebase. Changes
Sequence Diagram(s)Poem
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms (3)
🔇 Additional comments (1)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Deploying sanguine-fe with
|
Latest commit: |
60e54c9
|
Status: | ✅ Deploy successful! |
Preview URL: | https://3c21a661.sanguine-fe.pages.dev |
Branch Preview URL: | https://fix-export-intent-types.sanguine-fe.pages.dev |
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: 0
🧹 Nitpick comments (1)
packages/sdk-router/src/types/intent.ts (1)
59-88
: Thorough documentation for IntentStep typeThe
IntentStep
type is well-defined with extensive JSDoc comments explaining each property. This type appears to be centralized here from another location, which improves the organization of intent-related types.Consider adding validation logic in the implementation to ensure that
gasDropAmount
is within acceptable limits to prevent potential economic exploits.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
packages/sdk-router/src/index.ts
(1 hunks)packages/sdk-router/src/module/synapseModuleSet.ts
(1 hunks)packages/sdk-router/src/module/types.ts
(0 hunks)packages/sdk-router/src/operations/bridge.ts
(1 hunks)packages/sdk-router/src/operations/intent.ts
(1 hunks)packages/sdk-router/src/operations/swap.ts
(1 hunks)packages/sdk-router/src/sir/synapseIntentRouterSet.ts
(2 hunks)packages/sdk-router/src/types/bridge.ts
(1 hunks)packages/sdk-router/src/types/index.ts
(1 hunks)packages/sdk-router/src/types/intent.ts
(1 hunks)packages/sdk-router/src/types/misc.ts
(1 hunks)packages/sdk-router/src/types/swap.ts
(1 hunks)
💤 Files with no reviewable changes (1)
- packages/sdk-router/src/module/types.ts
🧰 Additional context used
🧬 Code Definitions (2)
packages/sdk-router/src/types/intent.ts (1)
packages/sdk-router/src/types/misc.ts (1)
Slippage
(2-2)
packages/sdk-router/src/operations/bridge.ts (1)
packages/sdk-router/src/utils/types.ts (1)
Prettify
(24-26)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: lint
🔇 Additional comments (20)
packages/sdk-router/src/types/index.ts (1)
1-4
: Good practice in centralizing type exportsThis is a clean implementation of a barrel file that consolidates all type exports from the SDK router's type modules. This pattern improves code organization and simplifies imports across the codebase, as consumers can now import all types from a single location.
packages/sdk-router/src/types/misc.ts (1)
1-2
:❓ Verification inconclusive
Verify the type re-export structure
You're re-exporting the
Slippage
type from../swap
but I notice it's imported from./misc
in other files (likeintent.ts
). This suggests a potential circular dependency or inconsistent type organization.To avoid possible circular dependencies, consider:
- Moving the
Slippage
type definition directly intomisc.ts
- Creating a dedicated file for shared primitive types
You can verify if this creates circular dependencies with:
🏁 Script executed:
#!/bin/bash # Find potential circular dependencies between swap and misc modules echo "Checking for imports of misc from swap file:" rg -A 2 "from ['\"]\.\.?/misc['\"]" --glob "packages/sdk-router/src/swap.ts" echo "Checking for imports of swap from misc file:" rg -A 2 "from ['\"]\.\.?/swap['\"]" --glob "packages/sdk-router/src/types/misc.ts"Length of output: 587
Review the type re-export structure in misc.ts
- The file
packages/sdk-router/src/types/misc.ts
still re-exportsSlippage
from../swap
.- Our checks confirm that
misc.ts
exportsSlippage
as noted, and there's no direct evidence from the swap module importingmisc
(the initial script didn’t yield any unexpected results due to a glob filter).- However, it appears that other modules (e.g.,
intent.ts
) continue to importSlippage
frommisc
. This re-export chain (intent.ts → misc.ts → swap) could lead to organizational inconsistencies or risk potential circular dependency issues as the codebase evolves.- To improve clarity and future maintainability, consider one of the following:
- Move the
Slippage
type definition directly intomisc.ts
so that consumers don’t rely on a re-export.- Create a dedicated file (e.g.,
packages/sdk-router/src/types/shared.ts
) for shared primitive types and importSlippage
from there.packages/sdk-router/src/types/swap.ts (3)
1-18
: Well-documented type definitionsThe import structure and documentation for the
SwapQuote
interface are clear and comprehensive. The JSDoc comments provide excellent information about each property, enhancing code maintainability.
20-41
: Good type definitions with clear parameter documentationThe
SwapV2Parameters
type is well-structured with comprehensive JSDoc comments. The optional parameters are properly marked, and the descriptions are informative.
43-70
: Comprehensive V2 quote interfaceThe
SwapQuoteV2
type is well-documented with clear property descriptions. The type evolution from V1 to V2 is evident and properly structured. The optional transaction property is correctly typed.packages/sdk-router/src/types/intent.ts (2)
1-30
: Well-structured Intent parameters type definitionThe
IntentParameters
type provides a comprehensive interface for creating intents with appropriate optional properties. The JSDoc comments are thorough and clearly explain each property's purpose.
32-57
: Clean and well-documented Intent quote typeThe
IntentQuote
type is well-structured with comprehensive documentation. It properly references theIntentStep
type, creating a logical relationship between these interfaces.packages/sdk-router/src/index.ts (1)
3-3
: Good addition to export types module.Adding this export statement ensures that all type definitions from the
types
module are accessible through the package's main entry point, which is essential for the centralized type management approach being implemented.packages/sdk-router/src/sir/synapseIntentRouterSet.ts (1)
21-21
: Updated import source for BridgeQuoteV2.The import of
BridgeQuoteV2
has been correctly updated to use the new centralized types module. This aligns with the refactoring effort to consolidate type definitions.packages/sdk-router/src/module/synapseModuleSet.ts (1)
16-16
: Updated import source for bridge quote types.The import statement has been correctly updated to use the types from the centralized
../types
module rather than local types. This is consistent with the overall effort to consolidate type definitions.packages/sdk-router/src/operations/swap.ts (1)
8-11
: Reorganized imports for better type management.Import statements have been restructured to align with the new centralized type management approach:
- Module-specific functions from
../module
- Swap-specific utilities from
../swap
- Type definitions from the new
../types
moduleThis change maintains functionality while improving code organization.
packages/sdk-router/src/operations/bridge.ts (2)
12-13
: LGTM: Centralized type imports enhance maintainability.The import changes reorganize the code by importing types from dedicated modules, which improves code organization and maintainability.
16-18
: Good encapsulation - internal type no longer exported.Removing the
export
keyword fromBridgeV2InternalParameters
properly encapsulates this type as it should only be used internally within this module. This reduces the public API surface and allows for more flexibility in future changes.packages/sdk-router/src/types/bridge.ts (4)
1-4
: LGTM: Proper imports for new type definitions file.The imports are correctly set up for the type definitions, importing necessary types from 'ethers' and referencing related types from './misc'.
5-34
: Well-documented BridgeQuote type with comprehensive JSDoc.The
BridgeQuote
type is clearly defined with detailed JSDoc comments for each property, which enhances code readability and helps developers understand the purpose of each field.
36-59
: Well-structured BridgeV2Parameters type with clear documentation.The
BridgeV2Parameters
type definition includes comprehensive JSDoc comments and properly defines all parameters needed for bridge transactions, including optional parameters with appropriate types.
61-92
: Thorough BridgeQuoteV2 type definition with detailed JSDoc.The
BridgeQuoteV2
type is well-defined with comprehensive JSDoc comments that clearly explain the purpose and format of each property, making the code more maintainable and self-documenting.packages/sdk-router/src/operations/intent.ts (3)
2-2
: LGTM: Simplified import from ethers.Removed the unnecessary import of
BigNumberish
while retainingBigNumber
, which is used in the file.
8-8
: LGTM: Updated imports to use centralized type definitions.The import statement now correctly references the types from the centralized type definitions in '../types', aligning with the overall refactoring strategy to improve type organization.
11-18
:❓ Verification inconclusive
Verify IntentParameters compatibility after type migration.
The
intent
function still uses theIntentParameters
type, which has been moved to the types module. Please verify that the structure of the imported type matches the previous definition to ensure compatibility.
🏁 Script executed:
#!/bin/bash # Check if the IntentParameters type structure is consistent with how it's used in the code grep -r "IntentParameters" packages/sdk-router/src/types/Length of output: 130
IntentParameters Migration Compatibility Verification
The
IntentParameters
type is now exported frompackages/sdk-router/src/types/intent.ts
, which confirms the migration. However, the grep output only verifies its presence and not the full structure. Please ensure that the type's fields—such asfromChainId
,toChainId
, and any other properties required by theintent
function—remain identical to the previous definition. A detailed manual review of the type structure is recommended to guarantee compatibility.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3620 +/- ##
===================================================
- Coverage 12.79437% 12.79247% -0.00191%
===================================================
Files 305 306 +1
Lines 33546 33551 +5
Branches 200 200
===================================================
Hits 4292 4292
- Misses 28769 28774 +5
Partials 485 485
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Bundle ReportChanges will increase total bundle size by 305.44kB (0.95%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: sdk-router-@synapsecns/sdk-router-esmAssets Changed:
Files in
view changes for bundle: sdk-router-@synapsecns/sdk-router-cjsAssets Changed:
Files in
view changes for bundle: explorer-ui-client-array-pushAssets Changed:
|
* Ft/ponder ix hyp evm (#3571) * add hyperevm to ponder ix * addtl hypevm chain config --------- Co-authored-by: parodime <noreply@protochainresearch.com> * Publish - @synapsecns/rfq-indexer-api@1.1.0 - @synapsecns/rfq-indexer@0.0.7 * ponder ix - set hyperEVM block range to 50 * fix: hyperEVM block range * ponder ix - alter hype start block * Fix multi-architecture build for Hyperliquid Node Image (#3574) * hl docker image * fix(workflow): move date tag creation to separate step in hyperliquid workflow 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com> * fix(workflow): remove load flag and use local image for tagging in hyperliquid workflow * fix(workflow): use build-push-action for date tagging in hyperliquid workflow * feat(workflow): add multi-architecture support and mainnet image build for hyperliquid * fix(workflow): update hyperliquid workflow to use local Dockerfile for better multi-arch support * fix(hyperliquid): update binary URL paths to match node documentation * fix(hyperliquid): temporarily skip GPG verification due to inconsistent path issues * fix(hyperliquid): always use Testnet binary since Mainnet binary is not publicly accessible * fix(hyperliquid): use correct URL for Mainnet binary --------- Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> * feat: Swap Engines [SYN-29] [SYN-35] (#3563) * feat: SIR binding, StepParams, ZapData encoding * feat: engine quote/route structs * feat: slippage utils * feat: no-op engine * feat: add Default Engine * feat: Kyber, Li.FI engines * feat: paraSwap module * feat: SwapEngineSet * feat: add SwapEngineSet to SDK * feat: Synapse Intent Router * feat: expose swapV2 * feat: add swapV2 controller * feat: add swapV2 route * fix: null behaviour consistent with bridge route * fix: remove originUserAddress for swapV2 * feat: swapV2 to use native amounts (wei) * fix: swap/v2 route * fix: tests * feat: add production contracts * chore: reorder KyberSwap chains, add bnerachain * feat: expand list of supported chains for /swap/v2 * refactor: use named paramters for swapV2 * fix: set default slippage to 0.5%; stringify tx.value * chore: generate docs * Publish - @synapsecns/rest-api@1.10.0 - @synapsecns/sdk-router@0.13.0 - @synapsecns/synapse-interface@0.42.6 - @synapsecns/widget@0.9.17 - @synapsecns/rfq-indexer@0.0.8 * fix: mockCallRevert internal revert (#3575) * Publish - @synapsecns/contracts-rfq@0.16.2 * feat(contracts-rfq): deploy SIR [SYN-29] (#3573) * fix: adjust comment for #3467 * chore: mainnet -> ethereum * feat: update deploy scripts, prepare create2 salts * chore: add deployments from new chains * chore: add chain IDs to foundry.toml * chore: add utility scripts * deploy: SIR and periphery on 12 chains * deploy: SIR at 0x512000...000512 address * fix: update SIR address * Publish - @synapsecns/contracts-rfq@0.17.0 - @synapsecns/rest-api@1.10.1 - @synapsecns/sdk-router@0.14.0 - @synapsecns/synapse-interface@0.42.7 - @synapsecns/widget@0.9.18 * feat: SDK new chains [SYN-45] (#3535) * feat: add HyperEVM to sdk-router * feat: use staging RFQ API [REVERT LATER] * feat: add HYPE-USDC, HYPE-ETHto the bridge map * fix: add HYPE, HyperEVM to rest-api * feat: update rest-api bridge map * chore: add envs for api urls (#3537) Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> * chore: make prod RFQ API the default value * feat: support multiple RFQ APIs * fix: don't report negative bridge fee for RFQ * test: adjus the amount of token pairs for USDC --------- Co-authored-by: trajan0x <83933037+trajan0x@users.noreply.github.com> Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> * Publish - @synapsecns/rest-api@1.11.0 - @synapsecns/sdk-router@0.15.0 - @synapsecns/synapse-interface@0.43.0 - @synapsecns/widget@0.9.19 * fix: hide slippage between different type of assets for now [SYN-39] (#3590) * Publish - @synapsecns/synapse- 8000 interface@0.43.1 * Support Swap V2 endpoint on Synapse REST client (#3593) * fix(rest-api): swap v2 errors (#3594) * fix: check if tx is defined * chore: correct endpoint name in error * Publish - @synapsecns/rest-api@1.11.1 * feat: sdk/api bridgeV2 for SynapseRFQ [SYN-66] (#3588) * feat: scaffold bridgeV2 * feat: complete bridgeV2, scaffold module impls * feat: airdrop amount in bridgeV2 * feat: bridgeV2 for SynapseRFQ * fix: add more info to SwapEngine quotes, type assertions * feat: /bridge/v2 * chore: generate docs * refactor: steps params manipulation * feat: cap origin slippage * feat: cache getAllQuotes calls * fix(rest-api): improve bridge v2 response format - Replace BigNumber response objects with string values - Rename maxAmountOutStr to maxAmountOut for cleaner API - Update swagger documentation to reflect changes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(restclient): add bridge v2 endpoint support - Add GetBridgeV2 and related parameters to REST client - Update type definitions for bridge v2 response format - Synchronize with recent bridge v2 API changes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * [DI-48] fix: replace vulnerable tj-actions actions with dorny/paths-filter (#3595) Replace all tj-actions actions (changed-files, verify-changed-files, branch-names) with secure alternatives to mitigate the security vulnerability. Used dorny/paths-filter for file checking and bash scripts for branch name detection. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> * chore(rest-api): edit README to trigger republish (#3597) * Publish - @synapsecns/rest-api@1.12.0 * chore(sdk-router): edit README to trigger republish (#3598) * Publish - @synapsecns/rest-api@1.12.1 - @synapsecns/sdk-router@0.16.0 - @synapsecns/synapse-interface@0.43.2 - @synapsecns/widget@0.9.20 * chore(sdk-router): cleanup types, remove unused utilities (#3600) * feat: add Prettify utility type for better IDE type display Adds a Prettify<T> utility type that improves how types are displayed in the IDE: - Applied to union types to show all properties - Applied to Partial/Required patterns to show complete property set - Applied to complex types with optional properties 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * chore(sdk-router): apply Prettify to complex types - Add Prettify utility type to intersection types and type modifiers - Create PartialZapDataV1 type for better reusability - Update function signatures to use new type definitions - Improve IDE display of complex types 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * chore(sdk-router): remove unused entity files and utils Removed deprecated entity files and utility functions that are no longer needed in the SDK router package. These files were likely imported from another SDK and are not currently being used. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * refactor(sdk-router): centralize utilities through utils/index.ts - Modified utils/index.ts to use export * from each utility module - Updated all imports to reference the centralized utils module instead of individual utility files - This change makes the codebase more maintainable and easier to refactor 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * chore(sdk-router): enforce alphabetical ordering of imports - Added alphabetical ordering rule to ESLint configuration - Auto-fixed imports order in all files to comply with the new rule - This enforces a consistent import style throughout the codebase 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * refactor(sdk-router): replace BigintIsh with ethers' BigNumberish Replace all occurrences of custom BigintIsh type with the standard BigNumberish from ethers.js. This standardizes the codebase by using established types from the core library. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * Publish - @synapsecns/rest-api@1.12.2 - @synapsecns/sdk-router@0.16.1 - @synapsecns/synapse-interface@0.43.3 - @synapsecns/widget@0.9.21 * fix(rest-api,sdk-router): `/bridge/v2` and `swap/v2` endpoint standardisation [SYN-77] (#3602) * refactor: consistent params naming in swap/bridge V2 * feat: enrich SwapQuoteV2 * feat: enrich BridgeQuoteV2 * feat: update V2 endpoints in rest-api * chore: update the swagger docs * refactor: id ordering * chore: regenerate restclient * chore: fix example router address in `/swap/v2` response * fix: add swap module name, same token swaps * fix: unify swap/bridge module names in V2 only * chore: unified "module name" in rest-api * fix: remove string cast * fix: SDK tests * Apply suggestions from code review Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Publish - @synapsecns/rest-api@1.12.3 - @synapsecns/sdk-router@0.16.2 - @synapsecns/synapse-interface@0.43.4 - @synapsecns/widget@0.9.22 * chore(sdk-router): cleanup logging, engine priorities (#3610) * refactor: clean up engine priorities * chore: remove execution time logging * fix: adjust engine priorities * Publish - @synapsecns/rest-api@1.12.4 - @synapsecns/sdk-router@0.16.3 - @synapsecns/synapse-interface@0.43.5 - @synapsecns/widget@0.9.23 * feat(rest-api,sdk-router): intent endpoint [SYN-77] (#3613) * feat: scaffold `intent` function * feat: scaffold multiple txs in bridgeV2 * feat: optional `tokenOut` in bridge token candidate search * feat: allow multiple txs in `bridgeV2` * feat: single-chain swap intents * feat: cross-chain intents * feat: expose `/intent` endpoint * chore: generate swagger * fix: report all module names within the intent step * chore: rename into "default pools" engine * chore: update swagger, regenerate client * fix: prevent errors on unsupported RFQ routes in V2 endpoints * fix: block times, supported intent chains * fix: fromAmount string * Publish - @synapsecns/rest-api@1.13.0 - @synapsecns/sdk-router@0.17.0 - @synapsecns/synapse-interface@0.43.6 - @synapsecns/widget@0.9.24 * fix(sdk-router): export intent types (#3620) * fix: export intent types * fix: export bridge types * fix: export swap types * fix: imports in tests * Publish - @synapsecns/rest-api@1.13.1 - @synapsecns/sdk-router@0.17.1 - @synapsecns/synapse-interface@0.43.7 - @synapsecns/widget@0.9.25 * upgrading to reference cortex much more * adding new links etc * Publish - @synapsecns/bridge-docs@0.6.7 - @synapsecns/explorer-ui@0.5.15 - @synapsecns/synapse-interface@0.43.8 - @synapsecns/widget@0.9.26 * fix(sdk-router): exported slippage type (#3634) * fix: use slippagePercentage in exported types * fix: use slippage percentage in rest-api * Publish - @synapsecns/rest-api@1.13.2 - @synapsecns/sdk-router@0.17.2 - @synapsecns/synapse-interface@0.43.9 - @synapsecns/widget@0.9.27 * fix(sdk-router, rest-api): stringify BigNumber in exported V2 types [SYN-77] (#3636) * fix: stringify BigNumber in exported V2 types * fix: update bridge modules * fix: update V2 operations * fix: update rest-api * Publish - @synapsecns/rest-api@1.13.3 - @synapsecns/sdk-router@0.17.3 - @synapsecns/synapse-interface@0.43.10 - @synapsecns/widget@0.9.28 * Update bl * fix(sdk-router): restrict `fromAmount` to `string` in the exported intent parameters (#3645) * chore: fix existing documentation * fix: restrict fromAmount type to string in exported parameters * Publish - @synapsecns/rest-api@1.13.4 - @synapsecns/sdk-router@0.17.4 - @synapsecns/synapse-interface@0.43.11 - @synapsecns/widget@0.9.29 * fix(sdk-router): add decimals to intent steps (#3646) * refactor: isolate token decimals retrieval * fix: add decimal metadata to each intent step * fix: make tokenMetadataFetcher optional * Publish - @synapsecns/rest-api@1.13.5 - @synapsecns/sdk-router@0.17.5 - @synapsecns/synapse-interface@0.43.12 - @synapsecns/widget@0.9.30 * fix(sdk-router): add `HYPEREVM` to intents supported chains * chore: small change to publish 9abecbe (#3648) * Publish - @synapsecns/rest-api@1.13.6 - @synapsecns/sdk-router@0.17.6 - @synapsecns/synapse-interface@0.43.13 - @synapsecns/widget@0.9.31 * fix(sdk-router): swap engine improvements, remove cap on RFQ origin slippage (#3652) * fix: exclude RFQ sources on KyberSwap * fix: paraSwap partner, LiFi timing strategy * feat: use FBI for Route V2 zap data * fix: make minToAmount requied in SwapEngineRoute * fix: don't cap origin slippage * fix: don't use interceptor without origin swaps * Publish - @synapsecns/rest-api@1.13.7 - @synapsecns/sdk-router@0.17.7 - @synapsecns/synapse-interface@0.43.14 - @synapsecns/widget@0.9.32 * removing old routes and tokens * Publish - @synapsecns/bridge-docs@0.6.8 * Adding hyperevm to the explorer (#3647) * adding hyperevm [goreleaser] * updating chart color * fixing pricing issues [goreleaser] * fix for native tokens [goreleaser] * fixing bera weth [goreleaser] * removing all old fetcher changes * [goreleaser] * lint --------- Co-authored-by: parodime <jordan@protochainresearch.com> * Publish - @synapsecns/explorer-ui@0.5.16 * adding hyperevm to constants * Publish - @synapsecns/bridge-docs@0.6.9 - @synapsecns/explorer-ui@0.5.17 - @synapsecns/rest-api@1.13.8 - @synapsecns/synapse-constants@1.8.10 * Deprecate and remove go restclient module [SYN-88] (#3658) --------- Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> * SYN-86 Delete Old exporters and remove unused code (#3656) Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> * SYN-87 Remove SignOz functionality from opbot (#3657) * SYN-87 Remove SignOz functionality from opbot - Removed SignOz client and package - Removed SignOz configuration fields - Removed traceCommand dependent on SignOz - Updated README to remove SignOz references - Added CLAUDE.md for automated operations - Fixed formatting and ensured code builds correctly * update go.work.sum * Fix goimports formatting issues for linting * [goreleaser] * nuke signoz example [goreleaser] --------- Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> * feat(contracts-rfq): fast bridge interceptor [SYN-84] (#3649) * feat: scaffold FastBridgeInterceptor * test: add coverage * feat: implement interceptor * test: different decimals ratio * docs: improve FastBridgeInterceptor documentation - Add clear NatSpec documentation to both implementation and interface - Focus user documentation on integration aspects - Clarify contract behavior and edge cases - Follow Solidity documentation standards - Fix typo in interface documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: fix lint * refactor: relabel percentage vars * build: deploy Interceptor on supported mainnets --------- Co-authored-by: Claude <noreply@anthropic.com> * Publish - @synapsecns/contracts-rfq@0.18.0 * feat(contracts-rfq): sir new deployments (#3662) * build: add new chains to config * chore: deploy on avax and polygon * Publish - @synapsecns/contracts-rfq@0.19.0 * fix(sdk-router): address utils, URLs in constructor, ParaSwap surplus (#3660) * fix: `handleNativeToken` non-checksummed address, reorganize * fix: export address utils * refactor: handleParams * test: ensure that 0xEE is working with integrations * feat: pass paraswap surplus to user * feat: allow passing URLs in SDK constructor * fix: use Gas.Zip contract deposit * fix: types * feat: intents with gas.zip * build: add sdk:stream script * feat: add Avax, Ploygon to intents chain ids * refactor: chainProviders init logic * fix: enforce gas.zip min/max usd value * Publish - @synapsecns/rest-api@1.13.9 - @synapsecns/sdk-router@0.17.8 - @synapsecns/synapse-interface@0.43.15 - @synapsecns/widget@0.9.33 * fix(sdk-router): faster intent quotes, time logging, Paraswap surplus [SYN-97] (#3672) * fix: make logExecutionTime more generic * chore: add execition time logging * fix: paraswap surplus * fix: use longer cache for RFQ available tokens, shorter cache for quotes * feat: getFastestQuote * chore: remove old getBestQuote * fix: timeouts * chore: fix incorrect comments * fix: make logging work with minimised package * fix: prevent unhandled rejections in quote processing - Improve _getFastestQuote to properly handle all promises even when returning early - Use Promise.allSettled in the background to ensure all rejections are caught - Maintain fast response time while avoiding unhandled promise rejections 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: ensure timing is logged even when methods throw errors - Wrap method execution in try/finally to log execution time in all cases - Ensure original errors are propagated properly - Simplify code with direct return in try block 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: ensure consistent cache keys in FastBridgeRouterSet - Fix cache key inconsistency in getAllQuotes method - Ensure cache keys match between get and set operations - Use enum values directly in cache key construction 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: variable shadowing --------- Co-authored-by: Claude <noreply@anthropic.com> * Publish - @synapsecns/rest-api@1.13.10 - @synapsecns/sdk-router@0.17.9 - @synapsecns/synapse-interface@0.43.16 - @synapsecns/widget@0.9.34 * fix(sdk-router): gas.zip block height (#3675) * feat: add latest block endpoint * fix: don't use gas.zip quotes for stale chains * fix: getBlock error cases * fix: safer API data manipulation * Publish - @synapsecns/rest-api@1.13.11 - @synapsecns/sdk-router@0.17.10 - @synapsecns/synapse-interface@0.43.17 - @synapsecns/widget@0.9.35 --------- Co-authored-by: parodime <jordan@protochainresearch.com> Co-authored-by: parodime <noreply@protochainresearch.com> Co-authored-by: parodime <parodime@users.noreply.github.com> Co-authored-by: trajan0x <83933037+trajan0x@users.noreply.github.com> Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> Co-authored-by: ChiTimesChi <ChiTimesChi@users.noreply.github.com> Co-authored-by: vro <168573323+golangisfun123@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: defi-moses <jakedinero@protonmail.com> Co-authored-by: Moses <103143573+Defi-Moses@users.noreply.github.com> Co-authored-by: Defi-Moses <Defi-Moses@users.noreply.github.com> Co-authored-by: aureliusbtc <82057759+aureliusbtc@users.noreply.github.com>
Description
A clear and concise description of the features you're adding in this pull request.
Additional context
Add any other context about the problem you're solving.
Metadata
Summary by CodeRabbit
New Features
Refactor
Tests