Skip to content

chore: merge main into injective#857

Draft
hyper-gonk[bot] wants to merge 100 commits intoinjectivefrom
main-to-injective
Draft

chore: merge main into injective#857
hyper-gonk[bot] wants to merge 100 commits intoinjectivefrom
main-to-injective

Conversation

@hyper-gonk
Copy link
Contributor

@hyper-gonk hyper-gonk bot commented Dec 15, 2025

⚠️ This PR has merge conflicts that need to be resolved manually.

This PR was automatically created to merge changes from main into injective.

ltyu and others added 30 commits May 30, 2025 16:45
This PR bump registry to v16. The goal is to enable REZ (uniswap) but
also update import to use BaseRegistry
This PR bumps registry to 16.1
uppercase `warpRouteIds` and `whiteList` ids to fix discrepancy

---------

Co-authored-by: Le Yu <6251863+ltyu@users.noreply.github.com>
This PR features an initial setup for Multi-Collateral tokens for
transfers
fixes
[ENG-1683](https://linear.app/hyperlane-xyz/issue/ENG-1683/warp-ui-should-handle-multiple-available-routes-for-a)

- Filter out tokens with the same collateral address in origin and
destination and only show one of them
- A map containing the collateral address of origin and destination with
an array of the same tokens is added, but not used yet
- When submitting, it will check for the same logic and then return the
highest balance token represented by the state `routeOverrideToken`
- Transfers will be done with this state otherwise uses the one in the
form
- Tests for `isValidMultiCollateralToken`

You can test this by using `Arbitrum` <> `Optimism` with `USDC`
and easy way to test this is by navigating to the development server and
using the temporal warp route, ex:

http://localhost:3000/?origin=arbitrum&destination=optimism&token=0x296B0c551c65CB83452f10EA3922824E7b9b3F4C
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
  - Updated the "@hyperlane-xyz/registry" dependency to version 17.4.0.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR Bumps registry to 17.6.0
Bump registry to 17.7.0
- This PR change the warp ui from using `PartialRegistry` to
`GithubRegistry`
- Now will fetch warp routes and chain metadata if `config.registryUrl`
is defined
- Fix token image size scaling

This means that if an update is done to main, then it will also reflect
for the warp UI

closes
[ENG-1740](https://linear.app/hyperlane-xyz/issue/ENG-1740/use-githubregistry-in-warp-ui)
related [registry
PR](hyperlane-xyz/hyperlane-registry#903)



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Style**
- Improved layout and responsiveness of token icons by updating image
sizing to use CSS classes instead of fixed attributes.

- **Chores**
- Enhanced debug log messages for chain metadata loading for greater
clarity.
- Updated registry implementation to use a GitHub-backed registry with
configurable parameters, affecting how data is sourced and initialized.
- Improved error handling and fallback logic when loading warp route
configurations, with clearer debug messages.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…637)

Now instead of only relying on published warp routes, it will first
attempt to fetch warp routes from the registry for the warp route white
list test
This PR adds limit to certain multi-collateral routes 

fixes
[ENG-1699](https://linear.app/hyperlane-xyz/issue/ENG-1699/limit-transfer-size-of-a-route-on-the-ui)

- Sets limit to multi-collateral tokens that matches symbol, origin and
destination with the array `multiCollateralTokenLimits`
- Create tests for this
- Form validation now includes a message if this limit is exceeded
- Pressing Max button will instead now set the given limits if it exists
and exceeds the account current balance
- Move mocks creation functions to its own file

You can currently test this by sending USDC from Arbitrum <> Optimism,
the max transfer amount is 1 USDC as a test, will remove before merging

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced multi-collateral transfer limits for certain tokens (e.g.,
USDC) on supported chains, preventing transfers that exceed these
limits.
- **Bug Fixes**
- Improved validation to block transfers exceeding multi-collateral
limits directly in the transfer form.
- **Refactor**
- Updated internal logic to consistently enforce multi-collateral limits
when calculating maximum transferable amounts.
- Enhanced token validation to support multiple token standards for
collateralized tokens.
- **Tests**
  - Added comprehensive tests for multi-collateral limit utilities.
- Centralized and reused token mock utilities in test files for
consistency.
- **Chores**
- Added new test utilities for creating mock tokens and token
connections.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Registry to v18 and other hyperlane packages to v14
Remove disabled chains from being selectable when `shouldDisableChains`
flag is on

- Now disabled chain will not show as default even when set in url
params
- Disabled chains will not show up for unsupported route tokens
This enables users to connect Starknet wallets and parse Hyperlane
message IDs

Important: Merging available after adding at lease one starknet chain to
registry!

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added support for Starknet wallets and protocols, enabling users to
interact with Starknet alongside existing wallet options.
- Introduced dynamic support for multiple Starknet chains and wallet
connectors (Braavos and Argent X).
- Enabled batch sending of multiple transactions for Starknet transfers,
improving transfer efficiency.

- **Enhancements**
- Upgraded key dependencies to their latest versions for improved
stability and compatibility.
- Added a new wallet protocol to the configuration to expand supported
networks.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: -f <kunalarora1729@gmail.com>
Co-authored-by: Xaroz <jasonguo2013jg@gmail.com>
Co-authored-by: Troy Kessler <43882936+troykessler@users.noreply.github.com>
Co-authored-by: Jason Guo <33064781+Xaroz@users.noreply.github.com>
- Add keplr, metamask snap and OKX wallet  connectors to starknet
- Include `https://snaps.consensys.io` to script src 
- Add `WalletConnectionWarning`
Now shows Ready Wallet (formerly Argent) properly with the patch update
for starknekit
<img width="445" height="492" alt="image"
src="https://github.com/user-attachments/assets/def840ec-4062-48f9-ac48-25d1a2b327fe"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Updated dependency versions for Hyperlane packages.
* Integrated a patched version of "starknetkit" for improved stability.
* **New Features**
* Added a new icon for the Ready Wallet (formerly Argent) to enhance
wallet identification.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Now at review step user will be shown a received amount if the tokens
have scaling

fixes
[ENG-1946](https://linear.app/hyperlane-xyz/issue/ENG-1946/include-scaled-token-amount-to-warp-ui)

<img width="585" height="648" alt="Screenshot 2025-07-16 at 1 17 56 PM"
src="https://github.com/user-attachments/assets/c4e1ae3c-a625-4ea5-8950-b25990c6b71b"
/>
<img width="583" height="760" alt="Screenshot 2025-07-16 at 1 17 39 PM"
src="https://github.com/user-attachments/assets/f730bf87-00e9-4818-85c1-fea2aa0eeb8d"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added a display of the received token amount adjusted for differing
token scales during transfer review, providing clearer information when
origin and destination token scales differ.

* **Style**
* Improved alignment of transaction detail labels for better
readability.

* **Chores**
  * Updated several dependencies to their latest versions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Bump registry to 19.4.0
- Update sdk, utils and widgets to 16.0.0
- Update registry to 20.0.0

WIth the new update limits checks are included for
`EvmHypCollateralFiat` tokens
- Wrap `listRegistryContent` in a try catch for `GithubRegistry`
- When `listRegistryContent` fails, it will use `PartialRegistry`
instead
- Now if warp routes are empty it will use published routes
fixes
[ENG-1965](https://linear.app/hyperlane-xyz/issue/ENG-1965/add-token-to-wallet-button)

Implement feature to request to add a token/asset to an user wallet.
Currently only works for EVM
- New button under chains to add token
- Wallet must be connected or be a supported protocol (currently only
EVM) for the button to show

<img width="552" height="351" alt="image"
src="https://github.com/user-attachments/assets/01941829-52c7-4adf-a79d-b277be8ba4a4"
/>



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

* **New Features**
* Added support for users to add tokens directly from the chain
selection interface when supported by the protocol and account
readiness.
* Introduced a new "Add token" button in the chain selection UI for
eligible tokens.
* Users can now add assets to their wallet for supported protocols
(Ethereum) via an integrated workflow.

* **Chores**
* Updated several dependencies to newer versions for improved stability
and compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Remove tokens that have no connections from the warp core config tokens,
with these chains with no connection will not be shown from
`assembleChainMetadata`

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved token list by removing tokens without any connections,
ensuring only connected tokens are displayed.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR addresses an issue where users are automatically prompted to
switch to the Base Mainnet when connecting with their wallet on the
Hyperlane Warp bridge UI.

## 📋 Context

When attempting to connect a wallet, users were forced to switch to the
Base network regardless of the chain selected, or the previous chain
selected in their wallet.

This is due to the fact that the code of the Hyperlane UI fetches the
list of available warp routes, and pass the first origin chain of the
first warp route as initial chain to rainbow kit configuration in the
wallet connector.

Although Metamask performs the chain switch in the background in the
wallet, this still causes confusion for users expecting to use the
origin chain from the selected dropdown. For instance when using the
Universal Profile browser extension, the user gets automatically
prompted to switch network, which leads to confusion.

<img width="3012" height="1646" alt="image"
src="https://github.com/user-attachments/assets/b5f95982-8df3-4df1-ad51-620f847ef692"
/>



https://github.com/user-attachments/assets/114d703d-1cd3-4316-bab8-b51027970a0a



## ✅ Fix

Removed the logic that enforced a network switch to Base on wallet
connection. The code now does not provide an initial chain to switch to
when connecting. The last network selected in the wallet is now used.
Wallets now connect without triggering an automatic network change



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Removed logic related to deriving and passing an initial chain based
on Ethereum protocol tokens in wallet context setup. No visible changes
to the user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Bump `@types/nodes` because of upcoming Vercel node v18 deprecation
## Summary

Adds Claude-powered code review to this repository, adapted from
hyperlane-monorepo.

## Changes

### Workflow (`.github/workflows/claude-code-review.yml`)
3 jobs with fork security guards:
- **code-review**: Triggered by `@claude review` comment or
`claude-review` label (claude-opus-4-5)
- **security-review**: Auto-runs on non-draft PRs from same repo
(claude-opus-4-5)
- **interactive**: Responds to `@claude` mentions in PR comments
(claude-sonnet-4-5)

Security features:
- `author_association` check (MEMBER/OWNER/COLLABORATOR only) for
comment triggers
- Same-repo check (`github.event.pull_request.head.repo.full_name ==
github.repository`) for auto-triggered jobs
- Same-repo check for label triggers
- `actions/checkout@v6`

### Prompts (`.github/prompts/`)
- **code-review.md**: Frontend-specific TypeScript review (chain-aware
addresses, useQuery patterns, CSP)
- **security-scan.md**: Frontend/Web3 security (XSS, wallet security,
blind signatures, CSP headers)

### Skills (`.claude/skills/`)
- `/claude-review` → `.github/prompts/code-review.md`
- `/claude-security-review` → `.github/prompts/security-scan.md`

### Other
- **CLAUDE.md**: Added engineering philosophy, tips, and verification
guidelines
- **.gitignore**: Added `.opencode` and `.sisyphus`

## Setup Required

⚠️ **Before merging**, configure the `ANTHROPIC_API_KEY` secret:
1. Go to Settings → Secrets and variables → Actions
2. Add repository secret: `ANTHROPIC_API_KEY`

## Usage

| Trigger | Action |
|---------|--------|
| `@claude review` comment | Full code review |
| `claude-review` label | Full code review |
| `@claude security` comment | Security review |
| `@claude <question>` comment | Interactive help |
| Non-draft PR (same repo) | Auto security review |
## Summary
- Adds AGENTS.md as a duplicate of CLAUDE.md for compatibility with
other AI coding tools

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Update CSP directive to allow Web Assemble execution 
- Upgrade Hyperlane packages
Prevent white screen flashing when page loads by using main bg color as
the base color
## Summary
- Update `claude-opus-4-5` to `claude-opus-4-6` in the Claude code
review workflow (code review + security review jobs)

## Test plan
- [ ] Verify workflow triggers correctly on next PR

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…928)

## Summary

- Adds `sourcemaps: { disable: true }` to Sentry config in
`next.config.js`

## Context

Vercel builds randomly hang 45+ minutes, getting stuck on "sending
sentry telemetry info" during source map upload. The Sentry API has
variable response times with no timeout configured, causing indefinite
waits.

## What this changes

Disables Sentry source map upload during build. Error tracking via the
tunnel route (`/monitoring-tunnel`) and all other Sentry configuration
remain intact.

## Verification

- `pnpm build` completes successfully
- Tunnel route confirmed present in build output
- All other Sentry config preserved (org, project, authToken,
hideSourceMaps, tunnelRoute, bundleSizeOptimizations)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated error tracking configuration settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary

- Skip ESLint and TypeScript checking during `next build` (Vercel)
- Disable Sentry build telemetry (Sentry SDK phoning home to Sentry Inc.
— unrelated to your error tracking)
- Add dedicated `typecheck` CI job (so `typescript.ignoreBuildErrors` is
safe)
- Parallelize all CI jobs — remove `install` gate, no serial
dependencies

## Vercel build results

| | Before | After | Savings |
|---|--------|-------|---------|
| **Total build** | 9 min | **5 min** | **~4 min (44%)** |
| Lint + typecheck | ~4 min | Skipped | -4 min |

## CI changes

**Before:**
```
install ─┬─ build ─── test (serial)
         ├─ prettier
         └─ lint
```

**After:**
```
build, typecheck, test, prettier, lint — all parallel, no gates
```

- Removed `install` gate job — every job already does its own `pnpm
install`, the gate just added ~30s of serial delay
- `typecheck` added — catches type errors that
`typescript.ignoreBuildErrors` skips in Vercel build
- `test` no longer depends on `build` — Vitest runs against source,
doesn't need Next.js build output
- Lockfile drift check moved into `build` job's install step

## Changes

- `next.config.js`: `eslint.ignoreDuringBuilds`,
`typescript.ignoreBuildErrors`, `sentryOptions.telemetry: false`
- `.github/workflows/ci.yml`: Remove `install` gate, add `typecheck`,
parallelize `test`

## Verification

- `pnpm build` ✅ on Vercel (5 min, down from 9 min)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Optimized CI/CD pipeline with improved job separation and caching
strategies
* Updated build configuration for enhanced development workflow
efficiency

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary

- Add `/inline-pr-comments` skill for posting inline PR review comments
- Update `/claude-review` and `/claude-security-review` to reference
inline-pr-comments
- Simplify workflow to call skills directly instead of reading prompt
files
- Add PR Review Comment Format section to AGENTS.md

Mirrors hyperlane-xyz/hyperlane-monorepo#8040
for this repo.
hyper-gonk bot added 2 commits February 5, 2026 18:30
## Automated Dependency Update

This PR updates the Hyperlane dependencies to their latest versions.

**Updated versions:**
- `@hyperlane-xyz/sdk`: `25.0.0`
- `@hyperlane-xyz/utils`: `25.0.0`
- `@hyperlane-xyz/registry`: `23.14.0`
- `@hyperlane-xyz/widgets`: `25.0.0`

**Changes include:**
- Updated `package.json` with latest Hyperlane package versions
- Updated `pnpm-lock.yaml` via `pnpm install`

---
🤖 This PR was automatically generated by the [update-hyperlane-deps
workflow](.github/workflows/update-hyperlane-deps.yml)

Co-authored-by: hyper-gonk[bot] <246310972+hyper-gonk[bot]@users.noreply.github.com>
# Conflicts:
#	.github/workflows/ci.yml
#	next.config.js
#	package.json
#	pnpm-lock.yaml
#	src/components/layout/AppLayout.tsx
#	src/components/nav/Footer.tsx
#	src/consts/chains.ts
#	src/consts/config.ts
#	src/consts/links.ts
#	src/features/analytics/utils.ts
#	src/features/tokens/types.ts
#	src/features/tokens/utils.test.ts
#	src/features/tokens/utils.ts
#	src/features/transfer/TransferTokenForm.tsx
#	src/features/transfer/fees.test.ts
#	src/features/transfer/fees.ts
#	src/features/transfer/maxAmount.ts
#	src/features/transfer/useFeeQuotes.ts
#	src/features/transfer/useTokenTransfer.ts
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.