Skip to content

feat: main -> develop#7495

Closed
limitofzero wants to merge 25 commits into
developfrom
main
Closed

feat: main -> develop#7495
limitofzero wants to merge 25 commits into
developfrom
main

Conversation

@limitofzero
Copy link
Copy Markdown
Contributor

@limitofzero limitofzero commented May 13, 2026

Summary

<<if there's an issue>>Fixes #issueNumber

High-level description of what your changes are accomplishing

Add screenshots if applicable. Images are nice :)

To Test

  1. <> Open the page about
  • <<What to expect?>> Verify it contains about information...
  • Checkbox Style list of things a QA person could verify, i.e.
  • Should display Text Input our storybook
  • Input should not accept Numbers
  1. <> ...

Background

Optional: Give background information for changes you've made, that might be difficult to explain via comments

Summary by CodeRabbit

  • New Features

    • Added support for additional non-EVM token chains.
    • Enhanced trade route navigation with improved parameter handling.
  • Bug Fixes

    • Fixed wallet reconnection behavior and session management.
    • Resolved high fee warning calculation issues.
    • Improved swap amount input handling in tests.
    • Enhanced receiver address paste functionality with permission checks.
  • Dependencies

    • Updated Wagmi, Next.js, and AppKit versions for improved stability.

shoom3301 and others added 25 commits April 28, 2026 17:57
* fix: token check from storage

* feat: update sdk

* fix: use proper address comparison

* fix: proper address

* fix: wrapped tokens

* fix: resolution

* feat: add sol/btc receiver

* fix: pnpm

* fix: bridge receiver

* chore: update deps

* feat: fix order status

* fix: handle unsupported non-evm chain id

* chore: bump version

* refactor: add validation strategy

* refactor: move hooks

* refactor: rename files

* fix: native currency price for non evm

* fix: token prices

* chore: bump sdk

* chore: bump version

* chore: update lock

* fix: tests

* fix: handle non evm addresses in search

* fix: token explorer address for non-evm

* fix: getWrappedToken

* fix: native tokens for explorer

* fix: build

* fix: test

* fix: address

* fix: address 2

* chore: remove todo

* fix: check btc/sol address per chain

* fix: bug in hook

* fix: typecheck

* chore: refactor: use isSol helper

* fix: block-explorer link on sol

* refactor: isSolana

* chore: comment

* feat: add default recepient for btc/sol to get first quote

* feat: update addresses

* feat: add guard to prevent trading with default quote address for sol/btc

* feat: add token lists for non-supported chains

* refactor: more clear functions

* refactor: more clear functions

* refactor: helpers

* refactor: nitpick

* refactor: naming

* refactor: btc stablecoind ref

* fix: address

* refactor: reuse patterns from sdk

* fix: don't show receiver for non-evm default address

* fix: recipient

* fix: recipient address in bridge detales

* chore: bump sdk

* fix: format receiver

* fix: ens tooltip

* fix: hide confirm button for SC if recipient is not entered

* fix: hide recipient when account is not connected

* chore: remove dead comments

* fix: tests

* fix: fallback to default recipient when receiver is not valid

* fix: token path

* fix: loading

* fix: token urls

* fix: add native currency check

* fix: token loading

* fix: list validation

* fix: list validation

* refactor: naming

* fix: native tokens

* fix: use chain stab for explorer

* fix: map tokens

* chore(i18n): extract i18n strings [automatic]

---------

Co-authored-by: Elena <70885163+elena-zh@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: hide paste btn if the api denied by settings

* fix: handle rerender

---------

Co-authored-by: Elena <70885163+elena-zh@users.noreply.github.com>
* feat(patch): applying a patch to fix coinbase wallet connection;

* fix: fixing the build by applying patch using patch-package

---------

Co-authored-by: Elena <70885163+elena-zh@users.noreply.github.com>
* fix(widget): fix ready event listener

* fix(widget): support cow widget with WidgetEthereumProvider

* chore: sync wagmi versions

* chore: dedupe wagmi

* fix: fix standaloneMode

* fix: not connecting safe on widget-configurator

* fix: removing cow wallet from wallets list

