Skip to content

chore: prerelease v1.1017.0#12163

Closed
gomesalexandre wants to merge 36 commits intoreleasefrom
develop
Closed

chore: prerelease v1.1017.0#12163
gomesalexandre wants to merge 36 commits intoreleasefrom
develop

Conversation

@gomesalexandre
Copy link
Contributor

Prerelease v1.1017.0

0xApotheosis and others added 30 commits March 5, 2026 09:49
pnpm requires the patches directory during install (not just scripts)
because patched dependencies are referenced in the lockfile. The
--ignore-scripts flag alone doesn't prevent pnpm from reading patch
files during dependency resolution.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Railway's "Failed to snapshot repository" error is caused by the repo
being too large (~74MB tracked files). This excludes frontend source,
images, tests, and other files not needed for the public-api Dockerfile
build from Railway's pre-build snapshot.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
* fix: unrug public-api Railway CI - copy patches dir and add .railwayignore

Two fixes for Railway deployment failures:

1. Copy patches/ directory in Dockerfile before pnpm install - pnpm
   requires patch files during install even with --ignore-scripts because
   patched dependencies are referenced in the lockfile.

2. Add .railwayignore to reduce repo snapshot size - Railway's "Failed to
   snapshot repository" error was caused by the repo being ~74MB of tracked
   files. Excludes frontend source, images, tests, and other files not
   needed for the public-api Docker build.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: add patches dir to swap-widget Dockerfile and update .railwayignore

The swap-widget Dockerfile had the same missing patches/ dir bug as
public-api — pnpm install fails with ENOENT for patched dependencies.
Also add swap-widget *.md exception to .railwayignore.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
…12100)

* fix: use copy package-import-method in Docker to avoid pnpm ENOENT

pnpm's default hard-link strategy fails intermittently on Docker's
overlay filesystem with "ENOENT: rename _tmp -> secp256k1". Setting
package-import-method=copy via env var (Docker-only, doesn't affect
local dev .npmrc) fixes the atomic rename race condition.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: add retry loop for pnpm install in Docker builds

The ENOENT rename failure persists even with package-import-method=copy
because pnpm's hoisting/linking phase still does atomic renames that
race on Docker's overlay filesystem. Since it's intermittent and all
packages are cached in the store after the first attempt, a retry with
clean node_modules is fast and reliable.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: restrict swap-widget tsconfig types to prevent auto-discovery

Without an explicit `types` field, TypeScript auto-discovers all
@types/* packages hoisted to root node_modules. The deprecated stub
@types/ethereumjs-util (from hdwallet-ledger devDeps) has no .d.ts
files, causing TS2688 during Docker builds. Restricting to
["vite/client"] matches the pattern used by the root tsconfig.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
- Add openNativeQRScanner() function to mobileMessageHandlers.ts
- Modify QrCodeScanner.tsx to detect mobile environment and use native scanner
- Web component shows loading spinner while native scanner is active
- Hand off QR scanning to native expo-camera implementation for better reliability

Co-authored-by: gomes <[email protected]>
* feat: chainflip lending - product docs

Regenerate product overview docs that were lost when gomes-bot got
soft-banned. Three docs covering all lending flows with live mainnet
data from RPC curls and xstate charts derived from the codebase:

- Deposit to State Chain (account creation + deposit channel flow)
- Borrow, Collateral & Repay (loan lifecycle + voluntary liquidation)
- Supply & Withdraw (supply positions + egress to on-chain wallet)

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: clarify batching sections as planned, not yet in UI

Address coderabbitai review - encodeBatch primitive exists in scale.ts
but UI state machines sign each operation individually. Reword both
batching sections to make it clear these are aspirational patterns.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: scrub personal addresses from product docs

no doxxy baby

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: gomes-bot <[email protected]>
Co-authored-by: Claude Opus 4.6 <[email protected]>
Co-authored-by: Jibles <[email protected]>
* fix: chainflip lending ui fixes and polish

- add modal headers (title + close button) to all chainflip lending modals
- fix card context error (cardBody/cardFooter crash - missing card wrapper in modal)
- show asset symbol next to amount input in all modals (deposit, supply, collateral, borrow, repay, egress, withdraw)
- fiat/crypto toggle: properly convert value on mode switch, show $ prefix in fiat mode
- move "deposit to chainflip" tab to be first (leftmost)
- fix button widths to be equal 50/50 across all tabs (tooltip shouldWrapChildren span fix)
- fix "sign twice" inaccurate copy in deposit confirm - multi-step flow description
- allowance polling in deposit funding (guard against rpc propagation lag)

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* fix: address CodeRabbit review comments

- Use effectiveRefundAddress in DepositConfirm to always show refund
  destination in the confirm step
- Replace .toString() with .toFixed() in DepositInput and SupplyInput
  to prevent exponential notation for small fiat conversions

---------

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: gomes-bot <[email protected]>
feat: wire deBridge to 9 additional EVM chains

Add Mantle, Cronos, Berachain, Linea, Bob, Sonic, Story, Flow EVM,
and MegaETH to the deBridge swapper chain mapping. All chains are
already supported in the codebase behind feature flags - this just
enables cross-chain bridging routes through deBridge for them.

Co-authored-by: gomes-bot <[email protected]>
Co-authored-by: Claude Opus 4.6 <[email protected]>
* feat: wire cow swap to plasma, linea, and ink

CoW Protocol expanded to these chains with deterministic contract
deployments. API slugs verified: plasma, linea, ink all return
v2.352.0 from api.cow.fi/<slug>/api/v1/version.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: update CowChainId type to include all supported chains

---------

Co-authored-by: gomes-bot <[email protected]>
Co-authored-by: Claude Opus 4.6 <[email protected]>
Add Scroll and MegaETH to the Across swapper chain mapping.
Both chains confirmed via Across available-routes API.

Co-authored-by: gomes-bot <[email protected]>
Co-authored-by: Claude Opus 4.6 <[email protected]>
gomesalexandre and others added 6 commits March 12, 2026 11:40
* feat: metamask native multichain - sol send/receive via wallet standard

- Add MetaMaskNativeMultiChainHDWallet with dynamic BTC/SOL support detection
  via Wallet Standard (solana:signTransaction + solana:signAndSendTransaction)
- Native multichain preference modal with dynamic chain display (only shows
  chains actually available via Wallet Standard, not hardcoded)
- Fix modal persistence bug: skip native multichain step during pairing when
  preference already stored in localStorage
- Fix race condition in shouldShowDeprecationModal: direct localStorage read
  as sync fallback alongside React state
- Add solanaSendTx to sign AND broadcast via MetaMask Wallet Standard
- Feature flagged behind MmNativeMultichain (VITE_FEATURE_MM_NATIVE_MULTICHAIN)
- E2E verified: SOL self-send 0.001 SOL via MetaMask Wallet Standard popup

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: remove debug console.logs from native multichain wallet

Clean up all debug logging added during development/testing.
Add MM_TESTING_NOTES.md with e2e testing documentation.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: prettier formatting on native multichain files

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* chore: update testing notes with full regression results

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: sol send via sign+broadcast fallback, snap modal ux improvements

- Remove solanaSendTx from native multichain wallet - MM's
  signAndSendTransaction signs but doesn't reliably broadcast
- Chain adapter now falls back to solanaSignTx + broadcastTransaction
  through our own RPC when solanaSendTx returns null
- Keep using snap button: only shows when snap is installed, calls
  enableShapeShiftSnap() before setting preference, loading state
- Snap chain warning copy added
- handleKeepSnap: preference only set on success, loading in finally

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: address coderabbitai review comments

- SolanaChainAdapter: check signedTx?.serialized for consistency
- Capitalize "Snap" in translation strings (Keep using Snap, Switch back to Snap)
- Connect.tsx: don't bypass snap install/update for stored snap users
- WalletProvider.tsx: use localWalletDeviceId fallback during bootstrap

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: only use native adapter when preference is explicitly 'native'

First-time users with no stored preference should get the legacy adapter
so the chooser modal can route them properly.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: add localWalletDeviceId to useCallback deps

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* fix: prettier formatting on deps array

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: gomes-bot <[email protected]>
Co-authored-by: Claude Opus 4.6 <[email protected]>
@gomesalexandre gomesalexandre requested a review from a team as a code owner March 13, 2026 16:56
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 13, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 30b117b5-d347-4702-af8a-a419f4d40613

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants