Skip to content

chore: promote development to master - #791

Merged
Seranged merged 67 commits into
masterfrom
development
Aug 7, 2026
Merged

Seranged merged 67 commits into
masterfrom
development

Conversation

@Seranged

@Seranged Seranged commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Features

Fixes

Documentation

Dependencies

Validation

  • git diff --check v2.1.0..0ec3697c — clean
  • npm run typecheck — passes
  • npm run test:run — 169 files passed, 1 skipped; 1612 tests passed, 1 skipped
  • npm run build — production build completed
  • Changelist validated across 43 files: 6,528 insertions and 5,035 deletions since v2.1.0
  • v2.1.1-rc.0 and v2.1.1 point to 0ec3697cb6e311ba1164737028ddd6db74b5ddb5, the master first-parent promotion merge commit
  • Trigger Stage Deploy completed successfully for v2.1.1-rc.0
  • Trigger Prod Deploy completed successfully for v2.1.1

cursoragent and others added 30 commits July 10, 2026 08:50
The non-EVC fallback awaited Promise.all over readContract, so a single
failed vault read rejected the whole queued group and every caller
waiting on that deployment. Catch per read and normalize to null, which
matches the per-item failures the EVC batch path already reports.
Per-request failures normalize to null on both transports; only provider
resolution rejects, and it rejects the whole deployment group. Also note
that batched EVC lens calls are chunked at 25 rather than always one.
Keeps the PR documentation-only: the non-EVC fallback still rejects the
whole deployment group on a failed read, so record that boundary and the
resulting transport asymmetry instead of promising per-request nulls.
Bumps [valibot](https://github.com/open-circle/valibot) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/open-circle/valibot/releases)
- [Commits](open-circle/valibot@v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: valibot
  dependency-version: 1.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Cover vault and portfolio activity surfaces, availability gating,
category defaults, display filtering, liquidation enrichment, and
proxy allowlist constraints verified against the current source.
Describe the form → batchPrefetchState → useTxBatch handoff, background
priming, and owner-address simulation freshness so the recent batch
performance path matches the code.
…on-updates-4e91

docs: activity feed and batch cart prefetch guidance
Resolve oracle route assets into a compact pair summary while preserving linked addresses in expanded details. Use semantic labels for oracle router governance events.
- Clarify window.__CHAIN_CONFIG__ exposes only chain IDs/metadata; RPC_URL_* stay server-side
- Note public-RPC viem fallback and AppKit/wallet outbound requests (not a zero-third-party claim)
- Point to server/api/internal + docs/architecture.md as authoritative proxy inventory; add euler-chains/aave/morpho/intrinsic-apy routes; note client-error removal on development
- Add Euler protocol safety-invariants pointer to docs + review-business skill
…on-updates-b3ec

docs: document projected yield architecture
The golden suite now uses committed calldata fixtures under tests/golden/plans/,
runs as part of npm run test:run (no worktree, no vitest.golden.config.ts), and
provides test:golden, test:golden:update, and test:golden:fetch-fixtures.
Verified against origin/development tests/golden/README.md and package.json.
Co-authored-by: kanv <kanvgupta@users.noreply.github.com>
Rebase onto development and document the live GET paths plus activity
backoff-key normalization so server-side-caching stays complete after merge.
Align development-guide and server-side-caching with the path-shape
labels handler (refreshLabelFile, no fresh-cache short-circuit) and
scope stale-fallback claims away from the uncached V3 proxy.
Align server-side-caching labels/warm-cache prose with #739, drop the
incorrect header read-through claim, and document force-refresh behavior
in the path-shape labels handler comment.
…on-updates-c798

docs: document announcements and V3 proxy ops
dglowinski and others added 26 commits August 6, 2026 12:25
Accept monotonic vesting improvements at confirmation and keep the shared lock poller attached to a live consumer until the final subscriber unmounts.
Keep rEUL claims and unlocks outside transaction batches
…expansion-1.1.18

chore(deps-dev): bump brace-expansion from 1.1.14 to 1.1.18
…dates

Bumps the all-updates group with 16 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@reown/appkit](https://github.com/reown-com/appkit) | `1.8.22` | `1.8.23` |
| [@reown/appkit-adapter-wagmi](https://github.com/reown-com/appkit) | `1.8.22` | `1.8.23` |
| [@tanstack/query-core](https://github.com/TanStack/query/tree/HEAD/packages/query-core) | `5.101.2` | `5.101.4` |
| [@tanstack/vue-query](https://github.com/TanStack/query/tree/HEAD/packages/vue-query) | `5.101.2` | `5.101.4` |
| [@vueuse/nuxt](https://github.com/vueuse/vueuse/tree/HEAD/packages/nuxt) | `14.3.0` | `14.4.0` |
| [@wagmi/core](https://github.com/wevm/wagmi/tree/HEAD/packages/core) | `3.6.1` | `3.6.4` |
| [@wagmi/vue](https://github.com/wevm/wagmi/tree/HEAD/packages/vue) | `0.5.24` | `0.5.28` |
| [axios](https://github.com/axios/axios) | `1.18.1` | `1.19.0` |
| [viem](https://github.com/wevm/viem) | `2.55.2` | `2.55.10` |
| [vue](https://github.com/vuejs/core) | `3.5.39` | `3.5.40` |
| [wagmi](https://github.com/wevm/wagmi/tree/HEAD/packages/react) | `3.7.1` | `3.7.5` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.1.1` | `26.1.2` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.8` | `17.3.0` |
| [playwright](https://github.com/microsoft/playwright) | `1.61.1` | `1.62.1` |
| [sass](https://github.com/sass/dart-sass) | `1.101.0` | `1.102.0` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.7` | `3.3.9` |



Updates `@reown/appkit` from 1.8.22 to 1.8.23
- [Release notes](https://github.com/reown-com/appkit/releases)
- [Commits](https://github.com/reown-com/appkit/compare/@reown/appkit@1.8.22...@reown/appkit@1.8.23)

Updates `@reown/appkit-adapter-wagmi` from 1.8.22 to 1.8.23
- [Release notes](https://github.com/reown-com/appkit/releases)
- [Commits](https://github.com/reown-com/appkit/compare/@reown/appkit-adapter-wagmi@1.8.22...@reown/appkit-adapter-wagmi@1.8.23)

Updates `@tanstack/query-core` from 5.101.2 to 5.101.4
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/query-core/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/query-core@5.101.4/packages/query-core)

Updates `@tanstack/vue-query` from 5.101.2 to 5.101.4
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/vue-query/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/vue-query@5.101.4/packages/vue-query)

Updates `@vueuse/nuxt` from 14.3.0 to 14.4.0
- [Release notes](https://github.com/vueuse/vueuse/releases)
- [Commits](https://github.com/vueuse/vueuse/commits/v14.4.0/packages/nuxt)

Updates `@wagmi/core` from 3.6.1 to 3.6.4
- [Release notes](https://github.com/wevm/wagmi/releases)
- [Changelog](https://github.com/wevm/wagmi/blob/main/packages/core/CHANGELOG.md)
- [Commits](https://github.com/wevm/wagmi/commits/@wagmi/core@3.6.4/packages/core)

Updates `@wagmi/vue` from 0.5.24 to 0.5.28
- [Release notes](https://github.com/wevm/wagmi/releases)
- [Changelog](https://github.com/wevm/wagmi/blob/main/packages/vue/CHANGELOG.md)
- [Commits](https://github.com/wevm/wagmi/commits/@wagmi/vue@0.5.28/packages/vue)

Updates `axios` from 1.18.1 to 1.19.0
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.18.1...v1.19.0)

Updates `viem` from 2.55.2 to 2.55.10
- [Release notes](https://github.com/wevm/viem/releases)
- [Commits](https://github.com/wevm/viem/compare/viem@2.55.2...viem@2.55.10)

Updates `vue` from 3.5.39 to 3.5.40
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](vuejs/core@v3.5.39...v3.5.40)

Updates `wagmi` from 3.7.1 to 3.7.5
- [Release notes](https://github.com/wevm/wagmi/releases)
- [Changelog](https://github.com/wevm/wagmi/blob/main/packages/react/CHANGELOG.md)
- [Commits](https://github.com/wevm/wagmi/commits/wagmi@3.7.5/packages/react)

Updates `@types/node` from 26.1.1 to 26.1.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `lint-staged` from 17.0.8 to 17.3.0
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](lint-staged/lint-staged@v17.0.8...v17.3.0)

Updates `playwright` from 1.61.1 to 1.62.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.61.1...v1.62.1)

Updates `sass` from 1.101.0 to 1.102.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](sass/dart-sass@1.101.0...1.102.0)

Updates `vue-tsc` from 3.3.7 to 3.3.9
- [Release notes](https://github.com/vuejs/language-tools/releases)
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/language-tools/commits/v3.3.9/packages/tsc)

---
updated-dependencies:
- dependency-name: "@reown/appkit"
  dependency-version: 1.8.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@reown/appkit-adapter-wagmi"
  dependency-version: 1.8.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@tanstack/query-core"
  dependency-version: 5.101.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@tanstack/vue-query"
  dependency-version: 5.101.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@vueuse/nuxt"
  dependency-version: 14.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-updates
- dependency-name: "@wagmi/core"
  dependency-version: 3.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@wagmi/vue"
  dependency-version: 0.5.28
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: axios
  dependency-version: 1.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-updates
- dependency-name: viem
  dependency-version: 2.55.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: vue
  dependency-version: 3.5.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: wagmi
  dependency-version: 3.7.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: "@types/node"
  dependency-version: 26.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
- dependency-name: lint-staged
  dependency-version: 17.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all-updates
- dependency-name: playwright
  dependency-version: 1.62.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all-updates
- dependency-name: sass
  dependency-version: 1.102.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all-updates
- dependency-name: vue-tsc
  dependency-version: 3.3.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
The wagmi group bump moved @wagmi/core to 3.6.4 while the
@wagmi/connectors override stayed at 8.0.22, which peers exact
@wagmi/core@3.6.1. That split the install tree: @wagmi/vue and wagmi
each resolved a nested @wagmi/core@3.6.1 while the root and the AppKit
adapter used 3.6.4, so connect/account/sign paths would run against two
separate core instances.

Bump the override to 8.0.26 (the version @wagmi/vue@0.5.28 and
wagmi@3.7.5 declare) and regenerate the lockfile. npm ls @wagmi/core
now reports a single deduped 3.6.4 with no invalid peers.
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](nodeca/js-yaml@4.3.0...4.3.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Lead 'Resolved vault updated' events with the resolved vault link so the
collapsed row shows the named vault instead of a raw asset address, and
resolve the asset field into its token symbol with an asset icon,
matching the oracle route display.
…dates-e57b880bc4

chore(deps): bump the all-updates group across 1 directory with 16 updates
Vault-typed change fields the registry cannot resolve — e.g. a non-Euler
ERC-4626 configured as a router resolved vault — previously rendered as a
shortened address linking to a dead internal vault page. Fall back to the
token symbol (lazily read on-chain) with an explorer link instead.
Bumps [@nuxt/devtools](https://github.com/nuxt/devtools/tree/HEAD/packages/devtools) from 3.2.4 to 3.4.1.
- [Release notes](https://github.com/nuxt/devtools/releases)
- [Changelog](https://github.com/nuxt/devtools/blob/v3.4.1/CHANGELOG.md)
- [Commits](https://github.com/nuxt/devtools/commits/v3.4.1/packages/devtools)

---
updated-dependencies:
- dependency-name: "@nuxt/devtools"
  dependency-version: 3.4.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…l-4.3.1

chore(deps): bump js-yaml from 4.3.0 to 4.3.1
…evtools-3.4.1

chore(deps): bump @nuxt/devtools from 3.2.4 to 3.4.1
Bumps the nuxt-ecosystem group with 1 update in the / directory: [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt).


Updates `nuxt` from 4.4.8 to 4.5.1
- [Release notes](https://github.com/nuxt/nuxt/releases)
- [Commits](https://github.com/nuxt/nuxt/commits/v4.5.1/packages/nuxt)

---
updated-dependencies:
- dependency-name: nuxt
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuxt-ecosystem
...

Signed-off-by: dependabot[bot] <support@github.com>
Security fixes - RPC/Reward provider links
Nuxt 4.5.x requires unhead v3 (its entry imports unhead/stream/iife,
which only exists in v3), but the overrides block still forced
unhead@2.1.15 — the pin added for the unhead XSS advisory
(vulnerable <= 2.1.10). With the override in place npm ci fails on
every install (Package subpath './stream/iife' is not defined), which
broke all CI jobs and preview deploys on this branch.

Remove the override and regenerate the lockfile: unhead now resolves
to a single 3.2.3 copy, well past the advisory range, so the pin no
longer protects anything. npm audit reports no unhead findings.

Verified on this branch: typecheck, lint, and the full test suite
pass; nuxt build completes under the Vite 8 major that ships with
Nuxt 4.5; the built app boots and renders live market data.
…t-1.4.2

chore(deps): bump valibot from 1.4.1 to 1.4.2
…cosystem-36bbe4c367

chore(deps): bump nuxt from 4.4.8 to 4.5.1 in the nuxt-ecosystem group across 1 directory
Vault-typed activity change fields previously ran every address through
the registry's on-chain fetch fallback, which probes unknown contracts as
securitize/EVK vaults. Check the SDK vault resolver (factory-membership
backed) first: addresses it does not recognize as Euler vaults skip the
registry fetch and deterministically render as their raw token symbol,
falling back to the shortened address.
Brings the normalized oracle-router activity event types the Activity
display references, fixing typecheck against the published SDK.
…ents

fix: display oracle router activity events
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

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: Repository: euler-xyz/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b261b306-62ef-457b-95b4-4441c1ceddd8

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

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

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

Review summary

No high-severity DeFi correctness, security, or stack-hygiene defects found in this developmentmaster promote. The money-touching changes (rEUL unlock/claim isolation, freshness revalidation, SDK allowRemainderLoss opt-in) and the security hardening (V3 encoded-path reject, script-JSON escape on __CHAIN_CONFIG__, reward sourceUrl sanitization, ensure-vault log redaction) look intentional and internally consistent; dependency bumps correctly resolve the known Nuxt/unhead and wagmi-connectors skews.

Reviewed: rEUL unlock/claim UI + useREULLocks / reulUnlockReview, activity vault-resolution + display, earn uncovered-losses display, server proxy/config hardening, package.json / lockfile overrides, related tests · Traced beyond the diff: executePlan → SDK ToS/plugin path, fetchVaultCategory error handling, SDK reulLockService.buildUnlockPlan / EulerEarn.lostAssets, V3 allowlist vs docs/activity-feed.md, npm ls for @wagmi/core + resolved unhead@3.2.3 · Protocol skills consulted: euler-advanced (rEUL/rewards), euler-earn (lost assets / coverage)

Not flagged

  • Hardcoded allowRemainderLoss: true is required by SDK ≥1.2.4 and matches early-unlock burn UI + freshness checks that reject a worse burn quote.
  • Removing “Add to batch” for rEUL unlocks / blocking rEUL claims while a batch is open is the intended fix for unsafe mixed batches, not a regression.
  • Factory-gated activity vault resolution and explorer fallback for unresolved resolved_vault addresses match the established pattern.
  • safeExternalHttpUrl returning the original string (not url.href) remains fine for Vue :href binding.
  • CI lint / typecheck / test are green on this head.
Open in Web View Automation 

Sent by Cursor Automation: Lite PR Reviewer

@Seranged
Seranged merged commit 0ec3697 into master Aug 7, 2026
6 checks passed
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.

6 participants