* chore: update sdk and simplify deps (#7414)

* chore: update sdk and simplify deps

* chore(i18n): extract i18n strings [automatic]

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denis Makarov <limitofzero@gmail.com>

* fix: fixing wallet connection in dapp mode;

* fix(wallet): disable AppKit in Safe App iframes to prevent postMessage conflicts

* chore: removing unused log

* chore: updating pnpm-lock.yaml

---------

Co-authored-by: Luiz Gustavo Abou Hatem de Liz <luizgustavoahsc@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denis Makarov <limitofzero@gmail.com>
Co-authored-by: Elena <70885163+elena-zh@users.noreply.github.com>
* fix(wallet): allow smart accounts to use gasless off-chain signing

* fix(twap): detect EIP-7702 accounts as unsupported for TWAP
fix(wallet): allow gasless signing for smart contract wallets

* fix: applying the offchain signing support only for EOA and Metamask smart accounts
…tamask smart wallet (#7455)

Co-authored-by: Elena <70885163+elena-zh@users.noreply.github.com>
# Conflicts:
#	libs/ui/src/containers/Footer/index.tsx
#	pnpm-lock.yaml
# Conflicts:
#	pnpm-lock.yaml
…nection (#7467)

* fix(widget): fix ready event listener

* fix(widget): support cow widget with WidgetEthereumProvider

* chore: sync wagmi versions

* chore: dedupe wagmi

* fix: fix standaloneMode

* fix: not connecting safe on widget-configurator

* fix: removing cow wallet from wallets list

* fix: fixing wallet connection in dapp mode;

* fix(wallet): isolate safe and regular contexts

* fix(wallet): prevent Safe iframe from disconnecting browser tab via wallet_revokePermissions

When SafeConnectionHandler switched from the injected connector to the safe
connector inside a Safe App iframe, it called wagmi's disconnect() which
internally calls wallet_revokePermissions on MetaMask. Since MetaMask manages
permissions per origin (not per tab), this revoked the eth_accounts permission
for the entire localhost:3000 origin, causing any open browser tab at that
URL to lose its wallet connection.

Fix: write the shimDisconnect storage flag directly instead of calling
disconnect(). This prevents the connector from being reconnected on next load
without touching MetaMask's global permissions. The connectSafeInIframe effect
still runs and makes the safe connector the active connection.

Also introduce IS_CROSS_ORIGIN_IFRAME — a one-time check that distinguishes
genuine cross-origin iframes (Safe App) from same-origin ones (browser
extensions like Loom or 1Password that also run inside iframes). This ensures
SafeConnectionHandler only activates in actual cross-origin contexts.

* fix: isolate iframe and regular tabs on storage

* fix(wallet): eliminate safe iframe blink when switching wallets in regular tab

* fix(wallet): remove injected iframe from safe

* fix(wallet): skip AppKit in Safe iframe to eliminate cross-tab interference

* fix(wallet): disable AppKit in Safe App iframes to prevent postMessage conflicts

* chore: removing unused log

* chore: updating pnpm-lock.yaml

* chore: updating pnpm-lock;

* fix: putting back the isInSafeSdkContext variable, removed by accident

* fix(widget): remove appkit from all iframes

* fix(widget): remove AppKit from all cross-origin iframe contexts

AppKit was being initialised inside the injected widget (cross-origin
iframe), causing localStorage key conflicts with the host app — connecting
in the widget would auto-connect the standalone app, and disconnecting the
app would disconnect the widget.

Skip AppKit for all cross-origin iframes (both Safe App and injected widget)
instead of only the Safe iframe. Each context already gets a distinct wagmi
storage key, so session state remains isolated. The addWagmiConnector modal
patch is no longer needed since AppKit doesn't run in the widget.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(wallet): remove @appkit/* clearing and injected connector from widget

- Stop clearing @appkit/* keys on widget init — this was wiping the main
  app's AppKit state, causing two-step disconnect and stale Account view.
- Remove plain injected connector from widget — MetaMask is a per-origin
  singleton, registering it leaked wallet state between widget and app.
- Disable EIP-6963 in widget to prevent auto-detecting the main app's
  injected wallet.
- Keep Storage.prototype interception to redirect widget's @appkit/*
  operations to sessionStorage, preventing cross-tab storage events.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(wallet): applies to all iframes

* Revert "Merge remote-tracking branch 'origin/develop' into bruno/cow-925-connection-issues-when-the-app-is-opened-in-safe-and-in-a"

This reverts commit c7ffaef, reversing
changes made to 36292eb.

* chore(wallet): connect both tabs on the same extension (rabby and metamask)

* fix(wallet): disable AppKit auto-reconnect in widget to prevent duplicate eth_requestAccounts
fix: upgrade wagmi, wagmi core and wagmi connectors

* fix: fixing typecheck;

* fix: separate standalone widget from dapp

* fix: auto reconnect to the last wallet in regular app tab

* fix: fixing e2e tests

* fix: dont connect on disconnected tabs when switching wallet account

* fix: address review comments

* fix: resolve bot comments

* fix: resolve last comments

* chore: adding wagmi, @wagmi/* and viem back to the release age filter

* fix: develop conflicts after revert commit

* fix: pnpm.lock

---------

Co-authored-by: Alexandr Kazachenko <shoom3301@gmail.com>
Co-authored-by: brunota20 <brunot.anjos@gmail.com>
Co-authored-by: Elena <70885163+elena-zh@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Denis Makarov <limitofzero@gmail.com>
* fix: permit provider connector

* fix: handle eip1271 permit case

* Revert "fix: handle eip1271 permit case"

This reverts commit d61cb43.

---------

Co-authored-by: Elena <70885163+elena-zh@users.noreply.github.com>
* fix: bump version of widget-lib + iframe-transport

* chore: add jsdock

* chore: fix
@vercel
Copy link
Copy Markdown

vercel Bot commented May 13, 2026

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

Project Deployment Actions Updated (UTC)
explorer-dev Ready Ready Preview May 13, 2026 9:00am
storybook Error Error May 13, 2026 9:00am
swap-dev Ready Ready Preview May 13, 2026 9:00am
widget-configurator Ready Ready Preview May 13, 2026 9:00am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
cosmos Ignored Ignored May 13, 2026 9:00am
sdk-tools Ignored Ignored May 13, 2026 9:00am

Request Review

@github-actions github-actions Bot locked and limited conversation to collaborators May 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants