Skip to content

feat(contracts-adapter): add native SYN HyperCore delivery - #4077

Draft
trajan0x wants to merge 4 commits into
masterfrom
codex/call-2439-syn-hypercore
Draft

feat(contracts-adapter): add native SYN HyperCore delivery#4077
trajan0x wants to merge 4 commits into
masterfrom
codex/call-2439-syn-hypercore

Conversation

@trajan0x

@trajan0x trajan0x commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Status

Draft. This is not deployment-ready and must not be used to link or fund SYN on HyperCore yet.

Tracking: CALL-2439

What changed

  • adds a separately deployed SynapseBridgeAdapterV2; the existing adapter and its CREATE2-derived deployments are untouched
  • keeps the legacy 96-byte direct-delivery message path
  • adds a versioned HyperCore-delivery message and bridgeERC20ToHyperCore
  • adds a SYN-specific SynapseHyperCoreComposer that:
    • enforces 18 HyperEVM decimals, 8 HyperCore wei decimals, and exact 10^10 scaling
    • rejects dust and uint64 overflow before source burn or escrow
    • checks Composer and recipient HyperCore activation
    • checks asset-bridge capacity and reserves aggregate capacity within one EVM block
    • transfers SYN to the HIP-1 system address and submits the 0x01000006 CoreWriter spot-send action
  • makes decimal routes and Composer bindings one-time configuration
  • documents the end-to-end supply path, atomicity boundary, and deployment gates

SYN remains a SynapseBridge token. This does not convert SYN into an OFT.

Why

The LayerZero OFT Composer is built around an OFT supply path. SYN already has a SynapseBridge burn/mint and escrow/withdraw supply model. This change composes HyperCore delivery into that existing model instead of adding a second token authority.

Immediate destination failures revert the entire LayerZero receive transaction, including the SynapseBridge mint or withdrawal. HyperCore execution is asynchronous after the EVM block, so a successful EVM receipt is not treated as final delivery proof.

Verification

  • forge test --root packages/contracts-adapter: 125 passed, 0 failed
  • forge coverage --root packages/contracts-adapter --report summary:
    • Composer: 100% lines, statements, branches, and functions
    • v2 adapter: 100% lines/functions, 98.62% statements, 95.00% branches
    • HyperCore codec: 100% lines, statements, branches, and functions
  • forge build --root packages/contracts-adapter --sizes:
    • v2 adapter runtime: 14,722 bytes
    • Composer runtime: 4,287 bytes
  • Solhint: 0 errors, 0 warnings on every changed Solidity file
  • Markdownlint: 0 errors
  • git diff --check: clean
  • existing v1 production sources have no diff against origin/master
  • existing v1 deployed-bytecode hash is unchanged at 0xc6f462c66a4694ed69fe69c79ac2f3fc8e20f184ecb86de5b0856c41dcacd9bf

Required before deployment

  • independent security review of the complete burn/mint and CoreWriter supply path
  • decide and verify the HyperEVM SynapseERC20 deployment/finalizer mechanism
  • verify the exact HIP-1 token index and finalized EVM-token link
  • deploy and verify SynapseBridge, token roles, adapter peers, DVNs, executor config, ownership, and Composer activation
  • prove asset-bridge genesis capacity matches the intended non-system supply
  • add deployment/config scripts with fail-closed address and chain assertions
  • canary with monitoring that confirms LayerZero delivery, EVM success, Core credit, CoreWriter execution, exact recipient balance, and zero stranded Composer balances
  • add SDK/UI routing only after the contract and deployment path are approved

References

Summary by CodeRabbit

  • New Features
    • Added support for delivering SYN from HyperEVM to HyperCore.
    • Added configurable token routes, decimal scaling, composer integration, fee estimates, and capacity validation.
    • Added secure message encoding and decoding for HyperCore transfers.
  • Documentation
    • Documented the HyperCore delivery flow, custody, rollback behavior, monitoring requirements, and deployment considerations.
  • Tests
    • Added coverage for successful transfers, validation failures, capacity limits, inactive recipients, rollback scenarios, and fee estimation.

Implement a separate versioned adapter and SYN-specific HyperCore composer with strict 18-to-8 decimal conversion, activation and capacity checks, and destination rollback semantics.\n\nRefs CALL-2439.
Copilot AI review requested due to automatic review settings August 2, 2026 22:40
@vercel

vercel Bot commented Aug 2, 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 Aug 2, 2026 11:11pm

@github-actions github-actions Bot added the size/l label Aug 2, 2026
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@trajan0x, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 9745180d-e959-4806-852a-f22a0f554f25

📥 Commits

Reviewing files that changed from the base of the PR and between f16c350 and 756a654.

📒 Files selected for processing (12)
  • packages/contracts-adapter/SYN_HYPERCORE.md
  • packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol
  • packages/contracts-adapter/src/SynapseHyperCoreComposer.sol
  • packages/contracts-adapter/src/interfaces/ISynapseBridgeAdapterV2.sol
  • packages/contracts-adapter/src/libs/HyperCoreMessage.sol
  • packages/contracts-adapter/test/SBA.Dst.t.sol
  • packages/contracts-adapter/test/SBA.Management.t.sol
  • packages/contracts-adapter/test/SBA.Src.t.sol
  • packages/contracts-adapter/test/SBA.t.sol
  • packages/contracts-adapter/test/SynapseHyperCoreComposer.t.sol
  • packages/contracts-adapter/test/harnesses/HyperCoreMessageHarness.sol
  • packages/contracts-adapter/test/mocks/SynapseBridgeMock.sol
📝 Walkthrough

Walkthrough

Added SynapseBridgeAdapterV2 for ERC20 and HyperCore delivery. Added versioned HyperCore messages and SynapseHyperCoreComposer for decimal conversion, capacity checks, CoreWriter actions, and rollback behavior. Added interfaces, mocks, tests, and deployment documentation.

Changes

HyperCore delivery

Layer / File(s) Summary
Adapter contracts and configuration
packages/contracts-adapter/src/interfaces/*, packages/contracts-adapter/src/libs/HyperCoreMessage.sol, packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol, packages/contracts-adapter/test/SBA.Management.t.sol, packages/contracts-adapter/test/libs/*, packages/contracts-adapter/test/mocks/TestTokenDecimals.sol
Adds HyperCore interfaces, versioned message encoding, token and composer registries, decimal-scale configuration, and management validation tests.
Outbound HyperCore bridging
packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol, packages/contracts-adapter/test/SBA.Src.t.sol, packages/contracts-adapter/test/SBA.t.sol
Adds HyperCore message submission, amount and gas validation, native-fee quoting, mint and withdraw flows, and failure coverage for missing configuration, dust, and overflow.
Destination Composer flow
packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol, packages/contracts-adapter/src/SynapseHyperCoreComposer.sol, packages/contracts-adapter/test/SBA.Dst.t.sol, packages/contracts-adapter/test/SynapseHyperCoreComposer.t.sol, packages/contracts-adapter/SYN_HYPERCORE.md
Adds destination dispatch, Composer checks, Core user validation, capacity reservations, token transfers, CoreWriter actions, rollback tests, and deployment requirements.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Source as SynapseBridgeAdapterV2
  participant LayerZero
  participant Destination as SynapseBridgeAdapterV2
  participant Composer as SynapseHyperCoreComposer
  participant CoreWriter

  Source->>LayerZero: Send encoded HyperCore message
  LayerZero->>Destination: Deliver message
  Destination->>Composer: Mint or withdraw tokens, then bridgeToHyperCore
  Composer->>CoreWriter: Submit spot-send action
  CoreWriter-->>Composer: Execute Core transfer
Loading

Possibly related PRs

Suggested labels: Sol

Suggested reviewers: copilot, aureliusbtc, chitimeschi

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the addition of native SYN delivery to HyperCore, which is the main change.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/call-2439-syn-hypercore

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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@codecov

codecov Bot commented Aug 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.73418% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 55.46595%. Comparing base (7afeb6c) to head (756a654).
⚠️ Report is 9 commits behind head on master.

Files with missing lines Patch % Lines
...s/contracts-adapter/src/SynapseBridgeAdapterV2.sol 98.27586% 2 Missing ⚠️
Additional details and impacted files
@@                 Coverage Diff                 @@
##              master       #4077         +/-   ##
===================================================
+ Coverage   54.67169%   55.46595%   +0.79426%     
===================================================
  Files            146         151          +5     
  Lines           4249        4464        +215     
  Branches         752         823         +71     
===================================================
+ Hits            2323        2476        +153     
- Misses          1834        1896         +62     
  Partials          92          92                 
Flag Coverage Δ
solidity 72.19731% <98.73418%> (?)

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

☔ View full report in Codecov by Harness.
📢 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.

@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

🧹 Nitpick comments (6)
packages/contracts-adapter/test/mocks/SynapseBridgeMock.sol (1)

12-15: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Make withdraw move tokens as well.

mint now transfers real balance, so destination tests can assert token state. withdraw on line 15 remains a no-op, so the WithdrawDeposit branch of _receiveHyperCoreMessage cannot be asserted the same way. The asymmetry is the root cause of the missing destination WithdrawDeposit coverage noted on packages/contracts-adapter/test/SBA.Dst.t.sol lines 148-168.

Add a transfer from the mock to to, and fund the mock in the affected tests.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/contracts-adapter/test/mocks/SynapseBridgeMock.sol` around lines 12
- 15, Update SynapseBridgeMock.withdraw to transfer the requested token amount
from the mock contract to to, matching mint’s real balance mutation; also fund
the mock in the affected destination WithdrawDeposit tests so the transfer
succeeds and token balances can be asserted.
packages/contracts-adapter/test/SBA.Dst.t.sol (2)

90-100: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider sharing the precompile mock helpers.

mockCoreUser and mockSpotBalance are identical to the helpers in packages/contracts-adapter/test/SynapseHyperCoreComposer.t.sol lines 210-220. Extract them into a shared test fixture so the precompile encoding is defined once.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/contracts-adapter/test/SBA.Dst.t.sol` around lines 90 - 100, Extract
the duplicated mockCoreUser and mockSpotBalance helpers from the test contracts
into a shared test fixture, preserving their existing precompile addresses and
ABI encodings. Update both SBA.Dst and SynapseHyperCoreComposer tests to reuse
the shared helpers and remove their local duplicate definitions.

148-168: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Assert the HyperCore receive events and add a WithdrawDeposit destination case.

Two gaps exist in this test:

  1. The test does not assert TokenReceivedOnHyperCore or TokenReceived. SBA.t.sol adds expectEventTokenReceivedOnHyperCore (lines 96-101), but no test calls it. The adapter emits both events on line 220 and line 221 of SynapseBridgeAdapterV2.sol.
  2. _receiveHyperCoreMessage serves both MintBurn and WithdrawDeposit tokens, but only the MintBurn branch is covered here. SynapseBridgeMock.withdraw is still a no-op, so a withdraw case also needs the mock to move escrowed tokens to the Composer.
💚 Proposed event assertions for the success path
         vm.expectCall(composer.CORE_WRITER(), abi.encodeCall(ICoreWriter.sendRawAction, (payload)));
+        expectEventTokenReceivedOnHyperCore(SRC_EID, recipient, address(token), amount, MOCK_GUID);
+        expectEventTokenReceived(SRC_EID, recipient, address(token), amount, MOCK_GUID);
 
         endpointCallsLzReceive();
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/contracts-adapter/test/SBA.Dst.t.sol` around lines 148 - 168, Extend
test_receiveHyperCore_mintBurn to assert both TokenReceivedOnHyperCore and
TokenReceived using the existing expectEventTokenReceivedOnHyperCore helper and
the corresponding event expectation. Add a separate _receiveHyperCoreMessage
test covering the WithdrawDeposit token path, and update
SynapseBridgeMock.withdraw to transfer the escrowed tokens to the Composer
before asserting the resulting balances and events.
packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol (1)

212-222: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider passing the resolved token into _mintOrWithdraw.

Line 214 resolves the local token, and _mintOrWithdraw resolves it again on line 230. The result is one duplicated mapping lookup per HyperCore receive. A small refactor removes the duplication and makes the single resolution point explicit.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol` around lines 212 -
222, Update _mintOrWithdraw and its call from _receiveHyperCoreMessage to accept
and use the already-resolved local token, so _checkAndGetLocalAddress is
performed only once during HyperCore message handling. Preserve the existing
mint/withdraw behavior and token-related events.
packages/contracts-adapter/test/SynapseHyperCoreComposer.t.sol (1)

135-171: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add a passing same-block aggregate case.

test_bridgeToHyperCore_revert_sameBlockAggregateCapacity proves that the reservation blocks an over-capacity second delivery. test_bridgeToHyperCore_reservationResetsNextBlock proves the reset. No test proves that two deliveries in the same block succeed when capacity covers both. Without that case, an over-reserving change to lines 76-83 of SynapseHyperCoreComposer.sol would not fail any test.

Add a test with available = CORE_AMOUNT * 2 and two calls in the same block, then assert both transfers reach assetBridge.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/contracts-adapter/test/SynapseHyperCoreComposer.t.sol` around lines
135 - 171, Add a passing same-block aggregate-capacity test alongside the
existing bridge capacity tests, using available = CORE_AMOUNT * 2 and two
bridgeToHyperCore calls without advancing the block. Assert the composer retains
no tokens and assetBridge() receives EVM_AMOUNT * 2, confirming both deliveries
succeed when aggregate capacity is sufficient.
packages/contracts-adapter/src/SynapseHyperCoreComposer.sol (1)

49-58: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Document the recovery path for a wrong coreIndex_.

coreIndex is immutable, and assetBridge is derived from it on line 57. The constructor cannot verify that coreIndex_ matches the HIP-1 index linked to token_. On the adapter side, setHyperCoreComposer rejects a second binding for the same token (SynapseBridgeAdapterV2.sol line 110). A wrong coreIndex_ therefore disables the HyperCore route for that token permanently and requires an adapter redeployment.

The value is set once at deployment, so an on-chain guard is not required. Add the index verification step to the deployment gates in SYN_HYPERCORE.md, and state that a wrong index requires a new adapter deployment.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/contracts-adapter/src/SynapseHyperCoreComposer.sol` around lines 49
- 58, Update the deployment gates in SYN_HYPERCORE.md to require verifying that
coreIndex_ matches the HIP-1 index associated with token_ before deployment.
Document that coreIndex and the derived assetBridge are immutable, and that an
incorrect index permanently disables the token’s HyperCore route and requires
deploying a new adapter.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/contracts-adapter/SYN_HYPERCORE.md`:
- Around line 30-31: Update the Composer delivery description to separate the
per-call adapter enforcement in bridgeToHyperCore from the one-time
token-binding validation performed by
SynapseBridgeAdapterV2.setHyperCoreComposer. Do not describe the token binding
as being checked during each delivery call.

In `@packages/contracts-adapter/test/SBA.Management.t.sol`:
- Around line 380-428: Extend the setHyperCoreComposer tests with a
mismatched-binding case: deploy a valid SynapseHyperCoreComposer using the
adapter address but a token different from the token passed to
adapter.setHyperCoreComposer. Add a negative test expecting
SBAV2__HyperCoreComposerInvalid with the candidate composer address, while
preserving the existing valid, invalid-binding, and ownership coverage.

---

Nitpick comments:
In `@packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol`:
- Around line 212-222: Update _mintOrWithdraw and its call from
_receiveHyperCoreMessage to accept and use the already-resolved local token, so
_checkAndGetLocalAddress is performed only once during HyperCore message
handling. Preserve the existing mint/withdraw behavior and token-related events.

In `@packages/contracts-adapter/src/SynapseHyperCoreComposer.sol`:
- Around line 49-58: Update the deployment gates in SYN_HYPERCORE.md to require
verifying that coreIndex_ matches the HIP-1 index associated with token_ before
deployment. Document that coreIndex and the derived assetBridge are immutable,
and that an incorrect index permanently disables the token’s HyperCore route and
requires deploying a new adapter.

In `@packages/contracts-adapter/test/mocks/SynapseBridgeMock.sol`:
- Around line 12-15: Update SynapseBridgeMock.withdraw to transfer the requested
token amount from the mock contract to to, matching mint’s real balance
mutation; also fund the mock in the affected destination WithdrawDeposit tests
so the transfer succeeds and token balances can be asserted.

In `@packages/contracts-adapter/test/SBA.Dst.t.sol`:
- Around line 90-100: Extract the duplicated mockCoreUser and mockSpotBalance
helpers from the test contracts into a shared test fixture, preserving their
existing precompile addresses and ABI encodings. Update both SBA.Dst and
SynapseHyperCoreComposer tests to reuse the shared helpers and remove their
local duplicate definitions.
- Around line 148-168: Extend test_receiveHyperCore_mintBurn to assert both
TokenReceivedOnHyperCore and TokenReceived using the existing
expectEventTokenReceivedOnHyperCore helper and the corresponding event
expectation. Add a separate _receiveHyperCoreMessage test covering the
WithdrawDeposit token path, and update SynapseBridgeMock.withdraw to transfer
the escrowed tokens to the Composer before asserting the resulting balances and
events.

In `@packages/contracts-adapter/test/SynapseHyperCoreComposer.t.sol`:
- Around line 135-171: Add a passing same-block aggregate-capacity test
alongside the existing bridge capacity tests, using available = CORE_AMOUNT * 2
and two bridgeToHyperCore calls without advancing the block. Assert the composer
retains no tokens and assetBridge() receives EVM_AMOUNT * 2, confirming both
deliveries succeed when aggregate capacity is sufficient.
🪄 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 Plus

Run ID: 62495297-6818-4399-9a5a-1d4909ab6b70

📥 Commits

Reviewing files that changed from the base of the PR and between ef5f972 and f16c350.

📒 Files selected for processing (17)
  • packages/contracts-adapter/SYN_HYPERCORE.md
  • packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol
  • packages/contracts-adapter/src/SynapseHyperCoreComposer.sol
  • packages/contracts-adapter/src/interfaces/ICoreWriter.sol
  • packages/contracts-adapter/src/interfaces/ISynapseBridgeAdapterV2.sol
  • packages/contracts-adapter/src/interfaces/ISynapseBridgeAdapterV2Errors.sol
  • packages/contracts-adapter/src/interfaces/ISynapseHyperCoreComposer.sol
  • packages/contracts-adapter/src/libs/HyperCoreMessage.sol
  • packages/contracts-adapter/test/SBA.Dst.t.sol
  • packages/contracts-adapter/test/SBA.Management.t.sol
  • packages/contracts-adapter/test/SBA.Src.t.sol
  • packages/contracts-adapter/test/SBA.t.sol
  • packages/contracts-adapter/test/SynapseHyperCoreComposer.t.sol
  • packages/contracts-adapter/test/harnesses/HyperCoreMessageHarness.sol
  • packages/contracts-adapter/test/libs/HyperCoreMessage.t.sol
  • packages/contracts-adapter/test/mocks/SynapseBridgeMock.sol
  • packages/contracts-adapter/test/mocks/TestTokenDecimals.sol

Comment thread packages/contracts-adapter/SYN_HYPERCORE.md Outdated
Comment thread packages/contracts-adapter/test/SBA.Management.t.sol
Comment thread packages/contracts-adapter/src/SynapseHyperCoreComposer.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseHyperCoreComposer.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseHyperCoreComposer.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseHyperCoreComposer.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseBridgeAdapterV2.sol Fixed
Comment thread packages/contracts-adapter/src/SynapseHyperCoreComposer.sol Fixed
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 2, 2026

Copy link
Copy Markdown

Deploying sanguine-fe with  Cloudflare Pages  Cloudflare Pages

Latest commit: 756a654
Status: ✅  Deploy successful!
Preview URL: https://6c56f83c.sanguine-fe.pages.dev
Branch Preview URL: https://codex-call-2439-syn-hypercor.sanguine-fe.pages.dev

View logs

Copilot AI review requested due to automatic review settings August 2, 2026 22:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI review requested due to automatic review settings August 2, 2026 23:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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

@github-actions github-actions Bot added Stale and removed Stale labels Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants