-
Notifications
You must be signed in to change notification settings - Fork 36
Ft/ponder ix hyp evm #3571
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
Ft/ponder ix hyp evm #3571
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
WalkthroughThis pull request adds new blockchain configurations to support additional networks, including a new "HyperEVM" chain with an ID of 999. The changes encapsulate chain details into dedicated constants within the network configuration files and update the indexer and utility modules accordingly. Updates include new constants, configuration entries, and mapping additions that standardize how these blockchain networks are referenced and initialized across the application. Changes
Sequence Diagram(s)sequenceDiagram
participant App as Application
participant NC as networkConfig.ts
participant PC as ponder.config.ts
participant CT as chains.ts
App->>NC: Load network configurations (_worldchain, _unichain, _berachain, _hyperEVM)
NC-->>App: Return chain constants and updated networkConfig
App->>PC: Initialize configuration with hyperevmChainId (999)
PC-->>App: Provide hyperevm network details and contract addresses
App->>CT: Call getChainName(999)
CT-->>App: Return "hyperevm"
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Warning There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure. 🔧 ESLint
packages/rfq-indexer/indexer/ponder.config.tsOops! Something went wrong! :( ESLint: 8.57.1 ESLint couldn't find the config "ponder" to extend from. Please check that the name of the config is correct. The config "ponder" was referenced from the config file in "/packages/rfq-indexer/indexer/.eslintrc.json". If you still have problems, please stop by https://eslint.org/chat/help to chat with the team. packages/rfq-indexer/indexer/src/utils/chains.tsOops! Something went wrong! :( ESLint: 8.57.1 ESLint couldn't find the config "ponder" to extend from. Please check that the name of the config is correct. The config "ponder" was referenced from the config file in "/packages/rfq-indexer/indexer/.eslintrc.json". If you still have problems, please stop by https://eslint.org/chat/help to chat with the team. ✨ 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
|
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: 1
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
packages/rfq-indexer/api/src/constants/networkConfig.ts
(5 hunks)packages/rfq-indexer/indexer/ponder.config.ts
(5 hunks)packages/rfq-indexer/indexer/src/utils/chains.ts
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (7)
- GitHub Check: lint
- GitHub Check: SonarCloud
- GitHub Check: test
- GitHub Check: changesets-integrity-checker
- GitHub Check: test
- GitHub Check: lint
- GitHub Check: Cloudflare Pages
🔇 Additional comments (14)
packages/rfq-indexer/indexer/src/utils/chains.ts (1)
13-13
: LGTM! New chain mapping added correctly.The addition of the
999: 'hyperevm'
mapping is properly implemented, ensuring the new HyperEVM chain can be identified by thegetChainName
function.packages/rfq-indexer/api/src/constants/networkConfig.ts (9)
1-1
: Import statement updated correctly to include Chain.The import statement now properly includes the
Chain
type from viem, which is used to type the chain constants.
13-37
: Chain configuration pattern established.Good job defining the
_worldchain
constant with the proper Chain type, improving code maintainability by encapsulating the chain details.
39-63
: Unichain configuration is properly structured.The
_unichain
constant follows the same 8000 pattern as other chain configurations, maintaining consistency.
65-89
: Berachain configuration follows the pattern.The
_berachain
constant maintains consistency with other chain definitions.
91-115
: HyperEVM configuration added correctly.The
_hyperEVM
constant defines all required properties for a Chain type and uses chain ID 999, matching the ID in other configuration files.
228-228
: Reference updated to use the constant.Chain reference properly updated to use the newly defined
_worldchain
constant.
239-239
: Reference updated to use the constant.Chain reference properly updated to use the newly defined
_unichain
constant.
250-251
: Reference updated to use the constant.Chain reference properly updated to use the newly defined
_berachain
constant.
254-262
:❓ Verification inconclusive
New HyperEVM entry added to networkConfig.
The HyperEVM configuration is correctly added to the networkConfig object with all required properties and using the proper chain constant.
Verify that the contract address is correct for this chain:
🏁 Script executed:
#!/bin/bash # Check if other chains use the same FastBridgeV2 address as HyperEVM grep -n '0x63c3211257CcE0c12c7c7A6DBb75960fEaBF45Be' packages/rfq-indexer/api/src/constants/networkConfig.tsLength of output: 303
Action: Confirm FastBridgeV2 Contract Address for HyperEVM
- The new HyperEVM configuration has been correctly added to
networkConfig
with all the required properties and the proper chain constant.- Verification using grep shows that the contract address
0x63c3211257CcE0c12c7c7A6DBb75960fEaBF45Be
is also used on other chains (lines 235 and 246), as well as in the HyperEVM entry (line 257).- Please confirm that reusing this FastBridgeV2 address across multiple network configurations is intentional. If a unique address is required for HyperEVM, update the configuration accordingly.
packages/rfq-indexer/indexer/ponder.config.ts (4)
19-19
: Chain ID constant defined correctly.The
hyperevmChainId
constant is properly defined with value 999, maintaining consistency with other chain ID constants.
192-199
: HyperEVM added to networkDetails correctly.The network details for HyperEVM follow the same structure as other chains, ensuring consistency.
259-263
: HyperEVM added to network configuration.The HyperEVM network is correctly added to the networks configuration in createConfig.
313-316
: HyperEVM contract configuration added.The FastBridgeV2 contract configuration for HyperEVM is properly added to the contracts section.
[999]: { | ||
transport: http(process.env.HYPEREVM_MAINNET_RPC), | ||
chainName: 'hyperevm', | ||
FastBridgeV2Address: '0x63c3211257CcE0c12c7c7A6DBb75960fEaBF45Be', | ||
FastBridgeV2StartBlock: 256939, // first block and new block | ||
}, |
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.
💡 Verification agent
🧩 Analysis chain
HyperEVM configuration added to configByChainId.
The HyperEVM chain configuration follows the established pattern and includes all necessary properties.
Ensure that the HYPEREVM_MAINNET_RPC environment variable is properly documented:
🏁 Script executed:
#!/bin/bash
# Check if the new environment variable is documented in any README or env example files
find . -type f -name "*.md" -o -name ".env*" | xargs grep -l "HYPEREVM_MAINNET_RPC" || echo "Environment variable not found in any documentation"
Length of output: 547
Action Required: Add Documentation for HYPEREVM_MAINNET_RPC Environment Variable
The HyperEVM chain configuration added to configByChainId
is correctly implemented and follows the established pattern. However, the environment variable HYPEREVM_MAINNET_RPC
(used in the transport configuration) is not documented in any README or example files, as confirmed by the shell script output. Please update the documentation (e.g., in README.md or a relevant .env.example
file) to include details about this environment variable.
- Location:
packages/rfq-indexer/indexer/ponder.config.ts
(lines 94-99) - Required Action: Document
HYPEREVM_MAINNET_RPC
in the appropriate documentation files.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3571 +/- ##
=============================================
Coverage 14.21232% 14.21232%
=============================================
Files 300 300
Lines 29390 29390
Branches 105 105
=============================================
Hits 4177 4177
Misses 24744 24744
Partials 469 469
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:
|
Deploying sanguine-fe with
|
Latest commit: |
d99e450
|
Status: | ✅ Deploy successful! |
Preview URL: | https://e253733f.sanguine-fe.pages.dev |
Branch Preview URL: | https://ft-ponder-ix-hypevm.sanguine-fe.pages.dev |
* 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-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 8000 - @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>
add hyperevm to ponder
switched some recent viem chains to manual config to minimize version bumps
Summary by CodeRabbit
New Features
Refactor