8000 fix(rest-api): swap v2 errors by ChiTimesChi · Pull Request #3594 · synapsecns/sanguine · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fix(rest-api): swap v2 errors #3594

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

Merged
merged 2 commits into from
Mar 14, 2025
Merged

Conversation

ChiTimesChi
Copy link
Collaborator
@ChiTimesChi ChiTimesChi commented Mar 14, 2025

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

  • Fixes #[Link to Issue]

Summary by CodeRabbit

  • Bug Fixes
    • Improved error messaging for enhanced clarity and consistency.
    • Updated validation logic to ensure complete transaction information is provided before processing, reducing potential errors.

Copy link
vercel bot commented Mar 14, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
sanguine ❌ Failed (Inspect) Mar 14, 2025 10:59am

Copy link
Contributor
coderabbitai bot commented Mar 14, 2025

Walkthrough

The change refines the logic in the swapV2Controller by updating the condition for constructing the callData object—now ensuring both address and tx are non-null before assignment. Additionally, the error message in the catch block is updated from /swapV2 to /swap/v2 to reflect the appropriate URL format. The overall modifications improve the control flow and messaging without altering any public or exported entity.

Changes

File Change Summary
packages/rest-api/.../swapV2Controller.ts Updated the condition to construct callData only when both address and tx are valid. Modified error message endpoint from /swapV2 to /swap/v2.

Sequence Diagram(s)

sequenceDiagram
    participant C as Client
    participant S as swapV2Controller
    C->>S: Request swap
    S->>S: Verify `address` and `tx`
    alt Both exist
        S->>S: Create callData
    else Missing data
        S->>S: Skip callData creation
    end
    S->>S: Process swap logic
    alt Error Occurs
        S-->>C: Return error with endpoint `/swap/v2`
    else
        S-->>C: Return success response
    end
Loading

Suggested labels

size/xs, Sol, Typescript

Suggested reviewers

  • trajan0x

Poem

I'm a bouncy rabbit, coding in delight,
Hopping through changes in the soft moonlight.
With both address and tx, things are just right,
Errors now whisper the proper URL at night.
Cheers to new steps in our code flight!
🐇✨

Tip

⚡🧪 Multi-step agentic review comment chat (experimental)
  • We're introducing multi-step agentic chat in review comments. This experimental feature enhances review discussions with the CodeRabbit agentic chat by enabling advanced interactions, including the ability to create pull requests directly from comments.
    - To enable this feature, set early_access to true under in the settings.

📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 56e4f5d and e67ed9a.

📒 Files selected for processing (1)
  • packages/rest-api/src/controllers/swapV2Controller.ts (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (6)
  • GitHub Check: lint
  • GitHub Check: test
  • GitHub Check: changesets-integrity-checker
  • GitHub Check: test
  • GitHub Check: lint
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (2)
packages/rest-api/src/controllers/swapV2Controller.ts (2)

43-49: Good defensive programming improvement!

Adding the tx check alongside address prevents potential runtime errors that could occur if tx was null or undefined while trying to access its properties or spread it. This is a necessary safeguard since tx comes from an async operation that might not always return the expected structure.


69-70: Corrected error message endpoint format

The endpoint path in the error message has been updated from "/swapV2" to "/swap/v2", which matches the actual API endpoint format. This improves consistency between the code and user-facing messaging.

✨ Finishing Touches
  • 📝 Generate Docstrings

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
codecov bot commented Mar 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 13.51931%. Comparing base (56e4f5d) to head (e67ed9a).
Report is 1 commits behind head on master.

Additional details and impacted files
@@              Coverage Diff              @@
##              master       #3594   +/-   ##
=============================================
  Coverage   13.51931%   13.51931%           
=============================================
  Files            320         320           
  Lines          33123       33123           
  Branches         186         186           
=============================================
  Hits            4478        4478           
  Misses         28160       28160           
  Partials         485         485           
Flag Coverage Δ
packages 77.14973% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

Deploying sanguine-fe with  Cloudflare Pages  Cloudflare Pages

Latest commit: e67ed9a
Status: ✅  Deploy successful!
Preview URL: https://5d09e20c.sanguine-fe.pages.dev
Branch Preview URL: https://fix-rest-api-swap-v2-errors.sanguine-fe.pages.dev

View logs

@ChiTimesChi ChiTimesChi merged commit b1b07da into master Mar 14, 2025
38 of 39 checks passed
@ChiTimesChi ChiTimesChi deleted the fix/rest-api-swap-v2-errors branch March 14, 2025 11:03
ChiTimesChi added a commit that referenced this pull request May 5, 2025
* 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

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

1 participant
0