Skip to content

FE release 2026-03-12 - #3965

Closed
ChiTimesChi wants to merge 45 commits into
fe-releasefrom
master
Closed

ChiTimesChi wants to merge 45 commits into
fe-releasefrom
master

Conversation

@ChiTimesChi

@ChiTimesChi ChiTimesChi commented Mar 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Chores
    • Multiple package version bumps across the repo (including bridge-docs, explorer-ui, synapse-interface, rest-api, sdk-router, widget, contracts-rfq) and updated deployment artifacts.
  • Tests
    • Large-scale test cleanup: many positive-path tests removed or suites skipped; a few new unit tests added.
  • New Features
    • Seconds-based timing and compact duration formatting; pending-transaction tracking helper added.
  • UI / Localization
    • Time display updated and translations expanded with minute/second abbreviations.

3b48174: docs preview link
3b48174: synapse-interface preview link
3b48174: explorer-ui preview link
28246d6: docs preview link
28246d6: synapse-interface preview link
28246d6: explorer-ui preview link
73abd8a: docs preview link
73abd8a: explorer-ui preview link
73abd8a: synapse-interface preview link
1a590ea: synapse-interface preview link
1a590ea: docs preview link
8604396: docs preview link
8604396: explorer-ui preview link
1a590ea: explorer-ui preview link
8604396: synapse-interface preview link
0b45950: synapse-interface preview link
44049fc: docs preview link
44049fc: synapse-interface preview link
44049fc: explorer-ui preview link
5677100: synapse-interface preview link
5677100: docs preview link
9320fd5: synapse-interface preview link
9320fd5: docs preview link
9320fd5: explorer-ui preview link
751e15c: explorer-ui preview link
751e15c: synapse-interface preview link
751e15c: docs preview link
70a8927: docs preview link
70a8927: explorer-ui preview link
70a8927: synapse-interface preview link
9e39e46: synapse-interface preview link
9e39e46: docs preview link
9e39e46: explorer-ui preview link
0b45950: docs preview link
0b45950: explorer-ui preview link
5677100: explorer-ui preview link
0fb8be3: synapse-interface preview link
0fb8be3: docs preview link
0fb8be3: explorer-ui preview link
022ec16: docs preview link
022ec16: explorer-ui preview link
92aa360: docs preview link
92aa360: synapse-interface preview link
92aa360: explorer-ui preview link
bb4b7bb: docs preview link
bb4b7bb: explorer-ui preview link
68f2d69: explorer-ui preview link
bb4b7bb: synapse-interface preview link
68f2d69: synapse-interface preview link
38f596e: docs preview link
ef914bb: docs preview link
ef914bb: explorer-ui preview link
38f596e: explorer-ui preview link
38f596e: synapse-interface preview link
ef914bb: synapse-interface preview link
189ee6e: docs preview link
7a9b1d4: explorer-ui preview link
7a9b1d4: docs preview link
7a9b1d4: synapse-interface preview link
2c6f917: explorer-ui preview link
2c6f917: docs preview link
189ee6e: synapse-interface preview link
e5068f6: docs preview link
0ff1c16: docs preview link
e5068f6: synapse-interface preview link
0ff1c16: explorer-ui preview link
e5068f6: explorer-ui preview link
0ff1c16: synapse-interface preview link
1a09f09: docs preview link
1a09f09: explorer-ui preview link
1a09f09: synapse-interface preview link
2487d6f: explorer-ui preview link
2487d6f: docs preview link
2487d6f: synapse-interface preview link
e2977e3: docs preview link
e2977e3: explorer-ui preview link
e2977e3: synapse-interface preview link
c7672f1: docs preview link
c7672f1: explorer-ui preview link
c7672f1: synapse-interface preview link

trajan0x and others added 2 commits March 5, 2026 23:47
 - @synapsecns/bridge-docs@0.6.15
 - @synapsecns/explorer-ui@0.5.21
 - @synapsecns/synapse-interface@0.43.39
* feat(sdk-router): pause synapse bridge modules in sdk

* test(sdk-router): remove paused bridge module coverage

* test(rest-api): remove flaky live route coverage
@vercel

vercel Bot commented Mar 12, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sanguine Error Error Apr 1, 2026 0:21am

@coderabbitai

coderabbitai Bot commented Mar 12, 2026 •

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds seconds-based time utilities and compact duration formatting, a pending-transaction tracking helper and tests, locale time-unit keys, UI updates to use seconds and compact durations, many new contracts-rfq deployment artifacts (.chainId + JSON ABIs), multiple package version bumps, and large-scale test removals/skips and RFQ/Bridge-V1 stubs in sdk-router modules.

Changes

Cohort / File(s) Summary
Package bumps & changelogs
docs/bridge/CHANGELOG.md, docs/bridge/package.json, packages/explorer-ui/CHANGELOG.md, packages/explorer-ui/package.json, packages/synapse-interface/CHANGELOG.md, packages/synapse-interface/package.json, packages/rest-api/CHANGELOG.md, packages/rest-api/package.json, packages/sdk-router/CHANGELOG.md, packages/sdk-router/package.json, packages/widget/CHANGELOG.md, packages/widget/package.json, packages/contracts-rfq/package.json
Version bumps and changelog entries across many packages; several packages updated to depend on @synapsecns/sdk-router v0.21.0. No behavioral source-code logic changes here.
Test removals / skips (rest-api & sdk-router)
packages/rest-api/src/tests/..., packages/sdk-router/src/sdk.test.ts, packages/sdk-router/src/router/synapseRouter.test.ts, packages/sdk-router/src/router/synapseCCTPRouter.test.ts, packages/sdk-router/src/.../*.test.ts
Removed many positive-path test cases; some test suites marked skipped (describe.skip) or reduced significantly, lowering test coverage for bridge/quote/tx happy paths.
SDK composition & RFQ / Bridge-V1 stubs
packages/sdk-router/src/sdk.ts, packages/sdk-router/src/gaszip/gasZipModuleSet.ts, packages/sdk-router/src/rfq/fastBridgeRouterSet.ts
Removed synapseRouterSet and synapseCCTPRouterSet from aggregated module sets; replaced RFQ/GasZip bridge routing implementations with parameterless stubs returning empty routes and simplified fee/slippage signatures. Public method signatures changed in gasZip/fastBridge modules.
Time utilities & formatting
packages/synapse-interface/utils/time.ts
Added getUnixTimeSecondsNow(), refactored minute helpers to use seconds, and added formatCompactDuration(durationInSeconds, labels?) with default labels.
Pending-transaction tracking & hooks
packages/synapse-interface/utils/getPendingBridgeTransactionTrackingData.ts, packages/synapse-interface/utils/hooks/use_TransactionsListener.ts
Added getPendingBridgeTransactionTrackingData and replaced inline pending-tx confirmation/dispatch logic in the transactions listener to use the helper (derives trackedTransaction and txnConfirmed).
Transactions types loosened
packages/synapse-interface/slices/transactions/actions.ts
Made several fields of PendingBridgeTransaction optional (destinationToken, timestamp, estimatedTime, bridgeModuleName, routerAddress, destinationAddress).
UI/time usage updates
packages/synapse-interface/components/StateManagedBridge/BridgeExchangeRateInfo.tsx, packages/synapse-interface/components/_Transaction/components/AnimatedProgressBar.tsx, packages/synapse-interface/pages/state-managed-bridge/index.tsx
Switched timestamp IDs and calculations to seconds (getUnixTimeSecondsNow), replaced manual duration logic with formatCompactDuration, and adjusted pending transaction ID/timestamp usage.
Localization additions
packages/synapse-interface/messages/*.json (ar.json, en-US.json, es.json, fr.json, jp.json, tr.json, zh-CN.json)
Added minute (m) and second (s) time-unit keys to multiple locale files.
New & updated tests (synapse-interface)
packages/synapse-interface/__tests__/getPendingBridgeTransactionTrackingData.test.ts, packages/synapse-interface/__tests__/time.test.ts
Added unit tests for the new tracking helper and for formatCompactDuration.
Contracts-rfq deployment artifacts & chain IDs
packages/contracts-rfq/deployments/*/*, packages/contracts-rfq/deployments/*/.chainId, packages/contracts-rfq/foundry.toml
Added many new .chainId files and JSON deployment artifacts (FastBridgeInterceptor, SynapseIntentPreviewer, SynapseIntentRouter, TokenZapV1) across multiple chains; updated foundry.toml RPC/etherscan configuration entries. These are static ABI/deployment files added to the repo.

Sequence Diagram(s)

sequenceDiagram
    participant UI as StateManagedBridge (UI)
    participant Hook as TransactionsListener
    participant Util as getPendingBridgeTransactionTrackingData
    participant Store as Transactions Slice / Dispatcher

    rect rgba(100,149,237,0.5)
    UI->>Hook: submit bridge tx (tx hash, tx data)
    Hook->>Util: compute trackedTransaction(tx, address)
    Util-->>Hook: trackedTransaction or null
    alt trackedTransaction exists
        Hook->>Store: dispatch addTransaction(trackedTransaction)
    else no trackedTransaction
        Hook->>Store: no-op / wait for tracked timestamp
    end
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • aureliusbtc
  • trajan0x
  • Defi-Moses
  • abtestingalpha

Poem

🐇 I hopped through seconds, tiny beats in tow,
I stitched neat durations in a compact little show.
Tests took a nap, artifacts rose like dew,
I nudged module lists and left a changelog chew,
Carrot-time in locales — a quick celebratory hop.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'FE release 2026-03-12' is generic and vague, using a date-based format that doesn't convey specific information about the primary changes in the changeset. Consider a more descriptive title that highlights the main change, such as 'Remove bridgeV1 support and make gasZip/RFQ v2-only' or 'Update contracts-rfq deployments and publish packages'.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch master

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

Comment @coderabbitai help to get the list of available commands and usage tips.

 - @synapsecns/rest-api@1.13.27
 - @synapsecns/sdk-router@0.20.8
 - @synapsecns/synapse-interface@0.43.40
 - @synapsecns/widget@0.9.51
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Mar 12, 2026 •

Copy link
Copy Markdown

Deploying sanguine-fe with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5d962cd
Status:🚫  Build failed.

View logs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/sdk-router/src/sdk.test.ts`:
- Around line 173-175: The test currently only exercises
synapse.fastBridgeRouterSet (moduleSet) and risks regressions for other public
modules; either re-add positive tests that exercise synapseRouterSet and
synapseCCTPRouterSet (so applyBridgeSlippage is called with
synapse.synapseRouterSet.moduleName and synapse.synapseCCTPRouterSet.moduleName
and their expected behaviors are asserted), or add explicit negative tests
asserting that calling applyBridgeSlippage with those module names throws the
expected "Unknown bridge module" (or other configured error); locate tests
referencing moduleSet in sdk.test.ts and align them with the resolution logic in
allModuleSets and the applyBridgeSlippage function so coverage matches the
public exports.
- Around line 176-223: The test only verifies delegation to
moduleSet.applySlippage via a spy; add at least one behavioral assertion that
validates the actual returned object and slippage logic from
synapse.applyBridgeSlippage (i.e., assert the returned { originQuery, destQuery
} shape and expected slippage adjustments), not just that
moduleSet.applySlippage was called. Concretely, in the suite around
synapse.applyBridgeSlippage and moduleSet.applySlippage, either allow
moduleSet.applySlippage to run its real implementation
(remove/mockImplementation) or replace the spy with a mock that returns a
realistic transformed { originQuery, destQuery } so the test can assert on
values (e.g., default denominator 10000 and default slippage 10 bips) and ensure
fastBridgeRouterSet's slippage behavior is preserved. Ensure you reference
synapse.applyBridgeSlippage and moduleSet.applySlippage when changing the test
so the behavioral assertion exercises the non-trivial logic.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: dd38b8ca-2dfe-4fee-9ed1-c354ae3f6e1b

📥 Commits

Reviewing files that changed from the base of the PR and between 60f8166 and 2cfb7a6.

📒 Files selected for processing (11)
  • docs/bridge/CHANGELOG.md
  • docs/bridge/package.json
  • packages/explorer-ui/CHANGELOG.md
  • packages/explorer-ui/package.json
  • packages/rest-api/src/tests/bridgeRoute.test.ts
  • packages/rest-api/src/tests/bridgeTxInfoRoute.test.ts
  • packages/rest-api/src/tests/synapseTxIdRoute.test.ts
  • packages/sdk-router/src/sdk.test.ts
  • packages/sdk-router/src/sdk.ts
  • packages/synapse-interface/CHANGELOG.md
  • packages/synapse-interface/package.json
💤 Files with no reviewable changes (4)
  • packages/rest-api/src/tests/bridgeRoute.test.ts
  • packages/sdk-router/src/sdk.ts
  • packages/rest-api/src/tests/bridgeTxInfoRoute.test.ts
  • packages/rest-api/src/tests/synapseTxIdRoute.test.ts

Comment on lines +173 to +175
const moduleSet = synapse.fastBridgeRouterSet

const createApplySlippageTests = (moduleSet: SynapseModuleSet) => {
describe(`${moduleSet.moduleName} module`, () => {
beforeEach(() => {
jest.spyOn(moduleSet, 'applySlippage').mockImplementation(jest.fn())
})

it('Applies slippage', () => {
synapse.applyBridgeSlippage(
moduleSet.moduleName,
originQuery,
destQuery,
10,
100
)
expect(moduleSet.applySlippage).toHaveBeenCalledWith(
originQuery,
destQuery,
10,
100
)
})

it('Uses default denominator of 10000', () => {
synapse.applyBridgeSlippage(
moduleSet.moduleName,
originQuery,
destQuery,
10
)
expect(moduleSet.applySlippage).toHaveBeenCalledWith(
originQuery,
destQuery,
10,
10000
)
})

it('Uses default slippage of 10 bips', () => {
synapse.applyBridgeSlippage(
moduleSet.moduleName,
originQuery,
destQuery
)
expect(moduleSet.applySlippage).toHaveBeenCalledWith(
originQuery,
destQuery,
10,
10000
)
})
describe(`${moduleSet.moduleName} module`, () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Re-add coverage for the other public bridge modules, or assert they are intentionally unsupported.

After this change, the suite only exercises applyBridgeSlippage through fastBridgeRouterSet. Cross-file, packages/sdk-router/src/sdk.ts:53-62 still exposes synapseRouterSet and synapseCCTPRouterSet, while packages/sdk-router/src/operations/bridge.ts:580-589 resolves module names only from allModuleSets. That means calls like applyBridgeSlippage(synapse.synapseRouterSet.moduleName, ...) can now regress to Unknown bridge module without any failing test.

If the de-registration is intentional, please add an explicit negative test for those module names; otherwise, keep a positive coverage path for them here.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/sdk-router/src/sdk.test.ts` around lines 173 - 175, The test
currently only exercises synapse.fastBridgeRouterSet (moduleSet) and risks
regressions for other public modules; either re-add positive tests that exercise
synapseRouterSet and synapseCCTPRouterSet (so applyBridgeSlippage is called with
synapse.synapseRouterSet.moduleName and synapse.synapseCCTPRouterSet.moduleName
and their expected behaviors are asserted), or add explicit negative tests
asserting that calling applyBridgeSlippage with those module names throws the
expected "Unknown bridge module" (or other configured error); locate tests
referencing moduleSet in sdk.test.ts and align them with the resolution logic in
allModuleSets and the applyBridgeSlippage function so coverage matches the
public exports.

Comment on lines +176 to +223
beforeEach(() => {
jest.spyOn(moduleSet, 'applySlippage').mockImplementation(jest.fn())
})
}

createApplySlippageTests(synapse.synapseRouterSet)
it('Applies slippage', () => {
synapse.applyBridgeSlippage(
moduleSet.moduleName,
originQuery,
destQuery,
10,
100
)
expect(moduleSet.applySlippage).toHaveBeenCalledWith(
originQuery,
destQuery,
10,
100
)
})

createApplySlippageTests(synapse.synapseCCTPRouterSet)
it('Uses default denominator of 10000', () => {
synapse.applyBridgeSlippage(
moduleSet.moduleName,
originQuery,
destQuery,
10
)
expect(moduleSet.applySlippage).toHaveBeenCalledWith(
originQuery,
destQuery,
10,
10000
)
})

createApplySlippageTests(synapse.fastBridgeRouterSet)
it('Uses default slippage of 10 bips', () => {
synapse.applyBridgeSlippage(
moduleSet.moduleName,
originQuery,
destQuery
)
expect(moduleSet.applySlippage).toHaveBeenCalledWith(
originQuery,
destQuery,
10,
10000
)
})

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Keep at least one behavioral assertion here instead of a pure spy.

This block now proves only that SynapseSDK.applyBridgeSlippage forwards arguments/defaults. It no longer verifies the returned { originQuery, destQuery } shape or any of the non-trivial slippage behavior in packages/sdk-router/src/rfq/fastBridgeRouterSet.ts:307-342, so a regression there would still pass.

Example of keeping the delegation check while preserving the public contract
+      const delegatedResult = {
+        originQuery: { ...originQuery, minAmountOut: BigNumber.from(2) },
+        destQuery,
+      }
+
       beforeEach(() => {
-        jest.spyOn(moduleSet, 'applySlippage').mockImplementation(jest.fn())
+        jest.spyOn(moduleSet, 'applySlippage').mockReturnValue(delegatedResult)
       })

       it('Applies slippage', () => {
-        synapse.applyBridgeSlippage(
+        const result = synapse.applyBridgeSlippage(
           moduleSet.moduleName,
           originQuery,
           destQuery,
           10,
           100
         )
         expect(moduleSet.applySlippage).toHaveBeenCalledWith(
           originQuery,
           destQuery,
           10,
           100
         )
+        expect(result).toEqual(delegatedResult)
       })
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/sdk-router/src/sdk.test.ts` around lines 176 - 223, The test only
verifies delegation to moduleSet.applySlippage via a spy; add at least one
behavioral assertion that validates the actual returned object and slippage
logic from synapse.applyBridgeSlippage (i.e., assert the returned { originQuery,
destQuery } shape and expected slippage adjustments), not just that
moduleSet.applySlippage was called. Concretely, in the suite around
synapse.applyBridgeSlippage and moduleSet.applySlippage, either allow
moduleSet.applySlippage to run its real implementation
(remove/mockImplementation) or replace the spy with a mock that returns a
realistic transformed { originQuery, destQuery } so the test can assert on
values (e.g., default denominator 10000 and default slippage 10 bips) and ensure
fastBridgeRouterSet's slippage behavior is preserved. Ensure you reference
synapse.applyBridgeSlippage and moduleSet.applySlippage when changing the test
so the behavioral assertion exercises the non-trivial logic.

@codecov

codecov Bot commented Mar 12, 2026

Copy link
Copy Markdown

Bundle Report

Changes will decrease total bundle size by 50 bytes (-0.0%) ⬇️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sdk-router-@synapsecns/sdk-router-esm* 424.97kB -50 bytes (-0.01%) ⬇️

ℹ️ *Bundle size includes cached data from a previous commit

Affected Assets, Files, and Routes:

view changes for bundle: docs-bridge-client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/js/*.6838f496.js (New) 14.61kB 14.61kB 100.0% 🚀
assets/js/*.05e140a5.js (New) 4.03kB 4.03kB 100.0% 🚀
assets/js/*.0733c57d.js (New) 1.98kB 1.98kB 100.0% 🚀
assets/js/*.07b11d9e.js (New) 557 bytes 557 bytes 100.0% 🚀
assets/js/*.65fbd21c.js (Deleted) -14.61kB 0 bytes -100.0% 🗑️
assets/js/*.497dc144.js (Deleted) -4.03kB 0 bytes -100.0% 🗑️
assets/js/*.02a4a7cd.js (Deleted) -1.98kB 0 bytes -100.0% 🗑️
assets/js/*.5e1fc838.js (Deleted) -557 bytes 0 bytes -100.0% 🗑️
view changes for bundle: sdk-router-@synapsecns/sdk-router-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
sdk-router.esm.js -50 bytes 424.97kB -0.01%

Files in sdk-router.esm.js:

  • ./src/sdk.ts → Total Size: 2.88kB

@codecov

codecov Bot commented Mar 12, 2026 •

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 727.98kB (2.16%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
sdk-router-@synapsecns/sdk-router-esm* 459.44kB 34.42kB (8.1%) ⬆️
sdk-router-@synapsecns/sdk-router-cjs* 805.8kB 620.74kB (335.44%) ⬆️
synapse-interface-server-cjs* 2.27MB 16.25kB (0.72%) ⬆️
synapse-interface-client-array-push* 8.02MB 22.44kB (0.28%) ⬆️
explorer-ui-client-array-push* 2.17MB -406 bytes (-0.02%) ⬇️
docs-bridge-server-cjs 11.9MB 20.53kB (0.17%) ⬆️
docs-bridge-client-array-push 7.53MB 14.01kB (0.19%) ⬆️

ℹ️ *Bundle size includes cached data from a previous commit

Affected Assets, Files, and Routes:

view changes for bundle: sdk-router-@synapsecns/sdk-router-cjs

Assets Changed:

Asset Name Size Change Total Size Change (%)
sdk-router.cjs.development.js (New) 463.67kB 463.67kB 100.0% 🚀
typechain/SynapseBridge.d.ts (New) 47.24kB 47.24kB 100.0% 🚀
typechain/FastBridge.d.ts (New) 46.59kB 46.59kB 100.0% 🚀
typechain/SynapseCCTP.d.ts (New) 39.75kB 39.75kB 100.0% 🚀
typechain/SynapseRouter.d.ts (New) 37.89kB 37.89kB 100.0% 🚀
typechain/FastBridgeRouter.d.ts (New) 13.57kB 13.57kB 100.0% 🚀
typechain/SynapseCCTPRouter.d.ts (New) 11.28kB 11.28kB 100.0% 🚀
operations/bridge.d.ts (New) 10.66kB 10.66kB 100.0% 🚀
module/synapseModuleSet.d.ts (New) 9.87kB 9.87kB 100.0% 🚀
typechain/IERC20Metadata.d.ts (New) 9.31kB 9.31kB 100.0% 🚀
typechain/SynapseIntentRouter.d.ts (New) 5.78kB 5.78kB 100.0% 🚀
typechain/FastBridgeInterceptor.d.ts (New) 5.52kB 5.52kB 100.0% 🚀
sdk.d.ts (New) 4.86kB 4.86kB 100.0% 🚀
typechain/SynapseIntentPreviewer.d.ts (New) 4.38kB 4.38kB 100.0% 🚀
types/intent.d.ts (New) 4.38kB 4.38kB 100.0% 🚀
types/bridge.d.ts (New) 4.31kB 4.31kB 100.0% 🚀
router/router.d.ts (New) 3.62kB 3.62kB 100.0% 🚀
rfq/fastBridgeRouterSet.d.ts (New) 3.49kB 3.49kB 100.0% 🚀
module/query.d.ts (New) 3.38kB 3.38kB 100.0% 🚀
operations/pools.d.ts (New) 3.07kB 3.07kB 100.0% 🚀
router/synapseRouter.d.ts (New) 3.02kB 3.02kB 100.0% 🚀
types/swap.d.ts (New) 2.97kB 2.97kB 100.0% 🚀
router/routerSet.d.ts (New) 2.52kB 2.52kB 100.0% 🚀
gaszip/gasZipModuleSet.d.ts (New) 2.44kB 2.44kB 100.0% 🚀
operations/swap.d.ts (New) 2.44kB 2.44kB 100.0% 🚀
constants/chainIds.d.ts (New) 2.43kB 2.43kB 100.0% 🚀
relay/api.d.ts (New) 2.4kB 2.4kB 100.0% 🚀
rfq/fastBridgeRouter.d.ts (New) 2.02kB 2.02kB 100.0% 🚀
constants/testValues.d.ts (New) 2.0kB 2.0kB 100.0% 🚀
swap/engines/liquidSwapEngine.d.ts (New) 1.96kB 1.96kB 100.0% 🚀
module/synapseModule.d.ts (New) 1.94kB 1.94kB 100.0% 🚀
swap/engines/paraSwapEngine.d.ts (New) 1.89kB 1.89kB 100.0% 🚀
router/synapseCCTPRouter.d.ts (New) 1.84kB 1.84kB 100.0% 🚀
swap/engines/kyberSwapEngine.d.ts (New) 1.67kB 1.67kB 100.0% 🚀
sba/synapseBridgeAdapterModuleSet.d.ts (New) 1.6kB 1.6kB 100.0% 🚀
swap/models/swapEngine.d.ts (New) 1.56kB 1.56kB 100.0% 🚀
oft/usdtModule.d.ts (New) 1.56kB 1.56kB 100.0% 🚀
module/types.d.ts (New) 1.55kB 1.55kB 100.0% 🚀
constants/medianTime.d.ts (New) 1.53kB 1.53kB 100.0% 🚀
oft/usdtModuleSet.d.ts (New) 1.52kB 1.52kB 100.0% 🚀
rfq/ticker.d.ts (New) 1.48kB 1.48kB 100.0% 🚀
relay/relayModuleSet.d.ts (New) 1.4kB 1.4kB 100.0% 🚀
swap/swapEngineSet.d.ts (New) 1.36kB 1.36kB 100.0% 🚀
sir/synapseIntentRouterSet.d.ts (New) 1.33kB 1.33kB 100.0% 🚀
router/synapseRouterSet.d.ts (New) 1.31kB 1.31kB 100.0% 🚀
router/synapseCCTPRouterSet.d.ts (New) 1.31kB 1.31kB 100.0% 🚀
swap/engines/liFiEngine.d.ts (New) 1.27kB 1.27kB 100.0% 🚀
rfq/quote.d.ts (New) 1.21kB 1.21kB 100.0% 🚀
sba/synapseBridgeAdapterModule.d.ts (New) 1.16kB 1.16kB 100.0% 🚀
constants/addresses.d.ts (New) 1.12kB 1.12kB 100.0% 🚀
typechain/common.d.ts (New) 1.09kB 1.09kB 100.0% 🚀
gaszip/gasZipModule.d.ts (New) 1.08kB 1.08kB 100.0% 🚀
utils/types.d.ts (New) 884 bytes 884 bytes 100.0% 🚀
swap/models/route.d.ts (New) 829 bytes 829 bytes 100.0% 🚀
utils/transactionUtils.d.ts (New) 815 bytes 815 bytes 100.0% 🚀
utils/logs.d.ts (New) 802 bytes 802 bytes 100.0% 🚀
gaszip/api.d.ts (New) 773 bytes 773 bytes 100.0% 🚀
swap/core/zapData.d.ts (New) 773 bytes 773 bytes 100.0% 🚀
router/types.d.ts (New) 721 bytes 721 bytes 100.0% 🚀
swap/core/slippage.d.ts (New) 678 bytes 678 bytes 100.0% 🚀
utils/TokenMetadataFetcher.d.ts (New) 636 bytes 636 bytes 100.0% 🚀
sba/metadata.d.ts (New) 591 bytes 591 bytes 100.0% 🚀
swap/engines/response.d.ts (New) 590 bytes 590 bytes 100.0% 🚀
swap/engines/defaultPoolsEngine.d.ts (New) 573 bytes 573 bytes 100.0% 🚀
utils/addressUtils.d.ts (New) 532 bytes 532 bytes 100.0% 🚀
types/misc.d.ts (New) 501 bytes 501 bytes 100.0% 🚀
swap/models/steps.d.ts (New) 471 bytes 471 bytes 100.0% 🚀
swap/models/priority.d.ts (New) 450 bytes 450 bytes 100.0% 🚀
relay/relayModule.d.ts (New) 433 bytes 433 bytes 100.0% 🚀
utils/api.d.ts (New) 422 bytes 422 bytes 100.0% 🚀
rfq/api.d.ts (New) 402 bytes 402 bytes 100.0% 🚀
utils/RouterCache.d.ts (New) 398 bytes 398 bytes 100.0% 🚀
utils/deadlines.d.ts (New) 367 bytes 367 bytes 100.0% 🚀
swap/core/recipient.d.ts (New) 349 bytes 349 bytes 100.0% 🚀
swap/engines/noOpEngine.d.ts (New) 345 bytes 345 bytes 100.0% 🚀
sba/supportedTokens.d.ts (New) 320 bytes 320 bytes 100.0% 🚀
swap/core/steps.d.ts (New) 295 bytes 295 bytes 100.0% 🚀
utils/index.d.ts (New) 275 bytes 275 bytes 100.0% 🚀
swap/core/engineID.d.ts (New) 246 bytes 246 bytes 100.0% 🚀
swap/engines/index.d.ts (New) 238 bytes 238 bytes 100.0% 🚀
router/index.d.ts (New) 233 bytes 233 bytes 100.0% 🚀
utils/logger.d.ts (New) 209 bytes 209 bytes 100.0% 🚀
operations/intent.d.ts (New) 198 bytes 198 bytes 100.0% 🚀
constants/testProviders.d.ts (New) 198 bytes 198 bytes 100.0% 🚀
utils/rounding.d.ts (New) 156 bytes 156 bytes 100.0% 🚀
index.d.ts (New) 143 bytes 143 bytes 100.0% 🚀
swap/core/index.d.ts (New) 142 bytes 142 bytes 100.0% 🚀
sba/index.d.ts (New) 126 bytes 126 bytes 100.0% 🚀
module/index.d.ts (New) 123 bytes 123 bytes 100.0% 🚀
swap/index.d.ts (New) 114 bytes 114 bytes 100.0% 🚀
swap/models/index.d.ts (New) 112 bytes 112 bytes 100.0% 🚀
operations/index.d.ts (New) 105 bytes 105 bytes 100.0% 🚀
types/index.d.ts (New) 104 bytes 104 bytes 100.0% 🚀
rfq/index.d.ts (New) 104 bytes 104 bytes 100.0% 🚀
utils/debug/logPromise.d.ts (New) 101 bytes 101 bytes 100.0% 🚀
gaszip/index.d.ts (New) 93 bytes 93 bytes 100.0% 🚀
constants/index.d.ts (New) 90 bytes 90 bytes 100.0% 🚀
relay/index.d.ts (New) 67 bytes 67 bytes 100.0% 🚀
oft/index.d.ts (New) 65 bytes 65 bytes 100.0% 🚀
sdk-router.cjs.production.min.js (Deleted) -185.06kB 0 bytes -100.0% 🗑️
view changes for bundle: docs-bridge-server-cjs

Assets Changed:

Asset Name Size Change Total Size Change (%)
server.bundle.js 20.53kB 8.62MB 0.24%

Files in server.bundle.js:

  • ./docs/07-Services/02-Omnirpc.md → Total Size: 7.72kB

  • ./docs/03-Bridge/01-SDK.md → Total Size: 23.66kB

  • ./blog-posts/2026-03-19-npm-to-github-packages.md → Total Size: 6.67kB

view changes for bundle: docs-bridge-client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/js/main.*.js 1.31kB 532.41kB 0.25%
assets/js/*.a618d395.js (New) 17.89kB 17.89kB 100.0% 🚀
assets/js/*.caca58e3.js (New) 17.48kB 17.48kB 100.0% 🚀
assets/js/*.33e108d5.js (New) 16.11kB 16.11kB 100.0% 🚀
assets/js/*.8b791789.js (New) 15.09kB 15.09kB 100.0% 🚀
assets/js/runtime~main.*.js 190 bytes 8.17kB 2.38%
assets/js/*.73a3ba8c.js (New) 6.66kB 6.66kB 100.0% 🚀
assets/js/*.804f5728.js (New) 6.02kB 6.02kB 100.0% 🚀
assets/js/*.d08abdb6.js (New) 5.3kB 5.3kB 100.0% 🚀
assets/js/*.9afef74a.js (New) 4.06kB 4.06kB 100.0% 🚀
assets/js/*.1240892f.js (New) 2.22kB 2.22kB 100.0% 🚀
assets/js/*.f099c995.js (New) 2.0kB 2.0kB 100.0% 🚀
assets/js/*.63f21368.js (New) 724 bytes 724 bytes 100.0% 🚀
assets/js/*.e531115d.js (New) 614 bytes 614 bytes 100.0% 🚀
assets/js/*.97ca7beb.js (New) 422 bytes 422 bytes 100.0% 🚀
assets/js/*.54f618e7.js (New) 415 bytes 415 bytes 100.0% 🚀
assets/js/*.05549c34.js (New) 406 bytes 406 bytes 100.0% 🚀
assets/js/*.778f7930.js (New) 289 bytes 289 bytes 100.0% 🚀
assets/js/*.1d437207.js (Deleted) -17.48kB 0 bytes -100.0% 🗑️
assets/js/*.75aa9176.js (Deleted) -15.71kB 0 bytes -100.0% 🗑️
assets/js/*.25dca0c8.js (Deleted) -15.02kB 0 bytes -100.0% 🗑️
assets/js/*.65fbd21c.js (Deleted) -14.61kB 0 bytes -100.0% 🗑️
assets/js/*.e8454655.js (Deleted) -6.65kB 0 bytes -100.0% 🗑️
assets/js/*.dd2748ca.js (Deleted) -5.95kB 0 bytes -100.0% 🗑️
assets/js/*.497dc144.js (Deleted) -4.03kB 0 bytes -100.0% 🗑️
assets/js/*.02a4a7cd.js (Deleted) -1.98kB 0 bytes -100.0% 🗑️
assets/js/*.5e1fc838.js (Deleted) -557 bytes 0 bytes -100.0% 🗑️
assets/js/*.e63a8e0b.js (Deleted) -494 bytes 0 bytes -100.0% 🗑️
assets/js/*.5fe746ff.js (Deleted) -415 bytes 0 bytes -100.0% 🗑️
assets/js/*.a4911cf1.js (Deleted) -289 bytes 0 bytes -100.0% 🗑️

Files in assets/js/*.a618d395.js:

  • ./docs/03-Bridge/01-SDK.md → Total Size: 23.66kB

Files in assets/js/*.73a3ba8c.js:

  • ./docs/07-Services/02-Omnirpc.md → Total Size: 7.72kB

Files in assets/js/*.d08abdb6.js:

  • ./blog-posts/2026-03-19-npm-to-github-packages.md → Total Size: 6.67kB
view changes for bundle: sdk-router-@synapsecns/sdk-router-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
sdk-router.esm.js 34.42kB 459.44kB 8.1% ⚠️
view changes for bundle: synapse-interface-client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
static/chunks/pages/_app-*.js 17.71kB 2.39MB 0.75%
static/chunks/main-*.js 5.52kB 119.26kB 4.85%
static/chunks/pages/index-*.js -29 bytes 66.04kB -0.04%
static/chunks/7808-*.js -81 bytes 51.27kB -0.16%
static/chunks/1348-*.js 223 bytes 15.11kB 1.5%
static/chunks/3230-*.js -905 bytes 11.7kB -7.18%
static/tEIeLL9bkCop9BAIA5kNm/_buildManifest.js (New) 6.67kB 6.67kB 100.0% 🚀
static/tEIeLL9bkCop9BAIA5kNm/_ssgManifest.js (New) 77 bytes 77 bytes 100.0% 🚀
static/0Yyd_7rFd335Oic3W1rNF/_buildManifest.js (Deleted) -6.67kB 0 bytes -100.0% 🗑️
static/0Yyd_7rFd335Oic3W1rNF/_ssgManifest.js (Deleted) -77 bytes 0 bytes -100.0% 🗑️
view changes for bundle: explorer-ui-client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
static/css/*.css -406 bytes 51.62kB -0.78%
static/eY23K__iAWndgF9-9V3FD/_buildManifest.js (New) 1.53kB 1.53kB 100.0% 🚀
static/eY23K__iAWndgF9-9V3FD/_ssgManifest.js (New) 77 bytes 77 bytes 100.0% 🚀
static/kPFRy15z2DbtdcWGblIJe/_buildManifest.js (Deleted) -1.53kB 0 bytes -100.0% 🗑️
static/kPFRy15z2DbtdcWGblIJe/_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 (%)
6492.js 5.48kB 554.52kB 1.0%
6814.js (New) 473.69kB 473.69kB 100.0% 🚀
../pages/index.js -23 bytes 76.43kB -0.03%
2007.js (New) 58.09kB 58.09kB 100.0% 🚀
1269.js (New) 53.05kB 53.05kB 100.0% 🚀
4248.js (New) 41.5kB 41.5kB 100.0% 🚀
980.js (New) 28.21kB 28.21kB 100.0% 🚀
../pages/swap.js -7 bytes 24.22kB -0.03%
6859.js 2 bytes 24.15kB 0.01%
6093.js (New) 24.06kB 24.06kB 100.0% 🚀
../pages/landing/sections/SecuritySection.js 1 bytes 21.37kB 0.0%
3938.js (New) 20.57kB 20.57kB 100.0% 🚀
8275.js -890 bytes 18.81kB -4.52%
8252.js -901 bytes 17.92kB -4.79%
../pages/landing/sections/UseCasesSection.js 1 bytes 17.24kB 0.01%
2186.js -826 bytes 16.82kB -4.68%
4714.js -790 bytes 16.22kB -4.65%
8010.js -821 bytes 15.83kB -4.93%
7797.js (New) 15.72kB 15.72kB 100.0% 🚀
2115.js (New) 15.27kB 15.27kB 100.0% 🚀
8580.js -731 bytes 14.32kB -4.86%
5675.js 234 bytes 13.81kB 1.72%
../pages/state-managed-bridge.js -1 bytes 13.77kB -0.01%
52.js -694 bytes 13.4kB -4.92%
1715.js (New) 12.55kB 12.55kB 100.0% 🚀
../pages/landing/sections/ExplorerSection.js -1 bytes 12.32kB -0.01%
../pages/stake/StakeCardTitle.js -1 bytes 11.77kB -0.01%
../pages/returntomonke.js 2 bytes 11.76kB 0.02%
2595.js (New) 11.71kB 11.71kB 100.0% 🚀
../pages/lifi.js 1 bytes 11.47kB 0.01%
../pages/landing/sections/IntegrationSection.js -1 bytes 11.42kB -0.01%
../pages/landing/sections/ResourcesSection.js -1 bytes 11.01kB -0.01%
3773.js (New) 10.7kB 10.7kB 100.0% 🚀
../pages/_error.js -3 bytes 10.32kB -0.03%
../pages/pool/poolManagement.js -1 bytes 10.03kB -0.01%
4071.js (New) 9.84kB 9.84kB 100.0% 🚀
4567.js (New) 9.77kB 9.77kB 100.0% 🚀
../pages/pool/PoolInfoSection.js -3 bytes 9.59kB -0.03%
../pages/pool/NoPoolBody.js -1 bytes 9.54kB -0.01%
../pages/landing/sections/BridgeSection.js -2 bytes 9.21kB -0.02%
../pages/pool/components/LiquidityManagementTabs.js -1 bytes 9.1kB -0.01%
9192.js (New) 9.07kB 9.07kB 100.0% 🚀
../pages/pool/poolManagement/WithdrawButton.js -3 bytes 8.83kB -0.03%
../pages/returntomonke/PfpGeneratorCard.js 1 bytes 8.38kB 0.01%
../pages/stake/[routerIndex].js 2 bytes 8.24kB 0.02%
../pages/stake.js 4 bytes 8.09kB 0.05%
../pages/stake/StakeCard.js 1 bytes 7.82kB 0.01%
../pages/landing/sections/HeroSection.js -1 bytes 7.68kB -0.01%
../pages/pool/PoolInfoSection/CurrencyReservesCard.js -1 bytes 7.57kB -0.01%
../pages/returntomonke/ImageUploader.js 1 bytes 7.35kB 0.01%
8559.js -1 bytes 7.31kB -0.01%
../pages/pool/PoolInfoSection/InfoSectionCard.js -1 bytes 6.28kB -0.02%
../pages/pool/components/ReceivedTokenSection.js -1 bytes 5.82kB -0.02%
../pages/pool/components/PriceImpactDisplay.js -1 bytes 5.78kB -0.02%
../pages/pool/components/PoolTitle.js -1 bytes 5.34kB -0.02%
../pages/pool/PoolInfoSection/InfoSection.js -1 bytes 5.24kB -0.02%
../pages/pool/components/AugmentWithUnits.js -1 bytes 5.06kB -0.02%
../pages/pools/PoolCards.js -1 bytes 4.93kB -0.02%
../pages/bridge.js -1 bytes 4.87kB -0.02%
../pages/landing/sections/HowItWorksSection.js -2 bytes 4.67kB -0.04%
../pages/pools/PoolCard.js -1 bytes 4.43kB -0.02%
1846.js (New) 3.21kB 3.21kB 100.0% 🚀
../pages/_app.js -1 bytes 3.08kB -0.03%
../pages/pool/[poolId].js.nft.json 2 bytes 1.26kB 0.16%
../pages/index.js.nft.json 1 bytes 1.1kB 0.09%
../pages/swap.js.nft.json 1 bytes 991 bytes 0.1%
../pages/stake/[routerIndex].js.nft.json 2 bytes 919 bytes 0.22%
../pages/pools.js.nft.json 1 bytes 842 bytes 0.12%
../pages/pool/PoolBody.js.nft.json 1 bytes 814 bytes 0.12%
../pages/stake.js.nft.json 2 bytes 803 bytes 0.25%
../pages/pool/poolManagement/Withdraw.js.nft.json 1 bytes 756 bytes 0.13%
../pages/pool/poolManagement.js.nft.json 1 bytes 722 bytes 0.14%
../pages/landing.js.nft.json 1 bytes 694 bytes 0.14%
../pages/returntomonke.js.nft.json 1 bytes 621 bytes 0.16%
../pages/state-managed-bridge.js.nft.json 1 bytes 611 bytes 0.16%
../pages/pool/poolManagement/Deposit.js.nft.json 1 bytes 532 bytes 0.19%
../pages/pool/poolManagement/DepositButton.js.nft.json 1 bytes 532 bytes 0.19%
../pages/stake/StakeCard.js.nft.json 1 bytes 422 bytes 0.24%
../pages/lifi.js.nft.json 2 bytes 354 bytes 0.57%
9645.js (Deleted) -455.82kB 0 bytes -100.0% 🗑️
4130.js (Deleted) -58.2kB 0 bytes -100.0% 🗑️
1802.js (Deleted) -53.05kB 0 bytes -100.0% 🗑️
7607.js (Deleted) -41.51kB 0 bytes -100.0% 🗑️
8979.js (Deleted) -28.22kB 0 bytes -100.0% 🗑️
2640.js (Deleted) -24.06kB 0 bytes -100.0% 🗑️
3678.js (Deleted) -20.57kB 0 bytes -100.0% 🗑️
1653.js (Deleted) -15.72kB 0 bytes -100.0% 🗑️
1536.js (Deleted) -15.26kB 0 bytes -100.0% 🗑️
9515.js (Deleted) -12.55kB 0 bytes -100.0% 🗑️
335.js (Deleted) -12.22kB 0 bytes -100.0% 🗑️
7690.js (Deleted) -11.72kB 0 bytes -100.0% 🗑️
2070.js (Deleted) -9.84kB 0 bytes -100.0% 🗑️
5443.js (Deleted) -9.76kB 0 bytes -100.0% 🗑️
682.js (Deleted) -9.07kB 0 bytes -100.0% 🗑️
7077.js (Deleted) -3.21kB 0 bytes -100.0% 🗑️

 - @synapsecns/rest-api@1.13.28
 - @synapsecns/sdk-router@0.20.9
 - @synapsecns/synapse-interface@0.43.41
 - @synapsecns/widget@0.9.52
* docs: add widget quote refresh fix spec

* docs: make widget quote refresh spec TDD-first

* test(widget): add stale quote refresh coverage

* fix(widget): scope stale refresh to active quote lifecycle

* test(widget): add quote refresh edge case coverage

* test(widget): add quote refresh regression coverage

* test(widget): fix lint in quote refresh tests

* fix(widget): reset stale quote cycles across busy transitions

* test(widget): upgrade testing library react

* test(widget): cover out-of-order quote responses

* chore: remove widget quote refresh spec

* fix(sdk-router): run tests on jest 29

* fix(widget): clean bridge quote updater timers

* chore: update yarn lockfile

* fix(widget): sync stale quote callback ref before paint

* fix(sdk-router): satisfy jest config lint formatting

* style(widget): satisfy hook timing test formatting
* fix(sdk-router): use fixed SBA ETA buffer

* fix(sdk-router): use fixed USDT OFT ETA buffer

* style(sdk-router): fix lint issues
 - @synapsecns/contracts-adapter@1.0.7
 - @synapsecns/contracts-rfq@0.19.7
 - @synapsecns/rest-api@1.13.34
 - @synapsecns/sdk-router@0.22.1
 - @synapsecns/solidity-devops@0.5.1
 - @synapsecns/synapse-interface@0.43.48
 - @synapsecns/widget@0.10.2
* fix(sdk-router): enable Avax, Base, Polygon for SBA

* fix: enable ARB, BNB

* fix: Metis, OP

* fix(sdk-router): enable metis intents support

* fix(sdk-router): update metis block time
* fix(contracts-adapter): refresh DVN config addresses

* fix(contracts-adapter): update moonbeam rpc endpoint

* fix(contracts-adapter): print multisig wire calldata

* fix(contracts-adapter): verify endpoint delegates

* fix(contracts-adapter): validate universal DVN addresses

* fix(contracts-adapter): address script lint findings

* fix(contracts-adapter): use bash test syntax in wire script
 - @synapsecns/contracts-adapter@1.0.8
 - @synapsecns/rest-api@1.13.35
 - @synapsecns/sdk-router@0.22.2
 - @synapsecns/synapse-interface@0.43.49
 - @synapsecns/widget@0.10.3
* docs: add widget native fee spec

* feat(widget): show native bridge fee in receipt

* feat(widget): show receipt token symbols

* test(widget): cover native fee receipt behavior

* fix(widget): track receipt quotes by id

* fix(widget): invalidate stale receipt on amount change

* fix(widget): resolve receipt lint findings

* fix(widget): normalize missing bridge quote ids

* test(sdk-router): skip legacy on-chain router suites

* test(sdk-router): remove legacy on-chain router suites

* docs: remove widget native fee spec
 - @synapsecns/rest-api@1.13.36
 - @synapsecns/sdk-router@0.23.0
 - @synapsecns/synapse-interface@0.43.50
 - @synapsecns/widget@0.11.0
* chore(widget-example): scaffold Next.js workspace

* feat(widget-example): add wallet-aware bridge demo

* docs(widget-example): add local usage guide

* refactor(widget-example): clean up wallet hook globals

* fix(widget-example): avoid missing-wallet flash on init

* refactor(widget-example): compare window against undefined
 - @synapsecns/widget-example@0.2.0
trajan0x and others added 4 commits March 31, 2026 21:33
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
 - @synapsecns/synapse-interface@0.43.51
* docs: add widget native safe max spec

* widget: extract bridge quote selection helpers

* widget: add native safe max hook

* widget: wire native safe max into balance control

* docs: describe widget native bridgeable balance

* widget: refine native max amount fallback display

* widget: fix native safe max lint warnings

* widget: block bridge actions on native fee shortfall

* docs: remove widget native safe max spec

* widget: filter invalid native fee quotes

* widget: remove redundant quote tx assertions

* widget: normalize prefill wording in readme

* widget: extract bridge button label logic
 - @synapsecns/widget-example@0.2.1
 - @synapsecns/widget@0.11.1
@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 5 days.

This branch had an error being deployed

3 failed (2 outdated) and 1 inactive (outdated) deployments
Production — 5d962cd0 Deployed Apr 1, 2026 by vercel[bot]
github-pages — 64e8d56a Deployed Apr 1, 2026 by ChiTimesChi via deploy #807
bridge-api / production — 8099fc98 Deployed Mar 21, 2026 by railway-app[bot]
bridge-api / pre-prod — 2b0d3e34 Deployed Mar 12, 2026 by railway-app[bot]
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.

2 participants