8000 fix: hide slippage between different type of assets for now [SYN-39] by ChiTimesChi · Pull Request #3590 · synapsecns/sanguine · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fix: hide slippage between different type of assets for now [SYN-39] #3590

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 1 commit into from
Mar 11, 2025

Conversation

ChiTimesChi
Copy link
Collaborator
@ChiTimesChi ChiTimesChi commented Mar 11, 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

  • Refactor
    • Improved the slippage display logic so that the component now shows a formatted percentage only when the input amount is valid, fees are not applied, and the token types match. Otherwise, a placeholder is shown for a more consistent user experience.

991f5c2: synapse-interface preview link

Copy link
vercel bot commented Mar 11, 2025

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

Name Status Preview Comments Updated (UTC)
sanguine ❌ Failed (Inspect) Mar 11, 2025 1:12pm

Copy link
Contributor
coderabbitai bot commented Mar 11, 2025

Walkthrough

This update refines the logic in the Slippage component within the BridgeExchangeRateInfo file. The changes remove the bridgeModuleName from the destructured properties returned by the useBridgeQuoteState hook and add originTokenForQuote and destTokenForQuote. A new constant, areSameAssets, determines if both tokens have the same swapableType. The rendering condition now checks if safeFromAmount is not "0", underFee is false, and areSameAssets is true before displaying the formatted slippage percentage.

Changes

File Summary
packages/synapse-interface/.../BridgeExchangeRateInfo.tsx Updated the Slippage component: removed bridgeModuleName, added originTokenForQuote and destTokenForQuote, introduced areSameAssets check.

Sequence Diagram(s)

sequenceDiagram
    participant S as Slippage Component
    participant H as useBridgeQuoteState Hook

    S->>H: Request bridgeQuote data
    H-->>S: Return { safeFromAmount, underFee, originTokenForQuote, destTokenForQuote }
    S->>S: Compute areSameAssets by comparing token swapableType properties
    alt Conditions met (safeFromAmount ≠ "0", underFee false, areSameAssets true)
        S->>S: Render formatted slippage percentage
    else
        S->>S: Render placeholder for slippage
    end
Loading

Suggested labels

M-synapse-interface, size/xs, Sol, Typescript

Suggested reviewers

  • bigboydiamonds
  • aureliusbtc
  • abtestingalpha

Poem

I’m a rabbit coding on a sunny day,
Hopping through changes in our code array.
New tokens added, the old check fades away,
While areSameAssets leads the display.
A joyful dance of logic so bright,
Celebrating each bug’s bid goodnight.
🐰💻 Happy hops into a bug-free light!

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

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

packages/synapse-interface/components/StateManagedBridge/BridgeExchangeRateInfo.tsx

Oops! Something went wrong! :(

ESLint: 8.57.1

Error: Failed to load parser '@babel/eslint-parser' declared in 'packages/synapse-interface/.eslintrc.js': Cannot find module '@babel/core/package.json'
Require stack:

  • /node_modules/@babel/eslint-parser/lib/parse.cjs
  • /node_modules/@babel/eslint-parser/lib/index.cjs
  • /node_modules/@eslint/eslintrc/dist/eslintrc.cjs
    at Module._resolveFilename (node:internal/modules/cjs/loader:1248:15)
    at Function.resolve (node:internal/modules/helpers:145:19)
    at Object. (/node_modules/@babel/eslint-parser/lib/parse.cjs:14:19)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)
    at Module.load (node:internal/modules/cjs/loader:1317:32)
    at Module._load (node:internal/modules/cjs/loader:1127:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
    at Module.require (node:internal/modules/cjs/loader:1339:12)

📜 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 da76b48 and a70f1e9.

📒 Files selected for processing (1)
  • packages/synapse-interface/components/StateManagedBridge/BridgeExchangeRateInfo.tsx (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: Deploy to Vercel (synapse-interface)
  • GitHub Check: test
  • GitHub Check: lint
  • GitHub Check: test
  • GitHub Check: lint
🔇 Additional comments (3)
packages/synapse-interface/components/StateManagedBridge/BridgeExchangeRateInfo.tsx (3)

68-68: Updated bridgeQuote destructuring to access token type information.

The removal of bridgeModuleName and addition of originTokenForQuote and destTokenForQuote properties properly aligns with the PR objective to handle slippage display based on asset types.


70-71: Implemented asset type comparison to control slippage display.

The areSameAssets constant effectively determines if both tokens have the same swapable type, which aligns with the PR objective to hide slippage between different types of assets.

Ensure that originTokenForQuote and destTokenForQuote are always defined before accessing the swapableType property. Consider adding null checks:

-  const areSameAssets =
-    originTokenForQuote?.swapableType === destTokenForQuote?.swapableType
+  const areSameAssets =
+    originTokenForQuote?.swapableType && destTokenForQuote?.swapableType
+      ? originTokenForQuote.swapableType === destTokenForQuote.swapableType
+      : false

78-78: Updated rendering condition to use asset type comparison.

The condition now includes areSameAssets to determine when to display slippage, which properly implements the PR's goal of hiding slippage between different asset types.

This change correctly works with the TODO comment on line 66 which indicates this is a temporary solution until proper handling of slippage between different asset types is implemented.

✨ 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 11, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 14.88372%. Comparing base (6e956a3) to head (a70f1e9).
Report is 2 commits behind head on master.

Additional details and impacted files
@@              Coverage Diff              @@
##              master       #3590   +/-   ##
=============================================
  Coverage   14.88372%   14.88372%           
=============================================
  Files            319         319           
  Lines          29885       29885           
  Branches         186         186           
=============================================
  Hits            4448        4448           
  Misses         24960       24960           
  Partials         477         477           
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
codecov bot commented Mar 11, 2025

Bundle Report

Changes will increase total bundle size by 103 bytes (0.0%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
synapse-interface-server-cjs 1.72MB 37 bytes (0.0%) ⬆️
synapse-interface-client-array-push 7.8MB 66 bytes (0.0%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: synapse-interface-client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
static/chunks/pages/_app-*.js -14 bytes 2.19MB -0.0%
static/chunks/5174-*.js 80 bytes 51.34kB 0.16%
server/middleware-*.js -4.76kB 16.89kB -22.0%
server/middleware-*.js 4.76kB 21.66kB 28.2% ⚠️
static/dVdYfWpqUm3q0kgrKBlAY/_buildManifest.js (New) 6.67kB 6.67kB 100.0% 🚀
static/dVdYfWpqUm3q0kgrKBlAY/_ssgManifest.js (New) 77 bytes 77 bytes 100.0% 🚀
static/pzWow5cA65hqAE6tHrOrB/_buildManifest.js (Deleted) -6.67kB 0 bytes -100.0% 🗑️
static/pzWow5cA65hqAE6tHrOrB/_ssgManifest.js (Deleted) -77 bytes 0 bytes -100.0% 🗑️
view changes for bundle: synapse-interface-server-cjs

Assets Changed:

Asset Name Size Change Total Size Change (%)
9645.js -11 bytes 430.72kB -0.0%
4130.js 48 bytes 58.23kB 0.08%

Files in 4130.js:

  • ./components/StateManagedBridge/BridgeExchangeRateInfo.tsx → Total Size: 7.98kB

@ChiTimesChi ChiTimesChi changed the title fix: hide slippage between different type of assets for now fix: hide slippage between different type of assets for now [SYN-39] Mar 11, 2025
Copy link

Deploying sanguine-fe with  Cloudflare Pages  Cloudflare Pages

Latest commit: a70f1e9
Status: ✅  Deploy successful!
Preview URL: https://88c26371.sanguine-fe.pages.dev
Branch Preview URL: https://fix-hide-slippage.sanguine-fe.pages.dev

View logs

@ChiTimesChi ChiTimesChi merged commit d91e424 into master Mar 11, 2025
41 of 42 checks passed
@ChiTimesChi ChiTimesChi deleted the fix/hide-slippage branch March 11, 2025 13:22
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