diff --git a/.claude/skills/create-pr/SKILL.md b/.claude/skills/create-pr/SKILL.md
new file mode 100644
index 00000000..a15bc923
--- /dev/null
+++ b/.claude/skills/create-pr/SKILL.md
@@ -0,0 +1,203 @@
+---
+name: sdlc:create-pr
+description: Use when creating a pull request -- reads the PR template, auto-fills from git context and linked issue, confirms with the user, then creates via gh CLI.
+---
+
+# /sdlc:create-pr
+
+Create a well-structured GitHub pull request by reading the repo's PR template and filling it from context.
+
+**Core principle:** Templates own the format. Context owns the content. User owns the final word.
+
+## Template Location
+
+Read `.github/PULL_REQUEST_TEMPLATE.md` relative to the project root on every invocation. This path is fixed -- do not search for it.
+
+## Core Pattern
+
+1. **Gather** -- Collect all inputs silently. Ask only when auto-derivation fails.
+2. **Draft** -- Fill every template section from the gathered context.
+3. **Confirm** -- Show the full draft. Wait for explicit approval. Iterate.
+4. **Create** -- Run `gh pr create` with `--body-file`. Report the URL.
+
+## Step 1: Gather
+
+**Auto-derive (no user interaction):**
+
+- Read `.github/PULL_REQUEST_TEMPLATE.md`
+- Run `git diff ...HEAD` -- the branch diff
+- Run `git log ..HEAD --oneline` -- the commit history
+- Extract issue number from branch name (pattern: `type/NNN-description`, e.g., `feat/17-add-skill` → `#17`)
+- If issue number found, run `gh issue view NNN --json title,body,labels` and extract acceptance criteria from the body
+
+**Ask when needed (use multiple-choice where possible):**
+
+| Question | When | Options |
+|----------|------|---------|
+| "Which issue does this PR close?" | Branch name has no issue number | List of recent open issues (via `gh issue list --state open --limit 5 --json number,title`) + "None" + Other |
+| "PR type?" | Always; pre-select "Ready for review" | "Ready for review" / "Draft" |
+| "Base branch?" | Always; **must be asked even when auto-detected** -- the auto-detected value is the pre-selected default, not a reason to skip | Branch we branched from (auto-detected via `git merge-base` against known remote branches; pre-selected as default) / `develop` (if present in remote) / `main` / Other |
+| "Who should review this PR?" | Always; multi-select | All reviewers returned by script (see below), in order, plus "Other" as the last option |
+| "Who should this PR be assigned to?" | Always; pre-select "Me" | "Me" (resolved via `gh api user --jq '.login'`) / "Nobody" (default if "Me" feels presumptuous) / Other |
+| "Which checklist items have you completed?" | Always; multi-select; zero selections is valid (means none completed yet) | "Self-reviewed my own diff" / "Tests added or updated" / "Docs updated (if applicable)" / "No unrelated changes bundled in" |
+| "Will you add screenshots to this PR?" | Always | "Yes, I'll add them after creation" / "No" (default) |
+
+### Helper scripts
+
+**IMPORTANT:** Do NOT run `bash .claude/skills/create-pr/*.sh` directly -- that path only works for project-local installs. Always use the commands below, which resolve the script location first.
+
+Auto-detect base branch:
+
+```bash
+if [[ -f .claude/skills/create-pr/get-base-branch.sh ]]; then bash .claude/skills/create-pr/get-base-branch.sh; elif [[ -f "$HOME/.claude/skills/create-pr/get-base-branch.sh" ]]; then bash "$HOME/.claude/skills/create-pr/get-base-branch.sh"; fi
+```
+
+It outputs the branch name (e.g., `main`, `develop`) whose merge-base with HEAD is most recent -- i.e., the branch we most likely forked from. Present it as the pre-selected default in the base branch question.
+
+Fetch recent reviewers:
+
+```bash
+if [[ -f .claude/skills/create-pr/get-reviewers.sh ]]; then bash .claude/skills/create-pr/get-reviewers.sh; elif [[ -f "$HOME/.claude/skills/create-pr/get-reviewers.sh" ]]; then bash "$HOME/.claude/skills/create-pr/get-reviewers.sh"; fi
+```
+
+It outputs up to 4 reviewer logins, one per line, ordered most-recent-first (excludes the current user; falls back to alphabetical collaborators for new repos). Show every login the script returns as an option, in the exact order returned. Add "Other" as the last option. Do not add a "Skip" or "None" option -- if the user wants no reviewers, they select only "Other" and leave it empty.
+
+Do not add labels to the PR. Labels are managed separately.
+
+## Step 2: Draft
+
+### PR Title
+
+Conventional commit format: `type(scope): subject` or `type: subject`.
+
+Allowed types: `feat`, `fix`, `docs`, `test`, `ci`, `refactor`, `perf`, `chore`, `revert`, `wip`, `build`, `style`, `release`.
+
+
+
+- Derive from branch name and commit history
+- Scope is optional
+- Subject: lowercase, imperative mood, no trailing period
+
+### PR Body
+
+Fill every section in template order. Strip all HTML comments (``).
+
+#### Summary
+
+First line: `Closes #`
+
+If no linked issue, first line: `No related issue. `
+
+Followed by 1-3 sentences synthesizing commits and issue description, focused on *why* not *what*. If no issue is linked, derive from commits and branch name only.
+
+#### Changes
+
+Bullet list. Each bullet = one discrete change from the diff or commit messages.
+
+#### Acceptance criteria
+
+- **Issue has AC:** Mirror as checkboxes. Check off items the diff demonstrates are fulfilled.
+- **Issue has no AC, or no issue:** Suggest AC based on the changes made. Present as unchecked checkboxes.
+- **AC diverged from issue:** Note it explicitly. Example: "Note: criterion X was moved to #M" or "Added: Y discovered during implementation."
+
+#### Test plan
+
+Two subsections, always present:
+
+##### Automated tests
+List test files added/modified in the diff and the command to run them. If none: `No automated tests added.`
+
+##### Manual verification
+If the change has user-facing or integration behavior, list manual steps. If purely internal: `No manual steps required.`
+
+#### Breaking changes
+
+If breaking changes detected (API changes, removed exports, schema changes): describe what breaks and migration steps.
+
+If none: `None.`
+
+#### Checklist
+
+Render all four items based on the user's selections from the Gather step:
+
+- Items selected by the user → `- [x] - `
+- Items not selected → `- [ ]
- `
+
+The four items, in order:
+
+1. Self-reviewed my own diff
+2. Tests added or updated
+3. Docs updated (if applicable)
+4. No unrelated changes bundled in
+
+#### Screenshots
+
+Based on the Step 1 answer:
+
+- "Yes": `To be added after PR creation.` (remind user to attach via GitHub UI)
+- "No" (default): `None.`
+
+**The section is always present.**
+
+## Step 3: Confirm
+
+Show to the user:
+- PR title
+- Complete body (all sections, no HTML comments)
+- Target base branch
+- The exact `gh pr create` command that will run
+
+Wait for explicit approval. Accept edits to any section. Loop until approved.
+
+## Step 4: Create
+
+```bash
+BODY_FILE=$(mktemp /tmp/gh_pr_body_XXXXXX)
+
+# Replace the placeholder below with the actual drafted PR body:
+cat > "$BODY_FILE" << 'EOF'
+{{PR_BODY}}
+EOF
+
+gh pr create \
+ --title "" \
+ --base "" \
+ --body-file "$BODY_FILE" \
+ [--reviewer ...] \
+ [--assignee ]
+```
+
+Add `--draft` if user selected "Draft" in Step 1. Add one `--reviewer ` flag per reviewer selected in Step 1; if "Other" was selected, use the handle the user provided. Add `--assignee ` using the resolved login if "Me" or "Other" was selected; omit if "Nobody".
+
+After reporting the PR URL: if the user selected "Yes" for screenshots in Step 1, remind them to attach screenshots via the GitHub UI.
+
+## Edge Cases
+
+### Branch is behind base
+Present options:
+1. **Continue as-is** -- create the PR and note it's behind
+2. **Rebase onto base** -- run `git rebase `; if conflicts, help resolve
+3. **Merge base in** -- run `git merge `; if conflicts, help resolve
+4. **Abort** -- stop; do not create the PR
+
+### No commits ahead of base
+Stop. "No commits ahead of ``. Nothing to create a PR from."
+
+## Common Mistakes
+
+- **Reconstructing the template from memory** -- read `.github/PULL_REQUEST_TEMPLATE.md` every time.
+- **Generating an ad-hoc format** -- every section from the template must appear, in template order.
+- **Creating before confirmation** -- never run `gh pr create` without explicit user approval.
+- **Leaving HTML comments** -- strip all `` from the output.
+- **Silently omitting `Closes #`** -- if no issue, say so explicitly on the first line.
+- **Deleting empty sections** -- Breaking changes and Screenshots are always present; use `None.`
+- **Ignoring AC divergence** -- note explicitly when PR criteria differ from the issue's.
+- **Skipping the base-branch question** -- always present it. Auto-detection provides the default, not the answer.
+
+## Installation
+
+This skill includes helper scripts alongside `SKILL.md`. When installing or updating, copy (or symlink) the **entire `create-pr/` directory** -- not just `SKILL.md`. All files in this directory are required:
+
+- `SKILL.md` -- skill definition
+- `get-base-branch.sh` -- auto-detects the base branch
+- `get-reviewers.sh` -- fetches recent reviewer logins
diff --git a/.claude/skills/create-pr/get-base-branch.sh b/.claude/skills/create-pr/get-base-branch.sh
new file mode 100755
index 00000000..6bc2d1ff
--- /dev/null
+++ b/.claude/skills/create-pr/get-base-branch.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+# Find the base branch: the most likely target for a pull request.
+#
+# Strategy: pick the remote branch whose merge-base with HEAD is most recent
+# (i.e., the branch we most likely forked from). This works even when the
+# base branch has advanced past the fork point.
+#
+# 1. Check well-known stable branches first (main, master, develop, staging).
+# Among those that exist, pick the one with the closest merge-base to HEAD.
+# 2. If none match, fall back to any remote branch with the closest merge-base.
+
+current=$(git rev-parse --abbrev-ref HEAD)
+
+# Priority 1: well-known base branches -- pick closest merge-base
+best_branch=""
+best_ts=0
+
+for candidate in main master develop staging; do
+ ref="origin/$candidate"
+ git rev-parse --verify "$ref" >/dev/null 2>&1 || continue
+ [[ "$candidate" == "$current" ]] && continue
+ mb=$(git merge-base HEAD "$ref" 2>/dev/null) || continue
+ ts=$(git log -1 --format=%ct "$mb" 2>/dev/null) || continue
+ [[ -n "$ts" ]] || continue
+ if (( ts > best_ts )); then
+ best_ts=$ts
+ best_branch=$candidate
+ fi
+done
+
+if [[ -n "$best_branch" ]]; then
+ echo "$best_branch"
+ exit 0
+fi
+
+# Priority 2: any other remote branch, pick closest merge-base
+best_branch=""
+best_ts=0
+
+while IFS= read -r ref; do
+ branch="${ref#origin/}"
+ [[ "$branch" == "HEAD" ]] && continue
+ [[ "$branch" == "$current" ]] && continue
+ mb=$(git merge-base HEAD "$ref" 2>/dev/null) || continue
+ ts=$(git log -1 --format=%ct "$mb" 2>/dev/null) || continue
+ [[ -n "$ts" ]] || continue
+ if (( ts > best_ts )); then
+ best_ts=$ts
+ best_branch=$branch
+ fi
+done < <(git for-each-ref --format='%(refname:short)' refs/remotes/origin/)
+
+if [[ -z "$best_branch" ]]; then
+ echo "No base branch found" >&2
+ exit 1
+fi
+
+echo "$best_branch"
diff --git a/.claude/skills/create-pr/get-reviewers.sh b/.claude/skills/create-pr/get-reviewers.sh
new file mode 100755
index 00000000..733e3753
--- /dev/null
+++ b/.claude/skills/create-pr/get-reviewers.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+me=$(gh api user --jq '.login' 2>/dev/null) || true
+
+# Attempt: recent PR reviewers sorted by most-recent-first
+reviewers=$(
+ gh pr list --state all --limit 20 --json reviews \
+ --jq "
+ [ .[].reviews[]
+ | { login: .author.login, ts: .submittedAt }
+ ]
+ | sort_by(.ts) | reverse
+ | map(.login)
+ | map(select(. != \"$me\"))
+ | reduce .[] as \$x (
+ { seen: {}, out: [] };
+ if .seen[\$x] then . else { seen: (.seen | .[\$x] = true), out: (.out + [\$x]) } end
+ )
+ | .out[:4]
+ | .[]
+ " 2>/dev/null || true
+)
+
+if [[ -n "$reviewers" ]]; then
+ echo "$reviewers"
+ exit 0
+fi
+
+# Fallback: collaborators (alphabetical, excluding self)
+repo=$(gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null) || exit 0
+gh api "/repos/$repo/collaborators" \
+ --jq "[ .[].login | select(. != \"$me\") ] | sort | .[:4] | .[]" \
+ 2>/dev/null || true
diff --git a/.claude/skills/issue/SKILL.md b/.claude/skills/issue/SKILL.md
new file mode 100644
index 00000000..169eea68
--- /dev/null
+++ b/.claude/skills/issue/SKILL.md
@@ -0,0 +1,87 @@
+---
+name: sdlc:issue
+description: Use when creating a GitHub issue from a brief -- bug, feature, epic, or spike -- against the repo's GitHub issue templates via gh CLI.
+---
+
+# /sdlc:issue
+
+Create a well-structured GitHub issue using the repo's own templates and `gh` CLI.
+
+**Core principle:** Templates own the format. Skill owns the behavior.
+
+## Core Pattern
+
+1. **Classify** -- Determine type from brief: bug / feature / epic / spike. If unclear, ask once.
+2. **Read** -- Load `.github/ISSUE_TEMPLATE/.yml`. Extract all fields, required vs optional, and label. Do this every time -- never reconstruct from memory.
+3. **Interview** -- Ask only for missing required fields. If the brief already covers a field, don't re-ask. Scale ceremony to issue weight.
+4. **Draft** -- Build title and body. Sections follow template field order using `label` as heading. Omit empty optional fields.
+5. **Confirm** -- Show full draft including labels. Wait for explicit approval. Iterate until approved.
+6. **Create** -- Write body to temp file, run `gh issue create` with all labels, report issue URL.
+
+## Title Format
+
+Issue titles must be **natural language, sentence case** (code terms and command names retain their canonical casing) -- no conventional commit prefixes, no scope tags.
+
+Conventional commit format (`type(scope): subject`) is for **commits and PR titles only**. It is not appropriate for issue titles, which appear in GitHub's issue list and must be scannable at a glance.
+
+**Good:**
+- `Issue skill defaults to conventional commit format for titles`
+- `mktemp fails with .md suffix`
+- `Add natural language title guidance to issue skill`
+
+**Bad:**
+- `fix(skills): mktemp fails with .md suffix`
+- `fix: issue skill defaults to conventional commit format`
+- `feat(issue): add title guidance`
+
+Rule: if a reader has to mentally strip a prefix to understand the title, the title is wrong.
+
+## Template Map
+
+| Type | File | Type label | Additional labels |
+|---------|-----------------|---------------|---------------------------|
+| Bug | `1-bug.yml` | `bug` | `priority: ` |
+| Feature | `2-feature.yml` | `enhancement` | `priority: ` |
+| Epic | `3-epic.yml` | `epic` | `priority: ` |
+| Spike | `4-spike.yml` | `spike` | -- |
+
+## Labels
+
+Priority is applied as a label, not a form dropdown. See the Label Conventions section in `CLAUDE.md` for the full table and descriptions.
+
+- Bugs, features, and epics each get a `priority: ` label.
+- Spikes don't carry priority.
+- If the brief doesn't specify a level, ask once using a numbered list -- never default silently:
+
+ 1. Critical
+ 2. High
+ 3. Medium
+ 4. Low
+
+## gh Command
+
+```bash
+BODY_FILE=$(mktemp /tmp/gh_issue_body_XXXXXX)
+
+cat > "$BODY_FILE" << 'EOF'
+
+EOF
+
+gh issue create \
+ --title "" \
+ --label "" \
+ # omit the next label for spikes
+ --label "" \
+ --body-file "$BODY_FILE"
+```
+
+Multiple `--label` flags can be chained. The type label is always present. The priority label is added for bugs, features, and epics -- omit it for spikes.
+
+Optional flags: `--assignee ""`, `--milestone ""`, `--project ""`
+
+## Common Mistakes
+
+- **Skipping the template read** -- Field names and order come from the YAML, not assumptions. Read it every time.
+- **Pre-emptively asking for optional fields** -- Required fields are the floor. Let the user volunteer the rest.
+- **Creating before confirmation** -- Never run `gh` without explicit approval. Always show the full draft first.
+- **Omitting priority labels** -- Form dropdowns do not survive `gh` CLI creation. Always apply these as labels.
diff --git a/.env.example b/.env.example
index 6a518dd9..d06daa43 100644
--- a/.env.example
+++ b/.env.example
@@ -24,19 +24,23 @@ PUBLIC_WALLETCONNECT_PROJECT_ID=''
# Native token address
PUBLIC_NATIVE_TOKEN_ADDRESS=0x0000000000000000000000000000000000000000
-# RPCs. Complete if you want to use a different RPC from the one provided by wagmi.
+# RPCs. Use these to override the default RPC for each chain.
+#
+# Configured in src/lib/networks.config.ts -- fall back to CORS-friendly publicnode.com RPCs when unset:
+PUBLIC_RPC_MAINNET=
PUBLIC_RPC_ARBITRUM=
+PUBLIC_RPC_OPTIMISM=
+PUBLIC_RPC_OPTIMISM_SEPOLIA=
+PUBLIC_RPC_POLYGON=
+PUBLIC_RPC_SEPOLIA=
+#
+# Not configured by default -- add them to src/lib/networks.config.ts first, then set the RPC here:
PUBLIC_RPC_ARBITRUM_SEPOLIA=
PUBLIC_RPC_BASE=
PUBLIC_RPC_BASE_SEPOLIA=
PUBLIC_RPC_GNOSIS=
PUBLIC_RPC_GNOSIS_CHIADO=
-PUBLIC_RPC_MAINNET=
-PUBLIC_RPC_OPTIMISM=
-PUBLIC_RPC_OPTIMISM_SEPOLIA=
-PUBLIC_RPC_POLYGON=
PUBLIC_RPC_POLYGON_MUMBAI=
-PUBLIC_RPC_SEPOLIA=
# Subgraph
###########################################################
diff --git a/.env.test b/.env.test
index f4bf82d2..4fc516d0 100644
--- a/.env.test
+++ b/.env.test
@@ -5,3 +5,7 @@ PUBLIC_WALLETCONNECT_PROJECT_ID=test-project-id
PUBLIC_SUBGRAPHS_API_KEY=test-api-key
PUBLIC_SUBGRAPHS_CHAINS_RESOURCE_IDS=1:test:test-resource-id
PUBLIC_SUBGRAPHS_ENVIRONMENT=production
+
+# Explicitly unset optional RPC vars so .env.local values don't leak into tests
+PUBLIC_RPC_MAINNET=
+PUBLIC_RPC_SEPOLIA=
diff --git a/.github/ISSUE_TEMPLATE/1-bug.yml b/.github/ISSUE_TEMPLATE/1-bug.yml
new file mode 100644
index 00000000..c57894cd
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/1-bug.yml
@@ -0,0 +1,90 @@
+name: Bug Report
+description: Report a bug or unexpected behavior.
+title: ""
+labels: ["bug"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to report this. Before opening a new issue, please search existing issues to avoid duplicates.
+
+ - type: textarea
+ id: description
+ attributes:
+ label: Description
+ description: A clear and concise description of the bug.
+ placeholder: What happened?
+ validations:
+ required: true
+
+ - type: textarea
+ id: steps
+ attributes:
+ label: Steps to reproduce
+ description: Minimal steps to reproduce the behavior.
+ placeholder: |
+ 1. Go to '...'
+ 2. Click on '...'
+ 3. Scroll down to '...'
+ 4. See error
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: Expected vs actual behavior
+ description: What did you expect to happen, and what actually happened?
+ placeholder: |
+ **Expected:** ...
+ **Actual:** ...
+ validations:
+ required: true
+
+ - type: input
+ id: reproduction
+ attributes:
+ label: Reproduction link
+ description: Link to a minimal reproduction (repo, sandbox, deploy). Issues without a reproduction may be closed.
+ placeholder: https://github.com/...
+ validations:
+ required: false
+
+ - type: textarea
+ id: environment
+ attributes:
+ label: Environment
+ description: Relevant environment details (OS, browser, runtime, package versions).
+ render: bash
+ placeholder: |
+ OS: macOS 15.3
+ Node: 24.x
+ Package: 1.0.0
+ validations:
+ required: false
+
+ - type: markdown
+ attributes:
+ value: |
+ > **Programmatic creation:** When using `gh` CLI or REST API, apply `priority: ` labels instead of using the Priority dropdown (e.g., `--label "priority: high"`). See the Label Conventions section in `CLAUDE.md` for the full table.
+
+ - type: dropdown
+ id: priority
+ attributes:
+ label: Priority
+ description: How urgently does this need to be addressed?
+ options:
+ - Critical — blocking work, system down, or security issue
+ - High — must be addressed in current sprint
+ - Medium — should be addressed soon
+ - Low — nice to have, can wait
+ validations:
+ required: false
+
+ - type: textarea
+ id: context
+ attributes:
+ label: Additional context
+ description: Screenshots, logs, error messages, or anything else that might help.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/2-feature.yml b/.github/ISSUE_TEMPLATE/2-feature.yml
new file mode 100644
index 00000000..725bdf8e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/2-feature.yml
@@ -0,0 +1,88 @@
+name: Feature
+description: Propose a new feature or enhancement.
+title: ""
+labels: ["enhancement"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Before opening a feature request, please check if a similar one already exists.
+
+ - type: markdown
+ attributes:
+ value: |
+ > **Programmatic creation:** When using `gh` CLI or REST API, apply `priority: ` labels instead of using the Priority dropdown (e.g., `--label "priority: high"`). See the Label Conventions section in `CLAUDE.md` for the full table.
+
+ - type: dropdown
+ id: priority
+ attributes:
+ label: Priority
+ description: How urgently does this need to be addressed?
+ options:
+ - Critical — blocking work, system down, or security issue
+ - High — must be addressed in current sprint
+ - Medium — should be addressed soon
+ - Low — nice to have, can wait
+ validations:
+ required: false
+
+ - type: textarea
+ id: user-story
+ attributes:
+ label: User story / Problem statement
+ description: 'Who needs this and why? Pick the format that fits: "As a [role]..." for new capabilities with a clear user beneficiary; "Currently..." for UX fixes, missing feedback, or when the user role is implicit.'
+ placeholder: |
+ As a [role], I want [goal], so that [benefit].
+
+ — or —
+
+ Currently, ... This is a problem because ...
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected-outcome
+ attributes:
+ label: Expected outcome
+ description: What does success look like? Describe the desired end state from the user's perspective, not the implementation approach.
+ placeholder: |
+ When this is done, a user should be able to...
+ The system should behave as follows...
+ validations:
+ required: true
+
+ - type: textarea
+ id: acceptance-criteria
+ attributes:
+ label: Acceptance criteria
+ description: Specific, testable conditions that verify the expected outcome was achieved. These will be mirrored in the PR checklist.
+ placeholder: |
+ - [ ] ...
+ - [ ] ...
+ - [ ] ...
+ validations:
+ required: true
+
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternatives considered
+ description: Other approaches you explored and why they were discarded.
+ validations:
+ required: false
+
+ - type: textarea
+ id: technical-notes
+ attributes:
+ label: Technical notes
+ description: Architecture considerations, dependencies, migration concerns, or anything the implementer should know.
+ validations:
+ required: false
+
+ - type: textarea
+ id: context
+ attributes:
+ label: Additional context
+ description: Mockups, screenshots, references, or related issues.
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/3-epic.yml b/.github/ISSUE_TEMPLATE/3-epic.yml
new file mode 100644
index 00000000..99b2badf
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/3-epic.yml
@@ -0,0 +1,116 @@
+name: Epic
+description: Define a large body of work that will be broken into smaller issues.
+title: ""
+labels: ["epic"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Epics capture the vision and scope of a significant effort. They get decomposed into smaller, independently deliverable issues. Invest time here — the quality of the epic sets the ceiling for everything downstream.
+
+ - type: markdown
+ attributes:
+ value: |
+ > **Programmatic creation:** When using `gh` CLI or REST API, apply `priority: ` labels instead of using the Priority dropdown (e.g., `--label "priority: high"`). See the Label Conventions section in `CLAUDE.md` for the full table.
+
+ - type: dropdown
+ id: priority
+ attributes:
+ label: Priority
+ description: How urgently does this need to be addressed?
+ options:
+ - Critical — blocking work, system down, or security issue
+ - High — must be addressed in current sprint
+ - Medium — should be addressed soon
+ - Low — nice to have, can wait
+ validations:
+ required: false
+
+ - type: textarea
+ id: objective
+ attributes:
+ label: Objective
+ description: What are we trying to achieve? The high-level goal in one or two sentences.
+ placeholder: Enable users to...
+ validations:
+ required: true
+
+ - type: textarea
+ id: rationale
+ attributes:
+ label: Rationale
+ description: Why does this matter? Business value, user impact, or technical justification.
+ placeholder: This is important because...
+ validations:
+ required: true
+
+ - type: textarea
+ id: scope
+ attributes:
+ label: Scope
+ description: What is in scope and, just as importantly, what is out of scope.
+ placeholder: |
+ **In scope:**
+ - ...
+
+ **Out of scope:**
+ - ...
+ validations:
+ required: true
+
+ - type: textarea
+ id: architecture
+ attributes:
+ label: Architecture & technical considerations
+ description: Key technical decisions, patterns, constraints, or risks. Link to ADRs or design docs if they exist.
+ validations:
+ required: false
+
+ - type: textarea
+ id: dependencies
+ attributes:
+ label: Dependencies
+ description: What blocks this epic or what does this epic block? External services, other teams, infrastructure, etc.
+ validations:
+ required: false
+
+ - type: textarea
+ id: issues
+ attributes:
+ label: Issue breakdown
+ description: Checklist of sub-issues that compose this epic. Can start as a rough draft — the agent or the team will refine and create the actual issues.
+ placeholder: |
+ - [ ] #issue or description
+ - [ ] #issue or description
+ - [ ] #issue or description
+ validations:
+ required: false
+
+ - type: textarea
+ id: acceptance-criteria
+ attributes:
+ label: Acceptance criteria
+ description: How do we know this epic is done? High-level conditions, not per-issue details.
+ placeholder: |
+ - [ ] ...
+ - [ ] ...
+ validations:
+ required: true
+
+ - type: input
+ id: owner
+ attributes:
+ label: Owner / DRI
+ description: Who is responsible for driving this epic to completion?
+ placeholder: "@username"
+ validations:
+ required: false
+
+ - type: input
+ id: milestone
+ attributes:
+ label: Target milestone
+ description: Which milestone or release is this epic targeting?
+ placeholder: v1.0, Q2 2026, Sprint 5...
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/4-spike.yml b/.github/ISSUE_TEMPLATE/4-spike.yml
new file mode 100644
index 00000000..94cd18d4
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/4-spike.yml
@@ -0,0 +1,102 @@
+name: Spike / Research
+description: Time-boxed investigation to answer a question or reduce uncertainty.
+title: ""
+labels: ["spike"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ A spike is not about delivering code — it's about answering a question. Define the question clearly, time-box the effort, and document findings here. The issue itself becomes the deliverable.
+
+ - type: textarea
+ id: question
+ attributes:
+ label: Research question
+ description: What question(s) are we trying to answer? Be specific.
+ placeholder: |
+ Can we use X to solve Y?
+ What are the trade-offs between A and B for our use case?
+ validations:
+ required: true
+
+ - type: dropdown
+ id: timebox
+ attributes:
+ label: Time-box
+ description: Maximum time to spend before reporting back, regardless of outcome.
+ options:
+ - 2 hours
+ - Half day
+ - 1 day
+ - 2 days
+ - 3 days
+ validations:
+ required: true
+
+ - type: textarea
+ id: background
+ attributes:
+ label: Background / What we already know
+ description: Context, prior decisions, links to related issues or docs. Prevents the investigator from repeating work.
+ validations:
+ required: false
+
+ - type: textarea
+ id: method
+ attributes:
+ label: Investigation approach
+ description: How should this be investigated? Prototype, docs research, vendor comparison, proof of concept, talk to someone?
+ placeholder: |
+ - Read the docs for X
+ - Build a minimal prototype that tests Y
+ - Compare options A and B against criteria Z
+ validations:
+ required: false
+
+ - type: dropdown
+ id: output
+ attributes:
+ label: Expected output
+ description: What does "done" look like for this spike?
+ options:
+ - Decision (go / no-go)
+ - Technical recommendation with trade-offs
+ - Proof of concept / prototype
+ - Written summary / findings document
+ - Architecture or design proposal
+ multiple: true
+ validations:
+ required: true
+
+ - type: markdown
+ attributes:
+ value: |
+ ---
+ **The sections below are filled in after the investigation.**
+
+ - type: textarea
+ id: findings
+ attributes:
+ label: Findings
+ description: What did you learn? Evidence, data, demos, links.
+ validations:
+ required: false
+
+ - type: textarea
+ id: conclusions
+ attributes:
+ label: Conclusions & recommendations
+ description: Answers to the original question(s). What do you recommend and why?
+ validations:
+ required: false
+
+ - type: textarea
+ id: next-steps
+ attributes:
+ label: Next steps
+ description: Follow-up issues, decisions to make, or work to schedule based on findings.
+ placeholder: |
+ - [ ] Create issue for...
+ - [ ] Discuss with team...
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index b8e90d9d..00000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: bug
-assignees: ''
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 5f0a04ce..00000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: enhancement
-assignees: ''
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 00000000..73fcc919
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,42 @@
+## Summary
+
+Closes #
+
+
+
+
+## Changes
+
+
+
+-
+
+## Acceptance criteria
+
+
+
+
+- [ ]
+
+## Test plan
+
+
+
+### Automated tests
+
+### Manual verification
+
+## Breaking changes
+
+None.
+
+## Checklist
+
+- [ ] Self-reviewed my own diff
+- [ ] Tests added or updated
+- [ ] Docs updated (if applicable)
+- [ ] No unrelated changes bundled in
+
+## Screenshots
+
+None.
diff --git a/.github/workflows/conventional-commits-PR-title.yml b/.github/workflows/conventional-commits-PR-title.yml
index 15cf4077..4a6740b0 100644
--- a/.github/workflows/conventional-commits-PR-title.yml
+++ b/.github/workflows/conventional-commits-PR-title.yml
@@ -9,7 +9,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: PR Conventional Commit Validation
- uses: ytanikin/PRConventionalCommits@1.1.0
+ uses: ytanikin/pr-conventional-commits@1.4.0
with:
- task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert"]'
- add_label: 'false'
+ task_types: '["feat", "fix", "docs", "test", "ci", "refactor", "perf", "chore", "revert", "hotfix", "wip", "build", "style", "release"]'
+ custom_labels: '{"feat": "feature", "fix": "fix", "docs": "documentation", "test": "test", "ci": "CI/CD", "refactor": "refactor", "perf": "performance", "chore": "chore", "revert": "revert", "hotfix": "hotfix", "wip": "WIP", "build": "build", "style": "style", "release": "release"}'
+ add_scope_label: 'true'
diff --git a/.github/workflows/pr-self-assign.yml b/.github/workflows/pr-self-assign.yml
new file mode 100644
index 00000000..f96a1c22
--- /dev/null
+++ b/.github/workflows/pr-self-assign.yml
@@ -0,0 +1,15 @@
+name: PR Self-Assignment
+
+on:
+ pull_request:
+ types: [opened, ready_for_review]
+
+jobs:
+ assign:
+ runs-on: ubuntu-latest
+ permissions:
+ pull-requests: write
+ steps:
+ - uses: hkusu/review-assign-action@v1
+ with:
+ assignees: ${{ github.actor }} # assign pull request author
diff --git a/.gitignore b/.gitignore
index 9203123b..3b156c1f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,6 +33,8 @@ CLAUDE.local.md
# Builds
/dist
/docs/dist
+/docs/superpowers
+/docs/plan
dist-ssr
# Logs
diff --git a/AGENTS.md b/AGENTS.md
index eceea487..7f0d014b 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,231 +1,5 @@
-# dAppBooster
+# Agent Configuration
-> This file is mirrored as `CLAUDE.md` for Claude. Keep both files in sync when making changes.
+This project's agent configuration lives in [`CLAUDE.md`](./CLAUDE.md).
-A repository template / starter-kit for building decentralized applications (dApps). Built by BootNode based on 5+ years of dApp development. Docs: https://docs.dappbooster.dev/ Components: https://components.dappbooster.dev/
-
-## Requirements
-
-- Node 24+ (see `.nvmrc`)
-- pnpm 10.30.2+ (enforced via `packageManager` in package.json; corepack will block npm/yarn)
-
-## Setup
-
-1. `pnpm install` (postinstall automatically runs `pnpm wagmi-generate`)
-2. `cp .env.example .env.local`
-3. Edit `.env.local`:
- - `PUBLIC_APP_NAME` is mandatory
- - `PUBLIC_WALLETCONNECT_PROJECT_ID` is needed for wallet connection to work
- - RPC vars (`PUBLIC_RPC_*`) are optional -- wagmi falls back to default public RPCs
- - Subgraph vars are all-or-nothing: if ANY `PUBLIC_SUBGRAPHS_*` var is missing or empty, codegen will skip and the app will crash at runtime. Either set them all or remove all subgraph-related code.
-4. `pnpm subgraph-codegen` (only if subgraph vars are configured)
-5. `pnpm dev`
-
-## Git Hooks (Husky)
-
-Three hooks run automatically and will block on failure:
-
-- **pre-commit:** lint-staged runs Biome check + Vitest on related files for staged changes
-- **commit-msg:** commitlint enforces conventional commit format. Valid types: `feat`, `fix`, `docs`, `test`, `ci`, `refactor`, `perf`, `chore`, `revert`. PR titles are also validated via CI.
-- **pre-push:** full `tsc --noEmit` type check (pushes with type errors will be rejected)
-
-## Quick Reference
-
-- **Dev server:** `pnpm dev`
-- **Build:** `pnpm build` (runs tsc + vite build)
-- **Lint:** `pnpm lint` (Biome) / `pnpm lint:fix`
-- **Test:** `pnpm test` / `pnpm test:watch` / `pnpm test:coverage`
-- **Generate contract hooks:** `pnpm wagmi-generate`
-- **Generate routes:** `pnpm routes:generate`
-- **Generate subgraph types:** `pnpm subgraph-codegen`
-- **Docs site:** `pnpm docs:dev`
-
-## Tech Stack
-
-- React 19 + TypeScript (strict mode, ESM -- `"type": "module"`, no `require()`)
-- Vite + SWC (fast JSX transform)
-- Wagmi 2 + viem 2 (Ethereum interaction)
-- TanStack Router (file-based routing with auto code-splitting)
-- TanStack Query (server state / data fetching)
-- Chakra UI 3 (component library + theming)
-- ConnectKit (default wallet connector; RainbowKit and Web3Modal also available)
-- LI.FI SDK (token prices/balances)
-- Zod + @t3-oss/env-core (environment variable validation)
-- Biome (linting + formatting)
-- Vitest + Testing Library (testing)
-
-## Project Structure
-
-```
-src/
- components/
- pageComponents/ # Page-level components (home/, weth/, demos/)
- sharedComponents/ # Reusable UI + business components
- ui/ # Chakra provider + theme setup
- hooks/ # Custom React hooks
- generated.ts # Auto-generated by wagmi-cli (do not edit)
- providers/ # Web3Provider, TransactionNotificationProvider
- routes/ # TanStack Router file-based routes
- __root.tsx # Root layout (provider stack + shell)
- lib/
- networks.config.ts # Chain + transport configuration
- wagmi/ # Wagmi CLI config + custom Suspense plugin
- wallets/ # ConnectKit, RainbowKit, Web3Modal configs
- constants/
- contracts/ # Contract ABIs + addresses per chain
- tokenLists.ts # Token list URLs
- common.ts # Shared constants (isDev, includeTestnets)
- types/ # TypeScript type definitions
- utils/ # Utility functions
- subgraphs/ # GraphQL codegen config + queries
- env.ts # Zod-validated environment variables
- main.tsx # Entry point
- routeTree.gen.ts # Auto-generated route tree (do not edit)
-```
-
-No top-level barrel exports. Import directly from each file/folder path.
-
-## Provider Stack
-
-The root layout (`src/routes/__root.tsx`) wraps the app in this order:
-
-```
-Chakra Provider (theme, color mode)
- Web3Provider (WagmiProvider -> QueryClientProvider -> WalletProvider)
- TransactionNotificationProvider (tx toast context)
- Header / Outlet (page) / Footer
-```
-
-New providers should be inserted at the appropriate layer based on their dependencies.
-
-## Code Style
-
-- **No semicolons** in TypeScript/JavaScript
-- **Single quotes**
-- 2-space indentation, 100 char line width
-- Import organization handled by Biome
-- Path aliases: `@/src/*` and `@packageJSON`
-- All env vars prefixed with `PUBLIC_` and validated in `src/env.ts`
-- JSDoc comments on exported functions/components (follow existing patterns)
-
-## Styling
-
-- **Chakra UI props** are the primary styling method. No CSS modules, no Tailwind, no styled-components.
-- Theme is defined in `src/components/ui/provider.tsx` using `createSystem` extending `defaultConfig`.
-- Use **semantic tokens** for colors: `bg`, `primary`, `text`, `danger`, `ok`, `warning`. These support light/dark mode. Do not hardcode color values.
-- Fonts: Manrope (body/heading), Roboto Mono (mono/code).
-- Complex components export style objects from a `styles.ts` file, consumed via Chakra's `css` prop or spread into component props.
-
-## Component Conventions
-
-- **Simple components:** single file (e.g., `ExplorerLink.tsx`, `SwitchNetwork.tsx`)
-- **Complex components:** folder with:
- - `index.tsx` -- main component and public API
- - `Components.tsx` -- sub-components (styled primitives, layout pieces)
- - `styles.ts` -- style objects
- - `useComponentName.ts` -- dedicated hook (optional)
-- Page components go in `src/components/pageComponents//`
-- Shared/reusable components go in `src/components/sharedComponents/`
-
-## Key Patterns
-
-### Adding a New Contract
-
-1. Save ABI in `src/constants/contracts/abis/YourContract.ts` (export as const)
-2. Register in `src/constants/contracts/contracts.ts` with name, ABI, and addresses per chain
-3. Run `pnpm wagmi-generate` to auto-generate typed hooks in `src/hooks/generated.ts`
-
-The contracts array uses `as const satisfies ContractConfig[]` for full type inference. Follow this pattern.
-
-Use `getContract(name, chainId)` to retrieve a typed contract config at runtime (e.g., `getContract('WETH', sepolia.id)` returns `{ abi, address }`).
-
-### Generated Hook Naming Convention
-
-`pnpm wagmi-generate` produces hooks in `src/hooks/generated.ts` following this naming pattern:
-
-- `useReadContractNameFunctionName` -- standard read hook
-- `useWriteContractNameFunctionName` -- write hook
-- `useSuspenseReadContractNameFunctionName` -- Suspense-enabled read hook
-- `useSimulateContractNameFunctionName` -- simulation hook
-
-Example: contract named `WETH` with function `allowance` generates `useReadWethAllowance`, `useWriteWethApprove`, `useSuspenseReadWethAllowance`, etc.
-
-### Adding a New Route/Page
-
-1. Create route file in `src/routes/` using `.lazy.tsx` extension for code-split lazy loading (e.g., `yourpage.lazy.tsx`). Use plain `.tsx` only for routes that must be eagerly loaded.
-2. Create page component in `src/components/pageComponents/yourpage/`
-3. Route tree auto-generates via TanStack Router plugin
-
-### Adding a New Network
-
-1. Import chain from `viem/chains` in `src/lib/networks.config.ts`
-2. Add to the appropriate chain array (devChains or prodChains)
-3. Add transport entry with optional custom RPC from env
-4. Add RPC env var to `src/env.ts` if needed
-
-### Environment Variables
-
-- Defined and validated with Zod in `src/env.ts`
-- Access via `import { env } from '@/src/env'` (never `import.meta.env` directly)
-- New variables MUST be added to both `.env.example` and `src/env.ts`
-
-### Web3 Status
-
-- Use `useWeb3Status()` for unified wallet/chain state
-- Use `useWeb3StatusConnected()` when wallet connection is guaranteed (throws otherwise)
-- Use `withWalletStatusVerifier()` HOC to gate components behind wallet connection
-
-### Suspense and Error Boundaries
-
-- Contract read hooks use React Suspense via custom `reactSuspenseRead` wagmi plugin
-- `useTokenLists` is Suspense-based
-- Wrap async components with `withSuspenseAndRetry()` from `src/utils/suspenseWrapper.tsx` -- this is the primary error boundary pattern. It integrates with TanStack Query's `QueryErrorResetBoundary` for automatic retry on query failures.
-- `withSuspenseAndRetry` accepts: `suspenseFallback`, `errorFallback`, `defaultFallbackFormat` ('dialog' | 'default'), `spinnerSize`
-- Simpler variant `withSuspense()` available when retry logic is not needed
-
-### Transaction Handling
-
-Two components for two different jobs -- both auto-wrap with `withWalletStatusVerifier` (do not double-wrap):
-
-- **`TransactionButton`** -- for on-chain transactions. Takes `transaction: () => Promise` prop. Attach a `methodId` string property to the function for notification context. Calls `onMined(receipt)` on confirmation.
-- **`SignButton`** -- for message signing only (uses `useSignMessage`). Takes `message`, `onSign`, `onError` props.
-
-`TransactionNotificationProvider` handles toast notifications and tx watching for both.
-
-### Token Management
-
-- Token lists configured in `src/constants/tokenLists.ts`
-- Fetch with `useTokenLists()` hook (Suspense-based). Tokens are deduplicated by `chainId + address` (lowercased). Native tokens are auto-injected for each configured chain.
-- Token prices/balances via `useTokens()` (LI.FI SDK)
-- `TokenInput` + `useTokenInput()` for amount input with validation
-- For raw bigint/decimal conversion in inputs, use `BigNumberInput` (wraps viem's `parseUnits`/`formatUnits`). Never use `parseFloat` or `Number()` for token amounts.
-
-### Wallet Provider
-
-- Default: ConnectKit (configured in `src/lib/wallets/connectkit.config.tsx`)
-- To switch: modify `src/providers/Web3Provider.tsx` imports
-- Alternatives available: RainbowKit (`rainbowkit.config.tsx`), Web3Modal (`web3modal.config.tsx`)
-
-## Auto-Generated Files (Do Not Edit, Do Not Commit)
-
-These files are gitignored and regenerated from source:
-
-- `src/hooks/generated.ts` -- regenerate with `pnpm wagmi-generate`
-- `src/routeTree.gen.ts` -- regenerate with `pnpm routes:generate`
-- `src/subgraphs/gql/` -- regenerate with `pnpm subgraph-codegen`
-
-## Utilities
-
-- **Number formatting:** Use `formatNumber()` from `src/utils/numberFormat.ts` with the appropriate `NumberType` context (`TokenTx`, `FiatTokenPrice`, `SwapPrice`, `PortfolioBalance`, etc.). Never use raw `.toString()` or `.toFixed()` for user-facing numbers.
-- **Explorer links:** `getExplorerLink()` from `src/utils/getExplorerLink.ts`
-- **String truncation:** `truncateStringInTheMiddle()`, `getTruncatedHash()` from `src/utils/strings.ts`
-- **Native token check:** `isNativeToken()` from `src/utils/address.ts`
-- **Hash detection:** `detectHash()` from `src/utils/hash.ts` -- identifies ENS names, transaction hashes, contract addresses, and EOAs
-
-## Testing
-
-- Framework: Vitest with jsdom environment
-- Test files: colocated as `*.test.ts` / `*.test.tsx`
-- Mocking: `vi.mock()` for module mocks
-- Component testing: Testing Library + jest-dom matchers
-- Run: `pnpm test` (single run) or `pnpm test:watch`
+Claude Code reads `CLAUDE.md` natively. If your agent reads `AGENTS.md` (Cursor, Windsurf, etc.), load rules from `CLAUDE.md` -- it is the single source of truth for this project's conventions, stack, and working rules.
diff --git a/CLAUDE.md b/CLAUDE.md
index cb3ccf5c..aa0deee8 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -1,9 +1,9 @@
# dAppBooster
-> This file is mirrored as `AGENTS.md` for non-Claude AI agents. Keep both files in sync when making changes.
-
A repository template / starter-kit for building decentralized applications (dApps). Built by BootNode based on 5+ years of dApp development. Docs: https://docs.dappbooster.dev/ Components: https://components.dappbooster.dev/
+System architecture, data flow, provider hierarchy, and structural conventions are documented in [architecture.md](./architecture.md). Read it when working on tasks that involve the system's structure or patterns.
+
## Requirements
- Node 24+ (see `.nvmrc`)
@@ -26,77 +26,66 @@ A repository template / starter-kit for building decentralized applications (dAp
Three hooks run automatically and will block on failure:
- **pre-commit:** lint-staged runs Biome check + Vitest on related files for staged changes
-- **commit-msg:** commitlint enforces conventional commit format. Valid types: `feat`, `fix`, `docs`, `test`, `ci`, `refactor`, `perf`, `chore`, `revert`. PR titles are also validated via CI.
+- **commit-msg:** commitlint enforces conventional commit format. Valid types: `feat`, `fix`, `docs`, `test`, `ci`, `refactor`, `perf`, `chore`, `revert`, `style`, `build`, `hotfix`, `wip`, `release`. PR titles are also validated via CI.
- **pre-push:** full `tsc --noEmit` type check (pushes with type errors will be rejected)
-## Quick Reference
-
-- **Dev server:** `pnpm dev`
-- **Build:** `pnpm build` (runs tsc + vite build)
-- **Lint:** `pnpm lint` (Biome) / `pnpm lint:fix`
-- **Test:** `pnpm test` / `pnpm test:watch` / `pnpm test:coverage`
-- **Generate contract hooks:** `pnpm wagmi-generate`
-- **Generate routes:** `pnpm routes:generate`
-- **Generate subgraph types:** `pnpm subgraph-codegen`
-- **Docs site:** `pnpm docs:dev`
-
-## Tech Stack
-
-- React 19 + TypeScript (strict mode, ESM -- `"type": "module"`, no `require()`)
-- Vite + SWC (fast JSX transform)
-- Wagmi 2 + viem 2 (Ethereum interaction)
-- TanStack Router (file-based routing with auto code-splitting)
-- TanStack Query (server state / data fetching)
-- Chakra UI 3 (component library + theming)
-- ConnectKit (default wallet connector; RainbowKit and Web3Modal also available)
-- LI.FI SDK (token prices/balances)
-- Zod + @t3-oss/env-core (environment variable validation)
-- Biome (linting + formatting)
-- Vitest + Testing Library (testing)
-
-## Project Structure
-
-```
-src/
- components/
- pageComponents/ # Page-level components (home/, weth/, demos/)
- sharedComponents/ # Reusable UI + business components
- ui/ # Chakra provider + theme setup
- hooks/ # Custom React hooks
- generated.ts # Auto-generated by wagmi-cli (do not edit)
- providers/ # Web3Provider, TransactionNotificationProvider
- routes/ # TanStack Router file-based routes
- __root.tsx # Root layout (provider stack + shell)
- lib/
- networks.config.ts # Chain + transport configuration
- wagmi/ # Wagmi CLI config + custom Suspense plugin
- wallets/ # ConnectKit, RainbowKit, Web3Modal configs
- constants/
- contracts/ # Contract ABIs + addresses per chain
- tokenLists.ts # Token list URLs
- common.ts # Shared constants (isDev, includeTestnets)
- types/ # TypeScript type definitions
- utils/ # Utility functions
- subgraphs/ # GraphQL codegen config + queries
- env.ts # Zod-validated environment variables
- main.tsx # Entry point
- routeTree.gen.ts # Auto-generated route tree (do not edit)
-```
-
-No top-level barrel exports. Import directly from each file/folder path.
-
-## Provider Stack
-
-The root layout (`src/routes/__root.tsx`) wraps the app in this order:
-
-```
-Chakra Provider (theme, color mode)
- Web3Provider (WagmiProvider -> QueryClientProvider -> WalletProvider)
- TransactionNotificationProvider (tx toast context)
- Header / Outlet (page) / Footer
-```
-
-New providers should be inserted at the appropriate layer based on their dependencies.
+## Commit Standards
+
+Use [Conventional Commits](https://www.conventionalcommits.org/):
+
+**Format:** `type(scope): subject`
+
+- **Scope** is optional: `feat: add login` and `feat(auth): add login` are both valid
+- **Subject** uses imperative mood, lowercase after the colon, no trailing period
+- **Body** (optional): separated by a blank line, explains *what* and *why*
+
+**Prefixes:**
+
+| Prefix | Purpose |
+|--------|---------|
+| `feat` | New feature |
+| `fix` | Bug fix |
+| `chore` | Maintenance, dependencies, config |
+| `docs` | Documentation only |
+| `refactor` | Code change that neither fixes a bug nor adds a feature |
+| `test` | Adding or updating tests |
+| `style` | Formatting, whitespace, semicolons |
+| `ci` | CI/CD pipeline changes |
+| `perf` | Performance improvement |
+| `build` | Build system or external dependencies |
+| `revert` | Reverts a previous commit |
+| `hotfix` | Urgent fix that bypasses the normal release cycle |
+| `wip` | Work in progress (avoid on main) |
+| `release` | Release-related changes |
+
+## PR Workflow
+
+- Every PR must reference an issue (`Closes #N`)
+
+ > No related issue? Use `No related issue.` as the first line of the Summary section.
+
+- Mirror the issue's acceptance criteria in the PR
+- Self-review your diff before requesting peer review
+- Keep PRs small and focused -- one issue, one PR
+- PR titles use the same conventional commit format (`feat: add user dashboard`)
+- Use `/sdlc:create-pr` to create PRs -- it reads the template and fills every section automatically
+
+## Label Conventions
+
+GitHub form dropdowns (like the Priority field in issue templates) only work through the web UI. When issues are created via `gh` CLI or REST API, dropdown values become unstructured body text -- not queryable, not consistent. **Labels are the API-reliable mechanism for structured metadata.**
+
+**Priority** (bugs, features, and epics):
+
+| Label | Description |
+|-------|-------------|
+| `priority: critical` | Blocking work, system down, or security issue |
+| `priority: high` | Must be addressed in current sprint |
+| `priority: medium` | Should be addressed soon |
+| `priority: low` | Nice to have, can wait |
+
+Labels are queryable: `gh issue list --label "priority: high"`.
+
+The `/sdlc:issue` skill applies these labels automatically when creating issues via CLI. Bug, feature, and epic templates include a Priority dropdown for web UI users, but labels are the source of truth for programmatic workflows.
## Code Style
@@ -139,17 +128,6 @@ The contracts array uses `as const satisfies ContractConfig[]` for full typ
Use `getContract(name, chainId)` to retrieve a typed contract config at runtime (e.g., `getContract('WETH', sepolia.id)` returns `{ abi, address }`).
-### Generated Hook Naming Convention
-
-`pnpm wagmi-generate` produces hooks in `src/hooks/generated.ts` following this naming pattern:
-
-- `useReadContractNameFunctionName` -- standard read hook
-- `useWriteContractNameFunctionName` -- write hook
-- `useSuspenseReadContractNameFunctionName` -- Suspense-enabled read hook
-- `useSimulateContractNameFunctionName` -- simulation hook
-
-Example: contract named `WETH` with function `allowance` generates `useReadWethAllowance`, `useWriteWethApprove`, `useSuspenseReadWethAllowance`, etc.
-
### Adding a New Route/Page
1. Create route file in `src/routes/` using `.lazy.tsx` extension for code-split lazy loading (e.g., `yourpage.lazy.tsx`). Use plain `.tsx` only for routes that must be eagerly loaded.
@@ -169,43 +147,6 @@ Example: contract named `WETH` with function `allowance` generates `useReadWethA
- Access via `import { env } from '@/src/env'` (never `import.meta.env` directly)
- New variables MUST be added to both `.env.example` and `src/env.ts`
-### Web3 Status
-
-- Use `useWeb3Status()` for unified wallet/chain state
-- Use `useWeb3StatusConnected()` when wallet connection is guaranteed (throws otherwise)
-- Use `withWalletStatusVerifier()` HOC to gate components behind wallet connection
-
-### Suspense and Error Boundaries
-
-- Contract read hooks use React Suspense via custom `reactSuspenseRead` wagmi plugin
-- `useTokenLists` is Suspense-based
-- Wrap async components with `withSuspenseAndRetry()` from `src/utils/suspenseWrapper.tsx` -- this is the primary error boundary pattern. It integrates with TanStack Query's `QueryErrorResetBoundary` for automatic retry on query failures.
-- `withSuspenseAndRetry` accepts: `suspenseFallback`, `errorFallback`, `defaultFallbackFormat` ('dialog' | 'default'), `spinnerSize`
-- Simpler variant `withSuspense()` available when retry logic is not needed
-
-### Transaction Handling
-
-Two components for two different jobs -- both auto-wrap with `withWalletStatusVerifier` (do not double-wrap):
-
-- **`TransactionButton`** -- for on-chain transactions. Takes `transaction: () => Promise` prop. Attach a `methodId` string property to the function for notification context. Calls `onMined(receipt)` on confirmation.
-- **`SignButton`** -- for message signing only (uses `useSignMessage`). Takes `message`, `onSign`, `onError` props.
-
-`TransactionNotificationProvider` handles toast notifications and tx watching for both.
-
-### Token Management
-
-- Token lists configured in `src/constants/tokenLists.ts`
-- Fetch with `useTokenLists()` hook (Suspense-based). Tokens are deduplicated by `chainId + address` (lowercased). Native tokens are auto-injected for each configured chain.
-- Token prices/balances via `useTokens()` (LI.FI SDK)
-- `TokenInput` + `useTokenInput()` for amount input with validation
-- For raw bigint/decimal conversion in inputs, use `BigNumberInput` (wraps viem's `parseUnits`/`formatUnits`). Never use `parseFloat` or `Number()` for token amounts.
-
-### Wallet Provider
-
-- Default: ConnectKit (configured in `src/lib/wallets/connectkit.config.tsx`)
-- To switch: modify `src/providers/Web3Provider.tsx` imports
-- Alternatives available: RainbowKit (`rainbowkit.config.tsx`), Web3Modal (`web3modal.config.tsx`)
-
## Auto-Generated Files (Do Not Edit, Do Not Commit)
These files are gitignored and regenerated from source:
@@ -214,14 +155,6 @@ These files are gitignored and regenerated from source:
- `src/routeTree.gen.ts` -- regenerate with `pnpm routes:generate`
- `src/subgraphs/gql/` -- regenerate with `pnpm subgraph-codegen`
-## Utilities
-
-- **Number formatting:** Use `formatNumber()` from `src/utils/numberFormat.ts` with the appropriate `NumberType` context (`TokenTx`, `FiatTokenPrice`, `SwapPrice`, `PortfolioBalance`, etc.). Never use raw `.toString()` or `.toFixed()` for user-facing numbers.
-- **Explorer links:** `getExplorerLink()` from `src/utils/getExplorerLink.ts`
-- **String truncation:** `truncateStringInTheMiddle()`, `getTruncatedHash()` from `src/utils/strings.ts`
-- **Native token check:** `isNativeToken()` from `src/utils/address.ts`
-- **Hash detection:** `detectHash()` from `src/utils/hash.ts` -- identifies ENS names, transaction hashes, contract addresses, and EOAs
-
## Testing
- Framework: Vitest with jsdom environment
@@ -229,3 +162,33 @@ These files are gitignored and regenerated from source:
- Mocking: `vi.mock()` for module mocks
- Component testing: Testing Library + jest-dom matchers
- Run: `pnpm test` (single run) or `pnpm test:watch`
+- **What to test:** Business logic, API integrations, component behavior
+- **What not to test:** Styling, third-party library internals, trivial getters/setters
+- **Coverage:** Aim for meaningful coverage, not a number. Cover the paths that matter.
+
+## Guardrails
+
+- Do not commit secrets, API keys, or credentials
+- Do not modify CI/CD pipelines without team review
+- Do not skip tests or linting to make a build pass
+- When in doubt, ask -- don't assume
+
+## Change Strategy
+
+- Prefer small, focused diffs over broad refactors
+- Preserve existing UX unless the task explicitly changes it
+- Avoid introducing new patterns when a project pattern already exists
+- Update docs only when behavior or workflow changes
+
+## Validation Checklist
+
+Run before declaring work done:
+
+- `pnpm lint`
+- `pnpm test`
+- `pnpm build` (when feasible for runtime-impacting changes)
+
+## References
+
+- [dAppBooster Docs](https://docs.dappbooster.dev/)
+- [Component Library](https://components.dappbooster.dev/)
diff --git a/architecture.md b/architecture.md
new file mode 100644
index 00000000..d7d81948
--- /dev/null
+++ b/architecture.md
@@ -0,0 +1,269 @@
+# Architecture Overview
+
+
+
+## Tech Stack
+
+| Category | Technology | Notes |
+|----------|-----------|-------|
+| Framework | React 19 | StrictMode enabled |
+| Language | TypeScript 6 (strict, ESM) | Path aliases: `@/src/*`, `@packageJSON` |
+| Blockchain | wagmi 2 + viem 2 | Type-safe Ethereum interaction |
+| Data fetching | TanStack Query 5, graphql-request | Suspense-based contract reads |
+| Routing | TanStack Router | File-based with auto code-splitting |
+| UI | Chakra UI 3 + Emotion | Semantic tokens, light/dark mode |
+| Testing | Vitest + Testing Library | jsdom environment, colocated test files |
+| Build | Vite 8 + React plugin | Manual chunk splitting for vendors |
+| Linting | Biome | Format + lint in one tool |
+| Env validation | Zod + @t3-oss/env-core | All vars `PUBLIC_` prefixed |
+
+## Project Structure
+
+```
+src/
+ components/
+ pageComponents/ Page-level components (home/, demos/)
+ sharedComponents/ Reusable UI + business components
+ ui/ Chakra provider, color mode, toaster, tooltip
+ hooks/ Custom React hooks
+ generated.ts Auto-generated by wagmi-cli (do not edit)
+ providers/ Web3Provider, TransactionNotificationProvider
+ routes/ TanStack Router file-based routes
+ __root.tsx Root layout (provider stack + shell)
+ lib/
+ networks.config.ts Chain + transport configuration
+ wagmi/ Wagmi CLI config + custom Suspense plugin
+ wallets/ ConnectKit, RainbowKit, Web3Modal, Porto configs
+ constants/
+ contracts/ Contract ABIs + addresses per chain
+ tokenLists.ts Token list URLs
+ common.ts Shared constants (isDev, includeTestnets)
+ types/ TypeScript type definitions (Token via Zod)
+ utils/ Utility functions
+ subgraphs/ GraphQL codegen config + queries
+ env.ts Zod-validated environment variables
+ main.tsx Entry point
+ routeTree.gen.ts Auto-generated route tree (do not edit)
+```
+
+No top-level barrel exports. Import directly from each file/folder path.
+
+## Key Abstractions
+
+**Component structure** -- simple components are a single file; complex components use a folder:
+```
+ComponentName/
+ index.tsx main component and public API
+ Components.tsx sub-components (styled primitives, layout pieces)
+ styles.ts style objects consumed via Chakra's css prop
+ useComponentName.ts dedicated hook (optional)
+```
+
+**HOC patterns:**
+- `withSuspenseAndRetry(Component)` -- primary pattern for async components; wraps in `QueryErrorResetBoundary` + `ErrorBoundary` + `Suspense` for automatic retry on query failures
+- `withSuspense(Component)` -- simpler variant without retry
+
+**Contract hooks** (auto-generated by wagmi-cli from ABIs):
+- `useRead{Contract}{Function}` -- standard read
+- `useSuspenseRead{Contract}{Function}` -- Suspense-enabled read (preferred)
+- `useWrite{Contract}{Function}` -- write/mutation
+- `useSimulate{Contract}{Function}` -- simulation before write
+
+**Contract lookup:** `getContract(name, chainId)` from `src/constants/contracts/contracts.ts` returns typed `{ abi, address }`. Validates address with `isAddress()`, throws with a helpful message if not found.
+
+**Utility functions** (`src/utils/`):
+- `formatNumber(value, type)` -- user-facing number formatting with `NumberType` contexts (`TokenTx`, `FiatTokenPrice`, `SwapPrice`, `PortfolioBalance`)
+- `getExplorerLink(chainId, hash, type)` -- block explorer URLs per chain
+- `truncateStringInTheMiddle(str)`, `getTruncatedHash(hash)` -- string display helpers
+- `isNativeToken(address)` -- checks against native token address
+- `detectHash(str)` -- identifies ENS names, tx hashes, contract addresses, EOAs
+
+### Data Access Layer
+
+Four external data paths. Components never call external services directly -- they use hooks.
+
+1. **Blockchain reads**: `useSuspenseRead{Contract}{Function}` hooks (generated) -> wagmi `readContract` -> TanStack Query cache. All contract reads are Suspense-based via the custom `reactSuspenseRead` wagmi plugin in `src/lib/wagmi/plugins/`.
+
+2. **Blockchain writes**: `TransactionButton` calls `transaction: () => Promise` prop -> wagmi `writeContract` -> `useWaitForTransactionReceipt` -> `TransactionNotificationProvider` toasts (loading, success/revert, explorer link).
+
+3. **Subgraph queries**: `graphql-request` with typed document nodes from `@graphql-codegen` -> TanStack Query cache. Queries live in `src/subgraphs/queries/`, generated types in `src/subgraphs/gql/`.
+
+4. **Token data**: LI.FI SDK (`getChains` -> `getTokens` -> `getTokenBalances`) via `useTokens` hook. Token lists fetched in parallel via `useTokenLists` (Suspense-based, source: CoinGecko, optional Uniswap default list). Tokens deduplicated by `chainId + address`, native tokens auto-injected per chain.
+
+## Routes
+
+| Route | Module | Description |
+|-------|--------|-------------|
+| `/` | `src/components/pageComponents/home/` | Landing page with welcome + feature demos |
+| `*` | `src/components/pageComponents/NotFound404.tsx` | Catch-all 404 page |
+
+File-based routing via TanStack Router. Use `.lazy.tsx` extension for code-split lazy loading; plain `.tsx` only for routes that must eagerly load. Route tree auto-generates to `src/routeTree.gen.ts` via the TanStack Router Vite plugin.
+
+## Data Flow
+
+```
+External source Data layer State UI
+─────────────── ────────── ───── ──
+EVM chains (RPC) ───> wagmi readContract ───> TanStack Query cache ───> Chakra components
+EVM chains (write) ───> wagmi writeContract ───> TransactionContext ───> Toast notifications
+The Graph subgraphs ───> graphql-request ───> TanStack Query cache ───> Chakra components
+LI.FI API (prices/balances) ───> @lifi/sdk ───> TanStack Query cache ───> Chakra components
+Token list URLs ───> fetch + Zod validate ───> TanStack Query cache ───> Chakra components
+```
+
+Caching strategy:
+- All async state lives in TanStack Query. Components do not hold async data in local state.
+- Token lists: `staleTime: 1 hour`, `gcTime: 1 hour`.
+- Token balances: refreshed every ~32s (`BALANCE_EXPIRATION_TIME`).
+- Contract reads: Suspense-based -- component suspends until data arrives, then cached normally.
+
+## Environment Variables
+
+All variables use the `PUBLIC_` prefix and are validated with Zod in `src/env.ts`. Access via `import { env } from '@/src/env'` -- never `import.meta.env` directly.
+
+**App**
+
+| Variable | Required | Purpose |
+|----------|----------|---------|
+| `PUBLIC_APP_NAME` | yes | Application name |
+| `PUBLIC_APP_DESCRIPTION` | no | App description |
+| `PUBLIC_APP_URL` | no | Canonical URL |
+| `PUBLIC_APP_LOGO` | no | Logo URL |
+| `PUBLIC_ENABLE_PORTO` | no (default: true) | Enable Porto wallet connector |
+| `PUBLIC_INCLUDE_TESTNETS` | no (default: true) | Include testnet chains |
+| `PUBLIC_USE_DEFAULT_TOKENS` | no (default: true) | Include Uniswap default token list |
+
+**RPC endpoints** (all optional -- wagmi falls back to public RPCs)
+
+`PUBLIC_RPC_MAINNET`, `PUBLIC_RPC_OPTIMISM`, `PUBLIC_RPC_POLYGON`, `PUBLIC_RPC_ARBITRUM`, `PUBLIC_RPC_BASE`, `PUBLIC_RPC_GNOSIS`, `PUBLIC_RPC_SEPOLIA`, `PUBLIC_RPC_OPTIMISM_SEPOLIA`, `PUBLIC_RPC_ARBITRUM_SEPOLIA`, `PUBLIC_RPC_BASE_SEPOLIA`, `PUBLIC_RPC_GNOSIS_CHIADO`, `PUBLIC_RPC_POLYGON_MUMBAI`
+
+**Wallet / API**
+
+| Variable | Required | Purpose |
+|----------|----------|---------|
+| `PUBLIC_WALLETCONNECT_PROJECT_ID` | no (default: '') | WalletConnect project ID |
+| `PUBLIC_ALCHEMY_KEY` | no | Alchemy RPC key |
+| `PUBLIC_INFURA_KEY` | no | Infura RPC key |
+| `PUBLIC_NATIVE_TOKEN_ADDRESS` | no (default: `0x0...0`) | Native token sentinel address |
+
+**Subgraph** (all-or-nothing: set all or remove subgraph code)
+
+| Variable | Required | Purpose |
+|----------|----------|---------|
+| `PUBLIC_SUBGRAPHS_API_KEY` | yes | The Graph API key |
+| `PUBLIC_SUBGRAPHS_CHAINS_RESOURCE_IDS` | yes | `chainId:subgraphId:resourceId` comma-separated |
+| `PUBLIC_SUBGRAPHS_ENVIRONMENT` | no (default: production) | `development` or `production` |
+| `PUBLIC_SUBGRAPHS_DEVELOPMENT_URL` | no | Dev subgraph URL template |
+| `PUBLIC_SUBGRAPHS_PRODUCTION_URL` | no | Production subgraph URL template |
+
+## Scripts
+
+| Command | Purpose |
+|---------|---------|
+| `pnpm dev` | Vite dev server + TanStack Router route watching |
+| `pnpm build` | `tsc --noEmit` + Vite production build |
+| `pnpm test` | Vitest single run |
+| `pnpm test:watch` | Vitest watch mode |
+| `pnpm test:coverage` | Coverage report (v8) |
+| `pnpm lint` | Biome check |
+| `pnpm lint:fix` | Biome auto-fix |
+| `pnpm wagmi-generate` | Generate typed contract hooks from ABIs into `src/hooks/generated.ts` |
+| `pnpm routes:generate` | Generate TanStack Router route tree into `src/routeTree.gen.ts` |
+| `pnpm subgraph-codegen` | Generate GraphQL types from subgraph schemas into `src/subgraphs/gql/` |
+| `pnpm docs:dev` | Documentation site dev server (vocs) |
+
+---
+
+## Domain-Specific Sections
+
+### Number / Precision Handling
+
+Token amounts are always `bigint` internally. Never use `parseFloat`, `Number()`, or `.toFixed()` on token values.
+
+- **Input**: `BigNumberInput` component wraps `react-number-format` + viem's `parseUnits` / `formatUnits`. The `BigNumberInput` is the only place raw user strings convert to bigint.
+- **Display**: `formatNumber(value, type)` from `src/utils/numberFormat.ts` with a `NumberType` context that sets decimal precision and formatting rules:
+ - `TokenTx` -- token transaction amounts
+ - `FiatTokenPrice` -- USD prices
+ - `SwapPrice` -- swap rate display
+ - `PortfolioBalance` -- portfolio totals
+- The bigint -> formatted string conversion only happens at the UI boundary.
+
+### Provider / Context Hierarchy
+
+From `src/routes/__root.tsx`, outermost to innermost:
+
+```
+Chakra Provider (theme system, color mode via next-themes, default: dark)
+ Web3Provider
+ WagmiProvider (chains, transports, wallet connectors)
+ QueryClientProvider (TanStack Query client)
+ WalletProvider (ConnectKit wallet UI)
+ TransactionNotificationProvider (tx/signature toast context)
+ Header
+ Outlet (page content)
+ Footer
+ Devtools (React Query + Router devtools, dev only)
+ Vercel Analytics
+ Toaster
+```
+
+When adding a new provider: place it inside the outermost provider it depends on. Anything needing blockchain access goes inside `Web3Provider`. Anything needing tx notifications goes inside `TransactionNotificationProvider`.
+
+### Hook Patterns
+
+**Generated contract hooks** (`src/hooks/generated.ts`, auto-generated by `pnpm wagmi-generate`):
+- `useRead{Contract}{Function}` -- standard read, manual refetch
+- `useSuspenseRead{Contract}{Function}` -- Suspense read (preferred; component suspends until resolved)
+- `useWrite{Contract}{Function}` -- write/mutation
+- `useSimulate{Contract}{Function}` -- simulate before write to surface errors early
+
+**Web3 connection state** (`src/hooks/useWeb3Status.tsx`):
+- `useWeb3Status()` -- returns `{ readOnlyClient, appChainId, address, isWalletConnected, isWalletSynced, switchChain, disconnect, ... }`
+
+**Token hooks**:
+- `useTokens()` -- token list + LI.FI prices + account balances, sorted by balance value
+- `useTokenLists()` -- Suspense-based parallel fetch of all configured token list URLs
+- `useTokenInput()` -- manages selected token + amount state, fetches balance
+- `useTokenSearch(tokens, query)` -- filters by name or symbol
+
+**Suspense convention**: all contract reads use Suspense. Wrap consuming components with `withSuspenseAndRetry()` to handle the loading and error states.
+
+### Error Handling Patterns
+
+**`withSuspenseAndRetry(Component)`** (`src/utils/suspenseWrapper.tsx`) -- primary pattern:
+- Wraps in `QueryErrorResetBoundary` (TanStack Query) + `ErrorBoundary` + `Suspense`
+- On error: shows error UI with a retry button that resets the query and re-renders
+- Props: `suspenseFallback`, `errorFallback`, `defaultFallbackFormat` (`'default'` | `'dialog'`), `spinnerSize`
+
+**`withSuspense(Component)`** -- simpler variant when retry is not needed (no query resets).
+
+**`defaultFallbackFormat: 'dialog'`** -- renders the error in a modal. Use for critical errors where inline display is disruptive.
+
+**Transaction errors** -- handled by `TransactionNotificationProvider`. It catches rejected signatures, reverted transactions, and gas estimation failures, and surfaces them as toast notifications with user-friendly messages. Handles transaction replacement (gas bump) and cancellation by the wallet.
+
+### Smart Contract Integration
+
+Contracts are registered centrally and consumed via generated hooks.
+
+1. **ABIs**: stored as `as const` typed exports in `src/constants/contracts/abis/`.
+2. **Registration**: `src/constants/contracts/contracts.ts` -- array typed as `ContractConfig[]` with `name`, `abi`, and optional `address: { [chainId]: '0x...' }`.
+3. **Runtime lookup**: `getContract(name, chainId)` returns `{ abi, address }` -- throws if contract or chain address not found.
+4. **Hook generation**: `pnpm wagmi-generate` reads the contracts array and writes `src/hooks/generated.ts`. The custom `reactSuspenseRead` plugin in `src/lib/wagmi/plugins/reactSuspenseRead.ts` adds Suspense variants for all read functions.
+
+To add a new contract: save the ABI, add it to the contracts array, run `pnpm wagmi-generate`.
+
+### Wallet Access Control
+
+**`WalletStatusVerifier`** component (`src/components/sharedComponents/WalletStatusVerifier.tsx`) -- renders a fallback cascade based on wallet state:
+1. Not connected -> `ConnectWalletButton`
+2. Connected but `walletChainId !== targetChainId` (where `targetChainId` is the optional `chainId` prop if provided, otherwise `appChainId`) -> "Switch to [Network]" button
+3. Connected + synced -> renders children
+
+`useWeb3StatusConnected()` (same file) -- companion hook that provides typed connected-wallet status (`address`, `readOnlyClient`, etc.) inside the `` tree. Throws a `DeveloperError` if called outside it.
+
+`TransactionButton` and `SignButton` use the `useWalletStatus()` hook directly for inline wallet state checks rather than wrapping with the `WalletStatusVerifier` component.
+
+Sync check: `isWalletSynced = isWalletConnected && walletChainId === appChainId`.
diff --git a/biome.json b/biome.json
index da16e165..2a2495da 100644
--- a/biome.json
+++ b/biome.json
@@ -1,15 +1,13 @@
{
- "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
- "organizeImports": {
- "enabled": true
- },
+ "$schema": "https://biomejs.dev/schemas/2.4.10/schema.json",
+ "assist": { "actions": { "source": { "organizeImports": "on" } } },
"vcs": {
"clientKind": "git",
"enabled": true,
"useIgnoreFile": true
},
"files": {
- "ignore": ["src/routeTree.gen.ts", ".install-files/**/*"]
+ "includes": ["**", "!**/src/routeTree.gen.ts", "!**/.install-files/**/*"]
},
"formatter": {
"attributePosition": "multiline",
diff --git a/commitlint.config.js b/commitlint.config.js
index 7c4ff4d9..45f89143 100644
--- a/commitlint.config.js
+++ b/commitlint.config.js
@@ -1 +1,25 @@
-export default { extends: ['@commitlint/config-conventional'] }
+export default {
+ extends: ['@commitlint/config-conventional'],
+ rules: {
+ 'type-enum': [
+ 2,
+ 'always',
+ [
+ 'build',
+ 'chore',
+ 'ci',
+ 'docs',
+ 'feat',
+ 'fix',
+ 'hotfix',
+ 'perf',
+ 'refactor',
+ 'release',
+ 'revert',
+ 'style',
+ 'test',
+ 'wip',
+ ],
+ ],
+ },
+}
diff --git a/package.json b/package.json
index 29e5067f..eb5ba679 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "dappbooster",
"private": true,
- "version": "2.0.4",
+ "version": "2.5.0",
"type": "module",
"scripts": {
"build": "tsc --noEmit --pretty && vite build",
@@ -33,63 +33,68 @@
"@reown/appkit": "^1.8.19",
"@reown/appkit-adapter-wagmi": "^1.8.19",
"@t3-oss/env-core": "^0.13.11",
- "@tanstack/react-query": "^5.95.2",
- "@tanstack/react-router": "^1.168.3",
+ "@tanstack/react-query": "^5.96.1",
+ "@tanstack/react-router": "^1.168.10",
"@tanstack/react-virtual": "^3.13.23",
- "@uniswap/default-token-list": "^13.33.0",
- "@vercel/analytics": "^1.5.0",
+ "@uniswap/default-token-list": "^18.13.0",
+ "@vercel/analytics": "^2.0.1",
"@web3icons/core": "^4.0.13",
"@web3icons/react": "^4.0.13",
- "connectkit": "^1.9.0",
- "graphql": "^16.13.1",
+ "buffer": "^6.0.3",
+ "connectkit": "^1.9.2",
+ "graphql": "^16.13.2",
"graphql-request": "^7.1.2",
"next-themes": "^0.4.6",
"porto": "^0.2.28",
- "react": "19.1.0",
- "react-dom": "19.1.0",
+ "react": "19.2.4",
+ "react-dom": "19.2.4",
"react-error-boundary": "^6.0.0",
"react-jazzicon": "^1.0.4",
"react-number-format": "^5.4.5",
- "use-debounce": "^10.0.4",
+ "use-debounce": "^10.1.1",
"viem": "^2.47.6",
"wagmi": "^2.17.5",
- "zod": "^3.24.4"
+ "zod": "^4"
},
"devDependencies": {
- "@biomejs/biome": "1.9.4",
- "@commitlint/cli": "^19.8.1",
- "@commitlint/config-conventional": "^19.8.1",
- "@graphql-codegen/cli": "^5.0.6",
+ "@biomejs/biome": "2.4.10",
+ "@commitlint/cli": "^20.5.0",
+ "@commitlint/config-conventional": "^20.5.0",
+ "@graphql-codegen/cli": "^6",
"@graphql-typed-document-node/core": "^3.2.0",
"@parcel/watcher": "^2.5.1",
- "@tanstack/react-query-devtools": "^5.95.2",
- "@tanstack/router-cli": "^1.166.18",
- "@tanstack/router-devtools": "^1.166.11",
- "@tanstack/router-plugin": "^1.167.4",
+ "@tanstack/react-query-devtools": "^5.96.1",
+ "@tanstack/react-router-devtools": "^1.166.11",
+ "@tanstack/router-cli": "^1.166.25",
+ "@tanstack/router-plugin": "^1.167.12",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/react": "^19.1.3",
"@types/react-dom": "^19.1.3",
- "@vitejs/plugin-react-swc": "^3.9.0",
- "@vitest/coverage-v8": "^3.1.3",
+ "@vitejs/plugin-react": "^6.0.1",
+ "@vitest/coverage-v8": "^4.1.2",
"@wagmi/cli": "^2.3.1",
"change-case": "^5.4.4",
"husky": "^9.1.7",
- "jsdom": "^26.1.0",
- "lint-staged": "^15.5.2",
+ "jsdom": "^29.0.1",
+ "lint-staged": "^16.4.0",
"ts-node": "^10.9.2",
- "typedoc": "^0.28.4",
- "typedoc-github-theme": "^0.3.0",
+ "typedoc": "^0.28.18",
+ "typedoc-github-theme": "^0.4.0",
"typedoc-plugin-inline-sources": "^1.3.0",
"typedoc-plugin-missing-exports": "^4.0.0",
"typedoc-plugin-rename-defaults": "^0.7.3",
- "typescript": "^5.8.3",
- "vite": "^6.3.5",
- "vite-plugin-sitemap": "^0.7.1",
- "vite-tsconfig-paths": "^5.1.4",
- "vitest": "^3.1.3",
- "vocs": "1.0.11"
+ "typescript": "^6",
+ "vite": "^8",
+ "vite-plugin-sitemap": "^0.8.2",
+ "vitest": "^4.1.2",
+ "vocs": "1.4.1"
},
- "packageManager": "pnpm@10.30.2"
+ "packageManager": "pnpm@10.33.0",
+ "pnpm": {
+ "overrides": {
+ "@graphql-codegen/cli": "^6"
+ }
+ }
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f30a3eb9..d35cd3f5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,134 +4,140 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ '@graphql-codegen/cli': ^6
+
importers:
.:
dependencies:
'@bootnodedev/db-subgraph':
specifier: ^0.1.2
- version: 0.1.2(@parcel/watcher@2.5.6)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql-tag@2.12.6(graphql@16.13.1))(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
+ version: 0.1.2(@parcel/watcher@2.5.6)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql-tag@2.12.6(graphql@16.13.2))(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
'@chakra-ui/react':
specifier: ^3.34.0
- version: 3.34.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 3.34.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@emotion/react':
specifier: ^11.14.0
- version: 11.14.0(@types/react@19.2.14)(react@19.1.0)
+ version: 11.14.0(@types/react@19.2.14)(react@19.2.4)
'@lifi/sdk':
specifier: ^3.16.3
- version: 3.16.3(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
+ version: 3.16.3(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
'@rainbow-me/rainbowkit':
specifier: ^2.2.9
- version: 2.2.10(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.3)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))
+ version: 2.2.10(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@6.0.2)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))
'@reown/appkit':
specifier: ^1.8.19
- version: 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
+ version: 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
'@reown/appkit-adapter-wagmi':
specifier: ^1.8.19
- version: 1.8.19(3041b67b8915d842a532aec1c6c6eb72)
+ version: 1.8.19(2de72959fc98ac49fc53ea96fd4099ec)
'@t3-oss/env-core':
specifier: ^0.13.11
- version: 0.13.11(typescript@5.9.3)(valibot@1.2.0(typescript@5.9.3))(zod@3.25.76)
+ version: 0.13.11(typescript@6.0.2)(valibot@1.2.0(typescript@6.0.2))(zod@4.3.6)
'@tanstack/react-query':
- specifier: ^5.95.2
- version: 5.95.2(react@19.1.0)
+ specifier: ^5.96.1
+ version: 5.96.1(react@19.2.4)
'@tanstack/react-router':
- specifier: ^1.168.3
- version: 1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ specifier: ^1.168.10
+ version: 1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@tanstack/react-virtual':
specifier: ^3.13.23
- version: 3.13.23(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 3.13.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@uniswap/default-token-list':
- specifier: ^13.33.0
- version: 13.47.0
+ specifier: ^18.13.0
+ version: 18.13.0
'@vercel/analytics':
- specifier: ^1.5.0
- version: 1.6.1(react@19.1.0)
+ specifier: ^2.0.1
+ version: 2.0.1(react@19.2.4)
'@web3icons/core':
specifier: ^4.0.13
- version: 4.0.51(typescript@5.9.3)
+ version: 4.0.51(typescript@6.0.2)
'@web3icons/react':
specifier: ^4.0.13
- version: 4.1.17(react@19.1.0)(typescript@5.9.3)
+ version: 4.1.17(react@19.2.4)(typescript@6.0.2)
+ buffer:
+ specifier: ^6.0.3
+ version: 6.0.3
connectkit:
- specifier: ^1.9.0
- version: 1.9.1(@babel/core@7.29.0)(@tanstack/react-query@5.95.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))
+ specifier: ^1.9.2
+ version: 1.9.2(@babel/core@7.29.0)(@tanstack/react-query@5.96.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-is@17.0.2)(react@19.2.4)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))
graphql:
- specifier: ^16.13.1
- version: 16.13.1
+ specifier: ^16.13.2
+ version: 16.13.2
graphql-request:
specifier: ^7.1.2
- version: 7.4.0(graphql@16.13.1)
+ version: 7.4.0(graphql@16.13.2)
next-themes:
specifier: ^0.4.6
- version: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
porto:
specifier: ^0.2.28
- version: 0.2.37(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(@wagmi/core@3.4.0(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(ox@0.14.7(typescript@5.9.3)(zod@3.25.76))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))
+ version: 0.2.37(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(@wagmi/core@3.4.0(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(ox@0.14.7(typescript@6.0.2)(zod@4.3.6))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))
react:
- specifier: 19.1.0
- version: 19.1.0
+ specifier: 19.2.4
+ version: 19.2.4
react-dom:
- specifier: 19.1.0
- version: 19.1.0(react@19.1.0)
+ specifier: 19.2.4
+ version: 19.2.4(react@19.2.4)
react-error-boundary:
specifier: ^6.0.0
- version: 6.1.1(react@19.1.0)
+ version: 6.1.1(react@19.2.4)
react-jazzicon:
specifier: ^1.0.4
- version: 1.0.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 1.0.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react-number-format:
specifier: ^5.4.5
- version: 5.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 5.4.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
use-debounce:
- specifier: ^10.0.4
- version: 10.1.0(react@19.1.0)
+ specifier: ^10.1.1
+ version: 10.1.1(react@19.2.4)
viem:
specifier: ^2.47.6
- version: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ version: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
wagmi:
specifier: ^2.17.5
- version: 2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
+ version: 2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
zod:
- specifier: ^3.24.4
- version: 3.25.76
+ specifier: ^4
+ version: 4.3.6
devDependencies:
'@biomejs/biome':
- specifier: 1.9.4
- version: 1.9.4
+ specifier: 2.4.10
+ version: 2.4.10
'@commitlint/cli':
- specifier: ^19.8.1
- version: 19.8.1(@types/node@25.3.0)(typescript@5.9.3)
+ specifier: ^20.5.0
+ version: 20.5.0(@types/node@25.3.0)(conventional-commits-parser@6.4.0)(typescript@6.0.2)
'@commitlint/config-conventional':
- specifier: ^19.8.1
- version: 19.8.1
+ specifier: ^20.5.0
+ version: 20.5.0
'@graphql-codegen/cli':
- specifier: ^5.0.6
- version: 5.0.7(@parcel/watcher@2.5.6)(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ specifier: ^6
+ version: 6.2.1(@parcel/watcher@2.5.6)(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(typescript@6.0.2)(utf-8-validate@5.0.10)
'@graphql-typed-document-node/core':
specifier: ^3.2.0
- version: 3.2.0(graphql@16.13.1)
+ version: 3.2.0(graphql@16.13.2)
'@parcel/watcher':
specifier: ^2.5.1
version: 2.5.6
'@tanstack/react-query-devtools':
- specifier: ^5.95.2
- version: 5.95.2(@tanstack/react-query@5.95.2(react@19.1.0))(react@19.1.0)
- '@tanstack/router-cli':
- specifier: ^1.166.18
- version: 1.166.18
- '@tanstack/router-devtools':
+ specifier: ^5.96.1
+ version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4)
+ '@tanstack/react-router-devtools':
specifier: ^1.166.11
- version: 1.166.11(@tanstack/react-router@1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.168.3)(csstype@3.2.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 1.166.11(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.168.9)(csstype@3.2.3)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@tanstack/router-cli':
+ specifier: ^1.166.25
+ version: 1.166.25
'@tanstack/router-plugin':
- specifier: ^1.167.4
- version: 1.167.4(@tanstack/react-router@1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))
+ specifier: ^1.167.12
+ version: 1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))
'@testing-library/jest-dom':
specifier: ^6.6.3
version: 6.9.1
'@testing-library/react':
specifier: ^16.3.0
- version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@testing-library/user-event':
specifier: ^14.6.1
version: 14.6.1(@testing-library/dom@10.4.1)
@@ -141,15 +147,15 @@ importers:
'@types/react-dom':
specifier: ^19.1.3
version: 19.2.3(@types/react@19.2.14)
- '@vitejs/plugin-react-swc':
- specifier: ^3.9.0
- version: 3.11.0(@swc/helpers@0.5.19)(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@vitejs/plugin-react':
+ specifier: ^6.0.1
+ version: 6.0.1(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))
'@vitest/coverage-v8':
- specifier: ^3.1.3
- version: 3.2.4(vitest@3.2.4(@types/debug@4.1.13)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))
+ specifier: ^4.1.2
+ version: 4.1.2(vitest@4.1.2(@types/node@25.3.0)(jsdom@29.0.1(@noble/hashes@1.8.0))(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)))
'@wagmi/cli':
specifier: ^2.3.1
- version: 2.10.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ version: 2.10.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
change-case:
specifier: ^5.4.4
version: 5.4.4
@@ -157,47 +163,44 @@ importers:
specifier: ^9.1.7
version: 9.1.7
jsdom:
- specifier: ^26.1.0
- version: 26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ specifier: ^29.0.1
+ version: 29.0.1(@noble/hashes@1.8.0)
lint-staged:
- specifier: ^15.5.2
- version: 15.5.2
+ specifier: ^16.4.0
+ version: 16.4.0
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.19))(@types/node@25.3.0)(typescript@5.9.3)
+ version: 10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.19))(@types/node@25.3.0)(typescript@6.0.2)
typedoc:
- specifier: ^0.28.4
- version: 0.28.17(typescript@5.9.3)
+ specifier: ^0.28.18
+ version: 0.28.18(typescript@6.0.2)
typedoc-github-theme:
- specifier: ^0.3.0
- version: 0.3.1(typedoc@0.28.17(typescript@5.9.3))
+ specifier: ^0.4.0
+ version: 0.4.0(typedoc@0.28.18(typescript@6.0.2))
typedoc-plugin-inline-sources:
specifier: ^1.3.0
- version: 1.3.0(typedoc@0.28.17(typescript@5.9.3))
+ version: 1.3.0(typedoc@0.28.18(typescript@6.0.2))
typedoc-plugin-missing-exports:
specifier: ^4.0.0
- version: 4.1.2(typedoc@0.28.17(typescript@5.9.3))
+ version: 4.1.2(typedoc@0.28.18(typescript@6.0.2))
typedoc-plugin-rename-defaults:
specifier: ^0.7.3
- version: 0.7.3(typedoc@0.28.17(typescript@5.9.3))
+ version: 0.7.3(typedoc@0.28.18(typescript@6.0.2))
typescript:
- specifier: ^5.8.3
- version: 5.9.3
+ specifier: ^6
+ version: 6.0.2
vite:
- specifier: ^6.3.5
- version: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ specifier: ^8
+ version: 8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)
vite-plugin-sitemap:
- specifier: ^0.7.1
- version: 0.7.1
- vite-tsconfig-paths:
- specifier: ^5.1.4
- version: 5.1.4(typescript@5.9.3)(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))
+ specifier: ^0.8.2
+ version: 0.8.2
vitest:
- specifier: ^3.1.3
- version: 3.2.4(@types/debug@4.1.13)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ specifier: ^4.1.2
+ version: 4.1.2(@types/node@25.3.0)(jsdom@29.0.1(@noble/hashes@1.8.0))(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))
vocs:
- specifier: 1.0.11
- version: 1.0.11(@types/node@25.3.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.31.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.59.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
+ specifier: 1.4.1
+ version: 1.4.1(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@types/node@25.3.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.32.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.59.0)(tsx@4.21.0)(typescript@6.0.2)
packages:
@@ -215,15 +218,31 @@ packages:
graphql: ^15.5.0 || ^16.0.0 || ^17.0.0
typescript: ^5.0.0
+ '@aave/account@0.2.0':
+ resolution: {integrity: sha512-fk9KcC0He0WNvUGytxVv4urh8F+zznm6ZdpgKnNvq9jKUpnc2HSSn7mS3n4h13h80WtF8OL6rpL50ctqqc4/Nw==}
+ peerDependencies:
+ react: 17.x || 18.x || 19.x
+ react-dom: 17.x || 18.x || 19.x
+ viem: 2.x
+ wagmi: 2.x
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ viem:
+ optional: true
+ wagmi:
+ optional: true
+
'@adobe/css-tools@4.4.4':
resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==}
'@adraffy/ens-normalize@1.11.1':
resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==}
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
+ '@antfu/install-pkg@1.1.0':
+ resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
'@ardatan/relay-compiler@12.0.0':
resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==}
@@ -231,9 +250,8 @@ packages:
peerDependencies:
graphql: '*'
- '@ardatan/relay-compiler@12.0.3':
- resolution: {integrity: sha512-mBDFOGvAoVlWaWqs3hm1AciGHSQE1rqFc/liZTyYz/Oek9yZdT5H26pH2zAFuEiTiBVPPyMuqf5VjOFPI2DGsQ==}
- hasBin: true
+ '@ardatan/relay-compiler@13.0.1':
+ resolution: {integrity: sha512-afG3YPwuSA0E5foouZusz5GlXKs74dObv4cuWyLyfKsYFj2r7oGRNB28v18HvwuLSQtQFCi+DpIe0TZkgQDYyg==}
peerDependencies:
graphql: '*'
@@ -243,8 +261,16 @@ packages:
react: '>=18.0.0'
react-dom: '>=18.0.0'
- '@asamuzakjp/css-color@3.2.0':
- resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==}
+ '@asamuzakjp/css-color@5.1.1':
+ resolution: {integrity: sha512-iGWN8E45Ws0XWx3D44Q1t6vX2LqhCKcwfmwBYCDsFrYFS6m4q/Ks61L2veETaLv+ckDC6+dTETJoaAAb7VjLiw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ '@asamuzakjp/dom-selector@7.0.4':
+ resolution: {integrity: sha512-jXR6x4AcT3eIrS2fSNAwJpwirOkGcd+E7F7CP3zjdTqz9B/2huHOL8YJZBgekKwLML+u7qB/6P1LXQuMScsx0w==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
+ '@asamuzakjp/nwsapi@2.3.9':
+ resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
'@babel/code-frame@7.29.0':
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
@@ -333,6 +359,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.29.2':
+ resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/plugin-proposal-class-properties@7.18.6':
resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
engines: {node: '>=6.9.0'}
@@ -545,59 +576,59 @@ packages:
peerDependencies:
bs58: ^6.0.0
- '@biomejs/biome@1.9.4':
- resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==}
+ '@biomejs/biome@2.4.10':
+ resolution: {integrity: sha512-xxA3AphFQ1geij4JTHXv4EeSTda1IFn22ye9LdyVPoJU19fNVl0uzfEuhsfQ4Yue/0FaLs2/ccVi4UDiE7R30w==}
engines: {node: '>=14.21.3'}
hasBin: true
- '@biomejs/cli-darwin-arm64@1.9.4':
- resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==}
+ '@biomejs/cli-darwin-arm64@2.4.10':
+ resolution: {integrity: sha512-vuzzI1cWqDVzOMIkYyHbKqp+AkQq4K7k+UCXWpkYcY/HDn1UxdsbsfgtVpa40shem8Kax4TLDLlx8kMAecgqiw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
- '@biomejs/cli-darwin-x64@1.9.4':
- resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==}
+ '@biomejs/cli-darwin-x64@2.4.10':
+ resolution: {integrity: sha512-14fzASRo+BPotwp7nWULy2W5xeUyFnTaq1V13Etrrxkrih+ez/2QfgFm5Ehtf5vSjtgx/IJycMMpn5kPd5ZNaA==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
- '@biomejs/cli-linux-arm64-musl@1.9.4':
- resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==}
+ '@biomejs/cli-linux-arm64-musl@2.4.10':
+ resolution: {integrity: sha512-WrJY6UuiSD/Dh+nwK2qOTu8kdMDlLV3dLMmychIghHPAysWFq1/DGC1pVZx8POE3ZkzKR3PUUnVrtZfMfaJjyQ==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@biomejs/cli-linux-arm64@1.9.4':
- resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==}
+ '@biomejs/cli-linux-arm64@2.4.10':
+ resolution: {integrity: sha512-7MH1CMW5uuxQ/s7FLST63qF8B3Hgu2HRdZ7tA1X1+mk+St4JOuIrqdhIBnnyqeyWJNI+Bww7Es5QZ0wIc1Cmkw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@biomejs/cli-linux-x64-musl@1.9.4':
- resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==}
+ '@biomejs/cli-linux-x64-musl@2.4.10':
+ resolution: {integrity: sha512-kDTi3pI6PBN6CiczsWYOyP2zk0IJI08EWEQyDMQWW221rPaaEz6FvjLhnU07KMzLv8q3qSuoB93ua6inSQ55Tw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@biomejs/cli-linux-x64@1.9.4':
- resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==}
+ '@biomejs/cli-linux-x64@2.4.10':
+ resolution: {integrity: sha512-tZLvEEi2u9Xu1zAqRjTcpIDGVtldigVvzug2fTuPG0ME/g8/mXpRPcNgLB22bGn6FvLJpHHnqLnwliOu8xjYrg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@biomejs/cli-win32-arm64@1.9.4':
- resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==}
+ '@biomejs/cli-win32-arm64@2.4.10':
+ resolution: {integrity: sha512-umwQU6qPzH+ISTf/eHyJ/QoQnJs3V9Vpjz2OjZXe9MVBZ7prgGafMy7yYeRGnlmDAn87AKTF3Q6weLoMGpeqdQ==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
- '@biomejs/cli-win32-x64@1.9.4':
- resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==}
+ '@biomejs/cli-win32-x64@2.4.10':
+ resolution: {integrity: sha512-aW/JU5GuyH4uxMrNYpoC2kjaHlyJGLgIa3XkhPEZI0uKhZhJZU8BuEyJmvgzSPQNGozBwWjC972RaNdcJ9KyJg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
@@ -612,6 +643,13 @@ packages:
react: ^18
viem: ^2
+ '@braintree/sanitize-url@7.1.2':
+ resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==}
+
+ '@bramus/specificity@2.4.2':
+ resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==}
+ hasBin: true
+
'@chakra-ui/react@3.34.0':
resolution: {integrity: sha512-VLhpVwv5IVxhwajO10KnS1VQT4hDqQMQP/A796Ya+uVu8AdoSX+5HHyTLTkYIeXIDMe0xLqJfov04OBKbBchJA==}
peerDependencies:
@@ -619,6 +657,21 @@ packages:
react: '>=18'
react-dom: '>=18'
+ '@chevrotain/cst-dts-gen@11.1.2':
+ resolution: {integrity: sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q==}
+
+ '@chevrotain/gast@11.1.2':
+ resolution: {integrity: sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g==}
+
+ '@chevrotain/regexp-to-ast@11.1.2':
+ resolution: {integrity: sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw==}
+
+ '@chevrotain/types@11.1.2':
+ resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==}
+
+ '@chevrotain/utils@11.1.2':
+ resolution: {integrity: sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA==}
+
'@clack/core@0.3.5':
resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==}
@@ -636,106 +689,126 @@ packages:
'@coinbase/wallet-sdk@4.3.6':
resolution: {integrity: sha512-4q8BNG1ViL4mSAAvPAtpwlOs1gpC+67eQtgIwNvT3xyeyFFd+guwkc8bcX5rTmQhXpqnhzC4f0obACbP9CqMSA==}
- '@commitlint/cli@19.8.1':
- resolution: {integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==}
+ '@commitlint/cli@20.5.0':
+ resolution: {integrity: sha512-yNkyN/tuKTJS3wdVfsZ2tXDM4G4Gi7z+jW54Cki8N8tZqwKBltbIvUUrSbT4hz1bhW/h0CdR+5sCSpXD+wMKaQ==}
engines: {node: '>=v18'}
hasBin: true
- '@commitlint/config-conventional@19.8.1':
- resolution: {integrity: sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==}
+ '@commitlint/config-conventional@20.5.0':
+ resolution: {integrity: sha512-t3Ni88rFw1XMa4nZHgOKJ8fIAT9M2j5TnKyTqJzsxea7FUetlNdYFus9dz+MhIRZmc16P0PPyEfh6X2d/qw8SA==}
engines: {node: '>=v18'}
- '@commitlint/config-validator@19.8.1':
- resolution: {integrity: sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==}
+ '@commitlint/config-validator@20.5.0':
+ resolution: {integrity: sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw==}
engines: {node: '>=v18'}
- '@commitlint/ensure@19.8.1':
- resolution: {integrity: sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==}
+ '@commitlint/ensure@20.5.0':
+ resolution: {integrity: sha512-IpHqAUesBeW1EDDdjzJeaOxU9tnogLAyXLRBn03SHlj1SGENn2JGZqSWGkFvBJkJzfXAuCNtsoYzax+ZPS+puw==}
engines: {node: '>=v18'}
- '@commitlint/execute-rule@19.8.1':
- resolution: {integrity: sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==}
+ '@commitlint/execute-rule@20.0.0':
+ resolution: {integrity: sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==}
engines: {node: '>=v18'}
- '@commitlint/format@19.8.1':
- resolution: {integrity: sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==}
+ '@commitlint/format@20.5.0':
+ resolution: {integrity: sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q==}
engines: {node: '>=v18'}
- '@commitlint/is-ignored@19.8.1':
- resolution: {integrity: sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==}
+ '@commitlint/is-ignored@20.5.0':
+ resolution: {integrity: sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg==}
engines: {node: '>=v18'}
- '@commitlint/lint@19.8.1':
- resolution: {integrity: sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==}
+ '@commitlint/lint@20.5.0':
+ resolution: {integrity: sha512-jiM3hNUdu04jFBf1VgPdjtIPvbuVfDTBAc6L98AWcoLjF5sYqkulBHBzlVWll4rMF1T5zeQFB6r//a+s+BBKlA==}
engines: {node: '>=v18'}
- '@commitlint/load@19.8.1':
- resolution: {integrity: sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==}
+ '@commitlint/load@20.5.0':
+ resolution: {integrity: sha512-sLhhYTL/KxeOTZjjabKDhwidGZan84XKK1+XFkwDYL/4883kIajcz/dZFAhBJmZPtL8+nBx6bnkzA95YxPeDPw==}
engines: {node: '>=v18'}
- '@commitlint/message@19.8.1':
- resolution: {integrity: sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==}
+ '@commitlint/message@20.4.3':
+ resolution: {integrity: sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ==}
engines: {node: '>=v18'}
- '@commitlint/parse@19.8.1':
- resolution: {integrity: sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==}
+ '@commitlint/parse@20.5.0':
+ resolution: {integrity: sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA==}
engines: {node: '>=v18'}
- '@commitlint/read@19.8.1':
- resolution: {integrity: sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==}
+ '@commitlint/read@20.5.0':
+ resolution: {integrity: sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w==}
engines: {node: '>=v18'}
- '@commitlint/resolve-extends@19.8.1':
- resolution: {integrity: sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==}
+ '@commitlint/resolve-extends@20.5.0':
+ resolution: {integrity: sha512-3SHPWUW2v0tyspCTcfSsYml0gses92l6TlogwzvM2cbxDgmhSRc+fldDjvGkCXJrjSM87BBaWYTPWwwyASZRrg==}
engines: {node: '>=v18'}
- '@commitlint/rules@19.8.1':
- resolution: {integrity: sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==}
+ '@commitlint/rules@20.5.0':
+ resolution: {integrity: sha512-5NdQXQEdnDPT5pK8O39ZA7HohzPRHEsDGU23cyVCNPQy4WegAbAwrQk3nIu7p2sl3dutPk8RZd91yKTrMTnRkQ==}
engines: {node: '>=v18'}
- '@commitlint/to-lines@19.8.1':
- resolution: {integrity: sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==}
+ '@commitlint/to-lines@20.0.0':
+ resolution: {integrity: sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==}
engines: {node: '>=v18'}
- '@commitlint/top-level@19.8.1':
- resolution: {integrity: sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==}
+ '@commitlint/top-level@20.4.3':
+ resolution: {integrity: sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ==}
engines: {node: '>=v18'}
- '@commitlint/types@19.8.1':
- resolution: {integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==}
+ '@commitlint/types@20.5.0':
+ resolution: {integrity: sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA==}
engines: {node: '>=v18'}
+ '@conventional-changelog/git-client@2.6.0':
+ resolution: {integrity: sha512-T+uPDciKf0/ioNNDpMGc8FDsehJClZP0yR3Q5MN6wE/Y/1QZ7F+80OgznnTCOlMEG4AV0LvH2UJi3C/nBnaBUg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ conventional-commits-filter: ^5.0.0
+ conventional-commits-parser: ^6.3.0
+ peerDependenciesMeta:
+ conventional-commits-filter:
+ optional: true
+ conventional-commits-parser:
+ optional: true
+
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
- '@csstools/color-helpers@5.1.0':
- resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
- engines: {node: '>=18'}
+ '@csstools/color-helpers@6.0.2':
+ resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==}
+ engines: {node: '>=20.19.0'}
- '@csstools/css-calc@2.1.4':
- resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
- engines: {node: '>=18'}
+ '@csstools/css-calc@3.1.1':
+ resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.5
- '@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-color-parser@3.1.0':
- resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
- engines: {node: '>=18'}
+ '@csstools/css-color-parser@4.0.2':
+ resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.5
- '@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-parser-algorithms': ^4.0.0
+ '@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-parser-algorithms@3.0.5':
- resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
- engines: {node: '>=18'}
+ '@csstools/css-parser-algorithms@4.0.0':
+ resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==}
+ engines: {node: '>=20.19.0'}
peerDependencies:
- '@csstools/css-tokenizer': ^3.0.4
+ '@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-tokenizer@3.0.4':
- resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
- engines: {node: '>=18'}
+ '@csstools/css-syntax-patches-for-csstree@1.1.2':
+ resolution: {integrity: sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==}
+ peerDependencies:
+ css-tree: ^3.2.1
+ peerDependenciesMeta:
+ css-tree:
+ optional: true
+
+ '@csstools/css-tokenizer@4.0.0':
+ resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==}
+ engines: {node: '>=20.19.0'}
'@ecies/ciphers@0.2.5':
resolution: {integrity: sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==}
@@ -743,6 +816,15 @@ packages:
peerDependencies:
'@noble/ciphers': ^1.0.0
+ '@emnapi/core@1.9.2':
+ resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==}
+
+ '@emnapi/runtime@1.9.2':
+ resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==}
+
+ '@emnapi/wasi-threads@1.2.1':
+ resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
+
'@emotion/babel-plugin@11.13.5':
resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
@@ -817,8 +899,8 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.27.3':
- resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==}
+ '@esbuild/aix-ppc64@0.27.4':
+ resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
@@ -829,8 +911,8 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.27.3':
- resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==}
+ '@esbuild/android-arm64@0.27.4':
+ resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
@@ -841,8 +923,8 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.27.3':
- resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==}
+ '@esbuild/android-arm@0.27.4':
+ resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
@@ -853,8 +935,8 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.27.3':
- resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==}
+ '@esbuild/android-x64@0.27.4':
+ resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
@@ -865,8 +947,8 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.27.3':
- resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==}
+ '@esbuild/darwin-arm64@0.27.4':
+ resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
@@ -877,8 +959,8 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.27.3':
- resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==}
+ '@esbuild/darwin-x64@0.27.4':
+ resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
@@ -889,8 +971,8 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.27.3':
- resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==}
+ '@esbuild/freebsd-arm64@0.27.4':
+ resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
@@ -901,8 +983,8 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.27.3':
- resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==}
+ '@esbuild/freebsd-x64@0.27.4':
+ resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
@@ -913,8 +995,8 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.27.3':
- resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==}
+ '@esbuild/linux-arm64@0.27.4':
+ resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
@@ -925,8 +1007,8 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.27.3':
- resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==}
+ '@esbuild/linux-arm@0.27.4':
+ resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
@@ -937,8 +1019,8 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.27.3':
- resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==}
+ '@esbuild/linux-ia32@0.27.4':
+ resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
@@ -949,8 +1031,8 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.27.3':
- resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==}
+ '@esbuild/linux-loong64@0.27.4':
+ resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
@@ -961,8 +1043,8 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.27.3':
- resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==}
+ '@esbuild/linux-mips64el@0.27.4':
+ resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
@@ -973,8 +1055,8 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.27.3':
- resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==}
+ '@esbuild/linux-ppc64@0.27.4':
+ resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
@@ -985,8 +1067,8 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.27.3':
- resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==}
+ '@esbuild/linux-riscv64@0.27.4':
+ resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
@@ -997,8 +1079,8 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.27.3':
- resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==}
+ '@esbuild/linux-s390x@0.27.4':
+ resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
@@ -1009,8 +1091,8 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.27.3':
- resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==}
+ '@esbuild/linux-x64@0.27.4':
+ resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
@@ -1021,8 +1103,8 @@ packages:
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-arm64@0.27.3':
- resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==}
+ '@esbuild/netbsd-arm64@0.27.4':
+ resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
@@ -1033,8 +1115,8 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.27.3':
- resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==}
+ '@esbuild/netbsd-x64@0.27.4':
+ resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
@@ -1045,8 +1127,8 @@ packages:
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-arm64@0.27.3':
- resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==}
+ '@esbuild/openbsd-arm64@0.27.4':
+ resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
@@ -1057,8 +1139,8 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.27.3':
- resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==}
+ '@esbuild/openbsd-x64@0.27.4':
+ resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
@@ -1069,8 +1151,8 @@ packages:
cpu: [arm64]
os: [openharmony]
- '@esbuild/openharmony-arm64@0.27.3':
- resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==}
+ '@esbuild/openharmony-arm64@0.27.4':
+ resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
@@ -1081,8 +1163,8 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.27.3':
- resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==}
+ '@esbuild/sunos-x64@0.27.4':
+ resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
@@ -1093,8 +1175,8 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.27.3':
- resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==}
+ '@esbuild/win32-arm64@0.27.4':
+ resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
@@ -1105,8 +1187,8 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.27.3':
- resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==}
+ '@esbuild/win32-ia32@0.27.4':
+ resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
@@ -1117,8 +1199,8 @@ packages:
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.27.3':
- resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==}
+ '@esbuild/win32-x64@0.27.4':
+ resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
@@ -1139,18 +1221,21 @@ packages:
resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==}
engines: {node: '>=14'}
+ '@exodus/bytes@1.15.0':
+ resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ peerDependencies:
+ '@noble/hashes': ^1.8.0 || ^2.0.0
+ peerDependenciesMeta:
+ '@noble/hashes':
+ optional: true
+
'@fastify/busboy@3.2.0':
resolution: {integrity: sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==}
- '@floating-ui/core@1.7.4':
- resolution: {integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==}
-
'@floating-ui/core@1.7.5':
resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
- '@floating-ui/dom@1.7.5':
- resolution: {integrity: sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==}
-
'@floating-ui/dom@1.7.6':
resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
@@ -1166,19 +1251,20 @@ packages:
react: '>=17.0.0'
react-dom: '>=17.0.0'
- '@floating-ui/utils@0.2.10':
- resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
-
'@floating-ui/utils@0.2.11':
resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
+ '@fortawesome/fontawesome-free@6.7.2':
+ resolution: {integrity: sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==}
+ engines: {node: '>=6'}
+
'@gemini-wallet/core@0.3.2':
resolution: {integrity: sha512-Z4aHi3ECFf5oWYWM3F1rW83GJfB9OvhBYPTmb5q+VyK3uvzvS48lwo+jwh2eOoCRWEuT/crpb9Vwp2QaS5JqgQ==}
peerDependencies:
viem: '>=2.0.0'
- '@gerrit0/mini-shiki@3.22.0':
- resolution: {integrity: sha512-jMpciqEVUBKE1QwU64S4saNMzpsSza6diNCk4MWAeCxO2+LFi2FIFmL2S0VDLzEJCxuvCbU783xi8Hp/gkM5CQ==}
+ '@gerrit0/mini-shiki@3.23.0':
+ resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==}
'@gql.tada/cli-utils@1.7.2':
resolution: {integrity: sha512-Qbc7hbLvCz6IliIJpJuKJa9p05b2Jona7ov7+qofCsMRxHRZE1kpAmZMvL8JCI4c0IagpIlWNaMizXEQUe8XjQ==}
@@ -1200,13 +1286,14 @@ packages:
graphql: ^15.5.0 || ^16.0.0 || ^17.0.0
typescript: ^5.0.0
- '@graphql-codegen/add@5.0.3':
- resolution: {integrity: sha512-SxXPmramkth8XtBlAHu4H4jYcYXM/o3p01+psU+0NADQowA8jtYkK6MW5rV6T+CxkEaNZItfSmZRPgIuypcqnA==}
+ '@graphql-codegen/add@6.0.0':
+ resolution: {integrity: sha512-biFdaURX0KTwEJPQ1wkT6BRgNasqgQ5KbCI1a3zwtLtO7XTo7/vKITPylmiU27K5DSOWYnY/1jfSqUAEBuhZrQ==}
+ engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- '@graphql-codegen/cli@5.0.7':
- resolution: {integrity: sha512-h/sxYvSaWtxZxo8GtaA8SvcHTyViaaPd7dweF/hmRDpaQU1o3iU3EZxlcJ+oLTunU0tSMFsnrIXm/mhXxI11Cw==}
+ '@graphql-codegen/cli@6.2.1':
+ resolution: {integrity: sha512-E1B+5nBda2l89Pci5M0HcEj2Hmx2yhORFX+1T3rmwpQjdOiulo+h9JifWxKomUpjfbmU1YkBSd47CCGLFPU10A==}
engines: {node: '>=16'}
hasBin: true
peerDependencies:
@@ -1216,8 +1303,8 @@ packages:
'@parcel/watcher':
optional: true
- '@graphql-codegen/client-preset@4.8.3':
- resolution: {integrity: sha512-QpEsPSO9fnRxA6Z66AmBuGcwHjZ6dYSxYo5ycMlYgSPzAbyG8gn/kWljofjJfWqSY+T/lRn+r8IXTH14ml24vQ==}
+ '@graphql-codegen/client-preset@5.2.4':
+ resolution: {integrity: sha512-k4f9CoepkVznXRReCHBVnG/FeQVQgIOhgtkaJ6I9FcQRzUkrm9ASmQjOdNdMlZt0DHTU4nbVxIBGZW7gk1RavA==}
engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
@@ -1226,13 +1313,14 @@ packages:
graphql-sock:
optional: true
- '@graphql-codegen/core@4.0.2':
- resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==}
+ '@graphql-codegen/core@5.0.1':
+ resolution: {integrity: sha512-eQD7aXpKkKvaydMv5Bu0FnKCPnNMAhZ3vZW+K4Rl9IAC2w5PDv9lJhs3YTWM9W58zNOZpGQGT2F0ekS3QNIiKw==}
+ engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- '@graphql-codegen/gql-tag-operations@4.0.17':
- resolution: {integrity: sha512-2pnvPdIG6W9OuxkrEZ6hvZd142+O3B13lvhrZ48yyEBh2ujtmKokw0eTwDHtlXUqjVS0I3q7+HB2y12G/m69CA==}
+ '@graphql-codegen/gql-tag-operations@5.1.4':
+ resolution: {integrity: sha512-tDj/0a1U7rDH3PQgLeA+PlgBNb593MIJ43oAOKMRgJPwIQ9T7p2oqBRLxwfFZFTDLwnwsGZ7xIKqIcGgyAIj5Q==}
engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
@@ -1242,19 +1330,20 @@ packages:
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- '@graphql-codegen/plugin-helpers@5.1.1':
- resolution: {integrity: sha512-28GHODK2HY1NhdyRcPP3sCz0Kqxyfiz7boIZ8qIxFYmpLYnlDgiYok5fhFLVSZihyOpCs4Fa37gVHf/Q4I2FEg==}
+ '@graphql-codegen/plugin-helpers@6.2.1':
+ resolution: {integrity: sha512-shRr26TfVZ6KFBjzRYUj02gLNh6yaECz9gTGgI6riANw5sSH9PONwTsBRYkEgU+6IXiL7VQeCumahvxSGFbRlQ==}
engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- '@graphql-codegen/schema-ast@4.1.0':
- resolution: {integrity: sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==}
+ '@graphql-codegen/schema-ast@5.0.1':
+ resolution: {integrity: sha512-svLffXddnXxq1qFXQqqh+zYrxdiMnIKm+CXCUv0MYhLh0R4L5vpnaTzIUCk3icHNNXhKRm2uBD70+K8VY0xiCg==}
+ engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- '@graphql-codegen/typed-document-node@5.1.2':
- resolution: {integrity: sha512-jaxfViDqFRbNQmfKwUY8hDyjnLTw2Z7DhGutxoOiiAI0gE/LfPe0LYaVFKVmVOOD7M3bWxoWfu4slrkbWbUbEw==}
+ '@graphql-codegen/typed-document-node@6.1.7':
+ resolution: {integrity: sha512-VLL9hB+YPigc/W2QYCkSNMZrkKv42nTchb9mJ0h5VY98YmW/zWb6NeYM80iHSpk8ZvHsuUT5geA53/s1phO2NQ==}
engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
@@ -1267,8 +1356,8 @@ packages:
graphql-request: ^6.0.0 || ^7.0.0
graphql-tag: ^2.0.0
- '@graphql-codegen/typescript-operations@4.6.1':
- resolution: {integrity: sha512-k92laxhih7s0WZ8j5WMIbgKwhe64C0As6x+PdcvgZFMudDJ7rPJ/hFqJ9DCRxNjXoHmSjnr6VUuQZq4lT1RzCA==}
+ '@graphql-codegen/typescript-operations@5.0.9':
+ resolution: {integrity: sha512-jJFdJKMS5Cqisb5QMi7xXHPsJH9yHBMYOxBc8laFkFjHk/AOqJK90qCKbO9lwwTMPZUDe6N/HslmA0ax4J0zsg==}
engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
@@ -1277,8 +1366,8 @@ packages:
graphql-sock:
optional: true
- '@graphql-codegen/typescript@4.1.6':
- resolution: {integrity: sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==}
+ '@graphql-codegen/typescript@5.0.9':
+ resolution: {integrity: sha512-YlIZ4nqdFdzr5vxuNtQtZnnMYuZ5cLYB2HaGhGI2zvqHxCmkBjIRpu/5sfccawKy23wetV+aoWvoNqxGKIryig==}
engines: {node: '>=16'}
peerDependencies:
graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
@@ -1288,15 +1377,15 @@ packages:
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- '@graphql-codegen/visitor-plugin-common@5.8.0':
- resolution: {integrity: sha512-lC1E1Kmuzi3WZUlYlqB4fP6+CvbKH9J+haU1iWmgsBx5/sO2ROeXJG4Dmt8gP03bI2BwjiwV5WxCEMlyeuzLnA==}
+ '@graphql-codegen/visitor-plugin-common@6.2.4':
+ resolution: {integrity: sha512-iwiVCc7Mv8/XAa3K35AdFQ9chJSDv/gYEnBeQFF/Sq/W8EyJoHypOGOTTLk7OSrWO4xea65ggv0e7fGt7rPJjQ==}
engines: {node: '>=16'}
peerDependencies:
graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- '@graphql-hive/signal@1.0.0':
- resolution: {integrity: sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==}
- engines: {node: '>=18.0.0'}
+ '@graphql-hive/signal@2.0.0':
+ resolution: {integrity: sha512-Pz8wB3K0iU6ae9S1fWfsmJX24CcGeTo6hE7T44ucmV/ALKRj+bxClmqrYcDT7v3f0d12Rh4FAXBb6gon+WkDpQ==}
+ engines: {node: '>=20.0.0'}
'@graphql-tools/apollo-engine-loader@8.0.28':
resolution: {integrity: sha512-MzgDrUuoxp6dZeo54zLBL3cEJKJtM3N/2RqK0rbPxPq5X2z6TUA7EGg8vIFTUkt5xelAsUrm8/4ai41ZDdxOng==}
@@ -1304,9 +1393,9 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/batch-execute@9.0.19':
- resolution: {integrity: sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==}
- engines: {node: '>=18.0.0'}
+ '@graphql-tools/batch-execute@10.0.8':
+ resolution: {integrity: sha512-Kobt37qrVTFhX4HUK5/vPgMXFw/5f97AzmAlfmDBSRh/GnoAmLKCb48FrEI3gdeIwZB2fEhVHJyDqsojldnLQA==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1316,9 +1405,9 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/delegate@10.2.23':
- resolution: {integrity: sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==}
- engines: {node: '>=18.0.0'}
+ '@graphql-tools/delegate@12.0.13':
+ resolution: {integrity: sha512-Aei3SI5HezLt7kKQNbX/GrZv5c5YibdbP0N6BvuEWQYG+lpRO3RRX2fZ+g+KshJOGuTJQFK1umIjki++vKoJ+A==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1328,32 +1417,26 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/executor-common@0.0.4':
- resolution: {integrity: sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
-
- '@graphql-tools/executor-common@0.0.6':
- resolution: {integrity: sha512-JAH/R1zf77CSkpYATIJw+eOJwsbWocdDjY+avY7G+P5HCXxwQjAjWVkJI1QJBQYjPQDVxwf1fmTZlIN3VOadow==}
- engines: {node: '>=18.0.0'}
+ '@graphql-tools/executor-common@1.0.6':
+ resolution: {integrity: sha512-23/K5C+LSlHDI0mj2SwCJ33RcELCcyDUgABm1Z8St7u/4Z5+95i925H/NAjUyggRjiaY8vYtNiMOPE49aPX1sg==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/executor-graphql-ws@2.0.7':
- resolution: {integrity: sha512-J27za7sKF6RjhmvSOwOQFeNhNHyP4f4niqPnerJmq73OtLx9Y2PGOhkXOEB0PjhvPJceuttkD2O1yMgEkTGs3Q==}
- engines: {node: '>=18.0.0'}
+ '@graphql-tools/executor-graphql-ws@3.1.5':
+ resolution: {integrity: sha512-WXRsfwu9AkrORD9nShrd61OwwxeQ5+eXYcABRR3XPONFIS8pWQfDJGGqxql9/227o/s0DV5SIfkBURb5Knzv+A==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/executor-http@1.3.3':
- resolution: {integrity: sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==}
- engines: {node: '>=18.0.0'}
+ '@graphql-tools/executor-http@3.2.1':
+ resolution: {integrity: sha512-53i0TYO0cznIlZDJcnq4gQ6SOZ8efGgCDV33MYh6oqEapcp36tCMEVnVGVxcX5qRRyNHkqTY6hkA+/AyK9kicQ==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/executor-legacy-ws@1.1.25':
- resolution: {integrity: sha512-6uf4AEXO0QMxJ7AWKVPqEZXgYBJaiz5vf29X0boG8QtcqWy8mqkXKWLND2Swdx0SbEx0efoGFcjuKufUcB0ASQ==}
+ '@graphql-tools/executor-legacy-ws@1.1.26':
+ resolution: {integrity: sha512-rlFHk8XoRCXjARQAlHTgtisyE5KJxMb9UyR4hRbD6tLlYjmzNf9ms8GjsLYe/j1QpHJ7fNDm9aXqj1+evhQ/MQ==}
engines: {node: '>=16.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1370,14 +1453,14 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/github-loader@8.0.22':
- resolution: {integrity: sha512-uQ4JNcNPsyMkTIgzeSbsoT9hogLjYrZooLUYd173l5eUGUi49EAcsGdiBCKaKfEjanv410FE8hjaHr7fjSRkJw==}
- engines: {node: '>=16.0.0'}
+ '@graphql-tools/github-loader@9.1.0':
+ resolution: {integrity: sha512-S/nlKtnmX3JzTrGwbPyXw+GKGj/1+A1lRQ73QEMDMjQK3TXygoKml5WqZwHEvp6qp3Jdncx9FHUzg9nge+rizQ==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/graphql-file-loader@8.1.9':
- resolution: {integrity: sha512-rkLK46Q62Zxift8B6Kfw6h8SH3pCR3DPCfNeC/lpLwYReezZz+2ARuLDFZjQGjW+4lpMwiAw8CIxDyQAUgqU6A==}
+ '@graphql-tools/graphql-file-loader@8.1.12':
+ resolution: {integrity: sha512-Nma7gBgJoUbqXWTmdHjouo36tjzewA8MptVcHoH7widzkciaUVzBhriHzqICFB/dVxig//g9MX8s1XawZo7UAg==}
engines: {node: '>=16.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1388,8 +1471,14 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/import@7.1.9':
- resolution: {integrity: sha512-mHzOgyfzsAgstaZPIFEtKg4GVH4FbDHeHYrSs73mAPKS5F59/FlRuUJhAoRnxbVnc3qIZ6EsWBjOjNbnPK8viA==}
+ '@graphql-tools/graphql-tag-pluck@8.3.29':
+ resolution: {integrity: sha512-aKX6ooaSjROHhGqlW1B2pARKjWk1OQOLvmQJe8GmP9vvKwjxuTl9FgZazjWvhN0GO9LFxd/JGzx0xCiXE6KQZw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+
+ '@graphql-tools/import@7.1.12':
+ resolution: {integrity: sha512-QSsdPsdJ7yCgQ5XODyKYpC7NlB9R1Koi0R3418PT7GiRm+9O8gYXSs/23dumcOnpiLrnf4qR2aytBn1+JOAhnA==}
engines: {node: '>=16.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1423,20 +1512,13 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/prisma-loader@8.0.17':
- resolution: {integrity: sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==}
- engines: {node: '>=16.0.0'}
- deprecated: 'This package was intended to be used with an older versions of Prisma.\nThe newer versions of Prisma has a different approach to GraphQL integration.\nTherefore, this package is no longer needed and has been deprecated and removed.\nLearn more: https://www.prisma.io/graphql'
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
-
'@graphql-tools/relay-operation-optimizer@6.5.18':
resolution: {integrity: sha512-mc5VPyTeV+LwiM+DNvoDQfPqwQYhPV/cl5jOBjTgSniyaq8/86aODfMkrE2OduhQ5E00hqrkuL2Fdrgk0w1QJg==}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/relay-operation-optimizer@7.0.27':
- resolution: {integrity: sha512-rdkL1iDMFaGDiHWd7Bwv7hbhrhnljkJaD0MXeqdwQlZVgVdUDlMot2WuF7CEKVgijpH6eSC6AxXMDeqVgSBS2g==}
+ '@graphql-tools/relay-operation-optimizer@7.1.2':
+ resolution: {integrity: sha512-n/yNuj9aQVdk1bxHvnbqQdvZ5P3Ru8L7BoDlBGK9OXr2Q44XBhFIonqaxREqAWyMme5WnE+DjUswa5H70PQbRg==}
engines: {node: '>=16.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1447,15 +1529,9 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/url-loader@8.0.33':
- resolution: {integrity: sha512-Fu626qcNHcqAj8uYd7QRarcJn5XZ863kmxsg1sm0fyjyfBJnsvC7ddFt6Hayz5kxVKfsnjxiDfPMXanvsQVBKw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
-
- '@graphql-tools/utils@10.11.0':
- resolution: {integrity: sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==}
- engines: {node: '>=16.0.0'}
+ '@graphql-tools/url-loader@9.1.0':
+ resolution: {integrity: sha512-G3Ul5sLsLOJlfT4LkdQSKcHoJ+4CuSeUbRT1XjBXZSgNkeXZt2MXHJQX0X8+b4mJq7fI3thcfbiB+5sEUlnT7g==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1470,9 +1546,9 @@ packages:
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
- '@graphql-tools/wrap@10.1.4':
- resolution: {integrity: sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==}
- engines: {node: '>=18.0.0'}
+ '@graphql-tools/wrap@11.1.13':
+ resolution: {integrity: sha512-oWdhddkcFy9vKjvAZiw7oH/1mrgg0uMpwdeFeFt7S/MlLiySx+Vuk7kjARktjUBl+yAMt9q1/BADnoT+5vH0hw==}
+ engines: {node: '>=20.0.0'}
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1487,6 +1563,61 @@ packages:
peerDependencies:
hono: ^4
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+
+ '@iconify/utils@3.1.0':
+ resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==}
+
+ '@inquirer/ansi@1.0.2':
+ resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==}
+ engines: {node: '>=18'}
+
+ '@inquirer/checkbox@4.3.2':
+ resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/confirm@5.1.21':
+ resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/core@10.3.2':
+ resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/editor@4.2.23':
+ resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/expand@4.0.23':
+ resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
'@inquirer/external-editor@1.0.3':
resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
engines: {node: '>=18'}
@@ -1496,20 +1627,88 @@ packages:
'@types/node':
optional: true
+ '@inquirer/figures@1.0.15':
+ resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==}
+ engines: {node: '>=18'}
+
+ '@inquirer/input@4.3.1':
+ resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/number@3.0.23':
+ resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/password@4.0.23':
+ resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/prompts@7.10.1':
+ resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/rawlist@4.1.11':
+ resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/search@3.2.2':
+ resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/select@4.4.2':
+ resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/type@3.0.10':
+ resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
'@internationalized/date@3.11.0':
resolution: {integrity: sha512-BOx5huLAWhicM9/ZFs84CzP+V3gBW6vlpM02yzsdYC7TGlZJX1OJiEEHcSayF00Z+3jLlm4w79amvSt6RqKN3Q==}
'@internationalized/number@3.6.5':
resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==}
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
-
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -1564,6 +1763,9 @@ packages:
peerDependencies:
rollup: '>=2'
+ '@mermaid-js/parser@1.1.0':
+ resolution: {integrity: sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw==}
+
'@metamask/eth-json-rpc-provider@1.0.1':
resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==}
engines: {node: '>=14.0.0'}
@@ -1679,6 +1881,12 @@ packages:
'@mysten/wallet-standard@0.19.9':
resolution: {integrity: sha512-jHFt+62os7x7y+4ZVMLck8WSanEO9b8deCD+VApUQkdAHA99TuxbREaujQTjnGQN5DaGEz8wQgeBPqxRY/vKQA==}
+ '@napi-rs/wasm-runtime@1.1.2':
+ resolution: {integrity: sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1
+ '@emnapi/runtime': ^1.7.1
+
'@noble/ciphers@1.2.1':
resolution: {integrity: sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==}
engines: {node: ^14.21.3 || >=16}
@@ -1738,6 +1946,9 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
+ '@oxc-project/types@0.122.0':
+ resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==}
+
'@pandacss/is-valid-prop@1.8.2':
resolution: {integrity: sha512-wfZ4kzvHXQ9pG3wuIGTUCcbC7Op8pqIQZNIRY/bqWQu67WTHxZUHUPSZgQMhguI8Tz4ot+DNf4Qhha0bhLvNEQ==}
@@ -1836,10 +2047,6 @@ packages:
'@phosphor-icons/webcomponents@2.1.5':
resolution: {integrity: sha512-JcvQkZxvcX2jK+QCclm8+e8HXqtdFW9xV4/kk2aL9Y3dJA2oQVt+pzbv1orkumz3rfx4K9mn9fDoMr1He1yr7Q==}
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
'@protobuf-ts/grpcweb-transport@2.11.1':
resolution: {integrity: sha512-1W4utDdvOB+RHMFQ0soL4JdnxjXV+ddeGIUg08DvZrA8Ms6k5NN6GBFU2oHZdTOcJVpPrDJ02RJlqtaoCMNBtw==}
@@ -2660,8 +2867,109 @@ packages:
'@repeaterjs/repeater@3.0.6':
resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==}
- '@rolldown/pluginutils@1.0.0-beta.27':
- resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
+ '@rolldown/binding-android-arm64@1.0.0-rc.12':
+ resolution: {integrity: sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.12':
+ resolution: {integrity: sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.0.0-rc.12':
+ resolution: {integrity: sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.12':
+ resolution: {integrity: sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12':
+ resolution: {integrity: sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.12':
+ resolution: {integrity: sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.12':
+ resolution: {integrity: sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.12':
+ resolution: {integrity: sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.12':
+ resolution: {integrity: sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12':
+ resolution: {integrity: sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12':
+ resolution: {integrity: sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.0-rc.12':
+ resolution: {integrity: sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==}
+
+ '@rolldown/pluginutils@1.0.0-rc.3':
+ resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
+
+ '@rolldown/pluginutils@1.0.0-rc.7':
+ resolution: {integrity: sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==}
'@rollup/pluginutils@5.3.0':
resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
@@ -2853,14 +3161,14 @@ packages:
'@shikijs/engine-oniguruma@1.29.2':
resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==}
- '@shikijs/engine-oniguruma@3.22.0':
- resolution: {integrity: sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==}
+ '@shikijs/engine-oniguruma@3.23.0':
+ resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==}
'@shikijs/langs@1.29.2':
resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==}
- '@shikijs/langs@3.22.0':
- resolution: {integrity: sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==}
+ '@shikijs/langs@3.23.0':
+ resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==}
'@shikijs/rehype@1.29.2':
resolution: {integrity: sha512-sxi53HZe5XDz0s2UqF+BVN/kgHPMS9l6dcacM4Ra3ZDzCJa5rDGJ+Ukpk4LxdD1+MITBM6hoLbPfGv9StV8a5Q==}
@@ -2868,8 +3176,8 @@ packages:
'@shikijs/themes@1.29.2':
resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==}
- '@shikijs/themes@3.22.0':
- resolution: {integrity: sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==}
+ '@shikijs/themes@3.23.0':
+ resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==}
'@shikijs/transformers@1.29.2':
resolution: {integrity: sha512-NHQuA+gM7zGuxGWP9/Ub4vpbwrYCrho9nQCLcCPfOe3Yc7LOYwmSuhElI688oiqIXk9dlZwDiyAG9vPBTuPJMA==}
@@ -2880,14 +3188,18 @@ packages:
'@shikijs/types@1.29.2':
resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==}
- '@shikijs/types@3.22.0':
- resolution: {integrity: sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==}
+ '@shikijs/types@3.23.0':
+ resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
- '@sindresorhus/merge-streams@2.3.0':
- resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
+ '@simple-libs/child-process-utils@1.0.2':
+ resolution: {integrity: sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==}
+ engines: {node: '>=18'}
+
+ '@simple-libs/stream-utils@1.2.0':
+ resolution: {integrity: sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==}
engines: {node: '>=18'}
'@socket.io/component-emitter@3.1.2':
@@ -3294,6 +3606,12 @@ packages:
'@solana/web3.js@1.98.4':
resolution: {integrity: sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==}
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
+ '@standard-schema/spec@1.1.0':
+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
+
'@swc/core-darwin-arm64@1.15.13':
resolution: {integrity: sha512-ztXusRuC5NV2w+a6pDhX13CGioMLq8CjX5P4XgVJ21ocqz9t19288Do0y8LklplDtwcEhYGTNdMbkmUT7+lDTg==}
engines: {node: '>=10'}
@@ -3393,106 +3711,118 @@ packages:
zod:
optional: true
- '@tailwindcss/node@4.0.7':
- resolution: {integrity: sha512-dkFXufkbRB2mu3FPsW5xLAUWJyexpJA+/VtQj18k3SUiJVLdpgzBd1v1gRRcIpEJj7K5KpxBKfOXlZxT3ZZRuA==}
+ '@tailwindcss/node@4.1.15':
+ resolution: {integrity: sha512-HF4+7QxATZWY3Jr8OlZrBSXmwT3Watj0OogeDvdUY/ByXJHQ+LBtqA2brDb3sBxYslIFx6UP94BJ4X6a4L9Bmw==}
- '@tailwindcss/oxide-android-arm64@4.0.7':
- resolution: {integrity: sha512-5iQXXcAeOHBZy8ASfHFm1k0O/9wR2E3tKh6+P+ilZZbQiMgu+qrnfpBWYPc3FPuQdWiWb73069WT5D+CAfx/tg==}
+ '@tailwindcss/oxide-android-arm64@4.1.15':
+ resolution: {integrity: sha512-TkUkUgAw8At4cBjCeVCRMc/guVLKOU1D+sBPrHt5uVcGhlbVKxrCaCW9OKUIBv1oWkjh4GbunD/u/Mf0ql6kEA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
- '@tailwindcss/oxide-darwin-arm64@4.0.7':
- resolution: {integrity: sha512-7yGZtEc5IgVYylqK/2B0yVqoofk4UAbkn1ygNpIJZyrOhbymsfr8uUFCueTu2fUxmAYIfMZ8waWo2dLg/NgLgg==}
+ '@tailwindcss/oxide-darwin-arm64@4.1.15':
+ resolution: {integrity: sha512-xt5XEJpn2piMSfvd1UFN6jrWXyaKCwikP4Pidcf+yfHTSzSpYhG3dcMktjNkQO3JiLCp+0bG0HoWGvz97K162w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@tailwindcss/oxide-darwin-x64@4.0.7':
- resolution: {integrity: sha512-tPQDV20fBjb26yWbPqT1ZSoDChomMCiXTKn4jupMSoMCFyU7+OJvIY1ryjqBuY622dEBJ8LnCDDWsnj1lX9nNQ==}
+ '@tailwindcss/oxide-darwin-x64@4.1.15':
+ resolution: {integrity: sha512-TnWaxP6Bx2CojZEXAV2M01Yl13nYPpp0EtGpUrY+LMciKfIXiLL2r/SiSRpagE5Fp2gX+rflp/Os1VJDAyqymg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@tailwindcss/oxide-freebsd-x64@4.0.7':
- resolution: {integrity: sha512-sZqJpTyTZiknU9LLHuByg5GKTW+u3FqM7q7myequAXxKOpAFiOfXpY710FuMY+gjzSapyRbDXJlsTQtCyiTo5w==}
+ '@tailwindcss/oxide-freebsd-x64@4.1.15':
+ resolution: {integrity: sha512-quISQDWqiB6Cqhjc3iWptXVZHNVENsWoI77L1qgGEHNIdLDLFnw3/AfY7DidAiiCIkGX/MjIdB3bbBZR/G2aJg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.7':
- resolution: {integrity: sha512-PBgvULgeSswjd8cbZ91gdIcIDMdc3TUHV5XemEpxlqt9M8KoydJzkuB/Dt910jYdofOIaTWRL6adG9nJICvU4A==}
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.15':
+ resolution: {integrity: sha512-ObG76+vPlab65xzVUQbExmDU9FIeYLQ5k2LrQdR2Ud6hboR+ZobXpDoKEYXf/uOezOfIYmy2Ta3w0ejkTg9yxg==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
- '@tailwindcss/oxide-linux-arm64-gnu@4.0.7':
- resolution: {integrity: sha512-By/a2yeh+e9b+C67F88ndSwVJl2A3tcUDb29FbedDi+DZ4Mr07Oqw9Y1DrDrtHIDhIZ3bmmiL1dkH2YxrtV+zw==}
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.15':
+ resolution: {integrity: sha512-4WbBacRmk43pkb8/xts3wnOZMDKsPFyEH/oisCm2q3aLZND25ufvJKcDUpAu0cS+CBOL05dYa8D4U5OWECuH/Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@tailwindcss/oxide-linux-arm64-musl@4.0.7':
- resolution: {integrity: sha512-WHYs3cpPEJb/ccyT20NOzopYQkl7JKncNBUbb77YFlwlXMVJLLV3nrXQKhr7DmZxz2ZXqjyUwsj2rdzd9stYdw==}
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.15':
+ resolution: {integrity: sha512-AbvmEiteEj1nf42nE8skdHv73NoR+EwXVSgPY6l39X12Ex8pzOwwfi3Kc8GAmjsnsaDEbk+aj9NyL3UeyHcTLg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@tailwindcss/oxide-linux-x64-gnu@4.0.7':
- resolution: {integrity: sha512-7bP1UyuX9kFxbOwkeIJhBZNevKYPXB6xZI37v09fqi6rqRJR8elybwjMUHm54GVP+UTtJ14ueB1K54Dy1tIO6w==}
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.15':
+ resolution: {integrity: sha512-+rzMVlvVgrXtFiS+ES78yWgKqpThgV19ISKD58Ck+YO5pO5KjyxLt7AWKsWMbY0R9yBDC82w6QVGz837AKQcHg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@tailwindcss/oxide-linux-x64-musl@4.0.7':
- resolution: {integrity: sha512-gBQIV8nL/LuhARNGeroqzXymMzzW5wQzqlteVqOVoqwEfpHOP3GMird5pGFbnpY+NP0fOlsZGrxxOPQ4W/84bQ==}
+ '@tailwindcss/oxide-linux-x64-musl@4.1.15':
+ resolution: {integrity: sha512-fPdEy7a8eQN9qOIK3Em9D3TO1z41JScJn8yxl/76mp4sAXFDfV4YXxsiptJcOwy6bGR+70ZSwFIZhTXzQeqwQg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@tailwindcss/oxide-win32-arm64-msvc@4.0.7':
- resolution: {integrity: sha512-aH530NFfx0kpQpvYMfWoeG03zGnRCMVlQG8do/5XeahYydz+6SIBxA1tl/cyITSJyWZHyVt6GVNkXeAD30v0Xg==}
+ '@tailwindcss/oxide-wasm32-wasi@4.1.15':
+ resolution: {integrity: sha512-sJ4yd6iXXdlgIMfIBXuVGp/NvmviEoMVWMOAGxtxhzLPp9LOj5k0pMEMZdjeMCl4C6Up+RM8T3Zgk+BMQ0bGcQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.15':
+ resolution: {integrity: sha512-sJGE5faXnNQ1iXeqmRin7Ds/ru2fgCiaQZQQz3ZGIDtvbkeV85rAZ0QJFMDg0FrqsffZG96H1U9AQlNBRLsHVg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@tailwindcss/oxide-win32-x64-msvc@4.0.7':
- resolution: {integrity: sha512-8Cva6bbJN7ZJx320k7vxGGdU0ewmpfS5A4PudyzUuofdi8MgeINuiiWiPQ0VZCda/GX88K6qp+6UpDZNVr8HMQ==}
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.15':
+ resolution: {integrity: sha512-NLeHE7jUV6HcFKS504bpOohyi01zPXi2PXmjFfkzTph8xRxDdxkRsXm/xDO5uV5K3brrE1cCwbUYmFUSHR3u1w==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@tailwindcss/oxide@4.0.7':
- resolution: {integrity: sha512-yr6w5YMgjy+B+zkJiJtIYGXW+HNYOPfRPtSs+aqLnKwdEzNrGv4ZuJh9hYJ3mcA+HMq/K1rtFV+KsEr65S558g==}
+ '@tailwindcss/oxide@4.1.15':
+ resolution: {integrity: sha512-krhX+UOOgnsUuks2SR7hFafXmLQrKxB4YyRTERuCE59JlYL+FawgaAlSkOYmDRJdf1Q+IFNDMl9iRnBW7QBDfQ==}
engines: {node: '>= 10'}
- '@tailwindcss/vite@4.0.7':
- resolution: {integrity: sha512-GYx5sxArfIMtdZCsxfya3S/efMmf4RvfqdiLUozkhmSFBNUFnYVodatpoO/en4/BsOIGvq/RB6HwcTLn9prFnQ==}
+ '@tailwindcss/vite@4.1.15':
+ resolution: {integrity: sha512-B6s60MZRTUil+xKoZoGe6i0Iar5VuW+pmcGlda2FX+guDuQ1G1sjiIy1W0frneVpeL/ZjZ4KEgWZHNrIm++2qA==}
peerDependencies:
- vite: ^5.2.0 || ^6
+ vite: ^5.2.0 || ^6 || ^7
'@tanstack/history@1.161.6':
resolution: {integrity: sha512-NaOGLRrddszbQj9upGat6HG/4TKvXLvu+osAIgfxPYA+eIvYKv8GKDJOrY2D3/U9MRnKfMWD7bU4jeD4xmqyIg==}
engines: {node: '>=20.19'}
- '@tanstack/query-core@5.95.2':
- resolution: {integrity: sha512-o4T8vZHZET4Bib3jZ/tCW9/7080urD4c+0/AUaYVpIqOsr7y0reBc1oX3ttNaSW5mYyvZHctiQ/UOP2PfdmFEQ==}
+ '@tanstack/query-core@5.96.1':
+ resolution: {integrity: sha512-u1yBgtavSy+N8wgtW3PiER6UpxcplMje65yXnnVgiHTqiMwLlxiw4WvQDrXyn+UD6lnn8kHaxmerJUzQcV/MMg==}
- '@tanstack/query-devtools@5.95.2':
- resolution: {integrity: sha512-QfaoqBn9uAZ+ICkA8brd1EHj+qBF6glCFgt94U8XP5BT6ppSsDBI8IJ00BU+cAGjQzp6wcKJL2EmRYvxy0TWIg==}
+ '@tanstack/query-devtools@5.96.1':
+ resolution: {integrity: sha512-A4+uQTWbiqZDgrLeyjpFYLfMaWaKWpkwTkR1cUfocVj6vPYgym7QTG2se9A01WSxceDdmgxOqvn1ivcTvgWD8w==}
- '@tanstack/react-query-devtools@5.95.2':
- resolution: {integrity: sha512-AFQFmbznVkbtfpx8VJ2DylW17wWagQel/qLstVLkYmNRo2CmJt3SNej5hvl6EnEeljJIdC3BTB+W7HZtpsH+3g==}
+ '@tanstack/react-query-devtools@5.96.1':
+ resolution: {integrity: sha512-3ZZ58fupIXtJFM0evj8YvWrauaZPUrQEqRYaq9e4ER/WPqTKeWEucqWCXn+KJLgWlcot5JIIUtQNynbovGjTTA==}
peerDependencies:
- '@tanstack/react-query': ^5.95.2
+ '@tanstack/react-query': ^5.96.1
react: ^18 || ^19
- '@tanstack/react-query@5.95.2':
- resolution: {integrity: sha512-/wGkvLj/st5Ud1Q76KF1uFxScV7WeqN1slQx5280ycwAyYkIPGaRZAEgHxe3bjirSd5Zpwkj6zNcR4cqYni/ZA==}
+ '@tanstack/react-query@5.96.1':
+ resolution: {integrity: sha512-2X7KYK5KKWUKGeWCVcqxXAkYefJtrKB7tSKWgeG++b0H6BRHxQaLSSi8AxcgjmUnnosHuh9WsFZqvE16P1WCzA==}
peerDependencies:
react: ^18 || ^19
@@ -3508,15 +3838,15 @@ packages:
'@tanstack/router-core':
optional: true
- '@tanstack/react-router@1.168.3':
- resolution: {integrity: sha512-hMWXhckeaSvjepHT5x9tUYJVXMvT/kUjaVHOUDmCfyOBtjxJNYJKbEWClXoopGwWlHjRTAzhsndhnQQRbIiKmA==}
+ '@tanstack/react-router@1.168.10':
+ resolution: {integrity: sha512-/RmDlOwDkCug609KdPB3U+U1zmrtadJpvsmRg2zEn8TRCKRNri7dYZIjQZbNg8PgUiRL4T6njrZBV1ChzblNaA==}
engines: {node: '>=20.19'}
peerDependencies:
react: '>=18.0.0 || >=19.0.0'
react-dom: '>=18.0.0 || >=19.0.0'
- '@tanstack/react-store@0.9.2':
- resolution: {integrity: sha512-Vt5usJE5sHG/cMechQfmwvwne6ktGCELe89Lmvoxe3LKRoFrhPa8OCKWs0NliG8HTJElEIj7PLtaBQIcux5pAQ==}
+ '@tanstack/react-store@0.9.3':
+ resolution: {integrity: sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -3527,13 +3857,13 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- '@tanstack/router-cli@1.166.18':
- resolution: {integrity: sha512-NR48iTLMuNm53SUWBBEQyE0TG3zAoqalPbcmVyQ9NOrzcXW/E7QLo96/8TYF4hiAu/x51e+z2fZ5wYl8XcGB7w==}
+ '@tanstack/router-cli@1.166.25':
+ resolution: {integrity: sha512-COkW3lKmVw2lDgw75zEmHzE1FaWMoHJQfuCGrAUrNnpkPIXwVQgIP0O3+COToELxbegPktXozEpYnGD0m9YoVg==}
engines: {node: '>=20.19'}
hasBin: true
- '@tanstack/router-core@1.168.3':
- resolution: {integrity: sha512-qcjArls3v12UQQkEpU0+todc0/MCyrEZeXxhtgZZ0e5gxZDG25BUe/HlNcIjzyb7NZaw0TQAUBXbTClmFaHZiw==}
+ '@tanstack/router-core@1.168.9':
+ resolution: {integrity: sha512-18oeEwEDyXOIuO1VBP9ACaK7tYHZUjynGDCoUh/5c/BNhia9vCJCp9O0LfhZXOorDc/PmLSgvmweFhVmIxF10g==}
engines: {node: '>=20.19'}
hasBin: true
@@ -3547,29 +3877,17 @@ packages:
csstype:
optional: true
- '@tanstack/router-devtools@1.166.11':
- resolution: {integrity: sha512-jvFKr1fQ5pWMOZTILhitJc1kJt1wj8qqtRClVJvyD1AjHc1XINihkqK+R6+FmC8F2m+XOhKME4CSnTtJ6Nf34w==}
- engines: {node: '>=20.19'}
- peerDependencies:
- '@tanstack/react-router': ^1.168.2
- csstype: ^3.0.10
- react: '>=18.0.0 || >=19.0.0'
- react-dom: '>=18.0.0 || >=19.0.0'
- peerDependenciesMeta:
- csstype:
- optional: true
-
- '@tanstack/router-generator@1.166.17':
- resolution: {integrity: sha512-sBs6lyvA+B51hpUWYLx0KdaAIO/m9Ml2bsAdfVYyvs5DZXiAZZEbVD0myndyIkWaPR5x+kzuBakkrgTxJ9/m9Q==}
+ '@tanstack/router-generator@1.166.24':
+ resolution: {integrity: sha512-vdaGKwuH+r+DPe6R1mjk+TDDmDH6NTG7QqwxHqGEvOH4aGf9sPjhmRKNJZqQr8cPIbfp6u5lXyZ1TeDcSNMVEA==}
engines: {node: '>=20.19'}
- '@tanstack/router-plugin@1.167.4':
- resolution: {integrity: sha512-VChByI+CHdHMW350E6winbgqdX4tzmZIHovys8vXidRZkxGAhlygj/zhbnepF/TGX88rubj+SXDwSHY25qEcpQ==}
+ '@tanstack/router-plugin@1.167.12':
+ resolution: {integrity: sha512-StEHcctCuFI5taSjO+lhR/yQ+EK63BdyYa+ne6FoNQPB3MMrOUrz2ZVnbqILRLkh2b+p2EfBKt65sgAKdKygPQ==}
engines: {node: '>=20.19'}
hasBin: true
peerDependencies:
'@rsbuild/core': '>=1.0.2'
- '@tanstack/react-router': ^1.168.3
+ '@tanstack/react-router': ^1.168.10
vite: '>=5.0.0 || >=6.0.0 || >=7.0.0'
vite-plugin-solid: ^2.11.10
webpack: '>=5.92.0'
@@ -3589,8 +3907,8 @@ packages:
resolution: {integrity: sha512-nRcYw+w2OEgK6VfjirYvGyPLOK+tZQz1jkYcmH5AjMamQ9PycnlxZF2aEZtPpNoUsaceX2bHptn6Ub5hGXqNvw==}
engines: {node: '>=20.19'}
- '@tanstack/store@0.9.2':
- resolution: {integrity: sha512-K013lUJEFJK2ofFQ/hZKJUmCnpcV00ebLyOyFOWQvyQHUOZp/iYO84BM6aOGiV81JzwbX0APTVmW8YI7yiG5oA==}
+ '@tanstack/store@0.9.3':
+ resolution: {integrity: sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==}
'@tanstack/virtual-core@3.13.23':
resolution: {integrity: sha512-zSz2Z2HNyLjCplANTDyl3BcdQJc2k1+yyFoKhNRmCr7V7dY8o8q5m8uFTI1/Pg1kL+Hgrz6u3Xo6eFUB7l66cg==}
@@ -3629,12 +3947,6 @@ packages:
peerDependencies:
'@testing-library/dom': '>=7.21.4'
- '@theguild/federation-composition@0.21.3':
- resolution: {integrity: sha512-+LlHTa4UbRpZBog3ggAxjYIFvdfH3UMvvBUptur19TMWkqU4+n3GmN+mDjejU+dyBXIG27c25RsiQP1HyvM99g==}
- engines: {node: '>=18'}
- peerDependencies:
- graphql: ^16.0.0
-
'@tsconfig/node10@1.0.12':
resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==}
@@ -3647,6 +3959,9 @@ packages:
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+ '@tybys/wasm-util@0.10.1':
+ resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+
'@types/aria-query@5.0.4':
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
@@ -3668,8 +3983,98 @@ packages:
'@types/connect@3.4.38':
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
- '@types/conventional-commits-parser@5.0.2':
- resolution: {integrity: sha512-BgT2szDXnVypgpNxOK8aL5SGjUdaQbC++WZNjF1Qge3Og2+zhHj+RWhmehLhYyvQwqAmvezruVfOf8+3m74W+g==}
+ '@types/d3-array@3.2.2':
+ resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
+
+ '@types/d3-axis@3.0.6':
+ resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
+
+ '@types/d3-brush@3.0.6':
+ resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
+
+ '@types/d3-chord@3.0.6':
+ resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
+
+ '@types/d3-color@3.1.3':
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
+
+ '@types/d3-contour@3.0.6':
+ resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
+
+ '@types/d3-delaunay@6.0.4':
+ resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
+
+ '@types/d3-dispatch@3.0.7':
+ resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==}
+
+ '@types/d3-drag@3.0.7':
+ resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
+
+ '@types/d3-dsv@3.0.7':
+ resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
+
+ '@types/d3-ease@3.0.2':
+ resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
+
+ '@types/d3-fetch@3.0.7':
+ resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
+
+ '@types/d3-force@3.0.10':
+ resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
+
+ '@types/d3-format@3.0.4':
+ resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
+
+ '@types/d3-geo@3.1.0':
+ resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
+
+ '@types/d3-hierarchy@3.1.7':
+ resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
+
+ '@types/d3-interpolate@3.0.4':
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
+
+ '@types/d3-path@3.1.1':
+ resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
+
+ '@types/d3-polygon@3.0.2':
+ resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
+
+ '@types/d3-quadtree@3.0.6':
+ resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
+
+ '@types/d3-random@3.0.3':
+ resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
+
+ '@types/d3-scale-chromatic@3.1.0':
+ resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
+
+ '@types/d3-scale@4.0.9':
+ resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
+
+ '@types/d3-selection@3.0.11':
+ resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
+
+ '@types/d3-shape@3.1.8':
+ resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==}
+
+ '@types/d3-time-format@4.0.3':
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
+
+ '@types/d3-time@3.0.4':
+ resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
+
+ '@types/d3-timer@3.0.2':
+ resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
+
+ '@types/d3-transition@3.0.9':
+ resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
+
+ '@types/d3-zoom@3.0.8':
+ resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
+
+ '@types/d3@7.4.3':
+ resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -3686,12 +4091,12 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/geojson@7946.0.16':
+ resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
+
'@types/hast@3.0.4':
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
- '@types/js-yaml@4.0.9':
- resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
-
'@types/lodash@4.17.24':
resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==}
@@ -3747,8 +4152,11 @@ packages:
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
- '@uniswap/default-token-list@13.47.0':
- resolution: {integrity: sha512-1ZxEAmSUejJGggU0F70/7QHqhQNuE7EFtJIccB/Gs4cOBQGIwCfNBfeDXvw+koGPhXeaBpQRmvMpD5wldjWpXw==}
+ '@uniswap/default-token-list@18.13.0':
+ resolution: {integrity: sha512-dtvHgX2RxD3cqqiiJexNrisvn7GCEwS2l6YJSFOTrmnQn+EtpznLuXeKZRpvTu8YhtUyboNJhBw7ZzS9KpRQwg==}
+
+ '@upsetjs/venn.js@2.0.0':
+ resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==}
'@vanilla-extract/babel-plugin-debug-ids@1.2.2':
resolution: {integrity: sha512-MeDWGICAF9zA/OZLOKwhoRlsUW+fiMwnfuOAqFVohL31Agj7Q/RBWAYweqjHLgFBCsdnr6XIfwjJnmb2znEWxw==}
@@ -3784,12 +4192,13 @@ packages:
peerDependencies:
vite: ^5.0.0 || ^6.0.0 || ^7.0.0
- '@vercel/analytics@1.6.1':
- resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==}
+ '@vercel/analytics@2.0.1':
+ resolution: {integrity: sha512-MTQG6V9qQrt1tsDeF+2Uoo5aPjqbVPys1xvnIftXSJYG2SrwXRHnqEvVoYID7BTruDz4lCd2Z7rM1BdkUehk2g==}
peerDependencies:
'@remix-run/react': ^2
'@sveltejs/kit': ^1 || ^2
next: '>= 13'
+ nuxt: '>= 3'
react: ^18 || ^19 || ^19.0.0-rc
svelte: '>= 4'
vue: ^3
@@ -3801,6 +4210,8 @@ packages:
optional: true
next:
optional: true
+ nuxt:
+ optional: true
react:
optional: true
svelte:
@@ -3810,54 +4221,62 @@ packages:
vue-router:
optional: true
- '@vitejs/plugin-react-swc@3.11.0':
- resolution: {integrity: sha512-YTJCGFdNMHCMfjODYtxRNVAYmTWQ1Lb8PulP/2/f/oEEtglw8oKxKIZmmRkyXrVrHfsKOaVkAc3NT9/dMutO5w==}
+ '@vitejs/plugin-react@5.2.0':
+ resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
- vite: ^4 || ^5 || ^6 || ^7
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
- '@vitejs/plugin-react@4.7.0':
- resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ '@vitejs/plugin-react@6.0.1':
+ resolution: {integrity: sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
- vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+ '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0
+ babel-plugin-react-compiler: ^1.0.0
+ vite: ^8.0.0
+ peerDependenciesMeta:
+ '@rolldown/plugin-babel':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
- '@vitest/coverage-v8@3.2.4':
- resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==}
+ '@vitest/coverage-v8@4.1.2':
+ resolution: {integrity: sha512-sPK//PHO+kAkScb8XITeB1bf7fsk85Km7+rt4eeuRR3VS1/crD47cmV5wicisJmjNdfeokTZwjMk4Mj2d58Mgg==}
peerDependencies:
- '@vitest/browser': 3.2.4
- vitest: 3.2.4
+ '@vitest/browser': 4.1.2
+ vitest: 4.1.2
peerDependenciesMeta:
'@vitest/browser':
optional: true
- '@vitest/expect@3.2.4':
- resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+ '@vitest/expect@4.1.2':
+ resolution: {integrity: sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==}
- '@vitest/mocker@3.2.4':
- resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
+ '@vitest/mocker@4.1.2':
+ resolution: {integrity: sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==}
peerDependencies:
msw: ^2.4.9
- vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
msw:
optional: true
vite:
optional: true
- '@vitest/pretty-format@3.2.4':
- resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+ '@vitest/pretty-format@4.1.2':
+ resolution: {integrity: sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==}
- '@vitest/runner@3.2.4':
- resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
+ '@vitest/runner@4.1.2':
+ resolution: {integrity: sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==}
- '@vitest/snapshot@3.2.4':
- resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
+ '@vitest/snapshot@4.1.2':
+ resolution: {integrity: sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==}
- '@vitest/spy@3.2.4':
- resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+ '@vitest/spy@4.1.2':
+ resolution: {integrity: sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==}
- '@vitest/utils@3.2.4':
- resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+ '@vitest/utils@4.1.2':
+ resolution: {integrity: sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==}
'@wagmi/cli@2.10.0':
resolution: {integrity: sha512-2tYt6Bp1q26mWexH+XE6dMpPB5/Gp/3OVtE2SeeJ/gNHKLZmVF/TuoZR75mpJKTpofyvpz/fnuMCkUxzbc/kRw==}
@@ -4333,10 +4752,6 @@ packages:
'@zag-js/utils@1.35.3':
resolution: {integrity: sha512-LHcC+9y6TFhDsIz9I3koYxONl2JFfx5yQDzc6ZEQO2cqzXedRcN0R9IPqNGCX7JuhGt14ctDkVCm1JWGP2J6Wg==}
- JSONStream@1.3.5:
- resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
- hasBin: true
-
abitype@1.0.6:
resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==}
peerDependencies:
@@ -4384,25 +4799,13 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
- agent-base@7.1.4:
- resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
- engines: {node: '>= 14'}
-
agentkeepalive@4.6.0:
resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
engines: {node: '>= 8.0.0'}
- aggregate-error@3.1.0:
- resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
- engines: {node: '>=8'}
-
ajv@8.18.0:
resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
- ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
-
ansi-escapes@7.3.0:
resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
engines: {node: '>=18'}
@@ -4470,12 +4873,8 @@ packages:
resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
engines: {node: '>=4'}
- ast-v8-to-istanbul@0.3.11:
- resolution: {integrity: sha512-Qya9fkoofMjCBNVdWINMjB5KZvkYfaO9/anwkWnjxibpWUxo5iHl2sOdP7/uAqaRuUYuoo8rDwnbaaKVFxoUvw==}
-
- astral-regex@2.0.0:
- resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
- engines: {node: '>=8'}
+ ast-v8-to-istanbul@1.0.0:
+ resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==}
astring@1.9.0:
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
@@ -4564,6 +4963,9 @@ packages:
bech32@2.0.0:
resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==}
+ bidi-js@1.0.3:
+ resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
+
big.js@6.2.2:
resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==}
@@ -4579,9 +4981,6 @@ packages:
resolution: {integrity: sha512-vwEmpL5Tpj0I0RBdNkcDMXePoaYSTeKY6mL6/l5esbnTs+jGdPDuLp4NY1hSh6Zk5wSgePygZ4Wx5JJao30Pww==}
engines: {node: '>=18.0.0'}
- bl@4.1.0:
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
-
bl@5.1.0:
resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
@@ -4600,11 +4999,11 @@ packages:
bowser@2.14.1:
resolution: {integrity: sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==}
- brace-expansion@1.1.12:
- resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+ brace-expansion@1.1.13:
+ resolution: {integrity: sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==}
- brace-expansion@5.0.3:
- resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==}
+ brace-expansion@5.0.5:
+ resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
engines: {node: 18 || 20 || >=22}
braces@3.0.3:
@@ -4628,9 +5027,6 @@ packages:
bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
- buffer@5.7.1:
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
-
buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
@@ -4691,8 +5087,8 @@ packages:
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
- chai@5.3.3:
- resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
+ chai@6.2.2:
+ resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
engines: {node: '>=18'}
chalk@4.1.2:
@@ -4730,9 +5126,13 @@ packages:
charenc@0.0.2:
resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
- check-error@2.1.3:
- resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==}
- engines: {node: '>= 16'}
+ chevrotain-allstar@0.3.1:
+ resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
+ peerDependencies:
+ chevrotain: ^11.0.0
+
+ chevrotain@11.1.2:
+ resolution: {integrity: sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==}
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
@@ -4749,14 +5149,6 @@ packages:
chroma-js@3.2.0:
resolution: {integrity: sha512-os/OippSlX1RlWWr+QDPcGUZs0uoqr32urfxESG9U93lhUfbnlyckte84Q8P1UQY/qth983AS1JONKmLS4T0nw==}
- clean-stack@2.2.0:
- resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
- engines: {node: '>=6'}
-
- cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
- engines: {node: '>=8'}
-
cli-cursor@4.0.0:
resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -4769,17 +5161,13 @@ packages:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
- cli-truncate@2.1.0:
- resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
- engines: {node: '>=8'}
-
- cli-truncate@4.0.0:
- resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
- engines: {node: '>=18'}
+ cli-truncate@5.2.0:
+ resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==}
+ engines: {node: '>=20'}
- cli-width@3.0.0:
- resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
- engines: {node: '>= 10'}
+ cli-width@4.1.0:
+ resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
+ engines: {node: '>= 12'}
cliui@6.0.0:
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
@@ -4788,10 +5176,6 @@ packages:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
- clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
-
clsx@1.2.1:
resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
engines: {node: '>=6'}
@@ -4835,6 +5219,14 @@ packages:
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
common-tags@1.8.2:
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
engines: {node: '>=4.0.0'}
@@ -4856,8 +5248,8 @@ packages:
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
- connectkit@1.9.1:
- resolution: {integrity: sha512-ac9Ki3+HdS3l5NCa6H86y7R+0PqwJ8yzsBQVtWk4/jkFo+JJioetO43A/Q0O7VtxLbfuLLfwDGZ09taePLNzfQ==}
+ connectkit@1.9.2:
+ resolution: {integrity: sha512-ZaYdL2UgHdcVy5j7Cn5C6KUtA5Ev3LEc3mPAzEoH3V3hdu3CdC8jgFTFsgInTXXpsdNpwTEEDPnP245ok7wOYg==}
engines: {node: '>=12.4'}
peerDependencies:
'@tanstack/react-query': '>=5.0.0'
@@ -4869,17 +5261,17 @@ packages:
constant-case@3.0.4:
resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
- conventional-changelog-angular@7.0.0:
- resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
- engines: {node: '>=16'}
+ conventional-changelog-angular@8.3.1:
+ resolution: {integrity: sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==}
+ engines: {node: '>=18'}
- conventional-changelog-conventionalcommits@7.0.2:
- resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==}
- engines: {node: '>=16'}
+ conventional-changelog-conventionalcommits@9.3.1:
+ resolution: {integrity: sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw==}
+ engines: {node: '>=18'}
- conventional-commits-parser@5.0.0:
- resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==}
- engines: {node: '>=16'}
+ conventional-commits-parser@6.4.0:
+ resolution: {integrity: sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==}
+ engines: {node: '>=18'}
hasBin: true
convert-source-map@1.9.0:
@@ -4888,8 +5280,8 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- cookie-es@1.2.2:
- resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
+ cookie-es@1.2.3:
+ resolution: {integrity: sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==}
cookie-es@2.0.0:
resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==}
@@ -4901,6 +5293,12 @@ packages:
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ cose-base@1.0.3:
+ resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
+
+ cose-base@2.2.0:
+ resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
+
cosmiconfig-typescript-loader@6.2.0:
resolution: {integrity: sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==}
engines: {node: '>=v18'}
@@ -4922,8 +5320,8 @@ packages:
typescript:
optional: true
- cosmiconfig@9.0.0:
- resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ cosmiconfig@9.0.1:
+ resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==}
engines: {node: '>=14'}
peerDependencies:
typescript: '>=4.9.5'
@@ -4973,6 +5371,10 @@ packages:
css-to-react-native@3.2.0:
resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
+ css-tree@3.2.1:
+ resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
css-what@6.2.2:
resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
engines: {node: '>= 6'}
@@ -4985,10 +5387,6 @@ packages:
engines: {node: '>=4'}
hasBin: true
- cssstyle@4.6.0:
- resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==}
- engines: {node: '>=18'}
-
csstype@3.2.3:
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
@@ -5002,17 +5400,169 @@ packages:
typescript:
optional: true
- dargs@8.1.0:
- resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==}
+ cytoscape-cose-bilkent@4.1.0:
+ resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape-fcose@2.2.0:
+ resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==}
+ peerDependencies:
+ cytoscape: ^3.2.0
+
+ cytoscape@3.33.1:
+ resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==}
+ engines: {node: '>=0.10'}
+
+ d3-array@2.12.1:
+ resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+
+ d3-array@3.2.4:
+ resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
+ engines: {node: '>=12'}
+
+ d3-axis@3.0.0:
+ resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
+ engines: {node: '>=12'}
+
+ d3-brush@3.0.0:
+ resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
+ engines: {node: '>=12'}
+
+ d3-chord@3.0.1:
+ resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
+ engines: {node: '>=12'}
+
+ d3-color@3.1.0:
+ resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
+ engines: {node: '>=12'}
+
+ d3-contour@4.0.2:
+ resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
+ engines: {node: '>=12'}
+
+ d3-delaunay@6.0.4:
+ resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
+ engines: {node: '>=12'}
+
+ d3-dispatch@3.0.1:
+ resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
+ engines: {node: '>=12'}
+
+ d3-drag@3.0.0:
+ resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
+ engines: {node: '>=12'}
+
+ d3-dsv@3.0.1:
+ resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ d3-ease@3.0.1:
+ resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
+ engines: {node: '>=12'}
+
+ d3-fetch@3.0.1:
+ resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
+ engines: {node: '>=12'}
+
+ d3-force@3.0.0:
+ resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
+ engines: {node: '>=12'}
+
+ d3-format@3.1.2:
+ resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
+ engines: {node: '>=12'}
+
+ d3-geo@3.1.1:
+ resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
+ engines: {node: '>=12'}
+
+ d3-hierarchy@3.1.2:
+ resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
+ engines: {node: '>=12'}
+
+ d3-interpolate@3.0.1:
+ resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
+ engines: {node: '>=12'}
+
+ d3-path@1.0.9:
+ resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
+
+ d3-path@3.1.0:
+ resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
+ engines: {node: '>=12'}
+
+ d3-polygon@3.0.1:
+ resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
+ engines: {node: '>=12'}
+
+ d3-quadtree@3.0.1:
+ resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
+ engines: {node: '>=12'}
+
+ d3-random@3.0.1:
+ resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
+ engines: {node: '>=12'}
+
+ d3-sankey@0.12.3:
+ resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
+
+ d3-scale-chromatic@3.1.0:
+ resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
+ engines: {node: '>=12'}
+
+ d3-scale@4.0.2:
+ resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
+ engines: {node: '>=12'}
+
+ d3-selection@3.0.0:
+ resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
+ engines: {node: '>=12'}
+
+ d3-shape@1.3.7:
+ resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
+
+ d3-shape@3.2.0:
+ resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
+ engines: {node: '>=12'}
+
+ d3-time-format@4.1.0:
+ resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
engines: {node: '>=12'}
+ d3-time@3.1.0:
+ resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
+ engines: {node: '>=12'}
+
+ d3-timer@3.0.1:
+ resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
+ engines: {node: '>=12'}
+
+ d3-transition@3.0.1:
+ resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ d3-selection: 2 - 3
+
+ d3-zoom@3.0.0:
+ resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
+ engines: {node: '>=12'}
+
+ d3@7.9.0:
+ resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
+ engines: {node: '>=12'}
+
+ dagre-d3-es@7.0.14:
+ resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==}
+
data-uri-to-buffer@4.0.1:
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
engines: {node: '>= 12'}
- data-urls@5.0.0:
- resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
- engines: {node: '>=18'}
+ data-urls@7.0.0:
+ resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
dataloader@2.2.3:
resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==}
@@ -5024,8 +5574,12 @@ packages:
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
- debounce@1.2.1:
- resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+ dayjs@1.11.20:
+ resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==}
+
+ debounce@2.2.0:
+ resolution: {integrity: sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==}
+ engines: {node: '>=18'}
debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
@@ -5078,10 +5632,6 @@ packages:
babel-plugin-macros:
optional: true
- deep-eql@5.0.2:
- resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
- engines: {node: '>=6'}
-
deep-object-diff@1.1.9:
resolution: {integrity: sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==}
@@ -5089,9 +5639,6 @@ packages:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
- defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
-
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
@@ -5099,6 +5646,9 @@ packages:
defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ delaunator@5.1.0:
+ resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==}
+
delay@5.0.0:
resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==}
engines: {node: '>=10'}
@@ -5115,6 +5665,10 @@ packages:
resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==}
engines: {node: '>= 0.6.0'}
+ dependency-graph@1.0.0:
+ resolution: {integrity: sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==}
+ engines: {node: '>=4'}
+
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -5177,6 +5731,9 @@ packages:
dom-accessibility-api@0.6.3:
resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+ dompurify@3.3.3:
+ resolution: {integrity: sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==}
+
dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
@@ -5192,10 +5749,6 @@ packages:
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
engines: {node: '>=12'}
- dset@3.1.4:
- resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
- engines: {node: '>=4'}
-
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
@@ -5225,9 +5778,6 @@ packages:
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
encode-utf8@1.0.3:
resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
@@ -5279,6 +5829,9 @@ packages:
es-module-lexer@1.7.0:
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+ es-module-lexer@2.0.0:
+ resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==}
+
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
@@ -5310,8 +5863,8 @@ packages:
engines: {node: '>=18'}
hasBin: true
- esbuild@0.27.3:
- resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==}
+ esbuild@0.27.4:
+ resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==}
engines: {node: '>=18'}
hasBin: true
@@ -5322,10 +5875,6 @@ packages:
escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -5408,10 +5957,6 @@ packages:
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
- execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
-
expect-type@1.3.0:
resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
engines: {node: '>=12.0.0'}
@@ -5427,23 +5972,6 @@ packages:
resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==}
engines: {node: '> 0.1.90'}
- family@0.1.6:
- resolution: {integrity: sha512-ulHRThfhz+glfmVfSPcU16N1hZ/uj0Y1D79vl0PeJ3yFfgXlkiBbVwXRJhDQuP8oizxBCl16KT2PrMleiYwrPw==}
- peerDependencies:
- react: 17.x || 18.x || 19.x
- react-dom: 17.x || 18.x || 19.x
- viem: 2.x
- wagmi: 2.x
- peerDependenciesMeta:
- react:
- optional: true
- react-dom:
- optional: true
- viem:
- optional: true
- wagmi:
- optional: true
-
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -5492,10 +6020,6 @@ packages:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
- figures@3.2.0:
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
- engines: {node: '>=8'}
-
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -5515,10 +6039,6 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
- find-up@7.0.0:
- resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
- engines: {node: '>=18'}
-
follow-redirects@1.15.11:
resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
engines: {node: '>=4.0'}
@@ -5532,10 +6052,6 @@ packages:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
- foreground-child@3.3.1:
- resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
- engines: {node: '>=14'}
-
form-data@4.0.5:
resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
engines: {node: '>= 6'}
@@ -5571,6 +6087,11 @@ packages:
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ fsevents@2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -5611,16 +6132,12 @@ packages:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
- get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
-
- get-tsconfig@4.13.6:
- resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==}
+ get-tsconfig@4.13.7:
+ resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==}
- git-raw-commits@4.0.0:
- resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==}
- engines: {node: '>=16'}
+ git-raw-commits@5.0.1:
+ resolution: {integrity: sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==}
+ engines: {node: '>=18'}
hasBin: true
github-slugger@2.0.0:
@@ -5630,11 +6147,6 @@ packages:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
- glob@10.5.0:
- resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==}
- deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
- hasBin: true
-
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
@@ -5647,13 +6159,6 @@ packages:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
- globby@14.1.0:
- resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==}
- engines: {node: '>=18'}
-
- globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
-
goober@2.1.18:
resolution: {integrity: sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==}
peerDependencies:
@@ -5672,8 +6177,8 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- graphql-config@5.1.5:
- resolution: {integrity: sha512-mG2LL1HccpU8qg5ajLROgdsBzx/o2M6kgI3uAmoaXiSH9PCUbtIyLomLqUtCFaAeG2YCFsl0M5cfQ9rKmDoMVA==}
+ graphql-config@5.1.6:
+ resolution: {integrity: sha512-fCkYnm4Kdq3un0YIM4BCZHVR5xl0UeLP6syxxO7KAstdY7QVyVvTHP0kRPDYEP1v08uwtJVgis5sj3IOTLOniQ==}
engines: {node: '>= 16.0.0'}
peerDependencies:
cosmiconfig-toml-loader: ^1.0.0
@@ -5714,13 +6219,16 @@ packages:
ws:
optional: true
- graphql@16.13.1:
- resolution: {integrity: sha512-gGgrVCoDKlIZ8fIqXBBb0pPKqDgki0Z/FSKNiQzSGj2uEYHr1tq5wmBegGwJx6QB5S5cM0khSBpi/JFHMCvsmQ==}
+ graphql@16.13.2:
+ resolution: {integrity: sha512-5bJ+nf/UCpAjHM8i06fl7eLyVC9iuNAjm9qzkiu2ZGhM0VscSvS6WDPfAwkdkBuoXGM9FJSbKl6wylMwP9Ktig==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
h3@1.15.5:
resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==}
+ hachure-fill@0.5.2:
+ resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
+
has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
@@ -5747,6 +6255,18 @@ packages:
hast-util-classnames@3.0.0:
resolution: {integrity: sha512-tI3JjoGDEBVorMAWK4jNRsfLMYmih1BUOG3VV36pH36njs1IEl7xkNrVTD2mD2yYHmQCa5R/fj61a8IAF4bRaQ==}
+ hast-util-from-dom@5.0.1:
+ resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==}
+
+ hast-util-from-html-isomorphic@2.0.0:
+ resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
+ hast-util-from-parse5@8.0.3:
+ resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
+
hast-util-has-property@3.0.0:
resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==}
@@ -5774,12 +6294,18 @@ packages:
hast-util-to-string@3.0.1:
resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+
hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
hastscript@8.0.0:
resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==}
+ hastscript@9.0.1:
+ resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
+
header-case@2.0.4:
resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
@@ -5793,9 +6319,9 @@ packages:
resolution: {integrity: sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==}
engines: {node: '>=16.9.0'}
- html-encoding-sniffer@4.0.0:
- resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
- engines: {node: '>=18'}
+ html-encoding-sniffer@6.0.0:
+ resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
@@ -5807,22 +6333,10 @@ packages:
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
engines: {node: '>= 0.8'}
- http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
-
- https-proxy-agent@7.0.6:
- resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
- engines: {node: '>= 14'}
-
human-signals@2.1.0:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
- human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
-
humanize-ms@1.2.1:
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
@@ -5852,14 +6366,13 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
- ignore@7.0.5:
- resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
- engines: {node: '>= 4'}
-
immutable@3.7.6:
resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==}
engines: {node: '>=0.8.0'}
+ immutable@5.1.5:
+ resolution: {integrity: sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==}
+
import-fresh@3.3.1:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
@@ -5889,9 +6402,12 @@ packages:
inline-style-parser@0.2.7:
resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
- inquirer@8.2.7:
- resolution: {integrity: sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==}
- engines: {node: '>=12.0.0'}
+ internmap@1.0.1:
+ resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
+
+ internmap@2.0.3:
+ resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
+ engines: {node: '>=12'}
invariant@2.2.4:
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
@@ -5942,10 +6458,6 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- is-fullwidth-code-point@4.0.0:
- resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
- engines: {node: '>=12'}
-
is-fullwidth-code-point@5.1.0:
resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
engines: {node: '>=18'}
@@ -5961,10 +6473,6 @@ packages:
is-hexadecimal@2.0.1:
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
- is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
-
is-interactive@2.0.0:
resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
engines: {node: '>=12'}
@@ -6003,14 +6511,6 @@ packages:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
- is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- is-text-path@2.0.0:
- resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
- engines: {node: '>=8'}
-
is-typed-array@1.1.15:
resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
engines: {node: '>= 0.4'}
@@ -6075,17 +6575,10 @@ packages:
resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
engines: {node: '>=10'}
- istanbul-lib-source-maps@5.0.6:
- resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==}
- engines: {node: '>=10'}
-
istanbul-reports@3.2.0:
resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
engines: {node: '>=8'}
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
javascript-stringify@2.1.0:
resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
@@ -6094,17 +6587,10 @@ packages:
engines: {node: '>=8'}
hasBin: true
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
- hasBin: true
-
jiti@2.6.1:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
- jose@5.10.0:
- resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==}
-
jose@6.1.3:
resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==}
@@ -6114,16 +6600,13 @@ packages:
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-tokens@9.0.1:
- resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
-
js-yaml@4.1.1:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
- jsdom@26.1.0:
- resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==}
- engines: {node: '>=18'}
+ jsdom@29.0.1:
+ resolution: {integrity: sha512-z6JOK5gRO7aMybVq/y/MlIpKh8JIi68FBKMUtKkK2KH/wMSRlCxQ682d08LB9fYXplyY/UXG8P4XXTScmdjApg==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
peerDependencies:
canvas: ^3.0.0
peerDependenciesMeta:
@@ -6163,9 +6646,9 @@ packages:
jsonfile@6.2.0:
resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
- jsonparse@1.3.1:
- resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
- engines: {'0': node >= 0.2.0}
+ katex@0.16.44:
+ resolution: {integrity: sha512-EkxoDTk8ufHqHlf9QxGwcxeLkWRR3iOuYfRpfORgYfqc8s13bgb+YtRY59NK5ZpRaCwq1kqA6a5lpX8C/eLphQ==}
+ hasBin: true
keccak@3.0.4:
resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==}
@@ -6174,83 +6657,166 @@ packages:
keyvaluestorage-interface@1.0.0:
resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==}
- lightningcss-android-arm64@1.31.1:
- resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==}
+ khroma@2.1.0:
+ resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
+
+ langium@4.2.1:
+ resolution: {integrity: sha512-zu9QWmjpzJcomzdJQAHgDVhLGq5bLosVak1KVa40NzQHXfqr4eAHupvnPOVXEoLkg6Ocefvf/93d//SB7du4YQ==}
+ engines: {node: '>=20.10.0', npm: '>=10.2.3'}
+
+ layout-base@1.0.2:
+ resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
+
+ layout-base@2.0.1:
+ resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==}
+
+ lightningcss-android-arm64@1.30.2:
+ resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [android]
- lightningcss-darwin-arm64@1.31.1:
- resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==}
+ lightningcss-android-arm64@1.32.0:
+ resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.30.2:
+ resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
- lightningcss-darwin-x64@1.31.1:
- resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==}
+ lightningcss-darwin-arm64@1.32.0:
+ resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.30.2:
+ resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.32.0:
+ resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
- lightningcss-freebsd-x64@1.31.1:
- resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==}
+ lightningcss-freebsd-x64@1.30.2:
+ resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-freebsd-x64@1.32.0:
+ resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
- lightningcss-linux-arm-gnueabihf@1.31.1:
- resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==}
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
- lightningcss-linux-arm64-gnu@1.31.1:
- resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==}
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.30.2:
+ resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- lightningcss-linux-arm64-musl@1.31.1:
- resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==}
+ lightningcss-linux-arm64-gnu@1.32.0:
+ resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-arm64-musl@1.30.2:
+ resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [musl]
- lightningcss-linux-x64-gnu@1.31.1:
- resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==}
+ lightningcss-linux-arm64-musl@1.32.0:
+ resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-linux-x64-gnu@1.30.2:
+ resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ lightningcss-linux-x64-gnu@1.32.0:
+ resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [glibc]
- lightningcss-linux-x64-musl@1.31.1:
- resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==}
+ lightningcss-linux-x64-musl@1.30.2:
+ resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [musl]
- lightningcss-win32-arm64-msvc@1.31.1:
- resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==}
+ lightningcss-linux-x64-musl@1.32.0:
+ resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ lightningcss-win32-arm64-msvc@1.30.2:
+ resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
- lightningcss-win32-x64-msvc@1.31.1:
- resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==}
+ lightningcss-win32-arm64-msvc@1.32.0:
+ resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.30.2:
+ resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
- lightningcss@1.31.1:
- resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==}
+ lightningcss-win32-x64-msvc@1.32.0:
+ resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
- lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
+ lightningcss@1.30.2:
+ resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==}
+ engines: {node: '>= 12.0.0'}
+
+ lightningcss@1.32.0:
+ resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
+ engines: {node: '>= 12.0.0'}
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -6258,23 +6824,14 @@ packages:
linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
- lint-staged@15.5.2:
- resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==}
- engines: {node: '>=18.12.0'}
+ lint-staged@16.4.0:
+ resolution: {integrity: sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==}
+ engines: {node: '>=20.17'}
hasBin: true
- listr2@4.0.5:
- resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==}
- engines: {node: '>=12'}
- peerDependencies:
- enquirer: '>= 2.3.0 < 3'
- peerDependenciesMeta:
- enquirer:
- optional: true
-
- listr2@8.3.3:
- resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==}
- engines: {node: '>=18.0.0'}
+ listr2@9.0.5:
+ resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==}
+ engines: {node: '>=20.0.0'}
lit-element@4.2.2:
resolution: {integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==}
@@ -6297,22 +6854,15 @@ packages:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
- locate-path@7.2.0:
- resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ lodash-es@4.17.23:
+ resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==}
lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
- lodash.isplainobject@4.0.6:
- resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
-
lodash.kebabcase@4.1.1:
resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
lodash.mergewith@4.6.2:
resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
@@ -6325,9 +6875,6 @@ packages:
lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
- lodash.uniq@4.5.0:
- resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
-
lodash.upperfirst@4.3.1:
resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
@@ -6342,10 +6889,6 @@ packages:
resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
engines: {node: '>=12'}
- log-update@4.0.0:
- resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==}
- engines: {node: '>=10'}
-
log-update@6.1.0:
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
engines: {node: '>=18'}
@@ -6357,9 +6900,6 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
- loupe@3.2.1:
- resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
-
lower-case-first@2.0.2:
resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==}
@@ -6373,6 +6913,10 @@ packages:
resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==}
engines: {node: 20 || >=22}
+ lru-cache@11.2.7:
+ resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==}
+ engines: {node: 20 || >=22}
+
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -6386,8 +6930,8 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
- magicast@0.3.5:
- resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
+ magicast@0.5.2:
+ resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==}
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
@@ -6414,6 +6958,11 @@ packages:
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+ marked@16.4.2:
+ resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==}
+ engines: {node: '>= 20'}
+ hasBin: true
+
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -6475,15 +7024,18 @@ packages:
mdast-util-to-string@4.0.0:
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+ mdn-data@2.27.1:
+ resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
+
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
media-query-parser@2.0.2:
resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==}
- meow@12.1.1:
- resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
- engines: {node: '>=16.10'}
+ meow@13.2.0:
+ resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
+ engines: {node: '>=18'}
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -6492,6 +7044,17 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+ mermaid-isomorphic@3.1.0:
+ resolution: {integrity: sha512-mzrvfEVjnJIkJlEqxp3eMuR1wS0TeLCH1VK5E/T5yzWaBwI3JqjJuw70yUIThSCDJ5bRs6O3rgfp00oBAbvSeQ==}
+ peerDependencies:
+ playwright: '1'
+ peerDependenciesMeta:
+ playwright:
+ optional: true
+
+ mermaid@11.14.0:
+ resolution: {integrity: sha512-GSGloRsBs+JINmmhl0JDwjpuezCsHB4WGI4NASHxL3fHo3o/BRXTxhDLKnln8/Q0lRFRyDdEjmk1/d5Sn1Xz8g==}
+
meros@1.3.2:
resolution: {integrity: sha512-Q3mobPbvEx7XbwhnC1J1r60+5H6EZyNccdzSz0eGexJRwouUtTZxPVRGdqKtxlpD84ScK4+tIGldkqDtCKdI0A==}
engines: {node: '>=13'}
@@ -6643,10 +7206,6 @@ packages:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
- mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
-
mimic-function@5.0.1:
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
engines: {node: '>=18'}
@@ -6655,26 +7214,22 @@ packages:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
- minimatch@10.2.2:
- resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==}
- engines: {node: 18 || 20 || >=22}
+ mini-svg-data-uri@1.4.4:
+ resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==}
+ hasBin: true
- minimatch@3.1.3:
- resolution: {integrity: sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==}
+ minimatch@10.2.5:
+ resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
+ engines: {node: 18 || 20 || >=22}
- minimatch@9.0.6:
- resolution: {integrity: sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minimatch@3.1.5:
+ resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- minipass@7.1.3:
- resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minisearch@6.3.0:
- resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==}
+ minisearch@7.2.0:
+ resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==}
mipd@0.0.7:
resolution: {integrity: sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==}
@@ -6702,8 +7257,9 @@ packages:
multiformats@9.9.0:
resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==}
- mute-stream@0.0.8:
- resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+ mute-stream@2.0.0:
+ resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
+ engines: {node: ^18.17.0 || >=20.5.0}
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
@@ -6778,18 +7334,32 @@ packages:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
- npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
nullthrows@1.1.1:
resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
- nwsapi@2.2.23:
- resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==}
+ nuqs@2.8.9:
+ resolution: {integrity: sha512-8ou6AEwsxMWSYo2qkfZtYFVzngwbKmg4c00HVxC1fF6CEJv3Fwm6eoZmfVPALB+vw8Udo7KL5uy96PFcYe1BIQ==}
+ peerDependencies:
+ '@remix-run/react': '>=2'
+ '@tanstack/react-router': ^1
+ next: '>=14.2.0'
+ react: '>=18.2.0 || ^19.0.0-0'
+ react-router: ^5 || ^6 || ^7
+ react-router-dom: ^5 || ^6 || ^7
+ peerDependenciesMeta:
+ '@remix-run/react':
+ optional: true
+ '@tanstack/react-router':
+ optional: true
+ next:
+ optional: true
+ react-router:
+ optional: true
+ react-router-dom:
+ optional: true
obj-multiplex@1.0.0:
resolution: {integrity: sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==}
@@ -6798,6 +7368,9 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
+ obug@2.1.1:
+ resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
+
ofetch@1.5.1:
resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
@@ -6823,10 +7396,6 @@ packages:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
- onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
-
onetime@7.0.0:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
@@ -6840,10 +7409,6 @@ packages:
openapi-typescript-helpers@0.0.15:
resolution: {integrity: sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==}
- ora@5.4.1:
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
- engines: {node: '>=10'}
-
ora@7.0.1:
resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==}
engines: {node: '>=16'}
@@ -6896,10 +7461,6 @@ packages:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
- p-limit@4.0.0:
- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
p-limit@5.0.0:
resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
engines: {node: '>=18'}
@@ -6912,20 +7473,12 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
- p-locate@6.0.0:
- resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- p-map@4.0.0:
- resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
- engines: {node: '>=10'}
-
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+ package-manager-detector@1.6.0:
+ resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==}
param-case@3.0.4:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
@@ -6948,6 +7501,9 @@ packages:
parse5@7.3.0:
resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+ parse5@8.0.0:
+ resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==}
+
parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
@@ -6958,14 +7514,13 @@ packages:
path-case@3.0.4:
resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
+ path-data-parser@0.1.0:
+ resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
+
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
- path-exists@5.0.0:
- resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
path-is-absolute@1.0.1:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
@@ -6974,10 +7529,6 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
- path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
-
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
@@ -6989,28 +7540,16 @@ packages:
resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==}
engines: {node: '>=0.10.0'}
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
- path-type@6.0.0:
- resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==}
- engines: {node: '>=18'}
-
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
- pathval@2.0.1:
- resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
- engines: {node: '>= 14.16'}
-
perfect-freehand@1.2.3:
resolution: {integrity: sha512-bHZSfqDHGNlPpgH2yxXgPHlQSPpEbo+qg7li0M78J9vNAi2yjwLeA4x79BEQhX44lEWpCLSFCeRZwpw0niiXPA==}
@@ -7029,10 +7568,9 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
- pidtree@0.6.0:
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
- engines: {node: '>=0.10'}
- hasBin: true
+ picomatch@4.0.4:
+ resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
+ engines: {node: '>=12'}
pify@3.0.0:
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
@@ -7065,10 +7603,26 @@ packages:
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+ playwright-core@1.59.1:
+ resolution: {integrity: sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ playwright@1.59.1:
+ resolution: {integrity: sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
pngjs@5.0.0:
resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
engines: {node: '>=10.13.0'}
+ points-on-curve@0.2.0:
+ resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
+
+ points-on-path@0.2.1:
+ resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
+
pony-cause@2.1.11:
resolution: {integrity: sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==}
engines: {node: '>=12.0.0'}
@@ -7154,11 +7708,15 @@ packages:
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.8:
+ resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
+ engines: {node: ^10 || ^12 || >=14}
+
preact@10.24.2:
resolution: {integrity: sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q==}
- preact@10.29.0:
- resolution: {integrity: sha512-wSAGyk2bYR1c7t3SZ3jHcM6xy0lcBcDel6lODcs9ME6Th++Dx2KU+6D3HD8wMMKGA8Wpw7OMd3/4RGzYRpzwRg==}
+ preact@10.29.1:
+ resolution: {integrity: sha512-gQCLc/vWroE8lIpleXtdJhTFDogTdZG9AjMUpVkDf2iTCNwYNWA+u16dL41TqUDJO4gm2IgrcMv3uTpjd4Pwmg==}
prettier@3.8.1:
resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
@@ -7254,10 +7812,10 @@ packages:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
- react-dom@19.1.0:
- resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
+ react-dom@19.2.4:
+ resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==}
peerDependencies:
- react: ^19.1.0
+ react: ^19.2.4
react-error-boundary@6.1.1:
resolution: {integrity: sha512-BrYwPOdXi5mqkk5lw+Uvt0ThHx32rCt3BkukS4X23A2AIWDPSGX6iaWTc0y9TU/mHDA/6qOSGel+B2ERkOvD1w==}
@@ -7291,8 +7849,8 @@ packages:
react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-refresh@0.17.0:
- resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
+ react-refresh@0.18.0:
+ resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==}
engines: {node: '>=0.10.0'}
react-remove-scroll-bar@2.3.8:
@@ -7360,8 +7918,8 @@ packages:
react-dom:
optional: true
- react@19.1.0:
- resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
+ react@19.2.4:
+ resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==}
engines: {node: '>=0.10.0'}
readable-stream@2.3.8:
@@ -7428,6 +7986,14 @@ packages:
rehype-class-names@2.0.0:
resolution: {integrity: sha512-jldCIiAEvXKdq8hqr5f5PzNdIDkvHC6zfKhwta9oRoMu7bn0W7qLES/JrrjBvr9rKz3nJ8x4vY1EWI+dhjHVZQ==}
+ rehype-mermaid@3.0.0:
+ resolution: {integrity: sha512-fxrD5E4Fa1WXUjmjNDvLOMT4XB1WaxcfycFIWiYU0yEMQhcTDElc9aDFnbDFRLxG1Cfo1I3mfD5kg4sjlWaB+Q==}
+ peerDependencies:
+ playwright: '1'
+ peerDependenciesMeta:
+ playwright:
+ optional: true
+
rehype-recma@1.0.0:
resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
@@ -7503,10 +8069,6 @@ packages:
engines: {node: '>= 0.4'}
hasBin: true
- restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
-
restore-cursor@4.0.0:
resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -7522,26 +8084,30 @@ packages:
rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+ robust-predicates@3.0.3:
+ resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==}
+
+ rolldown@1.0.0-rc.12:
+ resolution: {integrity: sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
rollup@4.59.0:
resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ roughjs@4.6.6:
+ resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
+
rpc-websockets@9.3.3:
resolution: {integrity: sha512-OkCsBBzrwxX4DoSv4Zlf9DgXKRB0MzVfCFg5MC+fNnf9ktr4SMWjsri0VNZQlDbCnGcImT6KNEv4ZoxktQhdpA==}
- rrweb-cssom@0.8.0:
- resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
-
- run-async@2.4.1:
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
- engines: {node: '>=0.12.0'}
-
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- rxjs@7.8.2:
- resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
+ rw@1.3.3:
+ resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
@@ -7564,11 +8130,8 @@ packages:
resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
engines: {node: '>=v12.22.7'}
- scheduler@0.26.0:
- resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
-
- scuid@1.1.0:
- resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==}
+ scheduler@0.27.0:
+ resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
@@ -7664,26 +8227,14 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
- slash@5.1.0:
- resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
- engines: {node: '>=14.16'}
-
- slice-ansi@3.0.0:
- resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
- engines: {node: '>=8'}
-
- slice-ansi@4.0.0:
- resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
- engines: {node: '>=10'}
-
- slice-ansi@5.0.0:
- resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
- engines: {node: '>=12'}
-
slice-ansi@7.1.2:
resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
engines: {node: '>=18'}
+ slice-ansi@8.0.0:
+ resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==}
+ engines: {node: '>=20'}
+
slow-redact@0.3.2:
resolution: {integrity: sha512-MseHyi2+E/hBRqdOi5COy6wZ7j7DxXRz9NkseavNYSvvWC06D8a5cidVZX3tcG5eCW3NIyVU4zT63hw0Q486jw==}
@@ -7741,8 +8292,8 @@ packages:
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
engines: {node: '>= 0.8'}
- std-env@3.10.0:
- resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
+ std-env@4.0.0:
+ resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==}
stdin-discarder@0.1.0:
resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==}
@@ -7772,10 +8323,6 @@ packages:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
string-width@6.1.0:
resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==}
engines: {node: '>=16'}
@@ -7784,6 +8331,10 @@ packages:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'}
+ string-width@8.2.0:
+ resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==}
+ engines: {node: '>=20'}
+
string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
@@ -7805,17 +8356,10 @@ packages:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
- strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
-
strip-indent@3.0.0:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
- strip-literal@3.1.0:
- resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
-
style-to-js@1.1.21:
resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
@@ -7836,6 +8380,9 @@ packages:
stylis@4.2.0:
resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ stylis@4.3.6:
+ resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==}
+
superstruct@1.0.4:
resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==}
engines: {node: '>=14.0.0'}
@@ -7866,40 +8413,25 @@ packages:
resolution: {integrity: sha512-IELLEvzHuCfc1uTsshPK58ViSdNqXxlml1U+fmwJIKLYKOr/rAtBrorE2RYm5IHaMpDNlmC0fr1LAvdXvyheEQ==}
engines: {node: '>=18'}
- sync-fetch@0.6.0-2:
- resolution: {integrity: sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==}
- engines: {node: '>=18'}
-
tabbable@6.4.0:
resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==}
- tailwindcss@4.0.7:
- resolution: {integrity: sha512-yH5bPPyapavo7L+547h3c4jcBXcrKwybQRjwdEIVAd9iXRvy/3T1CC6XSQEgZtRySjKfqvo3Cc0ZF1DTheuIdA==}
+ tailwindcss@4.1.15:
+ resolution: {integrity: sha512-k2WLnWkYFkdpRv+Oby3EBXIyQC8/s1HOFMBUViwtAh6Z5uAozeUSMQlIsn/c6Q2iJzqG6aJT3wdPaRNj70iYxQ==}
tapable@2.3.0:
resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
- test-exclude@7.0.2:
- resolution: {integrity: sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==}
- engines: {node: '>=18'}
-
text-encoding-utf-8@1.0.2:
resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==}
- text-extensions@2.4.0:
- resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
- engines: {node: '>=8'}
-
thread-stream@0.15.2:
resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==}
thread-stream@3.1.0:
resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
- through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
-
timeout-signal@2.0.0:
resolution: {integrity: sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==}
engines: {node: '>=16'}
@@ -7910,37 +8442,30 @@ packages:
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
- tinyexec@0.3.2:
- resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
-
tinyexec@1.0.2:
resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
engines: {node: '>=18'}
+ tinyexec@1.0.4:
+ resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==}
+ engines: {node: '>=18'}
+
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
- tinypool@1.1.1:
- resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
- engines: {node: ^18.0.0 || >=20.0.0}
-
- tinyrainbow@2.0.0:
- resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
- engines: {node: '>=14.0.0'}
-
- tinyspy@4.0.4:
- resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
+ tinyrainbow@3.1.0:
+ resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==}
engines: {node: '>=14.0.0'}
title-case@3.0.3:
resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==}
- tldts-core@6.1.86:
- resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
+ tldts-core@7.0.27:
+ resolution: {integrity: sha512-YQ7uPjgWUibIK6DW5lrKujGwUKhLevU4hcGbP5O6TcIUb+oTjJYJVWPS4nZsIHrEEEG6myk/oqAJUEQmpZrHsg==}
- tldts@6.1.86:
- resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==}
+ tldts@7.0.27:
+ resolution: {integrity: sha512-I4FZcVFcqCRuT0ph6dCDpPuO4Xgzvh+spkcTr1gK7peIvxWauoloVO0vuy1FQnijT63ss6AsHB6+OIM4aXHbPg==}
hasBin: true
to-buffer@1.2.2:
@@ -7958,16 +8483,16 @@ packages:
toml@3.0.0:
resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==}
- tough-cookie@5.1.2:
- resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==}
+ tough-cookie@6.0.1:
+ resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==}
engines: {node: '>=16'}
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- tr46@5.1.1:
- resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
- engines: {node: '>=18'}
+ tr46@6.0.0:
+ resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==}
+ engines: {node: '>=20'}
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
@@ -7975,6 +8500,10 @@ packages:
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+ ts-dedent@2.2.0:
+ resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
+ engines: {node: '>=6.10'}
+
ts-log@2.2.7:
resolution: {integrity: sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==}
@@ -7992,16 +8521,6 @@ packages:
'@swc/wasm':
optional: true
- tsconfck@3.1.6:
- resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==}
- engines: {node: ^18 || >=20}
- hasBin: true
- peerDependencies:
- typescript: ^5.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
-
tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
@@ -8022,21 +8541,25 @@ packages:
twoslash-protocol@0.2.12:
resolution: {integrity: sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==}
+ twoslash-protocol@0.3.6:
+ resolution: {integrity: sha512-FHGsJ9Q+EsNr5bEbgG3hnbkvEBdW5STgPU824AHUjB4kw0Dn4p8tABT7Ncg1Ie6V0+mDg3Qpy41VafZXcQhWMA==}
+
twoslash@0.2.12:
resolution: {integrity: sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw==}
peerDependencies:
typescript: '*'
- type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
+ twoslash@0.3.6:
+ resolution: {integrity: sha512-VuI5OKl+MaUO9UIW3rXKoPgHI3X40ZgB/j12VY6h98Ae1mCBihjPvhOPeJWlxCYcmSbmeZt5ZKkK0dsVtp+6pA==}
+ peerDependencies:
+ typescript: ^5.5.0
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
- typedoc-github-theme@0.3.1:
- resolution: {integrity: sha512-j6PmkAGmf/MGCzYjQcUH6jS9djPsNl/IoTXooxC+MoeMkBhbmPyKJlpR6Lw12BLoe2OYpYA2J1KMktUJXp/8Sw==}
+ typedoc-github-theme@0.4.0:
+ resolution: {integrity: sha512-lo/hr4EFZxq0SsMGeAscKUzljIKFgrJf5fb4nOAJcqaiSShQv7kzwF6M1s2fVRvUyx6UsmD4zEb+MtKkbucYpg==}
engines: {node: '>=18.0.0'}
peerDependencies:
typedoc: ~0.28.0
@@ -8056,15 +8579,15 @@ packages:
peerDependencies:
typedoc: '>=0.22.x <0.29.x'
- typedoc@0.28.17:
- resolution: {integrity: sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ==}
+ typedoc@0.28.18:
+ resolution: {integrity: sha512-NTWTUOFRQ9+SGKKTuWKUioUkjxNwtS3JDRPVKZAXGHZy2wCA8bdv2iJiyeePn0xkmK+TCCqZFT0X7+2+FLjngA==}
engines: {node: '>= 18', pnpm: '>= 10'}
hasBin: true
peerDependencies:
- typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x
+ typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x
- typescript@5.9.3:
- resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ typescript@6.0.2:
+ resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==}
engines: {node: '>=14.17'}
hasBin: true
@@ -8105,17 +8628,16 @@ packages:
undici-types@7.22.0:
resolution: {integrity: sha512-RKZvifiL60xdsIuC80UY0dq8Z7DbJUV8/l2hOVbyZAxBzEeQU4Z58+4ZzJ6WN2Lidi9KzT5EbiGX+PI/UGYuRw==}
- unicorn-magic@0.1.0:
- resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
- engines: {node: '>=18'}
-
- unicorn-magic@0.3.0:
- resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
- engines: {node: '>=18'}
+ undici@7.24.7:
+ resolution: {integrity: sha512-H/nlJ/h0ggGC+uRL3ovD+G0i4bqhvsDOpbDv7At5eFLlj2b41L8QliGbnl2H7SnDiYhENphh1tQFJZf+MyfLsQ==}
+ engines: {node: '>=20.18.1'}
unified@11.0.5:
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+
unist-util-is@6.0.1:
resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
@@ -8128,6 +8650,9 @@ packages:
unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
unist-util-stringify-position@4.0.0:
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
@@ -8239,8 +8764,8 @@ packages:
'@types/react':
optional: true
- use-debounce@10.1.0:
- resolution: {integrity: sha512-lu87Za35V3n/MyMoEpD5zJv0k7hCn0p+V/fK2kWD+3k2u3kOCwO593UArbczg1fhfs2rqPEnHpULJ3KmGdDzvg==}
+ use-debounce@10.1.1:
+ resolution: {integrity: sha512-kvds8BHR2k28cFsxW8k3nc/tRga2rs1RHYCqmmGqb90MEeE++oALwzh2COiuBLO1/QXiOuShXoSN2ZpWnMmvuQ==}
engines: {node: '>= 16.0.0'}
peerDependencies:
react: '*'
@@ -8280,6 +8805,10 @@ packages:
util@0.12.5:
resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+ uuid@11.1.0:
+ resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
+ hasBin: true
+
uuid@8.3.2:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
hasBin: true
@@ -8330,6 +8859,12 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
+ vfile-matter@5.0.1:
+ resolution: {integrity: sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==}
+
vfile-message@4.0.3:
resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
@@ -8357,42 +8892,77 @@ packages:
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
- vite-plugin-sitemap@0.7.1:
- resolution: {integrity: sha512-4NRTkiWytLuAmcikckrLcLl9iYA20+5v6l8XshcOrzxH1WR8H0O3S6sTQYfjMrE8su/LG6Y0cTodvOdcOIxaLw==}
+ vite-plugin-sitemap@0.8.2:
+ resolution: {integrity: sha512-bqIw6NVOXg6je81lzX8Lm0vjf8/QSAp8di8fYQzZ3ZdVicOm8+6idBGALJiy1R1FiXNIK8rgORO6HBqXyHW+iQ==}
- vite-tsconfig-paths@5.1.4:
- resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==}
+ vite@7.3.1:
+ resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
peerDependencies:
- vite: '*'
+ '@types/node': ^20.19.0 || >=22.12.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ lightningcss: ^1.21.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
peerDependenciesMeta:
- vite:
+ '@types/node':
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
optional: true
- vite@6.4.1:
- resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ vite@8.0.5:
+ resolution: {integrity: sha512-nmu43Qvq9UopTRfMx2jOYW5l16pb3iDC1JH6yMuPkpVbzK0k+L7dfsEDH4jRgYFmsg0sTAqkojoZgzLMlwHsCQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ '@types/node': ^20.19.0 || >=22.12.0
+ '@vitejs/devtools': ^0.1.0
+ esbuild: ^0.27.0 || ^0.28.0
jiti: '>=1.21.0'
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
+ less: ^4.0.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
yaml: ^2.4.2
peerDependenciesMeta:
'@types/node':
optional: true
+ '@vitejs/devtools':
+ optional: true
+ esbuild:
+ optional: true
jiti:
optional: true
less:
optional: true
- lightningcss:
- optional: true
sass:
optional: true
sass-embedded:
@@ -8408,26 +8978,33 @@ packages:
yaml:
optional: true
- vitest@3.2.4:
- resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ vitest@4.1.2:
+ resolution: {integrity: sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==}
+ engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
- '@types/debug': ^4.1.12
- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
- '@vitest/browser': 3.2.4
- '@vitest/ui': 3.2.4
+ '@opentelemetry/api': ^1.9.0
+ '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
+ '@vitest/browser-playwright': 4.1.2
+ '@vitest/browser-preview': 4.1.2
+ '@vitest/browser-webdriverio': 4.1.2
+ '@vitest/ui': 4.1.2
happy-dom: '*'
jsdom: '*'
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
- '@types/debug':
+ '@opentelemetry/api':
optional: true
'@types/node':
optional: true
- '@vitest/browser':
+ '@vitest/browser-playwright':
+ optional: true
+ '@vitest/browser-preview':
+ optional: true
+ '@vitest/browser-webdriverio':
optional: true
'@vitest/ui':
optional: true
@@ -8436,13 +9013,34 @@ packages:
jsdom:
optional: true
- vocs@1.0.11:
- resolution: {integrity: sha512-/hx66HYeqUaoF+RHl3t4CqNrHDQQSLdGrsAMIT8GmCspg0aOSpNxgrBxzqilKKQTNdsyRAZ7MgzSpp93e3T2jw==}
+ vocs@1.4.1:
+ resolution: {integrity: sha512-PwCODbht+/0f6wtAyz5czqdWaMX80KlxOc6Mkqfd0u6bboTZ+YcyBuZaiQwJ4lkDE6NvSrCosPVD5CxGyvtitg==}
+ engines: {node: '>=22'}
hasBin: true
peerDependencies:
react: ^19
react-dom: ^19
+ vscode-jsonrpc@8.2.0:
+ resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
+ engines: {node: '>=14.0.0'}
+
+ vscode-languageserver-protocol@3.17.5:
+ resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
+
+ vscode-languageserver-textdocument@1.0.12:
+ resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
+
+ vscode-languageserver-types@3.17.5:
+ resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
+
+ vscode-languageserver@9.0.1:
+ resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
+ hasBin: true
+
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
+
w3c-xmlserializer@5.0.0:
resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
engines: {node: '>=18'}
@@ -8458,8 +9056,8 @@ packages:
typescript:
optional: true
- wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
web-streams-polyfill@3.3.3:
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
@@ -8471,25 +9069,24 @@ packages:
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
+ webidl-conversions@8.0.1:
+ resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==}
+ engines: {node: '>=20'}
webpack-virtual-modules@0.6.2:
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
- whatwg-encoding@3.1.1:
- resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
- engines: {node: '>=18'}
- deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
-
whatwg-mimetype@4.0.0:
resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
engines: {node: '>=18'}
- whatwg-url@14.2.0:
- resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
- engines: {node: '>=18'}
+ whatwg-mimetype@5.0.0:
+ resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==}
+ engines: {node: '>=20'}
+
+ whatwg-url@16.0.1:
+ resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
@@ -8519,10 +9116,6 @@ packages:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
wrap-ansi@9.0.2:
resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
engines: {node: '>=18'}
@@ -8578,6 +9171,18 @@ packages:
utf-8-validate:
optional: true
+ ws@8.20.0:
+ resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
xml-name-validator@5.0.0:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
@@ -8603,9 +9208,6 @@ packages:
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- yaml-ast-parser@0.0.43:
- resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==}
-
yaml@1.10.2:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
engines: {node: '>= 6'}
@@ -8643,6 +9245,10 @@ packages:
resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==}
engines: {node: '>=12.20'}
+ yoctocolors-cjs@2.1.3:
+ resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==}
+ engines: {node: '>=18'}
+
zod@3.22.4:
resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
@@ -8729,26 +9335,33 @@ packages:
snapshots:
- '@0no-co/graphql.web@1.2.0(graphql@16.13.1)':
+ '@0no-co/graphql.web@1.2.0(graphql@16.13.2)':
optionalDependencies:
- graphql: 16.13.1
+ graphql: 16.13.2
- '@0no-co/graphqlsp@1.15.2(graphql@16.13.1)(typescript@5.9.3)':
+ '@0no-co/graphqlsp@1.15.2(graphql@16.13.2)(typescript@6.0.2)':
dependencies:
- '@gql.tada/internal': 1.0.8(graphql@16.13.1)(typescript@5.9.3)
- graphql: 16.13.1
- typescript: 5.9.3
+ '@gql.tada/internal': 1.0.8(graphql@16.13.2)(typescript@6.0.2)
+ graphql: 16.13.2
+ typescript: 6.0.2
+
+ '@aave/account@0.2.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))':
+ optionalDependencies:
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ wagmi: 2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
'@adobe/css-tools@4.4.4': {}
'@adraffy/ens-normalize@1.11.1': {}
- '@ampproject/remapping@2.3.0':
+ '@antfu/install-pkg@1.1.0':
dependencies:
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
+ package-manager-detector: 1.6.0
+ tinyexec: 1.0.2
- '@ardatan/relay-compiler@12.0.0(graphql@16.13.1)':
+ '@ardatan/relay-compiler@12.0.0(graphql@16.13.2)':
dependencies:
'@babel/core': 7.29.0
'@babel/generator': 7.29.1
@@ -8761,7 +9374,7 @@ snapshots:
fb-watchman: 2.0.2
fbjs: 3.0.5
glob: 7.2.3
- graphql: 16.13.1
+ graphql: 16.13.2
immutable: 3.7.6
invariant: 2.2.4
nullthrows: 1.1.1
@@ -8772,23 +9385,14 @@ snapshots:
- encoding
- supports-color
- '@ardatan/relay-compiler@12.0.3(graphql@16.13.1)':
+ '@ardatan/relay-compiler@13.0.1(graphql@16.13.2)':
dependencies:
- '@babel/generator': 7.29.1
- '@babel/parser': 7.29.0
- '@babel/runtime': 7.28.6
- chalk: 4.1.2
- fb-watchman: 2.0.2
- graphql: 16.13.1
- immutable: 3.7.6
+ '@babel/runtime': 7.29.2
+ graphql: 16.13.2
+ immutable: 5.1.5
invariant: 2.2.4
- nullthrows: 1.1.1
- relay-runtime: 12.0.0
- signedsource: 1.0.0
- transitivePeerDependencies:
- - encoding
- '@ark-ui/react@5.34.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@ark-ui/react@5.34.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@internationalized/date': 3.11.0
'@zag-js/accordion': 1.35.3
@@ -8836,7 +9440,7 @@ snapshots:
'@zag-js/qr-code': 1.35.3
'@zag-js/radio-group': 1.35.3
'@zag-js/rating-group': 1.35.3
- '@zag-js/react': 1.35.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@zag-js/react': 1.35.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@zag-js/scroll-area': 1.35.3
'@zag-js/select': 1.35.3
'@zag-js/signature-pad': 1.35.3
@@ -8855,16 +9459,26 @@ snapshots:
'@zag-js/tree-view': 1.35.3
'@zag-js/types': 1.35.3
'@zag-js/utils': 1.35.3
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
- '@asamuzakjp/css-color@3.2.0':
+ '@asamuzakjp/css-color@5.1.1':
dependencies:
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
- lru-cache: 10.4.3
+ '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-color-parser': 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
+ lru-cache: 11.2.7
+
+ '@asamuzakjp/dom-selector@7.0.4':
+ dependencies:
+ '@asamuzakjp/nwsapi': 2.3.9
+ bidi-js: 1.0.3
+ css-tree: 3.2.1
+ is-potential-custom-element-name: 1.0.1
+ lru-cache: 11.2.7
+
+ '@asamuzakjp/nwsapi@2.3.9': {}
'@babel/code-frame@7.29.0':
dependencies:
@@ -8989,6 +9603,10 @@ snapshots:
dependencies:
'@babel/types': 7.29.0
+ '@babel/parser@7.29.2':
+ dependencies:
+ '@babel/types': 7.29.0
+
'@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -9207,17 +9825,17 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
- '@base-org/account@2.4.0(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@base-org/account@2.4.0(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@coinbase/cdp-sdk': 1.44.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@coinbase/cdp-sdk': 1.44.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
'@noble/hashes': 1.4.0
clsx: 1.2.1
eventemitter3: 5.0.1
idb-keyval: 6.2.1
- ox: 0.6.9(typescript@5.9.3)(zod@3.25.76)
+ ox: 0.6.9(typescript@6.0.2)(zod@4.3.6)
preact: 10.24.2
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- zustand: 5.0.3(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0))
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ zustand: 5.0.3(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4))
transitivePeerDependencies:
- '@types/react'
- bufferutil
@@ -9233,14 +9851,14 @@ snapshots:
'@bcoe/v8-coverage@1.0.2': {}
- '@bigmi/core@0.7.1(@types/react@19.2.14)(bs58@6.0.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))':
+ '@bigmi/core@0.7.1(@types/react@19.2.14)(bs58@6.0.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))':
dependencies:
'@noble/hashes': 1.8.0
bech32: 2.0.0
- bitcoinjs-lib: 7.0.1(typescript@5.9.3)
+ bitcoinjs-lib: 7.0.1(typescript@6.0.2)
bs58: 6.0.0
eventemitter3: 5.0.4
- zustand: 5.0.12(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0))
+ zustand: 5.0.12(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4))
transitivePeerDependencies:
- '@types/react'
- immer
@@ -9248,54 +9866,54 @@ snapshots:
- typescript
- use-sync-external-store
- '@biomejs/biome@1.9.4':
+ '@biomejs/biome@2.4.10':
optionalDependencies:
- '@biomejs/cli-darwin-arm64': 1.9.4
- '@biomejs/cli-darwin-x64': 1.9.4
- '@biomejs/cli-linux-arm64': 1.9.4
- '@biomejs/cli-linux-arm64-musl': 1.9.4
- '@biomejs/cli-linux-x64': 1.9.4
- '@biomejs/cli-linux-x64-musl': 1.9.4
- '@biomejs/cli-win32-arm64': 1.9.4
- '@biomejs/cli-win32-x64': 1.9.4
-
- '@biomejs/cli-darwin-arm64@1.9.4':
+ '@biomejs/cli-darwin-arm64': 2.4.10
+ '@biomejs/cli-darwin-x64': 2.4.10
+ '@biomejs/cli-linux-arm64': 2.4.10
+ '@biomejs/cli-linux-arm64-musl': 2.4.10
+ '@biomejs/cli-linux-x64': 2.4.10
+ '@biomejs/cli-linux-x64-musl': 2.4.10
+ '@biomejs/cli-win32-arm64': 2.4.10
+ '@biomejs/cli-win32-x64': 2.4.10
+
+ '@biomejs/cli-darwin-arm64@2.4.10':
optional: true
- '@biomejs/cli-darwin-x64@1.9.4':
+ '@biomejs/cli-darwin-x64@2.4.10':
optional: true
- '@biomejs/cli-linux-arm64-musl@1.9.4':
+ '@biomejs/cli-linux-arm64-musl@2.4.10':
optional: true
- '@biomejs/cli-linux-arm64@1.9.4':
+ '@biomejs/cli-linux-arm64@2.4.10':
optional: true
- '@biomejs/cli-linux-x64-musl@1.9.4':
+ '@biomejs/cli-linux-x64-musl@2.4.10':
optional: true
- '@biomejs/cli-linux-x64@1.9.4':
+ '@biomejs/cli-linux-x64@2.4.10':
optional: true
- '@biomejs/cli-win32-arm64@1.9.4':
+ '@biomejs/cli-win32-arm64@2.4.10':
optional: true
- '@biomejs/cli-win32-x64@1.9.4':
+ '@biomejs/cli-win32-x64@2.4.10':
optional: true
'@bitcoinerlab/secp256k1@1.2.0':
dependencies:
'@noble/curves': 1.9.7
- '@bootnodedev/db-subgraph@0.1.2(@parcel/watcher@2.5.6)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql-tag@2.12.6(graphql@16.13.1))(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))':
+ '@bootnodedev/db-subgraph@0.1.2(@parcel/watcher@2.5.6)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql-tag@2.12.6(graphql@16.13.2))(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))':
dependencies:
- '@graphql-codegen/cli': 5.0.7(@parcel/watcher@2.5.6)(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@graphql-codegen/typescript-graphql-request': 6.4.0(graphql-request@6.1.0(graphql@16.13.1))(graphql-tag@2.12.6(graphql@16.13.1))(graphql@16.13.1)
- '@tanstack/react-query': 5.95.2(react@19.1.0)
- graphql: 16.13.1
- graphql-request: 6.1.0(graphql@16.13.1)
- react: 19.1.0
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@graphql-codegen/cli': 6.2.1(@parcel/watcher@2.5.6)(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@graphql-codegen/typescript-graphql-request': 6.4.0(graphql-request@6.1.0(graphql@16.13.2))(graphql-tag@2.12.6(graphql@16.13.2))(graphql@16.13.2)
+ '@tanstack/react-query': 5.96.1(react@19.2.4)
+ graphql: 16.13.2
+ graphql-request: 6.1.0(graphql@16.13.2)
+ react: 19.2.4
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@fastify/websocket'
- '@parcel/watcher'
@@ -9304,25 +9922,47 @@ snapshots:
- cosmiconfig-toml-loader
- crossws
- encoding
- - enquirer
- graphql-sock
- graphql-tag
- supports-color
- typescript
- utf-8-validate
- '@chakra-ui/react@3.34.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@braintree/sanitize-url@7.1.2': {}
+
+ '@bramus/specificity@2.4.2':
dependencies:
- '@ark-ui/react': 5.34.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ css-tree: 3.2.1
+
+ '@chakra-ui/react@3.34.0(@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ dependencies:
+ '@ark-ui/react': 5.34.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@emotion/is-prop-valid': 1.4.0
- '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.1.0)
+ '@emotion/react': 11.14.0(@types/react@19.2.14)(react@19.2.4)
'@emotion/serialize': 1.3.3
- '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0)
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.4)
'@emotion/utils': 1.4.2
'@pandacss/is-valid-prop': 1.8.2
csstype: 3.2.3
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+
+ '@chevrotain/cst-dts-gen@11.1.2':
+ dependencies:
+ '@chevrotain/gast': 11.1.2
+ '@chevrotain/types': 11.1.2
+ lodash-es: 4.17.23
+
+ '@chevrotain/gast@11.1.2':
+ dependencies:
+ '@chevrotain/types': 11.1.2
+ lodash-es: 4.17.23
+
+ '@chevrotain/regexp-to-ast@11.1.2': {}
+
+ '@chevrotain/types@11.1.2': {}
+
+ '@chevrotain/utils@11.1.2': {}
'@clack/core@0.3.5':
dependencies:
@@ -9335,19 +9975,19 @@ snapshots:
picocolors: 1.1.1
sisteransi: 1.0.5
- '@coinbase/cdp-sdk@1.44.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ '@coinbase/cdp-sdk@1.44.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
dependencies:
- '@solana-program/system': 0.10.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))
- '@solana-program/token': 0.9.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))
- '@solana/kit': 5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- abitype: 1.0.6(typescript@5.9.3)(zod@3.25.76)
+ '@solana-program/system': 0.10.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))
+ '@solana-program/token': 0.9.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))
+ '@solana/kit': 5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ abitype: 1.0.6(typescript@6.0.2)(zod@3.25.76)
axios: 1.13.5
axios-retry: 4.5.0(axios@1.13.5)
jose: 6.1.3
md5: 2.3.0
uncrypto: 0.1.3
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.25.76)
zod: 3.25.76
transitivePeerDependencies:
- bufferutil
@@ -9366,21 +10006,21 @@ snapshots:
eth-json-rpc-filters: 6.0.1
eventemitter3: 5.0.4
keccak: 3.0.4
- preact: 10.29.0
+ preact: 10.29.1
sha.js: 2.4.12
transitivePeerDependencies:
- supports-color
- '@coinbase/wallet-sdk@4.3.6(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@coinbase/wallet-sdk@4.3.6(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@noble/hashes': 1.4.0
clsx: 1.2.1
eventemitter3: 5.0.1
idb-keyval: 6.2.1
- ox: 0.6.9(typescript@5.9.3)(zod@3.25.76)
+ ox: 0.6.9(typescript@6.0.2)(zod@4.3.6)
preact: 10.24.2
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- zustand: 5.0.3(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0))
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ zustand: 5.0.3(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4))
transitivePeerDependencies:
- '@types/react'
- bufferutil
@@ -9391,144 +10031,176 @@ snapshots:
- utf-8-validate
- zod
- '@commitlint/cli@19.8.1(@types/node@25.3.0)(typescript@5.9.3)':
+ '@commitlint/cli@20.5.0(@types/node@25.3.0)(conventional-commits-parser@6.4.0)(typescript@6.0.2)':
dependencies:
- '@commitlint/format': 19.8.1
- '@commitlint/lint': 19.8.1
- '@commitlint/load': 19.8.1(@types/node@25.3.0)(typescript@5.9.3)
- '@commitlint/read': 19.8.1
- '@commitlint/types': 19.8.1
+ '@commitlint/format': 20.5.0
+ '@commitlint/lint': 20.5.0
+ '@commitlint/load': 20.5.0(@types/node@25.3.0)(typescript@6.0.2)
+ '@commitlint/read': 20.5.0(conventional-commits-parser@6.4.0)
+ '@commitlint/types': 20.5.0
tinyexec: 1.0.2
yargs: 17.7.2
transitivePeerDependencies:
- '@types/node'
+ - conventional-commits-filter
+ - conventional-commits-parser
- typescript
- '@commitlint/config-conventional@19.8.1':
+ '@commitlint/config-conventional@20.5.0':
dependencies:
- '@commitlint/types': 19.8.1
- conventional-changelog-conventionalcommits: 7.0.2
+ '@commitlint/types': 20.5.0
+ conventional-changelog-conventionalcommits: 9.3.1
- '@commitlint/config-validator@19.8.1':
+ '@commitlint/config-validator@20.5.0':
dependencies:
- '@commitlint/types': 19.8.1
+ '@commitlint/types': 20.5.0
ajv: 8.18.0
- '@commitlint/ensure@19.8.1':
+ '@commitlint/ensure@20.5.0':
dependencies:
- '@commitlint/types': 19.8.1
+ '@commitlint/types': 20.5.0
lodash.camelcase: 4.3.0
lodash.kebabcase: 4.1.1
lodash.snakecase: 4.1.1
lodash.startcase: 4.4.0
lodash.upperfirst: 4.3.1
- '@commitlint/execute-rule@19.8.1': {}
+ '@commitlint/execute-rule@20.0.0': {}
- '@commitlint/format@19.8.1':
+ '@commitlint/format@20.5.0':
dependencies:
- '@commitlint/types': 19.8.1
- chalk: 5.6.2
+ '@commitlint/types': 20.5.0
+ picocolors: 1.1.1
- '@commitlint/is-ignored@19.8.1':
+ '@commitlint/is-ignored@20.5.0':
dependencies:
- '@commitlint/types': 19.8.1
+ '@commitlint/types': 20.5.0
semver: 7.7.4
- '@commitlint/lint@19.8.1':
+ '@commitlint/lint@20.5.0':
dependencies:
- '@commitlint/is-ignored': 19.8.1
- '@commitlint/parse': 19.8.1
- '@commitlint/rules': 19.8.1
- '@commitlint/types': 19.8.1
+ '@commitlint/is-ignored': 20.5.0
+ '@commitlint/parse': 20.5.0
+ '@commitlint/rules': 20.5.0
+ '@commitlint/types': 20.5.0
- '@commitlint/load@19.8.1(@types/node@25.3.0)(typescript@5.9.3)':
+ '@commitlint/load@20.5.0(@types/node@25.3.0)(typescript@6.0.2)':
dependencies:
- '@commitlint/config-validator': 19.8.1
- '@commitlint/execute-rule': 19.8.1
- '@commitlint/resolve-extends': 19.8.1
- '@commitlint/types': 19.8.1
- chalk: 5.6.2
- cosmiconfig: 9.0.0(typescript@5.9.3)
- cosmiconfig-typescript-loader: 6.2.0(@types/node@25.3.0)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3)
- lodash.isplainobject: 4.0.6
- lodash.merge: 4.6.2
- lodash.uniq: 4.5.0
+ '@commitlint/config-validator': 20.5.0
+ '@commitlint/execute-rule': 20.0.0
+ '@commitlint/resolve-extends': 20.5.0
+ '@commitlint/types': 20.5.0
+ cosmiconfig: 9.0.1(typescript@6.0.2)
+ cosmiconfig-typescript-loader: 6.2.0(@types/node@25.3.0)(cosmiconfig@9.0.1(typescript@6.0.2))(typescript@6.0.2)
+ is-plain-obj: 4.1.0
+ lodash.mergewith: 4.6.2
+ picocolors: 1.1.1
transitivePeerDependencies:
- '@types/node'
- typescript
- '@commitlint/message@19.8.1': {}
+ '@commitlint/message@20.4.3': {}
- '@commitlint/parse@19.8.1':
+ '@commitlint/parse@20.5.0':
dependencies:
- '@commitlint/types': 19.8.1
- conventional-changelog-angular: 7.0.0
- conventional-commits-parser: 5.0.0
+ '@commitlint/types': 20.5.0
+ conventional-changelog-angular: 8.3.1
+ conventional-commits-parser: 6.4.0
- '@commitlint/read@19.8.1':
+ '@commitlint/read@20.5.0(conventional-commits-parser@6.4.0)':
dependencies:
- '@commitlint/top-level': 19.8.1
- '@commitlint/types': 19.8.1
- git-raw-commits: 4.0.0
+ '@commitlint/top-level': 20.4.3
+ '@commitlint/types': 20.5.0
+ git-raw-commits: 5.0.1(conventional-commits-parser@6.4.0)
minimist: 1.2.8
tinyexec: 1.0.2
+ transitivePeerDependencies:
+ - conventional-commits-filter
+ - conventional-commits-parser
- '@commitlint/resolve-extends@19.8.1':
+ '@commitlint/resolve-extends@20.5.0':
dependencies:
- '@commitlint/config-validator': 19.8.1
- '@commitlint/types': 19.8.1
+ '@commitlint/config-validator': 20.5.0
+ '@commitlint/types': 20.5.0
global-directory: 4.0.1
import-meta-resolve: 4.2.0
lodash.mergewith: 4.6.2
resolve-from: 5.0.0
- '@commitlint/rules@19.8.1':
+ '@commitlint/rules@20.5.0':
dependencies:
- '@commitlint/ensure': 19.8.1
- '@commitlint/message': 19.8.1
- '@commitlint/to-lines': 19.8.1
- '@commitlint/types': 19.8.1
+ '@commitlint/ensure': 20.5.0
+ '@commitlint/message': 20.4.3
+ '@commitlint/to-lines': 20.0.0
+ '@commitlint/types': 20.5.0
- '@commitlint/to-lines@19.8.1': {}
+ '@commitlint/to-lines@20.0.0': {}
- '@commitlint/top-level@19.8.1':
+ '@commitlint/top-level@20.4.3':
dependencies:
- find-up: 7.0.0
+ escalade: 3.2.0
- '@commitlint/types@19.8.1':
+ '@commitlint/types@20.5.0':
dependencies:
- '@types/conventional-commits-parser': 5.0.2
- chalk: 5.6.2
+ conventional-commits-parser: 6.4.0
+ picocolors: 1.1.1
+
+ '@conventional-changelog/git-client@2.6.0(conventional-commits-parser@6.4.0)':
+ dependencies:
+ '@simple-libs/child-process-utils': 1.0.2
+ '@simple-libs/stream-utils': 1.2.0
+ semver: 7.7.4
+ optionalDependencies:
+ conventional-commits-parser: 6.4.0
'@cspotcode/source-map-support@0.8.1':
dependencies:
'@jridgewell/trace-mapping': 0.3.9
- '@csstools/color-helpers@5.1.0': {}
+ '@csstools/color-helpers@6.0.2': {}
- '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
+ '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
- '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
+ '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/color-helpers': 5.1.0
- '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
- '@csstools/css-tokenizer': 3.0.4
+ '@csstools/color-helpers': 6.0.2
+ '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-tokenizer': 4.0.0
- '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
+ '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/css-tokenizer': 3.0.4
+ '@csstools/css-tokenizer': 4.0.0
- '@csstools/css-tokenizer@3.0.4': {}
+ '@csstools/css-syntax-patches-for-csstree@1.1.2(css-tree@3.2.1)':
+ optionalDependencies:
+ css-tree: 3.2.1
+
+ '@csstools/css-tokenizer@4.0.0': {}
'@ecies/ciphers@0.2.5(@noble/ciphers@1.3.0)':
dependencies:
'@noble/ciphers': 1.3.0
+ '@emnapi/core@1.9.2':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.1
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.9.2':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.2.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@emotion/babel-plugin@11.13.5':
dependencies:
'@babel/helper-module-imports': 7.28.6(supports-color@5.5.0)
@@ -9569,17 +10241,17 @@ snapshots:
'@emotion/memoize@0.9.0': {}
- '@emotion/react@11.14.0(@types/react@19.2.14)(react@19.1.0)':
+ '@emotion/react@11.14.0(@types/react@19.2.14)(react@19.2.4)':
dependencies:
'@babel/runtime': 7.28.6
'@emotion/babel-plugin': 11.13.5
'@emotion/cache': 11.14.0
'@emotion/serialize': 1.3.3
- '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0)
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.4)
'@emotion/utils': 1.4.2
'@emotion/weak-memoize': 0.4.0
hoist-non-react-statics: 3.3.2
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
transitivePeerDependencies:
@@ -9601,9 +10273,9 @@ snapshots:
'@emotion/unitless@0.7.5': {}
- '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)':
+ '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
'@emotion/utils@1.4.2': {}
@@ -9629,157 +10301,157 @@ snapshots:
'@esbuild/aix-ppc64@0.25.12':
optional: true
- '@esbuild/aix-ppc64@0.27.3':
+ '@esbuild/aix-ppc64@0.27.4':
optional: true
'@esbuild/android-arm64@0.25.12':
optional: true
- '@esbuild/android-arm64@0.27.3':
+ '@esbuild/android-arm64@0.27.4':
optional: true
'@esbuild/android-arm@0.25.12':
optional: true
- '@esbuild/android-arm@0.27.3':
+ '@esbuild/android-arm@0.27.4':
optional: true
'@esbuild/android-x64@0.25.12':
optional: true
- '@esbuild/android-x64@0.27.3':
+ '@esbuild/android-x64@0.27.4':
optional: true
'@esbuild/darwin-arm64@0.25.12':
optional: true
- '@esbuild/darwin-arm64@0.27.3':
+ '@esbuild/darwin-arm64@0.27.4':
optional: true
'@esbuild/darwin-x64@0.25.12':
optional: true
- '@esbuild/darwin-x64@0.27.3':
+ '@esbuild/darwin-x64@0.27.4':
optional: true
'@esbuild/freebsd-arm64@0.25.12':
optional: true
- '@esbuild/freebsd-arm64@0.27.3':
+ '@esbuild/freebsd-arm64@0.27.4':
optional: true
'@esbuild/freebsd-x64@0.25.12':
optional: true
- '@esbuild/freebsd-x64@0.27.3':
+ '@esbuild/freebsd-x64@0.27.4':
optional: true
'@esbuild/linux-arm64@0.25.12':
optional: true
- '@esbuild/linux-arm64@0.27.3':
+ '@esbuild/linux-arm64@0.27.4':
optional: true
'@esbuild/linux-arm@0.25.12':
optional: true
- '@esbuild/linux-arm@0.27.3':
+ '@esbuild/linux-arm@0.27.4':
optional: true
'@esbuild/linux-ia32@0.25.12':
optional: true
- '@esbuild/linux-ia32@0.27.3':
+ '@esbuild/linux-ia32@0.27.4':
optional: true
'@esbuild/linux-loong64@0.25.12':
optional: true
- '@esbuild/linux-loong64@0.27.3':
+ '@esbuild/linux-loong64@0.27.4':
optional: true
'@esbuild/linux-mips64el@0.25.12':
optional: true
- '@esbuild/linux-mips64el@0.27.3':
+ '@esbuild/linux-mips64el@0.27.4':
optional: true
'@esbuild/linux-ppc64@0.25.12':
optional: true
- '@esbuild/linux-ppc64@0.27.3':
+ '@esbuild/linux-ppc64@0.27.4':
optional: true
'@esbuild/linux-riscv64@0.25.12':
optional: true
- '@esbuild/linux-riscv64@0.27.3':
+ '@esbuild/linux-riscv64@0.27.4':
optional: true
'@esbuild/linux-s390x@0.25.12':
optional: true
- '@esbuild/linux-s390x@0.27.3':
+ '@esbuild/linux-s390x@0.27.4':
optional: true
'@esbuild/linux-x64@0.25.12':
optional: true
- '@esbuild/linux-x64@0.27.3':
+ '@esbuild/linux-x64@0.27.4':
optional: true
'@esbuild/netbsd-arm64@0.25.12':
optional: true
- '@esbuild/netbsd-arm64@0.27.3':
+ '@esbuild/netbsd-arm64@0.27.4':
optional: true
'@esbuild/netbsd-x64@0.25.12':
optional: true
- '@esbuild/netbsd-x64@0.27.3':
+ '@esbuild/netbsd-x64@0.27.4':
optional: true
'@esbuild/openbsd-arm64@0.25.12':
optional: true
- '@esbuild/openbsd-arm64@0.27.3':
+ '@esbuild/openbsd-arm64@0.27.4':
optional: true
'@esbuild/openbsd-x64@0.25.12':
optional: true
- '@esbuild/openbsd-x64@0.27.3':
+ '@esbuild/openbsd-x64@0.27.4':
optional: true
'@esbuild/openharmony-arm64@0.25.12':
optional: true
- '@esbuild/openharmony-arm64@0.27.3':
+ '@esbuild/openharmony-arm64@0.27.4':
optional: true
'@esbuild/sunos-x64@0.25.12':
optional: true
- '@esbuild/sunos-x64@0.27.3':
+ '@esbuild/sunos-x64@0.27.4':
optional: true
'@esbuild/win32-arm64@0.25.12':
optional: true
- '@esbuild/win32-arm64@0.27.3':
+ '@esbuild/win32-arm64@0.27.4':
optional: true
'@esbuild/win32-ia32@0.25.12':
optional: true
- '@esbuild/win32-ia32@0.27.3':
+ '@esbuild/win32-ia32@0.27.4':
optional: true
'@esbuild/win32-x64@0.25.12':
optional: true
- '@esbuild/win32-x64@0.27.3':
+ '@esbuild/win32-x64@0.27.4':
optional: true
'@ethereumjs/common@3.2.0':
@@ -9802,109 +10474,104 @@ snapshots:
ethereum-cryptography: 2.2.1
micro-ftch: 0.3.1
- '@fastify/busboy@3.2.0': {}
+ '@exodus/bytes@1.15.0(@noble/hashes@1.8.0)':
+ optionalDependencies:
+ '@noble/hashes': 1.8.0
- '@floating-ui/core@1.7.4':
- dependencies:
- '@floating-ui/utils': 0.2.10
+ '@fastify/busboy@3.2.0': {}
'@floating-ui/core@1.7.5':
dependencies:
'@floating-ui/utils': 0.2.11
- '@floating-ui/dom@1.7.5':
- dependencies:
- '@floating-ui/core': 1.7.4
- '@floating-ui/utils': 0.2.10
-
'@floating-ui/dom@1.7.6':
dependencies:
'@floating-ui/core': 1.7.5
'@floating-ui/utils': 0.2.11
- '@floating-ui/react-dom@2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@floating-ui/react-dom@2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@floating-ui/dom': 1.7.5
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@floating-ui/dom': 1.7.6
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
- '@floating-ui/react@0.27.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@floating-ui/react@0.27.18(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@floating-ui/react-dom': 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@floating-ui/utils': 0.2.10
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@floating-ui/react-dom': 2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@floating-ui/utils': 0.2.11
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
tabbable: 6.4.0
- '@floating-ui/utils@0.2.10': {}
-
'@floating-ui/utils@0.2.11': {}
- '@gemini-wallet/core@0.3.2(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))':
+ '@fortawesome/fontawesome-free@6.7.2': {}
+
+ '@gemini-wallet/core@0.3.2(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))':
dependencies:
'@metamask/rpc-errors': 7.0.2
eventemitter3: 5.0.1
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- supports-color
- '@gerrit0/mini-shiki@3.22.0':
+ '@gerrit0/mini-shiki@3.23.0':
dependencies:
- '@shikijs/engine-oniguruma': 3.22.0
- '@shikijs/langs': 3.22.0
- '@shikijs/themes': 3.22.0
- '@shikijs/types': 3.22.0
+ '@shikijs/engine-oniguruma': 3.23.0
+ '@shikijs/langs': 3.23.0
+ '@shikijs/themes': 3.23.0
+ '@shikijs/types': 3.23.0
'@shikijs/vscode-textmate': 10.0.2
- '@gql.tada/cli-utils@1.7.2(@0no-co/graphqlsp@1.15.2(graphql@16.13.1)(typescript@5.9.3))(graphql@16.13.1)(typescript@5.9.3)':
+ '@gql.tada/cli-utils@1.7.2(@0no-co/graphqlsp@1.15.2(graphql@16.13.2)(typescript@6.0.2))(graphql@16.13.2)(typescript@6.0.2)':
dependencies:
- '@0no-co/graphqlsp': 1.15.2(graphql@16.13.1)(typescript@5.9.3)
- '@gql.tada/internal': 1.0.8(graphql@16.13.1)(typescript@5.9.3)
- graphql: 16.13.1
- typescript: 5.9.3
+ '@0no-co/graphqlsp': 1.15.2(graphql@16.13.2)(typescript@6.0.2)
+ '@gql.tada/internal': 1.0.8(graphql@16.13.2)(typescript@6.0.2)
+ graphql: 16.13.2
+ typescript: 6.0.2
- '@gql.tada/internal@1.0.8(graphql@16.13.1)(typescript@5.9.3)':
+ '@gql.tada/internal@1.0.8(graphql@16.13.2)(typescript@6.0.2)':
dependencies:
- '@0no-co/graphql.web': 1.2.0(graphql@16.13.1)
- graphql: 16.13.1
- typescript: 5.9.3
+ '@0no-co/graphql.web': 1.2.0(graphql@16.13.2)
+ graphql: 16.13.2
+ typescript: 6.0.2
- '@graphql-codegen/add@5.0.3(graphql@16.13.1)':
+ '@graphql-codegen/add@6.0.0(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.6.3
- '@graphql-codegen/cli@5.0.7(@parcel/watcher@2.5.6)(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ '@graphql-codegen/cli@6.2.1(@parcel/watcher@2.5.6)(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(typescript@6.0.2)(utf-8-validate@5.0.10)':
dependencies:
'@babel/generator': 7.29.1
'@babel/template': 7.28.6
'@babel/types': 7.29.0
- '@graphql-codegen/client-preset': 4.8.3(graphql@16.13.1)
- '@graphql-codegen/core': 4.0.2(graphql@16.13.1)
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-tools/apollo-engine-loader': 8.0.28(graphql@16.13.1)
- '@graphql-tools/code-file-loader': 8.1.28(graphql@16.13.1)
- '@graphql-tools/git-loader': 8.0.32(graphql@16.13.1)
- '@graphql-tools/github-loader': 8.0.22(@types/node@25.3.0)(graphql@16.13.1)
- '@graphql-tools/graphql-file-loader': 8.1.9(graphql@16.13.1)
- '@graphql-tools/json-file-loader': 8.0.26(graphql@16.13.1)
- '@graphql-tools/load': 8.1.8(graphql@16.13.1)
- '@graphql-tools/prisma-loader': 8.0.17(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)
- '@graphql-tools/url-loader': 8.0.33(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-codegen/client-preset': 5.2.4(graphql@16.13.2)
+ '@graphql-codegen/core': 5.0.1(graphql@16.13.2)
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-tools/apollo-engine-loader': 8.0.28(graphql@16.13.2)
+ '@graphql-tools/code-file-loader': 8.1.28(graphql@16.13.2)
+ '@graphql-tools/git-loader': 8.0.32(graphql@16.13.2)
+ '@graphql-tools/github-loader': 9.1.0(@types/node@25.3.0)(graphql@16.13.2)
+ '@graphql-tools/graphql-file-loader': 8.1.12(graphql@16.13.2)
+ '@graphql-tools/json-file-loader': 8.0.26(graphql@16.13.2)
+ '@graphql-tools/load': 8.1.8(graphql@16.13.2)
+ '@graphql-tools/merge': 9.1.7(graphql@16.13.2)
+ '@graphql-tools/url-loader': 9.1.0(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(utf-8-validate@5.0.10)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ '@inquirer/prompts': 7.10.1(@types/node@25.3.0)
'@whatwg-node/fetch': 0.10.13
chalk: 4.1.2
- cosmiconfig: 8.3.6(typescript@5.9.3)
- debounce: 1.2.1
+ cosmiconfig: 9.0.1(typescript@6.0.2)
+ debounce: 2.2.0
detect-indent: 6.1.0
- graphql: 16.13.1
- graphql-config: 5.1.5(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(typescript@5.9.3)(utf-8-validate@5.0.10)
- inquirer: 8.2.7(@types/node@25.3.0)
+ graphql: 16.13.2
+ graphql-config: 5.1.6(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(typescript@6.0.2)(utf-8-validate@5.0.10)
is-glob: 4.0.3
- jiti: 1.21.7
+ jiti: 2.6.1
json-to-pretty-yaml: 1.2.2
- listr2: 4.0.5
+ listr2: 9.0.5
log-symbols: 4.1.0
micromatch: 4.0.8
shell-quote: 1.8.3
@@ -9921,275 +10588,253 @@ snapshots:
- bufferutil
- cosmiconfig-toml-loader
- crossws
- - encoding
- - enquirer
- graphql-sock
- supports-color
- typescript
- utf-8-validate
- '@graphql-codegen/client-preset@4.8.3(graphql@16.13.1)':
+ '@graphql-codegen/client-preset@5.2.4(graphql@16.13.2)':
dependencies:
'@babel/helper-plugin-utils': 7.28.6
'@babel/template': 7.28.6
- '@graphql-codegen/add': 5.0.3(graphql@16.13.1)
- '@graphql-codegen/gql-tag-operations': 4.0.17(graphql@16.13.1)
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-codegen/typed-document-node': 5.1.2(graphql@16.13.1)
- '@graphql-codegen/typescript': 4.1.6(graphql@16.13.1)
- '@graphql-codegen/typescript-operations': 4.6.1(graphql@16.13.1)
- '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.13.1)
- '@graphql-tools/documents': 1.0.1(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-codegen/add': 6.0.0(graphql@16.13.2)
+ '@graphql-codegen/gql-tag-operations': 5.1.4(graphql@16.13.2)
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-codegen/typed-document-node': 6.1.7(graphql@16.13.2)
+ '@graphql-codegen/typescript': 5.0.9(graphql@16.13.2)
+ '@graphql-codegen/typescript-operations': 5.0.9(graphql@16.13.2)
+ '@graphql-codegen/visitor-plugin-common': 6.2.4(graphql@16.13.2)
+ '@graphql-tools/documents': 1.0.1(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.6.3
- transitivePeerDependencies:
- - encoding
- '@graphql-codegen/core@4.0.2(graphql@16.13.1)':
+ '@graphql-codegen/core@5.0.1(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-tools/schema': 10.0.31(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-tools/schema': 10.0.31(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.6.3
- '@graphql-codegen/gql-tag-operations@4.0.17(graphql@16.13.1)':
+ '@graphql-codegen/gql-tag-operations@5.1.4(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-codegen/visitor-plugin-common': 6.2.4(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
auto-bind: 4.0.0
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.6.3
- transitivePeerDependencies:
- - encoding
- '@graphql-codegen/plugin-helpers@3.1.2(graphql@16.13.1)':
+ '@graphql-codegen/plugin-helpers@3.1.2(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 9.2.1(graphql@16.13.1)
+ '@graphql-tools/utils': 9.2.1(graphql@16.13.2)
change-case-all: 1.0.15
common-tags: 1.8.2
- graphql: 16.13.1
+ graphql: 16.13.2
import-from: 4.0.0
lodash: 4.17.23
tslib: 2.4.1
- '@graphql-codegen/plugin-helpers@5.1.1(graphql@16.13.1)':
+ '@graphql-codegen/plugin-helpers@6.2.1(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
change-case-all: 1.0.15
common-tags: 1.8.2
- graphql: 16.13.1
+ graphql: 16.13.2
import-from: 4.0.0
- lodash: 4.17.23
tslib: 2.6.3
- '@graphql-codegen/schema-ast@4.1.0(graphql@16.13.1)':
+ '@graphql-codegen/schema-ast@5.0.1(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.6.3
- '@graphql-codegen/typed-document-node@5.1.2(graphql@16.13.1)':
+ '@graphql-codegen/typed-document-node@6.1.7(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.13.1)
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-codegen/visitor-plugin-common': 6.2.4(graphql@16.13.2)
auto-bind: 4.0.0
change-case-all: 1.0.15
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.6.3
- transitivePeerDependencies:
- - encoding
- '@graphql-codegen/typescript-graphql-request@6.4.0(graphql-request@6.1.0(graphql@16.13.1))(graphql-tag@2.12.6(graphql@16.13.1))(graphql@16.13.1)':
+ '@graphql-codegen/typescript-graphql-request@6.4.0(graphql-request@6.1.0(graphql@16.13.2))(graphql-tag@2.12.6(graphql@16.13.2))(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.13.1)
- '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.13.1)
+ '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.13.2)
+ '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.13.2)
auto-bind: 4.0.0
- graphql: 16.13.1
- graphql-request: 6.1.0(graphql@16.13.1)
- graphql-tag: 2.12.6(graphql@16.13.1)
+ graphql: 16.13.2
+ graphql-request: 6.1.0(graphql@16.13.2)
+ graphql-tag: 2.12.6(graphql@16.13.2)
tslib: 2.8.1
transitivePeerDependencies:
- encoding
- supports-color
- '@graphql-codegen/typescript-operations@4.6.1(graphql@16.13.1)':
+ '@graphql-codegen/typescript-operations@5.0.9(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-codegen/typescript': 4.1.6(graphql@16.13.1)
- '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.13.1)
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-codegen/typescript': 5.0.9(graphql@16.13.2)
+ '@graphql-codegen/visitor-plugin-common': 6.2.4(graphql@16.13.2)
auto-bind: 4.0.0
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.6.3
- transitivePeerDependencies:
- - encoding
- '@graphql-codegen/typescript@4.1.6(graphql@16.13.1)':
+ '@graphql-codegen/typescript@5.0.9(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-codegen/schema-ast': 4.1.0(graphql@16.13.1)
- '@graphql-codegen/visitor-plugin-common': 5.8.0(graphql@16.13.1)
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-codegen/schema-ast': 5.0.1(graphql@16.13.2)
+ '@graphql-codegen/visitor-plugin-common': 6.2.4(graphql@16.13.2)
auto-bind: 4.0.0
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.6.3
- transitivePeerDependencies:
- - encoding
- '@graphql-codegen/visitor-plugin-common@2.13.8(graphql@16.13.1)':
+ '@graphql-codegen/visitor-plugin-common@2.13.8(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.13.1)
- '@graphql-tools/optimize': 1.4.0(graphql@16.13.1)
- '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.13.1)
- '@graphql-tools/utils': 9.2.1(graphql@16.13.1)
+ '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.13.2)
+ '@graphql-tools/optimize': 1.4.0(graphql@16.13.2)
+ '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.13.2)
+ '@graphql-tools/utils': 9.2.1(graphql@16.13.2)
auto-bind: 4.0.0
change-case-all: 1.0.15
dependency-graph: 0.11.0
- graphql: 16.13.1
- graphql-tag: 2.12.6(graphql@16.13.1)
+ graphql: 16.13.2
+ graphql-tag: 2.12.6(graphql@16.13.2)
parse-filepath: 1.0.2
tslib: 2.4.1
transitivePeerDependencies:
- encoding
- supports-color
- '@graphql-codegen/visitor-plugin-common@5.8.0(graphql@16.13.1)':
+ '@graphql-codegen/visitor-plugin-common@6.2.4(graphql@16.13.2)':
dependencies:
- '@graphql-codegen/plugin-helpers': 5.1.1(graphql@16.13.1)
- '@graphql-tools/optimize': 2.0.0(graphql@16.13.1)
- '@graphql-tools/relay-operation-optimizer': 7.0.27(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-codegen/plugin-helpers': 6.2.1(graphql@16.13.2)
+ '@graphql-tools/optimize': 2.0.0(graphql@16.13.2)
+ '@graphql-tools/relay-operation-optimizer': 7.1.2(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
auto-bind: 4.0.0
change-case-all: 1.0.15
- dependency-graph: 0.11.0
- graphql: 16.13.1
- graphql-tag: 2.12.6(graphql@16.13.1)
+ dependency-graph: 1.0.0
+ graphql: 16.13.2
+ graphql-tag: 2.12.6(graphql@16.13.2)
parse-filepath: 1.0.2
tslib: 2.6.3
- transitivePeerDependencies:
- - encoding
- '@graphql-hive/signal@1.0.0': {}
+ '@graphql-hive/signal@2.0.0': {}
- '@graphql-tools/apollo-engine-loader@8.0.28(graphql@16.13.1)':
+ '@graphql-tools/apollo-engine-loader@8.0.28(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@whatwg-node/fetch': 0.10.13
- graphql: 16.13.1
+ graphql: 16.13.2
sync-fetch: 0.6.0
tslib: 2.8.1
- '@graphql-tools/batch-execute@9.0.19(graphql@16.13.1)':
+ '@graphql-tools/batch-execute@10.0.8(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@whatwg-node/promise-helpers': 1.3.2
dataloader: 2.2.3
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/code-file-loader@8.1.28(graphql@16.13.1)':
+ '@graphql-tools/code-file-loader@8.1.28(graphql@16.13.2)':
dependencies:
- '@graphql-tools/graphql-tag-pluck': 8.3.27(graphql@16.13.1)
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
+ '@graphql-tools/graphql-tag-pluck': 8.3.27(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
globby: 11.1.0
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
unixify: 1.0.0
transitivePeerDependencies:
- supports-color
- '@graphql-tools/delegate@10.2.23(graphql@16.13.1)':
+ '@graphql-tools/delegate@12.0.13(graphql@16.13.2)':
dependencies:
- '@graphql-tools/batch-execute': 9.0.19(graphql@16.13.1)
- '@graphql-tools/executor': 1.5.1(graphql@16.13.1)
- '@graphql-tools/schema': 10.0.31(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-tools/batch-execute': 10.0.8(graphql@16.13.2)
+ '@graphql-tools/executor': 1.5.1(graphql@16.13.2)
+ '@graphql-tools/schema': 10.0.31(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@repeaterjs/repeater': 3.0.6
'@whatwg-node/promise-helpers': 1.3.2
dataloader: 2.2.3
- dset: 3.1.4
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/documents@1.0.1(graphql@16.13.1)':
+ '@graphql-tools/documents@1.0.1(graphql@16.13.2)':
dependencies:
- graphql: 16.13.1
+ graphql: 16.13.2
lodash.sortby: 4.7.0
tslib: 2.8.1
- '@graphql-tools/executor-common@0.0.4(graphql@16.13.1)':
+ '@graphql-tools/executor-common@1.0.6(graphql@16.13.2)':
dependencies:
'@envelop/core': 5.5.1
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
- '@graphql-tools/executor-common@0.0.6(graphql@16.13.1)':
+ '@graphql-tools/executor-graphql-ws@3.1.5(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(utf-8-validate@5.0.10)':
dependencies:
- '@envelop/core': 5.5.1
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- graphql: 16.13.1
-
- '@graphql-tools/executor-graphql-ws@2.0.7(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)':
- dependencies:
- '@graphql-tools/executor-common': 0.0.6(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-tools/executor-common': 1.0.6(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@whatwg-node/disposablestack': 0.0.6
- graphql: 16.13.1
- graphql-ws: 6.0.7(crossws@0.3.5)(graphql@16.13.1)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
- isomorphic-ws: 5.0.0(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
+ graphql: 16.13.2
+ graphql-ws: 6.0.7(crossws@0.3.5)(graphql@16.13.2)(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
+ isows: 1.0.7(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
tslib: 2.8.1
- ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- '@fastify/websocket'
- bufferutil
- crossws
- utf-8-validate
- '@graphql-tools/executor-http@1.3.3(@types/node@25.3.0)(graphql@16.13.1)':
+ '@graphql-tools/executor-http@3.2.1(@types/node@25.3.0)(graphql@16.13.2)':
dependencies:
- '@graphql-hive/signal': 1.0.0
- '@graphql-tools/executor-common': 0.0.4(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-hive/signal': 2.0.0
+ '@graphql-tools/executor-common': 1.0.6(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@repeaterjs/repeater': 3.0.6
'@whatwg-node/disposablestack': 0.0.6
'@whatwg-node/fetch': 0.10.13
'@whatwg-node/promise-helpers': 1.3.2
- graphql: 16.13.1
+ graphql: 16.13.2
meros: 1.3.2(@types/node@25.3.0)
tslib: 2.8.1
transitivePeerDependencies:
- '@types/node'
- '@graphql-tools/executor-legacy-ws@1.1.25(bufferutil@4.1.0)(graphql@16.13.1)(utf-8-validate@5.0.10)':
+ '@graphql-tools/executor-legacy-ws@1.1.26(bufferutil@4.1.0)(graphql@16.13.2)(utf-8-validate@5.0.10)':
dependencies:
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@types/ws': 8.18.1
- graphql: 16.13.1
- isomorphic-ws: 5.0.0(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
+ graphql: 16.13.2
+ isomorphic-ws: 5.0.0(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
tslib: 2.8.1
- ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- '@graphql-tools/executor@1.5.1(graphql@16.13.1)':
+ '@graphql-tools/executor@1.5.1(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.2)
'@repeaterjs/repeater': 3.0.6
'@whatwg-node/disposablestack': 0.0.6
'@whatwg-node/promise-helpers': 1.3.2
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/git-loader@8.0.32(graphql@16.13.1)':
+ '@graphql-tools/git-loader@8.0.32(graphql@16.13.2)':
dependencies:
- '@graphql-tools/graphql-tag-pluck': 8.3.27(graphql@16.13.1)
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-tools/graphql-tag-pluck': 8.3.27(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
is-glob: 4.0.3
micromatch: 4.0.8
tslib: 2.8.1
@@ -10197,155 +10842,133 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@graphql-tools/github-loader@8.0.22(@types/node@25.3.0)(graphql@16.13.1)':
+ '@graphql-tools/github-loader@9.1.0(@types/node@25.3.0)(graphql@16.13.2)':
dependencies:
- '@graphql-tools/executor-http': 1.3.3(@types/node@25.3.0)(graphql@16.13.1)
- '@graphql-tools/graphql-tag-pluck': 8.3.27(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-tools/executor-http': 3.2.1(@types/node@25.3.0)(graphql@16.13.2)
+ '@graphql-tools/graphql-tag-pluck': 8.3.29(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@whatwg-node/fetch': 0.10.13
'@whatwg-node/promise-helpers': 1.3.2
- graphql: 16.13.1
- sync-fetch: 0.6.0-2
+ graphql: 16.13.2
+ sync-fetch: 0.6.0
tslib: 2.8.1
transitivePeerDependencies:
- '@types/node'
- supports-color
- '@graphql-tools/graphql-file-loader@8.1.9(graphql@16.13.1)':
+ '@graphql-tools/graphql-file-loader@8.1.12(graphql@16.13.2)':
dependencies:
- '@graphql-tools/import': 7.1.9(graphql@16.13.1)
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
+ '@graphql-tools/import': 7.1.12(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
globby: 11.1.0
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
unixify: 1.0.0
- transitivePeerDependencies:
- - supports-color
- '@graphql-tools/graphql-tag-pluck@8.3.27(graphql@16.13.1)':
+ '@graphql-tools/graphql-tag-pluck@8.3.27(graphql@16.13.2)':
dependencies:
'@babel/core': 7.29.0
'@babel/parser': 7.29.0
'@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0)
'@babel/traverse': 7.29.0(supports-color@5.5.0)
'@babel/types': 7.29.0
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
- '@graphql-tools/import@7.1.9(graphql@16.13.1)':
+ '@graphql-tools/graphql-tag-pluck@8.3.29(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- '@theguild/federation-composition': 0.21.3(graphql@16.13.1)
- graphql: 16.13.1
- resolve-from: 5.0.0
+ '@babel/core': 7.29.0
+ '@babel/parser': 7.29.2
+ '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0)
+ '@babel/traverse': 7.29.0(supports-color@5.5.0)
+ '@babel/types': 7.29.0
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
- '@graphql-tools/json-file-loader@8.0.26(graphql@16.13.1)':
+ '@graphql-tools/import@7.1.12(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- globby: 11.1.0
- graphql: 16.13.1
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
+ resolve-from: 5.0.0
tslib: 2.8.1
- unixify: 1.0.0
- '@graphql-tools/load@8.1.8(graphql@16.13.1)':
+ '@graphql-tools/json-file-loader@8.0.26(graphql@16.13.2)':
dependencies:
- '@graphql-tools/schema': 10.0.31(graphql@16.13.1)
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- graphql: 16.13.1
- p-limit: 3.1.0
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ globby: 11.1.0
+ graphql: 16.13.2
tslib: 2.8.1
+ unixify: 1.0.0
- '@graphql-tools/merge@9.1.7(graphql@16.13.1)':
+ '@graphql-tools/load@8.1.8(graphql@16.13.2)':
dependencies:
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-tools/schema': 10.0.31(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
+ p-limit: 3.1.0
tslib: 2.8.1
- '@graphql-tools/optimize@1.4.0(graphql@16.13.1)':
+ '@graphql-tools/merge@9.1.7(graphql@16.13.2)':
dependencies:
- graphql: 16.13.1
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/optimize@2.0.0(graphql@16.13.1)':
+ '@graphql-tools/optimize@1.4.0(graphql@16.13.2)':
dependencies:
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/prisma-loader@8.0.17(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)':
+ '@graphql-tools/optimize@2.0.0(graphql@16.13.2)':
dependencies:
- '@graphql-tools/url-loader': 8.0.33(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- '@types/js-yaml': 4.0.9
- '@whatwg-node/fetch': 0.10.13
- chalk: 4.1.2
- debug: 4.4.3(supports-color@5.5.0)
- dotenv: 16.6.1
- graphql: 16.13.1
- graphql-request: 6.1.0(graphql@16.13.1)
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
- jose: 5.10.0
- js-yaml: 4.1.1
- lodash: 4.17.23
- scuid: 1.1.0
+ graphql: 16.13.2
tslib: 2.8.1
- yaml-ast-parser: 0.0.43
- transitivePeerDependencies:
- - '@fastify/websocket'
- - '@types/node'
- - bufferutil
- - crossws
- - encoding
- - supports-color
- - utf-8-validate
- '@graphql-tools/relay-operation-optimizer@6.5.18(graphql@16.13.1)':
+ '@graphql-tools/relay-operation-optimizer@6.5.18(graphql@16.13.2)':
dependencies:
- '@ardatan/relay-compiler': 12.0.0(graphql@16.13.1)
- '@graphql-tools/utils': 9.2.1(graphql@16.13.1)
- graphql: 16.13.1
+ '@ardatan/relay-compiler': 12.0.0(graphql@16.13.2)
+ '@graphql-tools/utils': 9.2.1(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.8.1
transitivePeerDependencies:
- encoding
- supports-color
- '@graphql-tools/relay-operation-optimizer@7.0.27(graphql@16.13.1)':
+ '@graphql-tools/relay-operation-optimizer@7.1.2(graphql@16.13.2)':
dependencies:
- '@ardatan/relay-compiler': 12.0.3(graphql@16.13.1)
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@ardatan/relay-compiler': 13.0.1(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.8.1
- transitivePeerDependencies:
- - encoding
- '@graphql-tools/schema@10.0.31(graphql@16.13.1)':
+ '@graphql-tools/schema@10.0.31(graphql@16.13.2)':
dependencies:
- '@graphql-tools/merge': 9.1.7(graphql@16.13.1)
- '@graphql-tools/utils': 11.0.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-tools/merge': 9.1.7(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/url-loader@8.0.33(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)':
+ '@graphql-tools/url-loader@9.1.0(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(utf-8-validate@5.0.10)':
dependencies:
- '@graphql-tools/executor-graphql-ws': 2.0.7(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)
- '@graphql-tools/executor-http': 1.3.3(@types/node@25.3.0)(graphql@16.13.1)
- '@graphql-tools/executor-legacy-ws': 1.1.25(bufferutil@4.1.0)(graphql@16.13.1)(utf-8-validate@5.0.10)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- '@graphql-tools/wrap': 10.1.4(graphql@16.13.1)
+ '@graphql-tools/executor-graphql-ws': 3.1.5(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(utf-8-validate@5.0.10)
+ '@graphql-tools/executor-http': 3.2.1(@types/node@25.3.0)(graphql@16.13.2)
+ '@graphql-tools/executor-legacy-ws': 1.1.26(bufferutil@4.1.0)(graphql@16.13.2)(utf-8-validate@5.0.10)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ '@graphql-tools/wrap': 11.1.13(graphql@16.13.2)
'@types/ws': 8.18.1
'@whatwg-node/fetch': 0.10.13
'@whatwg-node/promise-helpers': 1.3.2
- graphql: 16.13.1
- isomorphic-ws: 5.0.0(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
- sync-fetch: 0.6.0-2
+ graphql: 16.13.2
+ isomorphic-ws: 5.0.0(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
+ sync-fetch: 0.6.0
tslib: 2.8.1
- ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- '@fastify/websocket'
- '@types/node'
@@ -10353,45 +10976,93 @@ snapshots:
- crossws
- utf-8-validate
- '@graphql-tools/utils@10.11.0(graphql@16.13.1)':
- dependencies:
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
- '@whatwg-node/promise-helpers': 1.3.2
- cross-inspect: 1.0.1
- graphql: 16.13.1
- tslib: 2.8.1
-
- '@graphql-tools/utils@11.0.0(graphql@16.13.1)':
+ '@graphql-tools/utils@11.0.0(graphql@16.13.2)':
dependencies:
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.2)
'@whatwg-node/promise-helpers': 1.3.2
cross-inspect: 1.0.1
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/utils@9.2.1(graphql@16.13.1)':
+ '@graphql-tools/utils@9.2.1(graphql@16.13.2)':
dependencies:
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.2)
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-tools/wrap@10.1.4(graphql@16.13.1)':
+ '@graphql-tools/wrap@11.1.13(graphql@16.13.2)':
dependencies:
- '@graphql-tools/delegate': 10.2.23(graphql@16.13.1)
- '@graphql-tools/schema': 10.0.31(graphql@16.13.1)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
+ '@graphql-tools/delegate': 12.0.13(graphql@16.13.2)
+ '@graphql-tools/schema': 10.0.31(graphql@16.13.2)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
'@whatwg-node/promise-helpers': 1.3.2
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
- '@graphql-typed-document-node/core@3.2.0(graphql@16.13.1)':
+ '@graphql-typed-document-node/core@3.2.0(graphql@16.13.2)':
dependencies:
- graphql: 16.13.1
+ graphql: 16.13.2
'@hono/node-server@1.19.9(hono@4.12.2)':
dependencies:
hono: 4.12.2
+ '@iconify/types@2.0.0': {}
+
+ '@iconify/utils@3.1.0':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@iconify/types': 2.0.0
+ mlly: 1.8.0
+
+ '@inquirer/ansi@1.0.2': {}
+
+ '@inquirer/checkbox@4.3.2(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/confirm@5.1.21(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/core@10.3.2(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ cli-width: 4.1.0
+ mute-stream: 2.0.0
+ signal-exit: 4.1.0
+ wrap-ansi: 6.2.0
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/editor@4.2.23(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/external-editor': 1.0.3(@types/node@25.3.0)
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/expand@4.0.23(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.3.0
+
'@inquirer/external-editor@1.0.3(@types/node@25.3.0)':
dependencies:
chardet: 2.1.1
@@ -10399,6 +11070,76 @@ snapshots:
optionalDependencies:
'@types/node': 25.3.0
+ '@inquirer/figures@1.0.15': {}
+
+ '@inquirer/input@4.3.1(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/number@3.0.23(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/password@4.0.23(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/prompts@7.10.1(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/checkbox': 4.3.2(@types/node@25.3.0)
+ '@inquirer/confirm': 5.1.21(@types/node@25.3.0)
+ '@inquirer/editor': 4.2.23(@types/node@25.3.0)
+ '@inquirer/expand': 4.0.23(@types/node@25.3.0)
+ '@inquirer/input': 4.3.1(@types/node@25.3.0)
+ '@inquirer/number': 3.0.23(@types/node@25.3.0)
+ '@inquirer/password': 4.0.23(@types/node@25.3.0)
+ '@inquirer/rawlist': 4.1.11(@types/node@25.3.0)
+ '@inquirer/search': 3.2.2(@types/node@25.3.0)
+ '@inquirer/select': 4.4.2(@types/node@25.3.0)
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/rawlist@4.1.11(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/search@3.2.2(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/select@4.4.2(@types/node@25.3.0)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/core': 10.3.2(@types/node@25.3.0)
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@25.3.0)
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 25.3.0
+
+ '@inquirer/type@3.0.10(@types/node@25.3.0)':
+ optionalDependencies:
+ '@types/node': 25.3.0
+
'@internationalized/date@3.11.0':
dependencies:
'@swc/helpers': 0.5.19
@@ -10407,17 +11148,6 @@ snapshots:
dependencies:
'@swc/helpers': 0.5.19
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.2
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@istanbuljs/schema@0.1.3': {}
-
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -10442,20 +11172,20 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@lifi/sdk@3.16.3(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)':
+ '@lifi/sdk@3.16.3(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)':
dependencies:
- '@bigmi/core': 0.7.1(@types/react@19.2.14)(bs58@6.0.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))
+ '@bigmi/core': 0.7.1(@types/react@19.2.14)(bs58@6.0.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))
'@bitcoinerlab/secp256k1': 1.2.0
- '@lifi/types': 17.65.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@mysten/sui': 1.45.2(typescript@5.9.3)
- '@mysten/wallet-standard': 0.19.9(typescript@5.9.3)
+ '@lifi/types': 17.65.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@mysten/sui': 1.45.2(typescript@6.0.2)
+ '@mysten/wallet-standard': 0.19.9(typescript@6.0.2)
'@noble/curves': 1.9.7
- '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))
- '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))
+ '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
bech32: 2.0.0
- bitcoinjs-lib: 7.0.1(typescript@5.9.3)
+ bitcoinjs-lib: 7.0.1(typescript@6.0.2)
bs58: 6.0.0
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@gql.tada/svelte-support'
- '@gql.tada/vue-support'
@@ -10468,9 +11198,9 @@ snapshots:
- utf-8-validate
- zod
- '@lifi/types@17.65.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@lifi/types@17.65.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- bufferutil
- typescript
@@ -10518,11 +11248,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
'@types/mdx': 2.0.13
'@types/react': 19.2.14
- react: 19.1.0
+ react: 19.2.4
'@mdx-js/rollup@3.1.1(rollup@4.59.0)':
dependencies:
@@ -10534,6 +11264,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@mermaid-js/parser@1.1.0':
+ dependencies:
+ langium: 4.2.1
+
'@metamask/eth-json-rpc-provider@1.0.1':
dependencies:
'@metamask/json-rpc-engine': 7.3.3
@@ -10698,7 +11432,7 @@ snapshots:
'@noble/hashes': 1.8.0
'@scure/base': 1.2.6
'@types/debug': 4.1.12
- debug: 4.3.4
+ debug: 4.4.3(supports-color@5.5.0)
pony-cause: 2.1.11
semver: 7.7.4
uuid: 9.0.1
@@ -10712,7 +11446,7 @@ snapshots:
'@noble/hashes': 1.8.0
'@scure/base': 1.2.6
'@types/debug': 4.1.12
- debug: 4.3.4
+ debug: 4.4.3(supports-color@5.5.0)
pony-cause: 2.1.11
semver: 7.7.4
uuid: 9.0.1
@@ -10761,9 +11495,9 @@ snapshots:
'@mysten/utils': 0.2.0
'@scure/base': 1.2.6
- '@mysten/sui@1.45.2(typescript@5.9.3)':
+ '@mysten/sui@1.45.2(typescript@6.0.2)':
dependencies:
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.2)
'@mysten/bcs': 1.9.2
'@mysten/utils': 0.2.0
'@noble/curves': 1.9.4
@@ -10774,10 +11508,10 @@ snapshots:
'@scure/base': 1.2.6
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- gql.tada: 1.9.0(graphql@16.13.1)(typescript@5.9.3)
- graphql: 16.13.1
+ gql.tada: 1.9.0(graphql@16.13.2)(typescript@6.0.2)
+ graphql: 16.13.2
poseidon-lite: 0.2.1
- valibot: 1.2.0(typescript@5.9.3)
+ valibot: 1.2.0(typescript@6.0.2)
transitivePeerDependencies:
- '@gql.tada/svelte-support'
- '@gql.tada/vue-support'
@@ -10787,15 +11521,22 @@ snapshots:
dependencies:
'@scure/base': 1.2.6
- '@mysten/wallet-standard@0.19.9(typescript@5.9.3)':
+ '@mysten/wallet-standard@0.19.9(typescript@6.0.2)':
dependencies:
- '@mysten/sui': 1.45.2(typescript@5.9.3)
+ '@mysten/sui': 1.45.2(typescript@6.0.2)
'@wallet-standard/core': 1.1.1
transitivePeerDependencies:
- '@gql.tada/svelte-support'
- '@gql.tada/vue-support'
- typescript
+ '@napi-rs/wasm-runtime@1.1.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)':
+ dependencies:
+ '@emnapi/core': 1.9.2
+ '@emnapi/runtime': 1.9.2
+ '@tybys/wasm-util': 0.10.1
+ optional: true
+
'@noble/ciphers@1.2.1': {}
'@noble/ciphers@1.3.0': {}
@@ -10844,6 +11585,8 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.20.1
+ '@oxc-project/types@0.122.0': {}
+
'@pandacss/is-valid-prop@1.8.2': {}
'@parcel/watcher-android-arm64@2.5.6':
@@ -10912,9 +11655,6 @@ snapshots:
dependencies:
lit: 3.3.0
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
'@protobuf-ts/grpcweb-transport@2.11.1':
dependencies:
'@protobuf-ts/runtime': 2.11.1
@@ -10932,813 +11672,813 @@ snapshots:
'@radix-ui/primitive@1.1.3': {}
- '@radix-ui/react-accessible-icon@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-accessible-icon@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-avatar@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-context-menu@2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-context-menu@2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
aria-hidden: 1.2.6
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-form@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-form@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-hover-card@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-icons@1.3.2(react@19.1.0)':
+ '@radix-ui/react-icons@1.3.2(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
- '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-id@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-label@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-label@2.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-label@2.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
aria-hidden: 1.2.6
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-menubar@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-menubar@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-one-time-password-field@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-one-time-password-field@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/number': 1.1.1
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-password-toggle-field@0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-password-toggle-field@0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
aria-hidden: 1.2.6
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
- dependencies:
- '@floating-ui/react-dom': 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.1.0)
+ '@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4)
'@radix-ui/rect': 1.1.1
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-presence@1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-primitive@2.1.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-slot': 1.2.4(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-slot': 1.2.4(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-progress@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-progress@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-radio-group@1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/number': 1.1.1
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/number': 1.1.1
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
aria-hidden: 1.2.6
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-slider@1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-slider@1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/number': 1.1.1
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-slot@1.2.4(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-slot@1.2.4(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-toolbar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-toolbar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
- use-sync-external-store: 1.6.0(react@19.1.0)
+ react: 19.2.4
+ use-sync-external-store: 1.6.0(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
'@radix-ui/rect': 1.1.1
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.1.0)':
+ '@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.4)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- react: 19.1.0
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ react: 19.2.4
optionalDependencies:
'@types/react': 19.2.14
- '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
'@radix-ui/rect@1.1.1': {}
- '@rainbow-me/rainbowkit@2.2.10(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.3)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))':
+ '@rainbow-me/rainbowkit@2.2.10(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@6.0.2)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))':
dependencies:
- '@tanstack/react-query': 5.95.2(react@19.1.0)
+ '@tanstack/react-query': 5.96.1(react@19.2.4)
'@vanilla-extract/css': 1.17.3(babel-plugin-macros@3.1.0)
'@vanilla-extract/dynamic': 2.1.4
'@vanilla-extract/sprinkles': 1.6.4(@vanilla-extract/css@1.17.3(babel-plugin-macros@3.1.0))
clsx: 2.1.1
- cuer: 0.0.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.3)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- react-remove-scroll: 2.6.2(@types/react@19.2.14)(react@19.1.0)
+ cuer: 0.0.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@6.0.2)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-remove-scroll: 2.6.2(@types/react@19.2.14)(react@19.2.4)
ua-parser-js: 1.0.41
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- wagmi: 2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ wagmi: 2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
transitivePeerDependencies:
- '@types/react'
- babel-plugin-macros
- typescript
- '@reown/appkit-adapter-wagmi@1.8.19(3041b67b8915d842a532aec1c6c6eb72)':
+ '@reown/appkit-adapter-wagmi@1.8.19(2de72959fc98ac49fc53ea96fd4099ec)':
dependencies:
- '@reown/appkit': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@reown/appkit-polyfills': 1.8.19
- '@reown/appkit-scaffold-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@wagmi/core': 3.4.0(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(ox@0.14.7(typescript@5.9.3)(zod@3.25.76))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
- '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- valtio: 2.1.7(@types/react@19.2.14)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- wagmi: 2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
+ '@reown/appkit-scaffold-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@wagmi/core': 3.4.0(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(ox@0.14.7(typescript@6.0.2)(zod@4.3.6))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
+ '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ valtio: 2.1.7(@types/react@19.2.14)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ wagmi: 2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
optionalDependencies:
- '@wagmi/connectors': 7.2.1(7a3af5fbb3d5f20af6e588f956426ab3)
+ '@wagmi/connectors': 7.2.1(b756c2b269709ceeeadc4224985368d3)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -11778,57 +12518,57 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-common@1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)':
+ '@reown/appkit-common@1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.22.4)':
dependencies:
big.js: 6.2.2
dayjs: 1.11.13
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.22.4)
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
- zod
- '@reown/appkit-common@1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-common@1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
big.js: 6.2.2
dayjs: 1.11.13
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
- zod
- '@reown/appkit-common@1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)':
+ '@reown/appkit-common@1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.22.4)':
dependencies:
big.js: 6.2.2
dayjs: 1.11.13
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.22.4)
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
- zod
- '@reown/appkit-common@1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-common@1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
big.js: 6.2.2
dayjs: 1.11.13
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
- zod
- '@reown/appkit-controllers@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-controllers@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- valtio: 1.13.2(@types/react@19.2.14)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ valtio: 1.13.2(@types/react@19.2.14)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -11857,13 +12597,13 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-controllers@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-controllers@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- valtio: 2.1.7(@types/react@19.2.14)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ valtio: 2.1.7(@types/react@19.2.14)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -11892,14 +12632,14 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-pay@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-pay@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-utils': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
+ '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-utils': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
lit: 3.3.0
- valtio: 1.13.2(@types/react@19.2.14)(react@19.1.0)
+ valtio: 1.13.2(@types/react@19.2.14)(react@19.2.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -11928,14 +12668,14 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-pay@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-pay@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
lit: 3.3.0
- valtio: 2.1.7(@types/react@19.2.14)(react@19.1.0)
+ valtio: 2.1.7(@types/react@19.2.14)(react@19.2.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -11976,13 +12716,13 @@ snapshots:
dependencies:
buffer: 6.0.3
- '@reown/appkit-scaffold-ui@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)':
+ '@reown/appkit-scaffold-ui@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-utils': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-utils': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
lit: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -12013,14 +12753,14 @@ snapshots:
- valtio
- zod
- '@reown/appkit-scaffold-ui@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)':
+ '@reown/appkit-scaffold-ui@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-pay': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-pay': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
lit: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -12055,11 +12795,11 @@ snapshots:
- valtio
- zod
- '@reown/appkit-ui@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-ui@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
lit: 3.3.0
qrcode: 1.5.3
transitivePeerDependencies:
@@ -12090,12 +12830,12 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-ui@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit-ui@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@phosphor-icons/webcomponents': 2.1.5
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
lit: 3.3.0
qrcode: 1.5.3
transitivePeerDependencies:
@@ -12126,16 +12866,16 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-utils@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)':
+ '@reown/appkit-utils@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@reown/appkit-polyfills': 1.7.8
- '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
'@walletconnect/logger': 2.1.2
- '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- valtio: 1.13.2(@types/react@19.2.14)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ valtio: 1.13.2(@types/react@19.2.14)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -12164,21 +12904,21 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-utils@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)':
+ '@reown/appkit-utils@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@reown/appkit-polyfills': 1.8.19
- '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
'@wallet-standard/wallet': 1.1.0
'@walletconnect/logger': 3.0.2
- '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- valtio: 2.1.7(@types/react@19.2.14)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ valtio: 2.1.7(@types/react@19.2.14)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
optionalDependencies:
- '@base-org/account': 2.4.0(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
- '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@base-org/account': 2.4.0(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -12211,9 +12951,9 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit-wallet@1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ '@reown/appkit-wallet@1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
dependencies:
- '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.22.4)
'@reown/appkit-polyfills': 1.7.8
'@walletconnect/logger': 2.1.2
zod: 3.22.4
@@ -12222,9 +12962,9 @@ snapshots:
- typescript
- utf-8-validate
- '@reown/appkit-wallet@1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ '@reown/appkit-wallet@1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
dependencies:
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.22.4)
'@reown/appkit-polyfills': 1.8.19
'@walletconnect/logger': 3.0.2
zod: 3.22.4
@@ -12233,21 +12973,21 @@ snapshots:
- typescript
- utf-8-validate
- '@reown/appkit@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit@1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-pay': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-common': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-pay': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@reown/appkit-polyfills': 1.7.8
- '@reown/appkit-scaffold-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-utils': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@reown/appkit-scaffold-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-ui': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-utils': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
'@walletconnect/types': 2.21.0
- '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/universal-provider': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
bs58: 6.0.0
- valtio: 1.13.2(@types/react@19.2.14)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ valtio: 1.13.2(@types/react@19.2.14)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -12276,21 +13016,21 @@ snapshots:
- utf-8-validate
- zod
- '@reown/appkit@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@reown/appkit@1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-pay': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-common': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-controllers': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-pay': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
'@reown/appkit-polyfills': 1.8.19
- '@reown/appkit-scaffold-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.1.0))(zod@3.25.76)
- '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-scaffold-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-ui': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@reown/appkit-utils': 1.8.19(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.14)(react@19.2.4))(zod@4.3.6)
+ '@reown/appkit-wallet': 1.8.19(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@walletconnect/universal-provider': 2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
bs58: 6.0.0
semver: 7.7.2
- valtio: 2.1.7(@types/react@19.2.14)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ valtio: 2.1.7(@types/react@19.2.14)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
optionalDependencies:
'@lit/react': 1.0.8(@types/react@19.2.14)
transitivePeerDependencies:
@@ -12327,7 +13067,61 @@ snapshots:
'@repeaterjs/repeater@3.0.6': {}
- '@rolldown/pluginutils@1.0.0-beta.27': {}
+ '@rolldown/binding-android-arm64@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.12(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.1.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/pluginutils@1.0.0-rc.12': {}
+
+ '@rolldown/pluginutils@1.0.0-rc.3': {}
+
+ '@rolldown/pluginutils@1.0.0-rc.7': {}
'@rollup/pluginutils@5.3.0(rollup@4.59.0)':
dependencies:
@@ -12412,9 +13206,9 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.59.0':
optional: true
- '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
events: 3.3.0
transitivePeerDependencies:
- bufferutil
@@ -12422,10 +13216,10 @@ snapshots:
- utf-8-validate
- zod
- '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@safe-global/safe-gateway-typescript-sdk': 3.23.1
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- bufferutil
- typescript
@@ -12491,18 +13285,18 @@ snapshots:
'@shikijs/types': 1.29.2
'@shikijs/vscode-textmate': 10.0.2
- '@shikijs/engine-oniguruma@3.22.0':
+ '@shikijs/engine-oniguruma@3.23.0':
dependencies:
- '@shikijs/types': 3.22.0
+ '@shikijs/types': 3.23.0
'@shikijs/vscode-textmate': 10.0.2
'@shikijs/langs@1.29.2':
dependencies:
'@shikijs/types': 1.29.2
- '@shikijs/langs@3.22.0':
+ '@shikijs/langs@3.23.0':
dependencies:
- '@shikijs/types': 3.22.0
+ '@shikijs/types': 3.23.0
'@shikijs/rehype@1.29.2':
dependencies:
@@ -12517,20 +13311,20 @@ snapshots:
dependencies:
'@shikijs/types': 1.29.2
- '@shikijs/themes@3.22.0':
+ '@shikijs/themes@3.23.0':
dependencies:
- '@shikijs/types': 3.22.0
+ '@shikijs/types': 3.23.0
'@shikijs/transformers@1.29.2':
dependencies:
'@shikijs/core': 1.29.2
'@shikijs/types': 1.29.2
- '@shikijs/twoslash@1.29.2(typescript@5.9.3)':
+ '@shikijs/twoslash@1.29.2(typescript@6.0.2)':
dependencies:
'@shikijs/core': 1.29.2
'@shikijs/types': 1.29.2
- twoslash: 0.2.12(typescript@5.9.3)
+ twoslash: 0.2.12(typescript@6.0.2)
transitivePeerDependencies:
- supports-color
- typescript
@@ -12540,474 +13334,478 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- '@shikijs/types@3.22.0':
+ '@shikijs/types@3.23.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
'@shikijs/vscode-textmate@10.0.2': {}
- '@sindresorhus/merge-streams@2.3.0': {}
+ '@simple-libs/child-process-utils@1.0.2':
+ dependencies:
+ '@simple-libs/stream-utils': 1.2.0
+
+ '@simple-libs/stream-utils@1.2.0': {}
'@socket.io/component-emitter@3.1.2': {}
- '@solana-program/system@0.10.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))':
+ '@solana-program/system@0.10.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))':
dependencies:
- '@solana/kit': 5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@solana/kit': 5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
- '@solana-program/token@0.9.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))':
+ '@solana-program/token@0.9.0(@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))':
dependencies:
- '@solana/kit': 5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@solana/kit': 5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
- '@solana/accounts@5.5.1(typescript@5.9.3)':
+ '@solana/accounts@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/addresses@5.5.1(typescript@5.9.3)':
+ '@solana/addresses@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/assertions': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
+ '@solana/assertions': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/assertions@5.5.1(typescript@5.9.3)':
+ '@solana/assertions@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
'@solana/buffer-layout@4.0.1':
dependencies:
buffer: 6.0.3
- '@solana/codecs-core@2.3.0(typescript@5.9.3)':
+ '@solana/codecs-core@2.3.0(typescript@6.0.2)':
dependencies:
- '@solana/errors': 2.3.0(typescript@5.9.3)
- typescript: 5.9.3
+ '@solana/errors': 2.3.0(typescript@6.0.2)
+ typescript: 6.0.2
- '@solana/codecs-core@5.5.1(typescript@5.9.3)':
+ '@solana/codecs-core@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/codecs-data-structures@5.5.1(typescript@5.9.3)':
+ '@solana/codecs-data-structures@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/codecs-numbers@2.3.0(typescript@5.9.3)':
+ '@solana/codecs-numbers@2.3.0(typescript@6.0.2)':
dependencies:
- '@solana/codecs-core': 2.3.0(typescript@5.9.3)
- '@solana/errors': 2.3.0(typescript@5.9.3)
- typescript: 5.9.3
+ '@solana/codecs-core': 2.3.0(typescript@6.0.2)
+ '@solana/errors': 2.3.0(typescript@6.0.2)
+ typescript: 6.0.2
- '@solana/codecs-numbers@5.5.1(typescript@5.9.3)':
+ '@solana/codecs-numbers@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/codecs-strings@5.5.1(typescript@5.9.3)':
+ '@solana/codecs-strings@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/codecs@5.5.1(typescript@5.9.3)':
+ '@solana/codecs@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/options': 5.5.1(typescript@5.9.3)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-data-structures': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/options': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/errors@2.3.0(typescript@5.9.3)':
+ '@solana/errors@2.3.0(typescript@6.0.2)':
dependencies:
chalk: 5.6.2
commander: 14.0.3
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/errors@5.5.1(typescript@5.9.3)':
+ '@solana/errors@5.5.1(typescript@6.0.2)':
dependencies:
chalk: 5.6.2
commander: 14.0.2
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/fast-stable-stringify@5.5.1(typescript@5.9.3)':
+ '@solana/fast-stable-stringify@5.5.1(typescript@6.0.2)':
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/functional@5.5.1(typescript@5.9.3)':
+ '@solana/functional@5.5.1(typescript@6.0.2)':
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/instruction-plans@5.5.1(typescript@5.9.3)':
+ '@solana/instruction-plans@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/instructions': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/promises': 5.5.1(typescript@5.9.3)
- '@solana/transaction-messages': 5.5.1(typescript@5.9.3)
- '@solana/transactions': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/instructions': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/promises': 5.5.1(typescript@6.0.2)
+ '@solana/transaction-messages': 5.5.1(typescript@6.0.2)
+ '@solana/transactions': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/instructions@5.5.1(typescript@5.9.3)':
+ '@solana/instructions@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/keys@5.5.1(typescript@5.9.3)':
+ '@solana/keys@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/assertions': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
+ '@solana/assertions': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
- dependencies:
- '@solana/accounts': 5.5.1(typescript@5.9.3)
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/functional': 5.5.1(typescript@5.9.3)
- '@solana/instruction-plans': 5.5.1(typescript@5.9.3)
- '@solana/instructions': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/offchain-messages': 5.5.1(typescript@5.9.3)
- '@solana/plugin-core': 5.5.1(typescript@5.9.3)
- '@solana/programs': 5.5.1(typescript@5.9.3)
- '@solana/rpc': 5.5.1(typescript@5.9.3)
- '@solana/rpc-api': 5.5.1(typescript@5.9.3)
- '@solana/rpc-parsed-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
- '@solana/signers': 5.5.1(typescript@5.9.3)
- '@solana/sysvars': 5.5.1(typescript@5.9.3)
- '@solana/transaction-confirmation': 5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@solana/transaction-messages': 5.5.1(typescript@5.9.3)
- '@solana/transactions': 5.5.1(typescript@5.9.3)
+ '@solana/kit@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@solana/accounts': 5.5.1(typescript@6.0.2)
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/functional': 5.5.1(typescript@6.0.2)
+ '@solana/instruction-plans': 5.5.1(typescript@6.0.2)
+ '@solana/instructions': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/offchain-messages': 5.5.1(typescript@6.0.2)
+ '@solana/plugin-core': 5.5.1(typescript@6.0.2)
+ '@solana/programs': 5.5.1(typescript@6.0.2)
+ '@solana/rpc': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-api': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-parsed-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
+ '@solana/signers': 5.5.1(typescript@6.0.2)
+ '@solana/sysvars': 5.5.1(typescript@6.0.2)
+ '@solana/transaction-confirmation': 5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@solana/transaction-messages': 5.5.1(typescript@6.0.2)
+ '@solana/transactions': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- fastestsmallesttextencoderdecoder
- utf-8-validate
- '@solana/nominal-types@5.5.1(typescript@5.9.3)':
+ '@solana/nominal-types@5.5.1(typescript@6.0.2)':
optionalDependencies:
- typescript: 5.9.3
-
- '@solana/offchain-messages@5.5.1(typescript@5.9.3)':
- dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
+ typescript: 6.0.2
+
+ '@solana/offchain-messages@5.5.1(typescript@6.0.2)':
+ dependencies:
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-data-structures': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/options@5.5.1(typescript@5.9.3)':
+ '@solana/options@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-data-structures': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/plugin-core@5.5.1(typescript@5.9.3)':
+ '@solana/plugin-core@5.5.1(typescript@6.0.2)':
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/programs@5.5.1(typescript@5.9.3)':
+ '@solana/programs@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/promises@5.5.1(typescript@5.9.3)':
+ '@solana/promises@5.5.1(typescript@6.0.2)':
optionalDependencies:
- typescript: 5.9.3
-
- '@solana/rpc-api@5.5.1(typescript@5.9.3)':
- dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/rpc-parsed-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec': 5.5.1(typescript@5.9.3)
- '@solana/rpc-transformers': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
- '@solana/transaction-messages': 5.5.1(typescript@5.9.3)
- '@solana/transactions': 5.5.1(typescript@5.9.3)
+ typescript: 6.0.2
+
+ '@solana/rpc-api@5.5.1(typescript@6.0.2)':
+ dependencies:
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-parsed-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-transformers': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
+ '@solana/transaction-messages': 5.5.1(typescript@6.0.2)
+ '@solana/transactions': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/rpc-parsed-types@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-parsed-types@5.5.1(typescript@6.0.2)':
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/rpc-spec-types@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-spec-types@5.5.1(typescript@6.0.2)':
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/rpc-spec@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-spec@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/rpc-subscriptions-api@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-subscriptions-api@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.9.3)
- '@solana/rpc-transformers': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
- '@solana/transaction-messages': 5.5.1(typescript@5.9.3)
- '@solana/transactions': 5.5.1(typescript@5.9.3)
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-subscriptions-spec': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-transformers': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
+ '@solana/transaction-messages': 5.5.1(typescript@6.0.2)
+ '@solana/transactions': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/rpc-subscriptions-channel-websocket@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ '@solana/rpc-subscriptions-channel-websocket@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/functional': 5.5.1(typescript@5.9.3)
- '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.9.3)
- '@solana/subscribable': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/functional': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-subscriptions-spec': 5.5.1(typescript@6.0.2)
+ '@solana/subscribable': 5.5.1(typescript@6.0.2)
ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- '@solana/rpc-subscriptions-spec@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-subscriptions-spec@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/promises': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3)
- '@solana/subscribable': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/promises': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec-types': 5.5.1(typescript@6.0.2)
+ '@solana/subscribable': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
-
- '@solana/rpc-subscriptions@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
- dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/fast-stable-stringify': 5.5.1(typescript@5.9.3)
- '@solana/functional': 5.5.1(typescript@5.9.3)
- '@solana/promises': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-subscriptions-api': 5.5.1(typescript@5.9.3)
- '@solana/rpc-subscriptions-channel-websocket': 5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@solana/rpc-subscriptions-spec': 5.5.1(typescript@5.9.3)
- '@solana/rpc-transformers': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
- '@solana/subscribable': 5.5.1(typescript@5.9.3)
+ typescript: 6.0.2
+
+ '@solana/rpc-subscriptions@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/fast-stable-stringify': 5.5.1(typescript@6.0.2)
+ '@solana/functional': 5.5.1(typescript@6.0.2)
+ '@solana/promises': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-subscriptions-api': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-subscriptions-channel-websocket': 5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@solana/rpc-subscriptions-spec': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-transformers': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
+ '@solana/subscribable': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- fastestsmallesttextencoderdecoder
- utf-8-validate
- '@solana/rpc-transformers@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-transformers@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/functional': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/functional': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/rpc-transport-http@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-transport-http@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec-types': 5.5.1(typescript@6.0.2)
undici-types: 7.22.0
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/rpc-types@5.5.1(typescript@5.9.3)':
+ '@solana/rpc-types@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/rpc@5.5.1(typescript@5.9.3)':
- dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/fast-stable-stringify': 5.5.1(typescript@5.9.3)
- '@solana/functional': 5.5.1(typescript@5.9.3)
- '@solana/rpc-api': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec': 5.5.1(typescript@5.9.3)
- '@solana/rpc-spec-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-transformers': 5.5.1(typescript@5.9.3)
- '@solana/rpc-transport-http': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
+ '@solana/rpc@5.5.1(typescript@6.0.2)':
+ dependencies:
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/fast-stable-stringify': 5.5.1(typescript@6.0.2)
+ '@solana/functional': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-api': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-spec-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-transformers': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-transport-http': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/signers@5.5.1(typescript@5.9.3)':
- dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/instructions': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
- '@solana/offchain-messages': 5.5.1(typescript@5.9.3)
- '@solana/transaction-messages': 5.5.1(typescript@5.9.3)
- '@solana/transactions': 5.5.1(typescript@5.9.3)
+ '@solana/signers@5.5.1(typescript@6.0.2)':
+ dependencies:
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/instructions': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
+ '@solana/offchain-messages': 5.5.1(typescript@6.0.2)
+ '@solana/transaction-messages': 5.5.1(typescript@6.0.2)
+ '@solana/transactions': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/subscribable@5.5.1(typescript@5.9.3)':
+ '@solana/subscribable@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/errors': 5.5.1(typescript@5.9.3)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@solana/sysvars@5.5.1(typescript@5.9.3)':
+ '@solana/sysvars@5.5.1(typescript@6.0.2)':
dependencies:
- '@solana/accounts': 5.5.1(typescript@5.9.3)
- '@solana/codecs': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
+ '@solana/accounts': 5.5.1(typescript@6.0.2)
+ '@solana/codecs': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/transaction-confirmation@5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
- dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/promises': 5.5.1(typescript@5.9.3)
- '@solana/rpc': 5.5.1(typescript@5.9.3)
- '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
- '@solana/transaction-messages': 5.5.1(typescript@5.9.3)
- '@solana/transactions': 5.5.1(typescript@5.9.3)
+ '@solana/transaction-confirmation@5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/promises': 5.5.1(typescript@6.0.2)
+ '@solana/rpc': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
+ '@solana/transaction-messages': 5.5.1(typescript@6.0.2)
+ '@solana/transactions': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- fastestsmallesttextencoderdecoder
- utf-8-validate
- '@solana/transaction-messages@5.5.1(typescript@5.9.3)':
- dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/functional': 5.5.1(typescript@5.9.3)
- '@solana/instructions': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
+ '@solana/transaction-messages@5.5.1(typescript@6.0.2)':
+ dependencies:
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-data-structures': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/functional': 5.5.1(typescript@6.0.2)
+ '@solana/instructions': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/transactions@5.5.1(typescript@5.9.3)':
- dependencies:
- '@solana/addresses': 5.5.1(typescript@5.9.3)
- '@solana/codecs-core': 5.5.1(typescript@5.9.3)
- '@solana/codecs-data-structures': 5.5.1(typescript@5.9.3)
- '@solana/codecs-numbers': 5.5.1(typescript@5.9.3)
- '@solana/codecs-strings': 5.5.1(typescript@5.9.3)
- '@solana/errors': 5.5.1(typescript@5.9.3)
- '@solana/functional': 5.5.1(typescript@5.9.3)
- '@solana/instructions': 5.5.1(typescript@5.9.3)
- '@solana/keys': 5.5.1(typescript@5.9.3)
- '@solana/nominal-types': 5.5.1(typescript@5.9.3)
- '@solana/rpc-types': 5.5.1(typescript@5.9.3)
- '@solana/transaction-messages': 5.5.1(typescript@5.9.3)
+ '@solana/transactions@5.5.1(typescript@6.0.2)':
+ dependencies:
+ '@solana/addresses': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-core': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-data-structures': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-numbers': 5.5.1(typescript@6.0.2)
+ '@solana/codecs-strings': 5.5.1(typescript@6.0.2)
+ '@solana/errors': 5.5.1(typescript@6.0.2)
+ '@solana/functional': 5.5.1(typescript@6.0.2)
+ '@solana/instructions': 5.5.1(typescript@6.0.2)
+ '@solana/keys': 5.5.1(typescript@6.0.2)
+ '@solana/nominal-types': 5.5.1(typescript@6.0.2)
+ '@solana/rpc-types': 5.5.1(typescript@6.0.2)
+ '@solana/transaction-messages': 5.5.1(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10))':
+ '@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10))':
dependencies:
'@solana/wallet-standard-features': 1.3.0
- '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)
'@wallet-standard/base': 1.1.0
'@wallet-standard/features': 1.1.0
eventemitter3: 5.0.4
@@ -13017,13 +13815,13 @@ snapshots:
'@wallet-standard/base': 1.1.0
'@wallet-standard/features': 1.1.0
- '@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ '@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
dependencies:
'@babel/runtime': 7.28.6
'@noble/curves': 1.9.7
'@noble/hashes': 1.4.0
'@solana/buffer-layout': 4.0.1
- '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@6.0.2)
agentkeepalive: 4.6.0
bn.js: 5.2.3
borsh: 0.7.0
@@ -13040,6 +13838,10 @@ snapshots:
- typescript
- utf-8-validate
+ '@standard-schema/spec@1.0.0': {}
+
+ '@standard-schema/spec@1.1.0': {}
+
'@swc/core-darwin-arm64@1.15.13':
optional: true
@@ -13086,8 +13888,10 @@ snapshots:
'@swc/core-win32-ia32-msvc': 1.15.13
'@swc/core-win32-x64-msvc': 1.15.13
'@swc/helpers': 0.5.19
+ optional: true
- '@swc/counter@0.1.3': {}
+ '@swc/counter@0.1.3':
+ optional: true
'@swc/helpers@0.5.19':
dependencies:
@@ -13096,163 +13900,158 @@ snapshots:
'@swc/types@0.1.25':
dependencies:
'@swc/counter': 0.1.3
+ optional: true
- '@t3-oss/env-core@0.13.11(typescript@5.9.3)(valibot@1.2.0(typescript@5.9.3))(zod@3.25.76)':
+ '@t3-oss/env-core@0.13.11(typescript@6.0.2)(valibot@1.2.0(typescript@6.0.2))(zod@4.3.6)':
optionalDependencies:
- typescript: 5.9.3
- valibot: 1.2.0(typescript@5.9.3)
- zod: 3.25.76
+ typescript: 6.0.2
+ valibot: 1.2.0(typescript@6.0.2)
+ zod: 4.3.6
- '@tailwindcss/node@4.0.7':
+ '@tailwindcss/node@4.1.15':
dependencies:
+ '@jridgewell/remapping': 2.3.5
enhanced-resolve: 5.19.0
jiti: 2.6.1
- tailwindcss: 4.0.7
+ lightningcss: 1.30.2
+ magic-string: 0.30.21
+ source-map-js: 1.2.1
+ tailwindcss: 4.1.15
+
+ '@tailwindcss/oxide-android-arm64@4.1.15':
+ optional: true
- '@tailwindcss/oxide-android-arm64@4.0.7':
+ '@tailwindcss/oxide-darwin-arm64@4.1.15':
optional: true
- '@tailwindcss/oxide-darwin-arm64@4.0.7':
+ '@tailwindcss/oxide-darwin-x64@4.1.15':
optional: true
- '@tailwindcss/oxide-darwin-x64@4.0.7':
+ '@tailwindcss/oxide-freebsd-x64@4.1.15':
optional: true
- '@tailwindcss/oxide-freebsd-x64@4.0.7':
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.15':
optional: true
- '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.7':
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.15':
optional: true
- '@tailwindcss/oxide-linux-arm64-gnu@4.0.7':
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.15':
optional: true
- '@tailwindcss/oxide-linux-arm64-musl@4.0.7':
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.15':
optional: true
- '@tailwindcss/oxide-linux-x64-gnu@4.0.7':
+ '@tailwindcss/oxide-linux-x64-musl@4.1.15':
optional: true
- '@tailwindcss/oxide-linux-x64-musl@4.0.7':
+ '@tailwindcss/oxide-wasm32-wasi@4.1.15':
optional: true
- '@tailwindcss/oxide-win32-arm64-msvc@4.0.7':
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.15':
optional: true
- '@tailwindcss/oxide-win32-x64-msvc@4.0.7':
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.15':
optional: true
- '@tailwindcss/oxide@4.0.7':
+ '@tailwindcss/oxide@4.1.15':
optionalDependencies:
- '@tailwindcss/oxide-android-arm64': 4.0.7
- '@tailwindcss/oxide-darwin-arm64': 4.0.7
- '@tailwindcss/oxide-darwin-x64': 4.0.7
- '@tailwindcss/oxide-freebsd-x64': 4.0.7
- '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.7
- '@tailwindcss/oxide-linux-arm64-gnu': 4.0.7
- '@tailwindcss/oxide-linux-arm64-musl': 4.0.7
- '@tailwindcss/oxide-linux-x64-gnu': 4.0.7
- '@tailwindcss/oxide-linux-x64-musl': 4.0.7
- '@tailwindcss/oxide-win32-arm64-msvc': 4.0.7
- '@tailwindcss/oxide-win32-x64-msvc': 4.0.7
-
- '@tailwindcss/vite@4.0.7(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))':
- dependencies:
- '@tailwindcss/node': 4.0.7
- '@tailwindcss/oxide': 4.0.7
- lightningcss: 1.31.1
- tailwindcss: 4.0.7
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ '@tailwindcss/oxide-android-arm64': 4.1.15
+ '@tailwindcss/oxide-darwin-arm64': 4.1.15
+ '@tailwindcss/oxide-darwin-x64': 4.1.15
+ '@tailwindcss/oxide-freebsd-x64': 4.1.15
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.15
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.15
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.15
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.15
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.15
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.15
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.15
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.15
+
+ '@tailwindcss/vite@4.1.15(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ dependencies:
+ '@tailwindcss/node': 4.1.15
+ '@tailwindcss/oxide': 4.1.15
+ tailwindcss: 4.1.15
+ vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
'@tanstack/history@1.161.6': {}
- '@tanstack/query-core@5.95.2': {}
+ '@tanstack/query-core@5.96.1': {}
- '@tanstack/query-devtools@5.95.2': {}
+ '@tanstack/query-devtools@5.96.1': {}
- '@tanstack/react-query-devtools@5.95.2(@tanstack/react-query@5.95.2(react@19.1.0))(react@19.1.0)':
+ '@tanstack/react-query-devtools@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4)':
dependencies:
- '@tanstack/query-devtools': 5.95.2
- '@tanstack/react-query': 5.95.2(react@19.1.0)
- react: 19.1.0
+ '@tanstack/query-devtools': 5.96.1
+ '@tanstack/react-query': 5.96.1(react@19.2.4)
+ react: 19.2.4
- '@tanstack/react-query@5.95.2(react@19.1.0)':
+ '@tanstack/react-query@5.96.1(react@19.2.4)':
dependencies:
- '@tanstack/query-core': 5.95.2
- react: 19.1.0
+ '@tanstack/query-core': 5.96.1
+ react: 19.2.4
- '@tanstack/react-router-devtools@1.166.11(@tanstack/react-router@1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.168.3)(csstype@3.2.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@tanstack/react-router-devtools@1.166.11(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@tanstack/router-core@1.168.9)(csstype@3.2.3)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@tanstack/react-router': 1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@tanstack/router-devtools-core': 1.167.1(@tanstack/router-core@1.168.3)(csstype@3.2.3)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@tanstack/router-devtools-core': 1.167.1(@tanstack/router-core@1.168.9)(csstype@3.2.3)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
- '@tanstack/router-core': 1.168.3
+ '@tanstack/router-core': 1.168.9
transitivePeerDependencies:
- csstype
- '@tanstack/react-router@1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@tanstack/history': 1.161.6
- '@tanstack/react-store': 0.9.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@tanstack/router-core': 1.168.3
+ '@tanstack/react-store': 0.9.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@tanstack/router-core': 1.168.9
isbot: 5.1.35
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
- '@tanstack/react-store@0.9.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@tanstack/react-store@0.9.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@tanstack/store': 0.9.2
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- use-sync-external-store: 1.6.0(react@19.1.0)
+ '@tanstack/store': 0.9.3
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ use-sync-external-store: 1.6.0(react@19.2.4)
- '@tanstack/react-virtual@3.13.23(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@tanstack/react-virtual@3.13.23(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@tanstack/virtual-core': 3.13.23
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
- '@tanstack/router-cli@1.166.18':
+ '@tanstack/router-cli@1.166.25':
dependencies:
- '@tanstack/router-generator': 1.166.17
+ '@tanstack/router-generator': 1.166.24
chokidar: 3.6.0
yargs: 17.7.2
transitivePeerDependencies:
- supports-color
- '@tanstack/router-core@1.168.3':
+ '@tanstack/router-core@1.168.9':
dependencies:
'@tanstack/history': 1.161.6
cookie-es: 2.0.0
seroval: 1.5.1
seroval-plugins: 1.5.1(seroval@1.5.1)
- '@tanstack/router-devtools-core@1.167.1(@tanstack/router-core@1.168.3)(csstype@3.2.3)':
- dependencies:
- '@tanstack/router-core': 1.168.3
- clsx: 2.1.1
- goober: 2.1.18(csstype@3.2.3)
- optionalDependencies:
- csstype: 3.2.3
-
- '@tanstack/router-devtools@1.166.11(@tanstack/react-router@1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.168.3)(csstype@3.2.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@tanstack/router-devtools-core@1.167.1(@tanstack/router-core@1.168.9)(csstype@3.2.3)':
dependencies:
- '@tanstack/react-router': 1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@tanstack/react-router-devtools': 1.166.11(@tanstack/react-router@1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.168.3)(csstype@3.2.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@tanstack/router-core': 1.168.9
clsx: 2.1.1
goober: 2.1.18(csstype@3.2.3)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
optionalDependencies:
csstype: 3.2.3
- transitivePeerDependencies:
- - '@tanstack/router-core'
- '@tanstack/router-generator@1.166.17':
+ '@tanstack/router-generator@1.166.24':
dependencies:
- '@tanstack/router-core': 1.168.3
+ '@tanstack/router-core': 1.168.9
'@tanstack/router-utils': 1.161.6
'@tanstack/virtual-file-routes': 1.161.7
prettier: 3.8.1
@@ -13263,7 +14062,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@tanstack/router-plugin@1.167.4(@tanstack/react-router@1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@tanstack/router-plugin@1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.0
'@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0)
@@ -13271,16 +14070,16 @@ snapshots:
'@babel/template': 7.28.6
'@babel/traverse': 7.29.0(supports-color@5.5.0)
'@babel/types': 7.29.0
- '@tanstack/router-core': 1.168.3
- '@tanstack/router-generator': 1.166.17
+ '@tanstack/router-core': 1.168.9
+ '@tanstack/router-generator': 1.166.24
'@tanstack/router-utils': 1.161.6
'@tanstack/virtual-file-routes': 1.161.7
chokidar: 3.6.0
unplugin: 2.3.11
zod: 3.25.76
optionalDependencies:
- '@tanstack/react-router': 1.168.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ vite: 8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
@@ -13298,7 +14097,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@tanstack/store@0.9.2': {}
+ '@tanstack/store@0.9.3': {}
'@tanstack/virtual-core@3.13.23': {}
@@ -13324,12 +14123,12 @@ snapshots:
picocolors: 1.1.1
redent: 3.0.0
- '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.28.6
'@testing-library/dom': 10.4.1
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
@@ -13338,16 +14137,6 @@ snapshots:
dependencies:
'@testing-library/dom': 10.4.1
- '@theguild/federation-composition@0.21.3(graphql@16.13.1)':
- dependencies:
- constant-case: 3.0.4
- debug: 4.4.3(supports-color@5.5.0)
- graphql: 16.13.1
- json5: 2.2.3
- lodash.sortby: 4.7.0
- transitivePeerDependencies:
- - supports-color
-
'@tsconfig/node10@1.0.12': {}
'@tsconfig/node12@1.0.11': {}
@@ -13356,6 +14145,11 @@ snapshots:
'@tsconfig/node16@1.0.4': {}
+ '@tybys/wasm-util@0.10.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@types/aria-query@5.0.4': {}
'@types/babel__core@7.20.5':
@@ -13388,9 +14182,122 @@ snapshots:
dependencies:
'@types/node': 12.20.55
- '@types/conventional-commits-parser@5.0.2':
+ '@types/d3-array@3.2.2': {}
+
+ '@types/d3-axis@3.0.6':
dependencies:
- '@types/node': 25.3.0
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-brush@3.0.6':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-chord@3.0.6': {}
+
+ '@types/d3-color@3.1.3': {}
+
+ '@types/d3-contour@3.0.6':
+ dependencies:
+ '@types/d3-array': 3.2.2
+ '@types/geojson': 7946.0.16
+
+ '@types/d3-delaunay@6.0.4': {}
+
+ '@types/d3-dispatch@3.0.7': {}
+
+ '@types/d3-drag@3.0.7':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-dsv@3.0.7': {}
+
+ '@types/d3-ease@3.0.2': {}
+
+ '@types/d3-fetch@3.0.7':
+ dependencies:
+ '@types/d3-dsv': 3.0.7
+
+ '@types/d3-force@3.0.10': {}
+
+ '@types/d3-format@3.0.4': {}
+
+ '@types/d3-geo@3.1.0':
+ dependencies:
+ '@types/geojson': 7946.0.16
+
+ '@types/d3-hierarchy@3.1.7': {}
+
+ '@types/d3-interpolate@3.0.4':
+ dependencies:
+ '@types/d3-color': 3.1.3
+
+ '@types/d3-path@3.1.1': {}
+
+ '@types/d3-polygon@3.0.2': {}
+
+ '@types/d3-quadtree@3.0.6': {}
+
+ '@types/d3-random@3.0.3': {}
+
+ '@types/d3-scale-chromatic@3.1.0': {}
+
+ '@types/d3-scale@4.0.9':
+ dependencies:
+ '@types/d3-time': 3.0.4
+
+ '@types/d3-selection@3.0.11': {}
+
+ '@types/d3-shape@3.1.8':
+ dependencies:
+ '@types/d3-path': 3.1.1
+
+ '@types/d3-time-format@4.0.3': {}
+
+ '@types/d3-time@3.0.4': {}
+
+ '@types/d3-timer@3.0.2': {}
+
+ '@types/d3-transition@3.0.9':
+ dependencies:
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3-zoom@3.0.8':
+ dependencies:
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-selection': 3.0.11
+
+ '@types/d3@7.4.3':
+ dependencies:
+ '@types/d3-array': 3.2.2
+ '@types/d3-axis': 3.0.6
+ '@types/d3-brush': 3.0.6
+ '@types/d3-chord': 3.0.6
+ '@types/d3-color': 3.1.3
+ '@types/d3-contour': 3.0.6
+ '@types/d3-delaunay': 6.0.4
+ '@types/d3-dispatch': 3.0.7
+ '@types/d3-drag': 3.0.7
+ '@types/d3-dsv': 3.0.7
+ '@types/d3-ease': 3.0.2
+ '@types/d3-fetch': 3.0.7
+ '@types/d3-force': 3.0.10
+ '@types/d3-format': 3.0.4
+ '@types/d3-geo': 3.1.0
+ '@types/d3-hierarchy': 3.1.7
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-path': 3.1.1
+ '@types/d3-polygon': 3.0.2
+ '@types/d3-quadtree': 3.0.6
+ '@types/d3-random': 3.0.3
+ '@types/d3-scale': 4.0.9
+ '@types/d3-scale-chromatic': 3.1.0
+ '@types/d3-selection': 3.0.11
+ '@types/d3-shape': 3.1.8
+ '@types/d3-time': 3.0.4
+ '@types/d3-time-format': 4.0.3
+ '@types/d3-timer': 3.0.2
+ '@types/d3-transition': 3.0.9
+ '@types/d3-zoom': 3.0.8
'@types/debug@4.1.12':
dependencies:
@@ -13408,12 +14315,12 @@ snapshots:
'@types/estree@1.0.8': {}
+ '@types/geojson@7946.0.16': {}
+
'@types/hast@3.0.4':
dependencies:
'@types/unist': 3.0.3
- '@types/js-yaml@4.0.9': {}
-
'@types/lodash@4.17.24': {}
'@types/mdast@4.0.4':
@@ -13456,16 +14363,21 @@ snapshots:
dependencies:
'@types/node': 25.3.0
- '@typescript/vfs@1.6.4(typescript@5.9.3)':
+ '@typescript/vfs@1.6.4(typescript@6.0.2)':
dependencies:
debug: 4.4.3(supports-color@5.5.0)
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
'@ungap/structured-clone@1.3.0': {}
- '@uniswap/default-token-list@13.47.0': {}
+ '@uniswap/default-token-list@18.13.0': {}
+
+ '@upsetjs/venn.js@2.0.0':
+ optionalDependencies:
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
'@vanilla-extract/babel-plugin-debug-ids@1.2.2':
dependencies:
@@ -13473,12 +14385,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@vanilla-extract/compiler@0.3.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)':
+ '@vanilla-extract/compiler@0.3.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)':
dependencies:
'@vanilla-extract/css': 1.18.0(babel-plugin-macros@3.1.0)
'@vanilla-extract/integration': 8.0.7(babel-plugin-macros@3.1.0)
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
- vite-node: 3.2.4(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite-node: 3.2.4(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -13543,7 +14455,7 @@ snapshots:
'@vanilla-extract/babel-plugin-debug-ids': 1.2.2
'@vanilla-extract/css': 1.18.0(babel-plugin-macros@3.1.0)
dedent: 1.7.1(babel-plugin-macros@3.1.0)
- esbuild: 0.27.3
+ esbuild: 0.27.4
eval: 0.1.8
find-up: 5.0.0
javascript-stringify: 2.1.0
@@ -13558,11 +14470,11 @@ snapshots:
dependencies:
'@vanilla-extract/css': 1.17.3(babel-plugin-macros@3.1.0)
- '@vanilla-extract/vite-plugin@5.1.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))(yaml@2.8.2)':
+ '@vanilla-extract/vite-plugin@5.1.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))(yaml@2.8.2)':
dependencies:
- '@vanilla-extract/compiler': 0.3.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ '@vanilla-extract/compiler': 0.3.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
'@vanilla-extract/integration': 8.0.7(babel-plugin-macros@3.1.0)
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -13578,94 +14490,85 @@ snapshots:
- tsx
- yaml
- '@vercel/analytics@1.6.1(react@19.1.0)':
+ '@vercel/analytics@2.0.1(react@19.2.4)':
optionalDependencies:
- react: 19.1.0
-
- '@vitejs/plugin-react-swc@3.11.0(@swc/helpers@0.5.19)(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))':
- dependencies:
- '@rolldown/pluginutils': 1.0.0-beta.27
- '@swc/core': 1.15.13(@swc/helpers@0.5.19)
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
- transitivePeerDependencies:
- - '@swc/helpers'
+ react: 19.2.4
- '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitejs/plugin-react@5.2.0(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.0
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
'@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
- '@rolldown/pluginutils': 1.0.0-beta.27
+ '@rolldown/pluginutils': 1.0.0-rc.3
'@types/babel__core': 7.20.5
- react-refresh: 0.17.0
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ react-refresh: 0.18.0
+ vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
- '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.13)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitejs/plugin-react@6.0.1(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))':
+ dependencies:
+ '@rolldown/pluginutils': 1.0.0-rc.7
+ vite: 8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)
+
+ '@vitest/coverage-v8@4.1.2(vitest@4.1.2(@types/node@25.3.0)(jsdom@29.0.1(@noble/hashes@1.8.0))(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)))':
dependencies:
- '@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 1.0.2
- ast-v8-to-istanbul: 0.3.11
- debug: 4.4.3(supports-color@5.5.0)
+ '@vitest/utils': 4.1.2
+ ast-v8-to-istanbul: 1.0.0
istanbul-lib-coverage: 3.2.2
istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 5.0.6
istanbul-reports: 3.2.0
- magic-string: 0.30.21
- magicast: 0.3.5
- std-env: 3.10.0
- test-exclude: 7.0.2
- tinyrainbow: 2.0.0
- vitest: 3.2.4(@types/debug@4.1.13)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
- transitivePeerDependencies:
- - supports-color
+ magicast: 0.5.2
+ obug: 2.1.1
+ std-env: 4.0.0
+ tinyrainbow: 3.1.0
+ vitest: 4.1.2(@types/node@25.3.0)(jsdom@29.0.1(@noble/hashes@1.8.0))(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))
- '@vitest/expect@3.2.4':
+ '@vitest/expect@4.1.2':
dependencies:
+ '@standard-schema/spec': 1.1.0
'@types/chai': 5.2.3
- '@vitest/spy': 3.2.4
- '@vitest/utils': 3.2.4
- chai: 5.3.3
- tinyrainbow: 2.0.0
+ '@vitest/spy': 4.1.2
+ '@vitest/utils': 4.1.2
+ chai: 6.2.2
+ tinyrainbow: 3.1.0
- '@vitest/mocker@3.2.4(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitest/mocker@4.1.2(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
- '@vitest/spy': 3.2.4
+ '@vitest/spy': 4.1.2
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)
- '@vitest/pretty-format@3.2.4':
+ '@vitest/pretty-format@4.1.2':
dependencies:
- tinyrainbow: 2.0.0
+ tinyrainbow: 3.1.0
- '@vitest/runner@3.2.4':
+ '@vitest/runner@4.1.2':
dependencies:
- '@vitest/utils': 3.2.4
+ '@vitest/utils': 4.1.2
pathe: 2.0.3
- strip-literal: 3.1.0
- '@vitest/snapshot@3.2.4':
+ '@vitest/snapshot@4.1.2':
dependencies:
- '@vitest/pretty-format': 3.2.4
+ '@vitest/pretty-format': 4.1.2
+ '@vitest/utils': 4.1.2
magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@3.2.4':
- dependencies:
- tinyspy: 4.0.4
+ '@vitest/spy@4.1.2': {}
- '@vitest/utils@3.2.4':
+ '@vitest/utils@4.1.2':
dependencies:
- '@vitest/pretty-format': 3.2.4
- loupe: 3.2.1
- tinyrainbow: 2.0.0
+ '@vitest/pretty-format': 4.1.2
+ convert-source-map: 2.0.0
+ tinyrainbow: 3.1.0
- '@wagmi/cli@2.10.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ '@wagmi/cli@2.10.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)':
dependencies:
- abitype: 1.2.3(typescript@5.9.3)(zod@4.3.6)
+ abitype: 1.2.3(typescript@6.0.2)(zod@4.3.6)
bundle-require: 5.1.0(esbuild@0.25.12)
cac: 6.7.14
change-case: 5.4.4
@@ -13681,29 +14584,29 @@ snapshots:
picocolors: 1.1.1
picomatch: 3.0.1
prettier: 3.8.1
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.3.6)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
zod: 4.3.6
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- '@wagmi/connectors@6.2.0(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))(zod@3.25.76)':
+ '@wagmi/connectors@6.2.0(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)))(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))(zod@4.3.6)':
dependencies:
- '@base-org/account': 2.4.0(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
- '@coinbase/wallet-sdk': 4.3.6(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
- '@gemini-wallet/core': 0.3.2(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
+ '@base-org/account': 2.4.0(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@coinbase/wallet-sdk': 4.3.6(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@gemini-wallet/core': 0.3.2(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
'@metamask/sdk': 0.33.1(bufferutil@4.1.0)(utf-8-validate@5.0.10)
- '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@wagmi/core': 2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
- '@walletconnect/ethereum-provider': 2.21.1(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@wagmi/core': 2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
+ '@walletconnect/ethereum-provider': 2.21.1(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
cbw-sdk: '@coinbase/wallet-sdk@3.9.3'
- porto: 0.2.35(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ porto: 0.2.35(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -13742,45 +14645,45 @@ snapshots:
- wagmi
- zod
- '@wagmi/connectors@7.2.1(7a3af5fbb3d5f20af6e588f956426ab3)':
+ '@wagmi/connectors@7.2.1(b756c2b269709ceeeadc4224985368d3)':
dependencies:
- '@wagmi/core': 3.4.0(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(ox@0.14.7(typescript@5.9.3)(zod@3.25.76))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@wagmi/core': 3.4.0(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(ox@0.14.7(typescript@6.0.2)(zod@4.3.6))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
optionalDependencies:
- '@coinbase/wallet-sdk': 4.3.6(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@coinbase/wallet-sdk': 4.3.6(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(zod@4.3.6)
'@metamask/sdk': 0.33.1(bufferutil@4.1.0)(utf-8-validate@5.0.10)
- '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@walletconnect/ethereum-provider': 2.21.1(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- porto: 0.2.37(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(@wagmi/core@3.4.0(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(ox@0.14.7(typescript@5.9.3)(zod@3.25.76))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))
- typescript: 5.9.3
+ '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@walletconnect/ethereum-provider': 2.21.1(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ porto: 0.2.37(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(@wagmi/core@3.4.0(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(ox@0.14.7(typescript@6.0.2)(zod@4.3.6))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))
+ typescript: 6.0.2
optional: true
- '@wagmi/core@2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))':
+ '@wagmi/core@2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))':
dependencies:
eventemitter3: 5.0.1
- mipd: 0.0.7(typescript@5.9.3)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- zustand: 5.0.0(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0))
+ mipd: 0.0.7(typescript@6.0.2)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ zustand: 5.0.0(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4))
optionalDependencies:
- '@tanstack/query-core': 5.95.2
- typescript: 5.9.3
+ '@tanstack/query-core': 5.96.1
+ typescript: 6.0.2
transitivePeerDependencies:
- '@types/react'
- immer
- react
- use-sync-external-store
- '@wagmi/core@3.4.0(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(ox@0.14.7(typescript@5.9.3)(zod@3.25.76))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))':
+ '@wagmi/core@3.4.0(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(ox@0.14.7(typescript@6.0.2)(zod@4.3.6))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))':
dependencies:
eventemitter3: 5.0.1
- mipd: 0.0.7(typescript@5.9.3)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- zustand: 5.0.0(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0))
+ mipd: 0.0.7(typescript@6.0.2)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ zustand: 5.0.0(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4))
optionalDependencies:
- '@tanstack/query-core': 5.95.2
- ox: 0.14.7(typescript@5.9.3)(zod@3.25.76)
- typescript: 5.9.3
+ '@tanstack/query-core': 5.96.1
+ ox: 0.14.7(typescript@6.0.2)(zod@4.3.6)
+ typescript: 6.0.2
transitivePeerDependencies:
- '@types/react'
- immer
@@ -13814,7 +14717,7 @@ snapshots:
dependencies:
'@wallet-standard/base': 1.1.0
- '@walletconnect/core@2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/core@2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-provider': 1.0.14
@@ -13828,7 +14731,7 @@ snapshots:
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.21.0
- '@walletconnect/utils': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/utils': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/window-getters': 1.0.1
es-toolkit: 1.33.0
events: 3.3.0
@@ -13858,7 +14761,7 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/core@2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/core@2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-provider': 1.0.14
@@ -13872,7 +14775,7 @@ snapshots:
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.21.1
- '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/window-getters': 1.0.1
es-toolkit: 1.33.0
events: 3.3.0
@@ -13902,7 +14805,7 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/core@2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/core@2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-provider': 1.0.14
@@ -13916,7 +14819,7 @@ snapshots:
'@walletconnect/safe-json': 1.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.23.7
- '@walletconnect/utils': 2.23.7(typescript@5.9.3)(zod@3.25.76)
+ '@walletconnect/utils': 2.23.7(typescript@6.0.2)(zod@4.3.6)
'@walletconnect/window-getters': 1.0.1
es-toolkit: 1.44.0
events: 3.3.0
@@ -13950,18 +14853,18 @@ snapshots:
dependencies:
tslib: 1.14.1
- '@walletconnect/ethereum-provider@2.21.1(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/ethereum-provider@2.21.1(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@reown/appkit': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit': 1.7.8(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/jsonrpc-http-connection': 1.0.8
'@walletconnect/jsonrpc-provider': 1.0.14
'@walletconnect/jsonrpc-types': 1.0.4
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1
- '@walletconnect/sign-client': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/sign-client': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/types': 2.21.1
- '@walletconnect/universal-provider': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/universal-provider': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -14089,16 +14992,16 @@ snapshots:
dependencies:
tslib: 1.14.1
- '@walletconnect/sign-client@2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/sign-client@2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@walletconnect/core': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/core': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.1.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.21.0
- '@walletconnect/utils': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/utils': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -14125,16 +15028,16 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/sign-client@2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/sign-client@2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@walletconnect/core': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/core': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 2.1.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.21.1
- '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -14161,16 +15064,16 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/sign-client@2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/sign-client@2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
- '@walletconnect/core': 2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/core': 2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/events': 1.0.1
'@walletconnect/heartbeat': 1.2.2
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/logger': 3.0.2
'@walletconnect/time': 1.0.2
'@walletconnect/types': 2.23.7
- '@walletconnect/utils': 2.23.7(typescript@5.9.3)(zod@3.25.76)
+ '@walletconnect/utils': 2.23.7(typescript@6.0.2)(zod@4.3.6)
events: 3.3.0
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -14288,7 +15191,7 @@ snapshots:
- ioredis
- uploadthing
- '@walletconnect/universal-provider@2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/universal-provider@2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8
@@ -14297,9 +15200,9 @@ snapshots:
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1
'@walletconnect/logger': 2.1.2
- '@walletconnect/sign-client': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/sign-client': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/types': 2.21.0
- '@walletconnect/utils': 2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/utils': 2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
es-toolkit: 1.33.0
events: 3.3.0
transitivePeerDependencies:
@@ -14328,7 +15231,7 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/universal-provider@2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/universal-provider@2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8
@@ -14337,9 +15240,9 @@ snapshots:
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1
'@walletconnect/logger': 2.1.2
- '@walletconnect/sign-client': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/sign-client': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/types': 2.21.1
- '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/utils': 2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
es-toolkit: 1.33.0
events: 3.3.0
transitivePeerDependencies:
@@ -14368,7 +15271,7 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/universal-provider@2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/universal-provider@2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@walletconnect/events': 1.0.1
'@walletconnect/jsonrpc-http-connection': 1.0.8
@@ -14377,9 +15280,9 @@ snapshots:
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/keyvaluestorage': 1.1.1
'@walletconnect/logger': 3.0.2
- '@walletconnect/sign-client': 2.23.7(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/sign-client': 2.23.7(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
'@walletconnect/types': 2.23.7
- '@walletconnect/utils': 2.23.7(typescript@5.9.3)(zod@3.25.76)
+ '@walletconnect/utils': 2.23.7(typescript@6.0.2)(zod@4.3.6)
es-toolkit: 1.44.0
events: 3.3.0
transitivePeerDependencies:
@@ -14408,7 +15311,7 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/utils@2.21.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/utils@2.21.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@noble/ciphers': 1.2.1
'@noble/curves': 1.8.1
@@ -14426,7 +15329,7 @@ snapshots:
detect-browser: 5.3.0
query-string: 7.1.3
uint8arrays: 3.1.0
- viem: 2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.23.2(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -14452,7 +15355,7 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/utils@2.21.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ '@walletconnect/utils@2.21.1(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)':
dependencies:
'@noble/ciphers': 1.2.1
'@noble/curves': 1.8.1
@@ -14470,7 +15373,7 @@ snapshots:
detect-browser: 5.3.0
query-string: 7.1.3
uint8arrays: 3.1.0
- viem: 2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ viem: 2.23.2(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -14496,7 +15399,7 @@ snapshots:
- utf-8-validate
- zod
- '@walletconnect/utils@2.23.7(typescript@5.9.3)(zod@3.25.76)':
+ '@walletconnect/utils@2.23.7(typescript@6.0.2)(zod@4.3.6)':
dependencies:
'@msgpack/msgpack': 3.1.3
'@noble/ciphers': 1.3.0
@@ -14515,7 +15418,7 @@ snapshots:
'@walletconnect/window-metadata': 1.0.1
blakejs: 1.2.1
detect-browser: 5.3.0
- ox: 0.9.3(typescript@5.9.3)(zod@3.25.76)
+ ox: 0.9.3(typescript@6.0.2)(zod@4.3.6)
uint8arrays: 3.1.1
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -14549,19 +15452,19 @@ snapshots:
'@walletconnect/window-getters': 1.0.1
tslib: 1.14.1
- '@web3icons/common@0.11.46(typescript@5.9.3)':
+ '@web3icons/common@0.11.46(typescript@6.0.2)':
dependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@web3icons/core@4.0.51(typescript@5.9.3)':
+ '@web3icons/core@4.0.51(typescript@6.0.2)':
dependencies:
- '@web3icons/common': 0.11.46(typescript@5.9.3)
- typescript: 5.9.3
+ '@web3icons/common': 0.11.46(typescript@6.0.2)
+ typescript: 6.0.2
- '@web3icons/react@4.1.17(react@19.1.0)(typescript@5.9.3)':
+ '@web3icons/react@4.1.17(react@19.2.4)(typescript@6.0.2)':
dependencies:
- '@web3icons/common': 0.11.46(typescript@5.9.3)
- react: 19.1.0
+ '@web3icons/common': 0.11.46(typescript@6.0.2)
+ react: 19.2.4
transitivePeerDependencies:
- typescript
@@ -14968,14 +15871,14 @@ snapshots:
'@zag-js/types': 1.35.3
'@zag-js/utils': 1.35.3
- '@zag-js/react@1.35.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ '@zag-js/react@1.35.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@zag-js/core': 1.35.3
'@zag-js/store': 1.35.3
'@zag-js/types': 1.35.3
'@zag-js/utils': 1.35.3
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
'@zag-js/rect-utils@1.35.3': {}
@@ -15142,34 +16045,29 @@ snapshots:
'@zag-js/utils@1.35.3': {}
- JSONStream@1.3.5:
- dependencies:
- jsonparse: 1.3.1
- through: 2.3.8
-
- abitype@1.0.6(typescript@5.9.3)(zod@3.25.76):
+ abitype@1.0.6(typescript@6.0.2)(zod@3.25.76):
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
zod: 3.25.76
- abitype@1.0.8(typescript@5.9.3)(zod@3.25.76):
+ abitype@1.0.8(typescript@6.0.2)(zod@4.3.6):
optionalDependencies:
- typescript: 5.9.3
- zod: 3.25.76
+ typescript: 6.0.2
+ zod: 4.3.6
- abitype@1.2.3(typescript@5.9.3)(zod@3.22.4):
+ abitype@1.2.3(typescript@6.0.2)(zod@3.22.4):
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
zod: 3.22.4
- abitype@1.2.3(typescript@5.9.3)(zod@3.25.76):
+ abitype@1.2.3(typescript@6.0.2)(zod@3.25.76):
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
zod: 3.25.76
- abitype@1.2.3(typescript@5.9.3)(zod@4.3.6):
+ abitype@1.2.3(typescript@6.0.2)(zod@4.3.6):
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
zod: 4.3.6
acorn-jsx@5.3.2(acorn@8.16.0):
@@ -15182,17 +16080,10 @@ snapshots:
acorn@8.16.0: {}
- agent-base@7.1.4: {}
-
agentkeepalive@4.6.0:
dependencies:
humanize-ms: 1.2.1
- aggregate-error@3.1.0:
- dependencies:
- clean-stack: 2.2.0
- indent-string: 4.0.0
-
ajv@8.18.0:
dependencies:
fast-deep-equal: 3.1.3
@@ -15200,10 +16091,6 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- ansi-escapes@4.3.2:
- dependencies:
- type-fest: 0.21.3
-
ansi-escapes@7.3.0:
dependencies:
environment: 1.1.0
@@ -15253,14 +16140,12 @@ snapshots:
dependencies:
tslib: 2.8.1
- ast-v8-to-istanbul@0.3.11:
+ ast-v8-to-istanbul@1.0.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.31
estree-walker: 3.0.3
js-tokens: 10.0.0
- astral-regex@2.0.0: {}
-
astring@1.9.0: {}
async-mutex@0.2.6:
@@ -15314,14 +16199,14 @@ snapshots:
cosmiconfig: 7.1.0
resolve: 1.22.11
- babel-plugin-styled-components@2.1.4(@babel/core@7.29.0)(styled-components@5.3.11(@babel/core@7.29.0)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0))(supports-color@5.5.0):
+ babel-plugin-styled-components@2.1.4(@babel/core@7.29.0)(styled-components@5.3.11(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react-is@17.0.2)(react@19.2.4))(supports-color@5.5.0):
dependencies:
'@babel/helper-annotate-as-pure': 7.27.3
'@babel/helper-module-imports': 7.28.6(supports-color@5.5.0)
'@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0)
lodash: 4.17.23
picomatch: 2.3.1
- styled-components: 5.3.11(@babel/core@7.29.0)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)
+ styled-components: 5.3.11(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react-is@17.0.2)(react@19.2.4)
transitivePeerDependencies:
- '@babel/core'
- supports-color
@@ -15381,6 +16266,10 @@ snapshots:
bech32@2.0.0: {}
+ bidi-js@1.0.3:
+ dependencies:
+ require-from-string: 2.0.2
+
big.js@6.2.2: {}
binary-extensions@2.3.0: {}
@@ -15390,24 +16279,18 @@ snapshots:
uint8array-tools: 0.0.9
varuint-bitcoin: 2.0.0
- bitcoinjs-lib@7.0.1(typescript@5.9.3):
+ bitcoinjs-lib@7.0.1(typescript@6.0.2):
dependencies:
'@noble/hashes': 1.8.0
bech32: 2.0.0
bip174: 3.0.0
bs58check: 4.0.0
uint8array-tools: 0.0.9
- valibot: 1.2.0(typescript@5.9.3)
+ valibot: 1.2.0(typescript@6.0.2)
varuint-bitcoin: 2.0.0
transitivePeerDependencies:
- typescript
- bl@4.1.0:
- dependencies:
- buffer: 5.7.1
- inherits: 2.0.4
- readable-stream: 3.6.2
-
bl@5.1.0:
dependencies:
buffer: 6.0.3
@@ -15428,12 +16311,12 @@ snapshots:
bowser@2.14.1: {}
- brace-expansion@1.1.12:
+ brace-expansion@1.1.13:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@5.0.3:
+ brace-expansion@5.0.5:
dependencies:
balanced-match: 4.0.4
@@ -15466,11 +16349,6 @@ snapshots:
dependencies:
node-int64: 0.4.0
- buffer@5.7.1:
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
-
buffer@6.0.3:
dependencies:
base64-js: 1.5.1
@@ -15529,13 +16407,7 @@ snapshots:
ccount@2.0.1: {}
- chai@5.3.3:
- dependencies:
- assertion-error: 2.0.1
- check-error: 2.1.3
- deep-eql: 5.0.2
- loupe: 3.2.1
- pathval: 2.0.1
+ chai@6.2.2: {}
chalk@4.1.2:
dependencies:
@@ -15586,7 +16458,19 @@ snapshots:
charenc@0.0.2: {}
- check-error@2.1.3: {}
+ chevrotain-allstar@0.3.1(chevrotain@11.1.2):
+ dependencies:
+ chevrotain: 11.1.2
+ lodash-es: 4.17.23
+
+ chevrotain@11.1.2:
+ dependencies:
+ '@chevrotain/cst-dts-gen': 11.1.2
+ '@chevrotain/gast': 11.1.2
+ '@chevrotain/regexp-to-ast': 11.1.2
+ '@chevrotain/types': 11.1.2
+ '@chevrotain/utils': 11.1.2
+ lodash-es: 4.17.23
chokidar@3.6.0:
dependencies:
@@ -15610,12 +16494,6 @@ snapshots:
chroma-js@3.2.0: {}
- clean-stack@2.2.0: {}
-
- cli-cursor@3.1.0:
- dependencies:
- restore-cursor: 3.1.0
-
cli-cursor@4.0.0:
dependencies:
restore-cursor: 4.0.0
@@ -15626,17 +16504,12 @@ snapshots:
cli-spinners@2.9.2: {}
- cli-truncate@2.1.0:
- dependencies:
- slice-ansi: 3.0.0
- string-width: 4.2.3
-
- cli-truncate@4.0.0:
+ cli-truncate@5.2.0:
dependencies:
- slice-ansi: 5.0.0
- string-width: 7.2.0
+ slice-ansi: 8.0.0
+ string-width: 8.2.0
- cli-width@3.0.0: {}
+ cli-width@4.1.0: {}
cliui@6.0.0:
dependencies:
@@ -15650,8 +16523,6 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
- clone@1.0.4: {}
-
clsx@1.2.1: {}
clsx@2.1.1: {}
@@ -15680,6 +16551,10 @@ snapshots:
commander@2.20.3: {}
+ commander@7.2.0: {}
+
+ commander@8.3.0: {}
+
common-tags@1.8.2: {}
compare-func@2.0.0:
@@ -15707,22 +16582,22 @@ snapshots:
confbox@0.1.8: {}
- connectkit@1.9.1(@babel/core@7.29.0)(@tanstack/react-query@5.95.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)):
+ connectkit@1.9.2(@babel/core@7.29.0)(@tanstack/react-query@5.96.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-is@17.0.2)(react@19.2.4)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)):
dependencies:
- '@tanstack/react-query': 5.95.2(react@19.1.0)
+ '@aave/account': 0.2.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))
+ '@tanstack/react-query': 5.96.1(react@19.2.4)
buffer: 6.0.3
detect-browser: 5.3.0
- family: 0.1.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))
- framer-motion: 6.5.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ framer-motion: 6.5.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
qrcode: 1.5.4
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- react-transition-state: 1.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react-use-measure: 2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-transition-state: 1.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-use-measure: 2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
resize-observer-polyfill: 1.5.1
- styled-components: 5.3.11(@babel/core@7.29.0)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- wagmi: 2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
+ styled-components: 5.3.11(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react-is@17.0.2)(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
+ wagmi: 2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
transitivePeerDependencies:
- '@babel/core'
- react-is
@@ -15733,26 +16608,24 @@ snapshots:
tslib: 2.8.1
upper-case: 2.0.2
- conventional-changelog-angular@7.0.0:
+ conventional-changelog-angular@8.3.1:
dependencies:
compare-func: 2.0.0
- conventional-changelog-conventionalcommits@7.0.2:
+ conventional-changelog-conventionalcommits@9.3.1:
dependencies:
compare-func: 2.0.0
- conventional-commits-parser@5.0.0:
+ conventional-commits-parser@6.4.0:
dependencies:
- JSONStream: 1.3.5
- is-text-path: 2.0.0
- meow: 12.1.1
- split2: 4.2.0
+ '@simple-libs/stream-utils': 1.2.0
+ meow: 13.2.0
convert-source-map@1.9.0: {}
convert-source-map@2.0.0: {}
- cookie-es@1.2.2: {}
+ cookie-es@1.2.3: {}
cookie-es@2.0.0: {}
@@ -15760,12 +16633,20 @@ snapshots:
core-util-is@1.0.3: {}
- cosmiconfig-typescript-loader@6.2.0(@types/node@25.3.0)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3):
+ cose-base@1.0.3:
+ dependencies:
+ layout-base: 1.0.2
+
+ cose-base@2.2.0:
+ dependencies:
+ layout-base: 2.0.1
+
+ cosmiconfig-typescript-loader@6.2.0(@types/node@25.3.0)(cosmiconfig@9.0.1(typescript@6.0.2))(typescript@6.0.2):
dependencies:
'@types/node': 25.3.0
- cosmiconfig: 9.0.0(typescript@5.9.3)
+ cosmiconfig: 9.0.1(typescript@6.0.2)
jiti: 2.6.1
- typescript: 5.9.3
+ typescript: 6.0.2
cosmiconfig@7.1.0:
dependencies:
@@ -15775,23 +16656,23 @@ snapshots:
path-type: 4.0.0
yaml: 1.10.2
- cosmiconfig@8.3.6(typescript@5.9.3):
+ cosmiconfig@8.3.6(typescript@6.0.2):
dependencies:
import-fresh: 3.3.1
js-yaml: 4.1.1
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- cosmiconfig@9.0.0(typescript@5.9.3):
+ cosmiconfig@9.0.1(typescript@6.0.2):
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.1
js-yaml: 4.1.1
parse-json: 5.2.0
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
crc-32@1.2.2: {}
@@ -15843,35 +16724,219 @@ snapshots:
css-color-keywords: 1.0.0
postcss-value-parser: 4.2.0
+ css-tree@3.2.1:
+ dependencies:
+ mdn-data: 2.27.1
+ source-map-js: 1.2.1
+
css-what@6.2.2: {}
css.escape@1.5.1: {}
cssesc@3.0.0: {}
- cssstyle@4.6.0:
- dependencies:
- '@asamuzakjp/css-color': 3.2.0
- rrweb-cssom: 0.8.0
-
csstype@3.2.3: {}
- cuer@0.0.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.9.3):
+ cuer@0.0.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@6.0.2):
dependencies:
qr: 0.5.4
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
+
+ cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1):
+ dependencies:
+ cose-base: 1.0.3
+ cytoscape: 3.33.1
+
+ cytoscape-fcose@2.2.0(cytoscape@3.33.1):
+ dependencies:
+ cose-base: 2.2.0
+ cytoscape: 3.33.1
+
+ cytoscape@3.33.1: {}
+
+ d3-array@2.12.1:
+ dependencies:
+ internmap: 1.0.1
+
+ d3-array@3.2.4:
+ dependencies:
+ internmap: 2.0.3
+
+ d3-axis@3.0.0: {}
+
+ d3-brush@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+
+ d3-chord@3.0.1:
+ dependencies:
+ d3-path: 3.1.0
+
+ d3-color@3.1.0: {}
+
+ d3-contour@4.0.2:
+ dependencies:
+ d3-array: 3.2.4
+
+ d3-delaunay@6.0.4:
+ dependencies:
+ delaunator: 5.1.0
+
+ d3-dispatch@3.0.1: {}
+
+ d3-drag@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-selection: 3.0.0
+
+ d3-dsv@3.0.1:
+ dependencies:
+ commander: 7.2.0
+ iconv-lite: 0.6.3
+ rw: 1.3.3
+
+ d3-ease@3.0.1: {}
+
+ d3-fetch@3.0.1:
+ dependencies:
+ d3-dsv: 3.0.1
+
+ d3-force@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-timer: 3.0.1
+
+ d3-format@3.1.2: {}
+
+ d3-geo@3.1.1:
+ dependencies:
+ d3-array: 3.2.4
- dargs@8.1.0: {}
+ d3-hierarchy@3.1.2: {}
+
+ d3-interpolate@3.0.1:
+ dependencies:
+ d3-color: 3.1.0
+
+ d3-path@1.0.9: {}
+
+ d3-path@3.1.0: {}
+
+ d3-polygon@3.0.1: {}
+
+ d3-quadtree@3.0.1: {}
+
+ d3-random@3.0.1: {}
+
+ d3-sankey@0.12.3:
+ dependencies:
+ d3-array: 2.12.1
+ d3-shape: 1.3.7
+
+ d3-scale-chromatic@3.1.0:
+ dependencies:
+ d3-color: 3.1.0
+ d3-interpolate: 3.0.1
+
+ d3-scale@4.0.2:
+ dependencies:
+ d3-array: 3.2.4
+ d3-format: 3.1.2
+ d3-interpolate: 3.0.1
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
+
+ d3-selection@3.0.0: {}
+
+ d3-shape@1.3.7:
+ dependencies:
+ d3-path: 1.0.9
+
+ d3-shape@3.2.0:
+ dependencies:
+ d3-path: 3.1.0
+
+ d3-time-format@4.1.0:
+ dependencies:
+ d3-time: 3.1.0
+
+ d3-time@3.1.0:
+ dependencies:
+ d3-array: 3.2.4
+
+ d3-timer@3.0.1: {}
+
+ d3-transition@3.0.1(d3-selection@3.0.0):
+ dependencies:
+ d3-color: 3.1.0
+ d3-dispatch: 3.0.1
+ d3-ease: 3.0.1
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-timer: 3.0.1
+
+ d3-zoom@3.0.0:
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+
+ d3@7.9.0:
+ dependencies:
+ d3-array: 3.2.4
+ d3-axis: 3.0.0
+ d3-brush: 3.0.0
+ d3-chord: 3.0.1
+ d3-color: 3.1.0
+ d3-contour: 4.0.2
+ d3-delaunay: 6.0.4
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-dsv: 3.0.1
+ d3-ease: 3.0.1
+ d3-fetch: 3.0.1
+ d3-force: 3.0.0
+ d3-format: 3.1.2
+ d3-geo: 3.1.1
+ d3-hierarchy: 3.1.2
+ d3-interpolate: 3.0.1
+ d3-path: 3.1.0
+ d3-polygon: 3.0.1
+ d3-quadtree: 3.0.1
+ d3-random: 3.0.1
+ d3-scale: 4.0.2
+ d3-scale-chromatic: 3.1.0
+ d3-selection: 3.0.0
+ d3-shape: 3.2.0
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
+ d3-timer: 3.0.1
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+ d3-zoom: 3.0.0
+
+ dagre-d3-es@7.0.14:
+ dependencies:
+ d3: 7.9.0
+ lodash-es: 4.17.23
data-uri-to-buffer@4.0.1: {}
- data-urls@5.0.0:
+ data-urls@7.0.0(@noble/hashes@1.8.0):
dependencies:
- whatwg-mimetype: 4.0.0
- whatwg-url: 14.2.0
+ whatwg-mimetype: 5.0.0
+ whatwg-url: 16.0.1(@noble/hashes@1.8.0)
+ transitivePeerDependencies:
+ - '@noble/hashes'
dataloader@2.2.3: {}
@@ -15881,7 +16946,9 @@ snapshots:
dayjs@1.11.13: {}
- debounce@1.2.1: {}
+ dayjs@1.11.20: {}
+
+ debounce@2.2.0: {}
debug@2.6.9:
dependencies:
@@ -15913,16 +16980,10 @@ snapshots:
optionalDependencies:
babel-plugin-macros: 3.1.0
- deep-eql@5.0.2: {}
-
deep-object-diff@1.1.9: {}
deepmerge@4.3.1: {}
- defaults@1.0.4:
- dependencies:
- clone: 1.0.4
-
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.1
@@ -15931,6 +16992,10 @@ snapshots:
defu@6.1.4: {}
+ delaunator@5.1.0:
+ dependencies:
+ robust-predicates: 3.0.3
+
delay@5.0.0: {}
delayed-stream@1.0.0: {}
@@ -15939,11 +17004,13 @@ snapshots:
dependency-graph@0.11.0: {}
+ dependency-graph@1.0.0: {}
+
dequal@2.0.3: {}
- derive-valtio@0.1.0(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0)):
+ derive-valtio@0.1.0(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4)):
dependencies:
- valtio: 1.13.2(@types/react@19.2.14)(react@19.1.0)
+ valtio: 1.13.2(@types/react@19.2.14)(react@19.2.4)
destr@2.0.5: {}
@@ -15981,6 +17048,10 @@ snapshots:
dom-accessibility-api@0.6.3: {}
+ dompurify@3.3.3:
+ optionalDependencies:
+ '@types/trusted-types': 2.0.7
+
dot-case@3.0.4:
dependencies:
no-case: 3.0.4
@@ -15994,8 +17065,6 @@ snapshots:
dotenv@16.6.1: {}
- dset@3.1.4: {}
-
dunder-proto@1.0.1:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -16028,8 +17097,6 @@ snapshots:
emoji-regex@8.0.0: {}
- emoji-regex@9.2.2: {}
-
encode-utf8@1.0.3: {}
encodeurl@2.0.0: {}
@@ -16075,6 +17142,8 @@ snapshots:
es-module-lexer@1.7.0: {}
+ es-module-lexer@2.0.0: {}
+
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
@@ -16139,41 +17208,39 @@ snapshots:
'@esbuild/win32-ia32': 0.25.12
'@esbuild/win32-x64': 0.25.12
- esbuild@0.27.3:
+ esbuild@0.27.4:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.27.3
- '@esbuild/android-arm': 0.27.3
- '@esbuild/android-arm64': 0.27.3
- '@esbuild/android-x64': 0.27.3
- '@esbuild/darwin-arm64': 0.27.3
- '@esbuild/darwin-x64': 0.27.3
- '@esbuild/freebsd-arm64': 0.27.3
- '@esbuild/freebsd-x64': 0.27.3
- '@esbuild/linux-arm': 0.27.3
- '@esbuild/linux-arm64': 0.27.3
- '@esbuild/linux-ia32': 0.27.3
- '@esbuild/linux-loong64': 0.27.3
- '@esbuild/linux-mips64el': 0.27.3
- '@esbuild/linux-ppc64': 0.27.3
- '@esbuild/linux-riscv64': 0.27.3
- '@esbuild/linux-s390x': 0.27.3
- '@esbuild/linux-x64': 0.27.3
- '@esbuild/netbsd-arm64': 0.27.3
- '@esbuild/netbsd-x64': 0.27.3
- '@esbuild/openbsd-arm64': 0.27.3
- '@esbuild/openbsd-x64': 0.27.3
- '@esbuild/openharmony-arm64': 0.27.3
- '@esbuild/sunos-x64': 0.27.3
- '@esbuild/win32-arm64': 0.27.3
- '@esbuild/win32-ia32': 0.27.3
- '@esbuild/win32-x64': 0.27.3
+ '@esbuild/aix-ppc64': 0.27.4
+ '@esbuild/android-arm': 0.27.4
+ '@esbuild/android-arm64': 0.27.4
+ '@esbuild/android-x64': 0.27.4
+ '@esbuild/darwin-arm64': 0.27.4
+ '@esbuild/darwin-x64': 0.27.4
+ '@esbuild/freebsd-arm64': 0.27.4
+ '@esbuild/freebsd-x64': 0.27.4
+ '@esbuild/linux-arm': 0.27.4
+ '@esbuild/linux-arm64': 0.27.4
+ '@esbuild/linux-ia32': 0.27.4
+ '@esbuild/linux-loong64': 0.27.4
+ '@esbuild/linux-mips64el': 0.27.4
+ '@esbuild/linux-ppc64': 0.27.4
+ '@esbuild/linux-riscv64': 0.27.4
+ '@esbuild/linux-s390x': 0.27.4
+ '@esbuild/linux-x64': 0.27.4
+ '@esbuild/netbsd-arm64': 0.27.4
+ '@esbuild/netbsd-x64': 0.27.4
+ '@esbuild/openbsd-arm64': 0.27.4
+ '@esbuild/openbsd-x64': 0.27.4
+ '@esbuild/openharmony-arm64': 0.27.4
+ '@esbuild/sunos-x64': 0.27.4
+ '@esbuild/win32-arm64': 0.27.4
+ '@esbuild/win32-ia32': 0.27.4
+ '@esbuild/win32-x64': 0.27.4
escalade@3.2.0: {}
escape-html@1.0.3: {}
- escape-string-regexp@1.0.5: {}
-
escape-string-regexp@4.0.0: {}
escape-string-regexp@5.0.0: {}
@@ -16280,18 +17347,6 @@ snapshots:
signal-exit: 3.0.7
strip-final-newline: 2.0.0
- execa@8.0.1:
- dependencies:
- cross-spawn: 7.0.6
- get-stream: 8.0.1
- human-signals: 5.0.0
- is-stream: 3.0.0
- merge-stream: 2.0.0
- npm-run-path: 5.3.0
- onetime: 6.0.0
- signal-exit: 4.1.0
- strip-final-newline: 3.0.0
-
expect-type@1.3.0: {}
extend@3.0.2: {}
@@ -16303,13 +17358,6 @@ snapshots:
eyes@0.1.8: {}
- family@0.1.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)):
- optionalDependencies:
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
- wagmi: 2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
-
fast-deep-equal@3.1.3: {}
fast-glob@3.3.3:
@@ -16367,10 +17415,6 @@ snapshots:
node-domexception: 1.0.0
web-streams-polyfill: 3.3.3
- figures@3.2.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@@ -16389,23 +17433,12 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
- find-up@7.0.0:
- dependencies:
- locate-path: 7.2.0
- path-exists: 5.0.0
- unicorn-magic: 0.1.0
-
follow-redirects@1.15.11: {}
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
- foreground-child@3.3.1:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
form-data@4.0.5:
dependencies:
asynckit: 0.4.0
@@ -16422,14 +17455,14 @@ snapshots:
fraction.js@5.3.4: {}
- framer-motion@6.5.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ framer-motion@6.5.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
'@motionone/dom': 10.12.0
framesync: 6.0.1
hey-listen: 1.0.8
popmotion: 11.0.3
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
style-value-types: 5.0.0
tslib: 2.8.1
optionalDependencies:
@@ -16449,6 +17482,9 @@ snapshots:
fs.realpath@1.0.0: {}
+ fsevents@2.3.2:
+ optional: true
+
fsevents@2.3.3:
optional: true
@@ -16484,17 +17520,17 @@ snapshots:
get-stream@6.0.1: {}
- get-stream@8.0.1: {}
-
- get-tsconfig@4.13.6:
+ get-tsconfig@4.13.7:
dependencies:
resolve-pkg-maps: 1.0.0
- git-raw-commits@4.0.0:
+ git-raw-commits@5.0.1(conventional-commits-parser@6.4.0):
dependencies:
- dargs: 8.1.0
- meow: 12.1.1
- split2: 4.2.0
+ '@conventional-changelog/git-client': 2.6.0(conventional-commits-parser@6.4.0)
+ meow: 13.2.0
+ transitivePeerDependencies:
+ - conventional-commits-filter
+ - conventional-commits-parser
github-slugger@2.0.0: {}
@@ -16502,21 +17538,12 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob@10.5.0:
- dependencies:
- foreground-child: 3.3.1
- jackspeak: 3.4.3
- minimatch: 9.0.6
- minipass: 7.1.3
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
-
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
- minimatch: 3.1.3
+ minimatch: 3.1.5
once: 1.4.0
path-is-absolute: 1.0.1
@@ -16533,30 +17560,19 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
- globby@14.1.0:
- dependencies:
- '@sindresorhus/merge-streams': 2.3.0
- fast-glob: 3.3.3
- ignore: 7.0.5
- path-type: 6.0.0
- slash: 5.1.0
- unicorn-magic: 0.3.0
-
- globrex@0.1.2: {}
-
goober@2.1.18(csstype@3.2.3):
dependencies:
csstype: 3.2.3
gopd@1.2.0: {}
- gql.tada@1.9.0(graphql@16.13.1)(typescript@5.9.3):
+ gql.tada@1.9.0(graphql@16.13.2)(typescript@6.0.2):
dependencies:
- '@0no-co/graphql.web': 1.2.0(graphql@16.13.1)
- '@0no-co/graphqlsp': 1.15.2(graphql@16.13.1)(typescript@5.9.3)
- '@gql.tada/cli-utils': 1.7.2(@0no-co/graphqlsp@1.15.2(graphql@16.13.1)(typescript@5.9.3))(graphql@16.13.1)(typescript@5.9.3)
- '@gql.tada/internal': 1.0.8(graphql@16.13.1)(typescript@5.9.3)
- typescript: 5.9.3
+ '@0no-co/graphql.web': 1.2.0(graphql@16.13.2)
+ '@0no-co/graphqlsp': 1.15.2(graphql@16.13.2)(typescript@6.0.2)
+ '@gql.tada/cli-utils': 1.7.2(@0no-co/graphqlsp@1.15.2(graphql@16.13.2)(typescript@6.0.2))(graphql@16.13.2)(typescript@6.0.2)
+ '@gql.tada/internal': 1.0.8(graphql@16.13.2)(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- '@gql.tada/svelte-support'
- '@gql.tada/vue-support'
@@ -16564,18 +17580,18 @@ snapshots:
graceful-fs@4.2.11: {}
- graphql-config@5.1.5(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(typescript@5.9.3)(utf-8-validate@5.0.10):
+ graphql-config@5.1.6(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(typescript@6.0.2)(utf-8-validate@5.0.10):
dependencies:
- '@graphql-tools/graphql-file-loader': 8.1.9(graphql@16.13.1)
- '@graphql-tools/json-file-loader': 8.0.26(graphql@16.13.1)
- '@graphql-tools/load': 8.1.8(graphql@16.13.1)
- '@graphql-tools/merge': 9.1.7(graphql@16.13.1)
- '@graphql-tools/url-loader': 8.0.33(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.1)(utf-8-validate@5.0.10)
- '@graphql-tools/utils': 10.11.0(graphql@16.13.1)
- cosmiconfig: 8.3.6(typescript@5.9.3)
- graphql: 16.13.1
+ '@graphql-tools/graphql-file-loader': 8.1.12(graphql@16.13.2)
+ '@graphql-tools/json-file-loader': 8.0.26(graphql@16.13.2)
+ '@graphql-tools/load': 8.1.8(graphql@16.13.2)
+ '@graphql-tools/merge': 9.1.7(graphql@16.13.2)
+ '@graphql-tools/url-loader': 9.1.0(@types/node@25.3.0)(bufferutil@4.1.0)(crossws@0.3.5)(graphql@16.13.2)(utf-8-validate@5.0.10)
+ '@graphql-tools/utils': 11.0.0(graphql@16.13.2)
+ cosmiconfig: 8.3.6(typescript@6.0.2)
+ graphql: 16.13.2
jiti: 2.6.1
- minimatch: 9.0.6
+ minimatch: 10.2.5
string-env-interpolation: 1.0.1
tslib: 2.8.1
transitivePeerDependencies:
@@ -16583,40 +17599,39 @@ snapshots:
- '@types/node'
- bufferutil
- crossws
- - supports-color
- typescript
- utf-8-validate
- graphql-request@6.1.0(graphql@16.13.1):
+ graphql-request@6.1.0(graphql@16.13.2):
dependencies:
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.2)
cross-fetch: 3.2.0
- graphql: 16.13.1
+ graphql: 16.13.2
transitivePeerDependencies:
- encoding
- graphql-request@7.4.0(graphql@16.13.1):
+ graphql-request@7.4.0(graphql@16.13.2):
dependencies:
- '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.1)
- graphql: 16.13.1
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.13.2)
+ graphql: 16.13.2
- graphql-tag@2.12.6(graphql@16.13.1):
+ graphql-tag@2.12.6(graphql@16.13.2):
dependencies:
- graphql: 16.13.1
+ graphql: 16.13.2
tslib: 2.8.1
- graphql-ws@6.0.7(crossws@0.3.5)(graphql@16.13.1)(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)):
+ graphql-ws@6.0.7(crossws@0.3.5)(graphql@16.13.2)(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)):
dependencies:
- graphql: 16.13.1
+ graphql: 16.13.2
optionalDependencies:
crossws: 0.3.5
- ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
- graphql@16.13.1: {}
+ graphql@16.13.2: {}
h3@1.15.5:
dependencies:
- cookie-es: 1.2.2
+ cookie-es: 1.2.3
crossws: 0.3.5
defu: 6.1.4
destr: 2.0.5
@@ -16626,6 +17641,8 @@ snapshots:
ufo: 1.6.3
uncrypto: 0.1.3
+ hachure-fill@0.5.2: {}
+
has-flag@3.0.0: {}
has-flag@4.0.0: {}
@@ -16649,6 +17666,39 @@ snapshots:
'@types/hast': 3.0.4
space-separated-tokens: 2.0.2
+ hast-util-from-dom@5.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hastscript: 9.0.1
+ web-namespaces: 2.0.1
+
+ hast-util-from-html-isomorphic@2.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-dom: 5.0.1
+ hast-util-from-html: 2.0.3
+ unist-util-remove-position: 5.0.0
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ hast-util-from-parse5: 8.0.3
+ parse5: 7.3.0
+ vfile: 6.0.3
+ vfile-message: 4.0.3
+
+ hast-util-from-parse5@8.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ hastscript: 9.0.1
+ property-information: 7.1.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+
hast-util-has-property@3.0.0:
dependencies:
'@types/hast': 3.0.4
@@ -16742,6 +17792,13 @@ snapshots:
dependencies:
'@types/hast': 3.0.4
+ hast-util-to-text@4.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+
hast-util-whitespace@3.0.0:
dependencies:
'@types/hast': 3.0.4
@@ -16754,6 +17811,14 @@ snapshots:
property-information: 6.5.0
space-separated-tokens: 2.0.2
+ hastscript@9.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 4.0.0
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+
header-case@2.0.4:
dependencies:
capital-case: 1.0.4
@@ -16767,9 +17832,11 @@ snapshots:
hono@4.12.2: {}
- html-encoding-sniffer@4.0.0:
+ html-encoding-sniffer@6.0.0(@noble/hashes@1.8.0):
dependencies:
- whatwg-encoding: 3.1.1
+ '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0)
+ transitivePeerDependencies:
+ - '@noble/hashes'
html-escaper@2.0.2: {}
@@ -16783,24 +17850,8 @@ snapshots:
statuses: 2.0.2
toidentifier: 1.0.1
- http-proxy-agent@7.0.2:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3(supports-color@5.5.0)
- transitivePeerDependencies:
- - supports-color
-
- https-proxy-agent@7.0.6:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3(supports-color@5.5.0)
- transitivePeerDependencies:
- - supports-color
-
human-signals@2.1.0: {}
- human-signals@5.0.0: {}
-
humanize-ms@1.2.1:
dependencies:
ms: 2.1.3
@@ -16823,10 +17874,10 @@ snapshots:
ignore@5.3.2: {}
- ignore@7.0.5: {}
-
immutable@3.7.6: {}
+ immutable@5.1.5: {}
+
import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
@@ -16849,25 +17900,9 @@ snapshots:
inline-style-parser@0.2.7: {}
- inquirer@8.2.7(@types/node@25.3.0):
- dependencies:
- '@inquirer/external-editor': 1.0.3(@types/node@25.3.0)
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-width: 3.0.0
- figures: 3.2.0
- lodash: 4.17.23
- mute-stream: 0.0.8
- ora: 5.4.1
- run-async: 2.4.1
- rxjs: 7.8.2
- string-width: 4.2.3
- strip-ansi: 6.0.1
- through: 2.3.8
- wrap-ansi: 6.2.0
- transitivePeerDependencies:
- - '@types/node'
+ internmap@1.0.1: {}
+
+ internmap@2.0.3: {}
invariant@2.2.4:
dependencies:
@@ -16912,8 +17947,6 @@ snapshots:
is-fullwidth-code-point@3.0.0: {}
- is-fullwidth-code-point@4.0.0: {}
-
is-fullwidth-code-point@5.1.0:
dependencies:
get-east-asian-width: 1.5.0
@@ -16932,8 +17965,6 @@ snapshots:
is-hexadecimal@2.0.1: {}
- is-interactive@1.0.0: {}
-
is-interactive@2.0.0: {}
is-lower-case@2.0.2:
@@ -16963,12 +17994,6 @@ snapshots:
is-stream@2.0.1: {}
- is-stream@3.0.0: {}
-
- is-text-path@2.0.0:
- dependencies:
- text-extensions: 2.4.0
-
is-typed-array@1.1.15:
dependencies:
which-typed-array: 1.1.20
@@ -16999,9 +18024,9 @@ snapshots:
dependencies:
ws: 7.5.10(bufferutil@4.1.0)(utf-8-validate@5.0.10)
- isomorphic-ws@5.0.0(ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)):
+ isomorphic-ws@5.0.0(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)):
dependencies:
- ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
isows@1.0.6(ws@8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)):
dependencies:
@@ -17011,6 +18036,10 @@ snapshots:
dependencies:
ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ isows@1.0.7(ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)):
+ dependencies:
+ ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+
istanbul-lib-coverage@3.2.2: {}
istanbul-lib-report@3.0.1:
@@ -17019,25 +18048,11 @@ snapshots:
make-dir: 4.0.0
supports-color: 7.2.0
- istanbul-lib-source-maps@5.0.6:
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- debug: 4.4.3(supports-color@5.5.0)
- istanbul-lib-coverage: 3.2.2
- transitivePeerDependencies:
- - supports-color
-
istanbul-reports@3.2.0:
dependencies:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
javascript-stringify@2.1.0: {}
jayson@4.3.0(bufferutil@4.1.0)(utf-8-validate@5.0.10):
@@ -17058,50 +18073,43 @@ snapshots:
- bufferutil
- utf-8-validate
- jiti@1.21.7: {}
-
jiti@2.6.1: {}
- jose@5.10.0: {}
-
jose@6.1.3: {}
js-tokens@10.0.0: {}
js-tokens@4.0.0: {}
- js-tokens@9.0.1: {}
-
js-yaml@4.1.1:
dependencies:
argparse: 2.0.1
- jsdom@26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10):
+ jsdom@29.0.1(@noble/hashes@1.8.0):
dependencies:
- cssstyle: 4.6.0
- data-urls: 5.0.0
+ '@asamuzakjp/css-color': 5.1.1
+ '@asamuzakjp/dom-selector': 7.0.4
+ '@bramus/specificity': 2.4.2
+ '@csstools/css-syntax-patches-for-csstree': 1.1.2(css-tree@3.2.1)
+ '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0)
+ css-tree: 3.2.1
+ data-urls: 7.0.0(@noble/hashes@1.8.0)
decimal.js: 10.6.0
- html-encoding-sniffer: 4.0.0
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
+ html-encoding-sniffer: 6.0.0(@noble/hashes@1.8.0)
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.23
- parse5: 7.3.0
- rrweb-cssom: 0.8.0
+ lru-cache: 11.2.7
+ parse5: 8.0.0
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 5.1.2
+ tough-cookie: 6.0.1
+ undici: 7.24.7
w3c-xmlserializer: 5.0.0
- webidl-conversions: 7.0.0
- whatwg-encoding: 3.1.1
- whatwg-mimetype: 4.0.0
- whatwg-url: 14.2.0
- ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ webidl-conversions: 8.0.1
+ whatwg-mimetype: 5.0.0
+ whatwg-url: 16.0.1(@noble/hashes@1.8.0)
xml-name-validator: 5.0.0
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
+ transitivePeerDependencies:
+ - '@noble/hashes'
jsesc@3.1.0: {}
@@ -17131,7 +18139,9 @@ snapshots:
optionalDependencies:
graceful-fs: 4.2.11
- jsonparse@1.3.1: {}
+ katex@0.16.44:
+ dependencies:
+ commander: 8.3.0
keccak@3.0.4:
dependencies:
@@ -17141,56 +18151,117 @@ snapshots:
keyvaluestorage-interface@1.0.0: {}
- lightningcss-android-arm64@1.31.1:
+ khroma@2.1.0: {}
+
+ langium@4.2.1:
+ dependencies:
+ chevrotain: 11.1.2
+ chevrotain-allstar: 0.3.1(chevrotain@11.1.2)
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+
+ layout-base@1.0.2: {}
+
+ layout-base@2.0.1: {}
+
+ lightningcss-android-arm64@1.30.2:
+ optional: true
+
+ lightningcss-android-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-arm64@1.30.2:
+ optional: true
+
+ lightningcss-darwin-arm64@1.32.0:
+ optional: true
+
+ lightningcss-darwin-x64@1.30.2:
+ optional: true
+
+ lightningcss-darwin-x64@1.32.0:
+ optional: true
+
+ lightningcss-freebsd-x64@1.30.2:
+ optional: true
+
+ lightningcss-freebsd-x64@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.30.2:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.32.0:
optional: true
- lightningcss-darwin-arm64@1.31.1:
+ lightningcss-linux-arm64-musl@1.30.2:
optional: true
- lightningcss-darwin-x64@1.31.1:
+ lightningcss-linux-arm64-musl@1.32.0:
optional: true
- lightningcss-freebsd-x64@1.31.1:
+ lightningcss-linux-x64-gnu@1.30.2:
optional: true
- lightningcss-linux-arm-gnueabihf@1.31.1:
+ lightningcss-linux-x64-gnu@1.32.0:
optional: true
- lightningcss-linux-arm64-gnu@1.31.1:
+ lightningcss-linux-x64-musl@1.30.2:
optional: true
- lightningcss-linux-arm64-musl@1.31.1:
+ lightningcss-linux-x64-musl@1.32.0:
optional: true
- lightningcss-linux-x64-gnu@1.31.1:
+ lightningcss-win32-arm64-msvc@1.30.2:
optional: true
- lightningcss-linux-x64-musl@1.31.1:
+ lightningcss-win32-arm64-msvc@1.32.0:
optional: true
- lightningcss-win32-arm64-msvc@1.31.1:
+ lightningcss-win32-x64-msvc@1.30.2:
optional: true
- lightningcss-win32-x64-msvc@1.31.1:
+ lightningcss-win32-x64-msvc@1.32.0:
optional: true
- lightningcss@1.31.1:
+ lightningcss@1.30.2:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.30.2
+ lightningcss-darwin-arm64: 1.30.2
+ lightningcss-darwin-x64: 1.30.2
+ lightningcss-freebsd-x64: 1.30.2
+ lightningcss-linux-arm-gnueabihf: 1.30.2
+ lightningcss-linux-arm64-gnu: 1.30.2
+ lightningcss-linux-arm64-musl: 1.30.2
+ lightningcss-linux-x64-gnu: 1.30.2
+ lightningcss-linux-x64-musl: 1.30.2
+ lightningcss-win32-arm64-msvc: 1.30.2
+ lightningcss-win32-x64-msvc: 1.30.2
+
+ lightningcss@1.32.0:
dependencies:
detect-libc: 2.1.2
optionalDependencies:
- lightningcss-android-arm64: 1.31.1
- lightningcss-darwin-arm64: 1.31.1
- lightningcss-darwin-x64: 1.31.1
- lightningcss-freebsd-x64: 1.31.1
- lightningcss-linux-arm-gnueabihf: 1.31.1
- lightningcss-linux-arm64-gnu: 1.31.1
- lightningcss-linux-arm64-musl: 1.31.1
- lightningcss-linux-x64-gnu: 1.31.1
- lightningcss-linux-x64-musl: 1.31.1
- lightningcss-win32-arm64-msvc: 1.31.1
- lightningcss-win32-x64-msvc: 1.31.1
-
- lilconfig@3.1.3: {}
+ lightningcss-android-arm64: 1.32.0
+ lightningcss-darwin-arm64: 1.32.0
+ lightningcss-darwin-x64: 1.32.0
+ lightningcss-freebsd-x64: 1.32.0
+ lightningcss-linux-arm-gnueabihf: 1.32.0
+ lightningcss-linux-arm64-gnu: 1.32.0
+ lightningcss-linux-arm64-musl: 1.32.0
+ lightningcss-linux-x64-gnu: 1.32.0
+ lightningcss-linux-x64-musl: 1.32.0
+ lightningcss-win32-arm64-msvc: 1.32.0
+ lightningcss-win32-x64-msvc: 1.32.0
lines-and-columns@1.2.4: {}
@@ -17198,35 +18269,18 @@ snapshots:
dependencies:
uc.micro: 2.1.0
- lint-staged@15.5.2:
+ lint-staged@16.4.0:
dependencies:
- chalk: 5.6.2
- commander: 13.1.0
- debug: 4.4.3(supports-color@5.5.0)
- execa: 8.0.1
- lilconfig: 3.1.3
- listr2: 8.3.3
- micromatch: 4.0.8
- pidtree: 0.6.0
+ commander: 14.0.3
+ listr2: 9.0.5
+ picomatch: 4.0.3
string-argv: 0.3.2
+ tinyexec: 1.0.4
yaml: 2.8.2
- transitivePeerDependencies:
- - supports-color
- listr2@4.0.5:
+ listr2@9.0.5:
dependencies:
- cli-truncate: 2.1.0
- colorette: 2.0.20
- log-update: 4.0.0
- p-map: 4.0.0
- rfdc: 1.4.1
- rxjs: 7.8.2
- through: 2.3.8
- wrap-ansi: 7.0.0
-
- listr2@8.3.3:
- dependencies:
- cli-truncate: 4.0.0
+ cli-truncate: 5.2.0
colorette: 2.0.20
eventemitter3: 5.0.4
log-update: 6.1.0
@@ -17259,18 +18313,12 @@ snapshots:
dependencies:
p-locate: 5.0.0
- locate-path@7.2.0:
- dependencies:
- p-locate: 6.0.0
+ lodash-es@4.17.23: {}
lodash.camelcase@4.3.0: {}
- lodash.isplainobject@4.0.6: {}
-
lodash.kebabcase@4.1.1: {}
- lodash.merge@4.6.2: {}
-
lodash.mergewith@4.6.2: {}
lodash.snakecase@4.1.1: {}
@@ -17279,8 +18327,6 @@ snapshots:
lodash.startcase@4.4.0: {}
- lodash.uniq@4.5.0: {}
-
lodash.upperfirst@4.3.1: {}
lodash@4.17.23: {}
@@ -17295,13 +18341,6 @@ snapshots:
chalk: 5.6.2
is-unicode-supported: 1.3.0
- log-update@4.0.0:
- dependencies:
- ansi-escapes: 4.3.2
- cli-cursor: 3.1.0
- slice-ansi: 4.0.0
- wrap-ansi: 6.2.0
-
log-update@6.1.0:
dependencies:
ansi-escapes: 7.3.0
@@ -17316,8 +18355,6 @@ snapshots:
dependencies:
js-tokens: 4.0.0
- loupe@3.2.1: {}
-
lower-case-first@2.0.2:
dependencies:
tslib: 2.8.1
@@ -17330,6 +18367,8 @@ snapshots:
lru-cache@11.2.6: {}
+ lru-cache@11.2.7: {}
+
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
@@ -17342,7 +18381,7 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
- magicast@0.3.5:
+ magicast@0.5.2:
dependencies:
'@babel/parser': 7.29.0
'@babel/types': 7.29.0
@@ -17371,6 +18410,8 @@ snapshots:
markdown-table@3.0.4: {}
+ marked@16.4.2: {}
+
math-intrinsics@1.1.0: {}
md5@2.3.0:
@@ -17567,18 +18608,52 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
+ mdn-data@2.27.1: {}
+
mdurl@2.0.0: {}
media-query-parser@2.0.2:
dependencies:
'@babel/runtime': 7.28.6
- meow@12.1.1: {}
+ meow@13.2.0: {}
merge-stream@2.0.0: {}
merge2@1.4.1: {}
+ mermaid-isomorphic@3.1.0(playwright@1.59.1):
+ dependencies:
+ '@fortawesome/fontawesome-free': 6.7.2
+ katex: 0.16.44
+ mermaid: 11.14.0
+ optionalDependencies:
+ playwright: 1.59.1
+
+ mermaid@11.14.0:
+ dependencies:
+ '@braintree/sanitize-url': 7.1.2
+ '@iconify/utils': 3.1.0
+ '@mermaid-js/parser': 1.1.0
+ '@types/d3': 7.4.3
+ '@upsetjs/venn.js': 2.0.0
+ cytoscape: 3.33.1
+ cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1)
+ cytoscape-fcose: 2.2.0(cytoscape@3.33.1)
+ d3: 7.9.0
+ d3-sankey: 0.12.3
+ dagre-d3-es: 7.0.14
+ dayjs: 1.11.20
+ dompurify: 3.3.3
+ katex: 0.16.44
+ khroma: 2.1.0
+ lodash-es: 4.17.23
+ marked: 16.4.2
+ roughjs: 4.6.6
+ stylis: 4.3.6
+ ts-dedent: 2.2.0
+ uuid: 11.1.0
+
meros@1.3.2(@types/node@25.3.0):
optionalDependencies:
'@types/node': 25.3.0
@@ -17848,7 +18923,7 @@ snapshots:
micromark@4.0.2:
dependencies:
- '@types/debug': 4.1.12
+ '@types/debug': 4.1.13
debug: 4.4.3(supports-color@5.5.0)
decode-named-character-reference: 1.3.0
devlop: 1.1.0
@@ -17885,33 +18960,27 @@ snapshots:
mimic-fn@2.1.0: {}
- mimic-fn@4.0.0: {}
-
mimic-function@5.0.1: {}
min-indent@1.0.1: {}
- minimatch@10.2.2:
- dependencies:
- brace-expansion: 5.0.3
+ mini-svg-data-uri@1.4.4: {}
- minimatch@3.1.3:
+ minimatch@10.2.5:
dependencies:
- brace-expansion: 1.1.12
+ brace-expansion: 5.0.5
- minimatch@9.0.6:
+ minimatch@3.1.5:
dependencies:
- brace-expansion: 5.0.3
+ brace-expansion: 1.1.13
minimist@1.2.8: {}
- minipass@7.1.3: {}
-
- minisearch@6.3.0: {}
+ minisearch@7.2.0: {}
- mipd@0.0.7(typescript@5.9.3):
+ mipd@0.0.7(typescript@6.0.2):
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
mlly@1.8.0:
dependencies:
@@ -17930,7 +18999,7 @@ snapshots:
multiformats@9.9.0: {}
- mute-stream@0.0.8: {}
+ mute-stream@2.0.0: {}
nanoid@3.3.11: {}
@@ -17940,10 +19009,10 @@ snapshots:
negotiator@0.6.4: {}
- next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ next-themes@0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
no-case@3.0.4:
dependencies:
@@ -17986,17 +19055,19 @@ snapshots:
dependencies:
path-key: 3.1.1
- npm-run-path@5.3.0:
- dependencies:
- path-key: 4.0.0
-
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
nullthrows@1.1.1: {}
- nwsapi@2.2.23: {}
+ nuqs@2.8.9(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4):
+ dependencies:
+ '@standard-schema/spec': 1.0.0
+ react: 19.2.4
+ optionalDependencies:
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-router: 7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
obj-multiplex@1.0.0:
dependencies:
@@ -18006,6 +19077,8 @@ snapshots:
object-assign@4.1.1: {}
+ obug@2.1.1: {}
+
ofetch@1.5.1:
dependencies:
destr: 2.0.5
@@ -18030,10 +19103,6 @@ snapshots:
dependencies:
mimic-fn: 2.1.0
- onetime@6.0.0:
- dependencies:
- mimic-fn: 4.0.0
-
onetime@7.0.0:
dependencies:
mimic-function: 5.0.1
@@ -18050,18 +19119,6 @@ snapshots:
openapi-typescript-helpers@0.0.15: {}
- ora@5.4.1:
- dependencies:
- bl: 4.1.0
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-spinners: 2.9.2
- is-interactive: 1.0.0
- is-unicode-supported: 0.1.0
- log-symbols: 4.1.0
- strip-ansi: 6.0.1
- wcwidth: 1.0.1
-
ora@7.0.1:
dependencies:
chalk: 5.6.2
@@ -18074,7 +19131,7 @@ snapshots:
string-width: 6.1.0
strip-ansi: 7.1.2
- ox@0.14.7(typescript@5.9.3)(zod@3.22.4):
+ ox@0.14.7(typescript@6.0.2)(zod@3.22.4):
dependencies:
'@adraffy/ens-normalize': 1.11.1
'@noble/ciphers': 1.3.0
@@ -18082,14 +19139,14 @@ snapshots:
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@3.22.4)
+ abitype: 1.2.3(typescript@6.0.2)(zod@3.22.4)
eventemitter3: 5.0.1
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- zod
- ox@0.14.7(typescript@5.9.3)(zod@3.25.76):
+ ox@0.14.7(typescript@6.0.2)(zod@3.25.76):
dependencies:
'@adraffy/ens-normalize': 1.11.1
'@noble/ciphers': 1.3.0
@@ -18097,14 +19154,14 @@ snapshots:
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@3.25.76)
+ abitype: 1.2.3(typescript@6.0.2)(zod@3.25.76)
eventemitter3: 5.0.1
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- zod
- ox@0.14.7(typescript@5.9.3)(zod@4.3.6):
+ ox@0.14.7(typescript@6.0.2)(zod@4.3.6):
dependencies:
'@adraffy/ens-normalize': 1.11.1
'@noble/ciphers': 1.3.0
@@ -18112,42 +19169,42 @@ snapshots:
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@4.3.6)
+ abitype: 1.2.3(typescript@6.0.2)(zod@4.3.6)
eventemitter3: 5.0.1
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- zod
- ox@0.6.7(typescript@5.9.3)(zod@3.25.76):
+ ox@0.6.7(typescript@6.0.2)(zod@4.3.6):
dependencies:
'@adraffy/ens-normalize': 1.11.1
'@noble/curves': 1.8.1
'@noble/hashes': 1.7.1
'@scure/bip32': 1.6.2
'@scure/bip39': 1.5.4
- abitype: 1.0.8(typescript@5.9.3)(zod@3.25.76)
+ abitype: 1.0.8(typescript@6.0.2)(zod@4.3.6)
eventemitter3: 5.0.1
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- zod
- ox@0.6.9(typescript@5.9.3)(zod@3.25.76):
+ ox@0.6.9(typescript@6.0.2)(zod@4.3.6):
dependencies:
'@adraffy/ens-normalize': 1.11.1
'@noble/curves': 1.9.7
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@3.25.76)
+ abitype: 1.2.3(typescript@6.0.2)(zod@4.3.6)
eventemitter3: 5.0.1
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- zod
- ox@0.9.17(typescript@5.9.3)(zod@4.3.6):
+ ox@0.9.17(typescript@6.0.2)(zod@4.3.6):
dependencies:
'@adraffy/ens-normalize': 1.11.1
'@noble/ciphers': 1.3.0
@@ -18155,14 +19212,14 @@ snapshots:
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@4.3.6)
+ abitype: 1.2.3(typescript@6.0.2)(zod@4.3.6)
eventemitter3: 5.0.1
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- zod
- ox@0.9.3(typescript@5.9.3)(zod@3.25.76):
+ ox@0.9.3(typescript@6.0.2)(zod@4.3.6):
dependencies:
'@adraffy/ens-normalize': 1.11.1
'@noble/ciphers': 1.3.0
@@ -18170,10 +19227,10 @@ snapshots:
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@3.25.76)
+ abitype: 1.2.3(typescript@6.0.2)(zod@4.3.6)
eventemitter3: 5.0.1
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- zod
@@ -18185,10 +19242,6 @@ snapshots:
dependencies:
yocto-queue: 0.1.0
- p-limit@4.0.0:
- dependencies:
- yocto-queue: 1.2.2
-
p-limit@5.0.0:
dependencies:
yocto-queue: 1.2.2
@@ -18201,17 +19254,9 @@ snapshots:
dependencies:
p-limit: 3.1.0
- p-locate@6.0.0:
- dependencies:
- p-limit: 4.0.0
-
- p-map@4.0.0:
- dependencies:
- aggregate-error: 3.1.0
-
p-try@2.2.0: {}
- package-json-from-dist@1.0.1: {}
+ package-manager-detector@1.6.0: {}
param-case@3.0.4:
dependencies:
@@ -18249,6 +19294,10 @@ snapshots:
dependencies:
entities: 6.0.1
+ parse5@8.0.0:
+ dependencies:
+ entities: 6.0.1
+
parseurl@1.3.3: {}
pascal-case@3.1.2:
@@ -18261,16 +19310,14 @@ snapshots:
dot-case: 3.0.4
tslib: 2.8.1
- path-exists@4.0.0: {}
+ path-data-parser@0.1.0: {}
- path-exists@5.0.0: {}
+ path-exists@4.0.0: {}
path-is-absolute@1.0.1: {}
path-key@3.1.1: {}
- path-key@4.0.0: {}
-
path-parse@1.0.7: {}
path-root-regex@0.1.2: {}
@@ -18279,21 +19326,12 @@ snapshots:
dependencies:
path-root-regex: 0.1.2
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.3
-
path-type@4.0.0: {}
- path-type@6.0.0: {}
-
pathe@1.1.2: {}
pathe@2.0.3: {}
- pathval@2.0.1: {}
-
perfect-freehand@1.2.3: {}
picocolors@1.1.1: {}
@@ -18304,7 +19342,7 @@ snapshots:
picomatch@4.0.3: {}
- pidtree@0.6.0: {}
+ picomatch@4.0.4: {}
pify@3.0.0: {}
@@ -18357,8 +19395,23 @@ snapshots:
mlly: 1.8.0
pathe: 2.0.3
+ playwright-core@1.59.1: {}
+
+ playwright@1.59.1:
+ dependencies:
+ playwright-core: 1.59.1
+ optionalDependencies:
+ fsevents: 2.3.2
+
pngjs@5.0.0: {}
+ points-on-curve@0.2.0: {}
+
+ points-on-path@0.2.1:
+ dependencies:
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+
pony-cause@2.1.11: {}
popmotion@11.0.3:
@@ -18368,41 +19421,41 @@ snapshots:
style-value-types: 5.0.0
tslib: 2.8.1
- porto@0.2.35(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)):
+ porto@0.2.35(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)):
dependencies:
- '@wagmi/core': 2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
+ '@wagmi/core': 2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
hono: 4.12.2
idb-keyval: 6.2.2
- mipd: 0.0.7(typescript@5.9.3)
- ox: 0.9.17(typescript@5.9.3)(zod@4.3.6)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ mipd: 0.0.7(typescript@6.0.2)
+ ox: 0.9.17(typescript@6.0.2)(zod@4.3.6)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
zod: 4.3.6
- zustand: 5.0.11(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0))
+ zustand: 5.0.11(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4))
optionalDependencies:
- '@tanstack/react-query': 5.95.2(react@19.1.0)
- react: 19.1.0
- typescript: 5.9.3
- wagmi: 2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
+ '@tanstack/react-query': 5.96.1(react@19.2.4)
+ react: 19.2.4
+ typescript: 6.0.2
+ wagmi: 2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
transitivePeerDependencies:
- '@types/react'
- immer
- use-sync-external-store
- porto@0.2.37(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(@wagmi/core@3.4.0(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(ox@0.14.7(typescript@5.9.3)(zod@3.25.76))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)):
+ porto@0.2.37(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(@wagmi/core@3.4.0(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(ox@0.14.7(typescript@6.0.2)(zod@4.3.6))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)):
dependencies:
- '@wagmi/core': 3.4.0(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(ox@0.14.7(typescript@5.9.3)(zod@3.25.76))(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
+ '@wagmi/core': 3.4.0(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(ox@0.14.7(typescript@6.0.2)(zod@4.3.6))(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
hono: 4.12.2
idb-keyval: 6.2.2
- mipd: 0.0.7(typescript@5.9.3)
- ox: 0.9.17(typescript@5.9.3)(zod@4.3.6)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ mipd: 0.0.7(typescript@6.0.2)
+ ox: 0.9.17(typescript@6.0.2)(zod@4.3.6)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
zod: 4.3.6
- zustand: 5.0.11(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0))
+ zustand: 5.0.11(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4))
optionalDependencies:
- '@tanstack/react-query': 5.95.2(react@19.1.0)
- react: 19.1.0
- typescript: 5.9.3
- wagmi: 2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76)
+ '@tanstack/react-query': 5.96.1(react@19.2.4)
+ react: 19.2.4
+ typescript: 6.0.2
+ wagmi: 2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6)
transitivePeerDependencies:
- '@types/react'
- immer
@@ -18420,9 +19473,15 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
+ postcss@8.5.8:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
preact@10.24.2: {}
- preact@10.29.0: {}
+ preact@10.29.1: {}
prettier@3.8.1: {}
@@ -18491,65 +19550,65 @@ snapshots:
quick-format-unescaped@4.0.4: {}
- radix-ui@1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ radix-ui@1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
'@radix-ui/primitive': 1.1.3
- '@radix-ui/react-accessible-icon': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-alert-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-aspect-ratio': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-avatar': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-context-menu': 2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-form': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-hover-card': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-menubar': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-one-time-password-field': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-password-toggle-field': 0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-progress': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-select': 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slider': 1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-toast': 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.1.0)
- '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ '@radix-ui/react-accessible-icon': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-alert-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-aspect-ratio': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-avatar': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-context-menu': 2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-form': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-hover-card': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-label': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-menubar': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-one-time-password-field': 0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-password-toggle-field': 0.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-progress': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-select': 2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-separator': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slider': 1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-toast': 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-toggle': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-is-hydrated': 0.1.0(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
@@ -18558,96 +19617,96 @@ snapshots:
range-parser@1.2.1: {}
- react-dom@19.1.0(react@19.1.0):
+ react-dom@19.2.4(react@19.2.4):
dependencies:
- react: 19.1.0
- scheduler: 0.26.0
+ react: 19.2.4
+ scheduler: 0.27.0
- react-error-boundary@6.1.1(react@19.1.0):
+ react-error-boundary@6.1.1(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
- react-intersection-observer@9.16.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-intersection-observer@9.16.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
- react-dom: 19.1.0(react@19.1.0)
+ react-dom: 19.2.4(react@19.2.4)
react-is@16.13.1: {}
react-is@17.0.2: {}
- react-jazzicon@1.0.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-jazzicon@1.0.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
mersenne-twister: 1.1.0
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
- react-number-format@5.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-number-format@5.4.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
- react-refresh@0.17.0: {}
+ react-refresh@0.18.0: {}
- react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.1.0):
+ react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.4):
dependencies:
- react: 19.1.0
- react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.1.0)
+ react: 19.2.4
+ react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.4)
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.14
- react-remove-scroll@2.6.2(@types/react@19.2.14)(react@19.1.0):
+ react-remove-scroll@2.6.2(@types/react@19.2.14)(react@19.2.4):
dependencies:
- react: 19.1.0
- react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.1.0)
- react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.1.0)
+ react: 19.2.4
+ react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.4)
+ react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.4)
tslib: 2.8.1
- use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.1.0)
- use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.1.0)
+ use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.4)
+ use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
- react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.1.0):
+ react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.4):
dependencies:
- react: 19.1.0
- react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.1.0)
- react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.1.0)
+ react: 19.2.4
+ react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.4)
+ react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.4)
tslib: 2.8.1
- use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.1.0)
- use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.1.0)
+ use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.4)
+ use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
- react-router@7.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
cookie: 1.1.1
- react: 19.1.0
+ react: 19.2.4
set-cookie-parser: 2.7.2
optionalDependencies:
- react-dom: 19.1.0(react@19.1.0)
+ react-dom: 19.2.4(react@19.2.4)
- react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.1.0):
+ react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.4):
dependencies:
get-nonce: 1.0.1
- react: 19.1.0
+ react: 19.2.4
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.14
- react-transition-state@1.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-transition-state@1.1.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
- react-use-measure@2.1.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ react-use-measure@2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
optionalDependencies:
- react-dom: 19.1.0(react@19.1.0)
+ react-dom: 19.2.4(react@19.2.4)
- react@19.1.0: {}
+ react@19.2.4: {}
readable-stream@2.3.8:
dependencies:
@@ -18746,6 +19805,20 @@ snapshots:
hast-util-select: 6.0.4
unified: 11.0.5
+ rehype-mermaid@3.0.0(playwright@1.59.1):
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-html-isomorphic: 2.0.0
+ hast-util-to-text: 4.0.2
+ mermaid-isomorphic: 3.1.0(playwright@1.59.1)
+ mini-svg-data-uri: 1.4.4
+ space-separated-tokens: 2.0.2
+ unified: 11.0.5
+ unist-util-visit-parents: 6.0.2
+ vfile: 6.0.3
+ optionalDependencies:
+ playwright: 1.59.1
+
rehype-recma@1.0.0:
dependencies:
'@types/estree': 1.0.8
@@ -18866,11 +19939,6 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- restore-cursor@3.1.0:
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
-
restore-cursor@4.0.0:
dependencies:
onetime: 5.1.2
@@ -18885,6 +19953,32 @@ snapshots:
rfdc@1.4.1: {}
+ robust-predicates@3.0.3: {}
+
+ rolldown@1.0.0-rc.12(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2):
+ dependencies:
+ '@oxc-project/types': 0.122.0
+ '@rolldown/pluginutils': 1.0.0-rc.12
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-rc.12
+ '@rolldown/binding-darwin-arm64': 1.0.0-rc.12
+ '@rolldown/binding-darwin-x64': 1.0.0-rc.12
+ '@rolldown/binding-freebsd-x64': 1.0.0-rc.12
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.12
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.12
+ '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-x64-musl': 1.0.0-rc.12
+ '@rolldown/binding-openharmony-arm64': 1.0.0-rc.12
+ '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.12
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.12
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+
rollup@4.59.0:
dependencies:
'@types/estree': 1.0.8
@@ -18916,30 +20010,31 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.59.0
fsevents: 2.3.3
+ roughjs@4.6.6:
+ dependencies:
+ hachure-fill: 0.5.2
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+ points-on-path: 0.2.1
+
rpc-websockets@9.3.3:
dependencies:
'@swc/helpers': 0.5.19
'@types/uuid': 8.3.4
'@types/ws': 8.18.1
buffer: 6.0.3
- eventemitter3: 5.0.1
+ eventemitter3: 5.0.4
uuid: 8.3.2
ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
optionalDependencies:
bufferutil: 4.1.0
utf-8-validate: 5.0.10
- rrweb-cssom@0.8.0: {}
-
- run-async@2.4.1: {}
-
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- rxjs@7.8.2:
- dependencies:
- tslib: 2.8.1
+ rw@1.3.3: {}
safe-buffer@5.1.2: {}
@@ -18959,9 +20054,7 @@ snapshots:
dependencies:
xmlchars: 2.2.0
- scheduler@0.26.0: {}
-
- scuid@1.1.0: {}
+ scheduler@0.27.0: {}
semver@6.3.1: {}
@@ -19064,26 +20157,12 @@ snapshots:
slash@3.0.0: {}
- slash@5.1.0: {}
-
- slice-ansi@3.0.0:
- dependencies:
- ansi-styles: 4.3.0
- astral-regex: 2.0.0
- is-fullwidth-code-point: 3.0.0
-
- slice-ansi@4.0.0:
- dependencies:
- ansi-styles: 4.3.0
- astral-regex: 2.0.0
- is-fullwidth-code-point: 3.0.0
-
- slice-ansi@5.0.0:
+ slice-ansi@7.1.2:
dependencies:
ansi-styles: 6.2.3
- is-fullwidth-code-point: 4.0.0
+ is-fullwidth-code-point: 5.1.0
- slice-ansi@7.1.2:
+ slice-ansi@8.0.0:
dependencies:
ansi-styles: 6.2.3
is-fullwidth-code-point: 5.1.0
@@ -19143,7 +20222,7 @@ snapshots:
statuses@2.0.2: {}
- std-env@3.10.0: {}
+ std-env@4.0.0: {}
stdin-discarder@0.1.0:
dependencies:
@@ -19169,12 +20248,6 @@ snapshots:
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.2
-
string-width@6.1.0:
dependencies:
eastasianwidth: 0.2.0
@@ -19187,6 +20260,11 @@ snapshots:
get-east-asian-width: 1.5.0
strip-ansi: 7.1.2
+ string-width@8.2.0:
+ dependencies:
+ get-east-asian-width: 1.5.0
+ strip-ansi: 7.1.2
+
string_decoder@1.1.1:
dependencies:
safe-buffer: 5.1.2
@@ -19210,16 +20288,10 @@ snapshots:
strip-final-newline@2.0.0: {}
- strip-final-newline@3.0.0: {}
-
strip-indent@3.0.0:
dependencies:
min-indent: 1.0.1
- strip-literal@3.1.0:
- dependencies:
- js-tokens: 9.0.1
-
style-to-js@1.1.21:
dependencies:
style-to-object: 1.0.14
@@ -19233,18 +20305,18 @@ snapshots:
hey-listen: 1.0.8
tslib: 2.8.1
- styled-components@5.3.11(@babel/core@7.29.0)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0):
+ styled-components@5.3.11(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react-is@17.0.2)(react@19.2.4):
dependencies:
'@babel/helper-module-imports': 7.28.6(supports-color@5.5.0)
'@babel/traverse': 7.29.0(supports-color@5.5.0)
'@emotion/is-prop-valid': 1.4.0
'@emotion/stylis': 0.8.5
'@emotion/unitless': 0.7.5
- babel-plugin-styled-components: 2.1.4(@babel/core@7.29.0)(styled-components@5.3.11(@babel/core@7.29.0)(react-dom@19.1.0(react@19.1.0))(react-is@17.0.2)(react@19.1.0))(supports-color@5.5.0)
+ babel-plugin-styled-components: 2.1.4(@babel/core@7.29.0)(styled-components@5.3.11(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react-is@17.0.2)(react@19.2.4))(supports-color@5.5.0)
css-to-react-native: 3.2.0
hoist-non-react-statics: 3.3.2
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
react-is: 17.0.2
shallowequal: 1.1.0
supports-color: 5.5.0
@@ -19253,6 +20325,8 @@ snapshots:
stylis@4.2.0: {}
+ stylis@4.3.6: {}
+
superstruct@1.0.4: {}
superstruct@2.0.2: {}
@@ -19279,28 +20353,14 @@ snapshots:
timeout-signal: 2.0.0
whatwg-mimetype: 4.0.0
- sync-fetch@0.6.0-2:
- dependencies:
- node-fetch: 3.3.2
- timeout-signal: 2.0.0
- whatwg-mimetype: 4.0.0
-
tabbable@6.4.0: {}
- tailwindcss@4.0.7: {}
+ tailwindcss@4.1.15: {}
tapable@2.3.0: {}
- test-exclude@7.0.2:
- dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 10.5.0
- minimatch: 10.2.2
-
text-encoding-utf-8@1.0.2: {}
- text-extensions@2.4.0: {}
-
thread-stream@0.15.2:
dependencies:
real-require: 0.1.0
@@ -19309,38 +20369,32 @@ snapshots:
dependencies:
real-require: 0.2.0
- through@2.3.8: {}
-
timeout-signal@2.0.0: {}
tiny-invariant@1.3.3: {}
tinybench@2.9.0: {}
- tinyexec@0.3.2: {}
-
tinyexec@1.0.2: {}
+ tinyexec@1.0.4: {}
+
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
- tinypool@1.1.1: {}
-
- tinyrainbow@2.0.0: {}
-
- tinyspy@4.0.4: {}
+ tinyrainbow@3.1.0: {}
title-case@3.0.3:
dependencies:
tslib: 2.8.1
- tldts-core@6.1.86: {}
+ tldts-core@7.0.27: {}
- tldts@6.1.86:
+ tldts@7.0.27:
dependencies:
- tldts-core: 6.1.86
+ tldts-core: 7.0.27
to-buffer@1.2.2:
dependencies:
@@ -19356,13 +20410,13 @@ snapshots:
toml@3.0.0: {}
- tough-cookie@5.1.2:
+ tough-cookie@6.0.1:
dependencies:
- tldts: 6.1.86
+ tldts: 7.0.27
tr46@0.0.3: {}
- tr46@5.1.1:
+ tr46@6.0.0:
dependencies:
punycode: 2.3.1
@@ -19370,9 +20424,11 @@ snapshots:
trough@2.2.0: {}
+ ts-dedent@2.2.0: {}
+
ts-log@2.2.7: {}
- ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.19))(@types/node@25.3.0)(typescript@5.9.3):
+ ts-node@10.9.2(@swc/core@1.15.13(@swc/helpers@0.5.19))(@types/node@25.3.0)(typescript@6.0.2):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.12
@@ -19386,16 +20442,12 @@ snapshots:
create-require: 1.1.1
diff: 4.0.4
make-error: 1.3.6
- typescript: 5.9.3
+ typescript: 6.0.2
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
'@swc/core': 1.15.13(@swc/helpers@0.5.19)
- tsconfck@3.1.6(typescript@5.9.3):
- optionalDependencies:
- typescript: 5.9.3
-
tslib@1.14.1: {}
tslib@2.4.1: {}
@@ -19406,22 +20458,30 @@ snapshots:
tsx@4.21.0:
dependencies:
- esbuild: 0.27.3
- get-tsconfig: 4.13.6
+ esbuild: 0.27.4
+ get-tsconfig: 4.13.7
optionalDependencies:
fsevents: 2.3.3
twoslash-protocol@0.2.12: {}
- twoslash@0.2.12(typescript@5.9.3):
+ twoslash-protocol@0.3.6: {}
+
+ twoslash@0.2.12(typescript@6.0.2):
dependencies:
- '@typescript/vfs': 1.6.4(typescript@5.9.3)
+ '@typescript/vfs': 1.6.4(typescript@6.0.2)
twoslash-protocol: 0.2.12
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- type-fest@0.21.3: {}
+ twoslash@0.3.6(typescript@6.0.2):
+ dependencies:
+ '@typescript/vfs': 1.6.4(typescript@6.0.2)
+ twoslash-protocol: 0.3.6
+ typescript: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
typed-array-buffer@1.0.3:
dependencies:
@@ -19429,33 +20489,33 @@ snapshots:
es-errors: 1.3.0
is-typed-array: 1.1.15
- typedoc-github-theme@0.3.1(typedoc@0.28.17(typescript@5.9.3)):
+ typedoc-github-theme@0.4.0(typedoc@0.28.18(typescript@6.0.2)):
dependencies:
- typedoc: 0.28.17(typescript@5.9.3)
+ typedoc: 0.28.18(typescript@6.0.2)
- typedoc-plugin-inline-sources@1.3.0(typedoc@0.28.17(typescript@5.9.3)):
+ typedoc-plugin-inline-sources@1.3.0(typedoc@0.28.18(typescript@6.0.2)):
dependencies:
- typedoc: 0.28.17(typescript@5.9.3)
+ typedoc: 0.28.18(typescript@6.0.2)
- typedoc-plugin-missing-exports@4.1.2(typedoc@0.28.17(typescript@5.9.3)):
+ typedoc-plugin-missing-exports@4.1.2(typedoc@0.28.18(typescript@6.0.2)):
dependencies:
- typedoc: 0.28.17(typescript@5.9.3)
+ typedoc: 0.28.18(typescript@6.0.2)
- typedoc-plugin-rename-defaults@0.7.3(typedoc@0.28.17(typescript@5.9.3)):
+ typedoc-plugin-rename-defaults@0.7.3(typedoc@0.28.18(typescript@6.0.2)):
dependencies:
camelcase: 8.0.0
- typedoc: 0.28.17(typescript@5.9.3)
+ typedoc: 0.28.18(typescript@6.0.2)
- typedoc@0.28.17(typescript@5.9.3):
+ typedoc@0.28.18(typescript@6.0.2):
dependencies:
- '@gerrit0/mini-shiki': 3.22.0
+ '@gerrit0/mini-shiki': 3.23.0
lunr: 2.3.9
markdown-it: 14.1.1
- minimatch: 9.0.6
- typescript: 5.9.3
+ minimatch: 10.2.5
+ typescript: 6.0.2
yaml: 2.8.2
- typescript@5.9.3: {}
+ typescript@6.0.2: {}
ua-parser-js@1.0.41: {}
@@ -19483,9 +20543,7 @@ snapshots:
undici-types@7.22.0: {}
- unicorn-magic@0.1.0: {}
-
- unicorn-magic@0.3.0: {}
+ undici@7.24.7: {}
unified@11.0.5:
dependencies:
@@ -19497,6 +20555,11 @@ snapshots:
trough: 2.2.0
vfile: 6.0.3
+ unist-util-find-after@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+
unist-util-is@6.0.1:
dependencies:
'@types/unist': 3.0.3
@@ -19519,6 +20582,11 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.1.0
+
unist-util-stringify-position@4.0.0:
dependencies:
'@types/unist': 3.0.3
@@ -19578,36 +20646,36 @@ snapshots:
urlpattern-polyfill@10.1.0: {}
- use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.1.0):
+ use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.14
- use-debounce@10.1.0(react@19.1.0):
+ use-debounce@10.1.1(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
- use-sidecar@1.1.3(@types/react@19.2.14)(react@19.1.0):
+ use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.4):
dependencies:
detect-node-es: 1.1.0
- react: 19.1.0
+ react: 19.2.4
tslib: 2.8.1
optionalDependencies:
'@types/react': 19.2.14
- use-sync-external-store@1.2.0(react@19.1.0):
+ use-sync-external-store@1.2.0(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
- use-sync-external-store@1.4.0(react@19.1.0):
+ use-sync-external-store@1.4.0(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
- use-sync-external-store@1.6.0(react@19.1.0):
+ use-sync-external-store@1.6.0(react@19.2.4):
dependencies:
- react: 19.1.0
+ react: 19.2.4
utf-8-validate@5.0.10:
dependencies:
@@ -19623,31 +20691,33 @@ snapshots:
is-typed-array: 1.1.15
which-typed-array: 1.1.20
+ uuid@11.1.0: {}
+
uuid@8.3.2: {}
uuid@9.0.1: {}
v8-compile-cache-lib@3.0.1: {}
- valibot@1.2.0(typescript@5.9.3):
+ valibot@1.2.0(typescript@6.0.2):
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- valtio@1.13.2(@types/react@19.2.14)(react@19.1.0):
+ valtio@1.13.2(@types/react@19.2.14)(react@19.2.4):
dependencies:
- derive-valtio: 0.1.0(valtio@1.13.2(@types/react@19.2.14)(react@19.1.0))
+ derive-valtio: 0.1.0(valtio@1.13.2(@types/react@19.2.14)(react@19.2.4))
proxy-compare: 2.6.0
- use-sync-external-store: 1.2.0(react@19.1.0)
+ use-sync-external-store: 1.2.0(react@19.2.4)
optionalDependencies:
'@types/react': 19.2.14
- react: 19.1.0
+ react: 19.2.4
- valtio@2.1.7(@types/react@19.2.14)(react@19.1.0):
+ valtio@2.1.7(@types/react@19.2.14)(react@19.2.4):
dependencies:
proxy-compare: 3.0.1
optionalDependencies:
'@types/react': 19.2.14
- react: 19.1.0
+ react: 19.2.4
varuint-bitcoin@2.0.0:
dependencies:
@@ -19655,6 +20725,16 @@ snapshots:
vary@1.1.2: {}
+ vfile-location@5.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
+
+ vfile-matter@5.0.1:
+ dependencies:
+ vfile: 6.0.3
+ yaml: 2.8.2
+
vfile-message@4.0.3:
dependencies:
'@types/unist': 3.0.3
@@ -19665,81 +20745,81 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
- viem@2.23.2(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76):
+ viem@2.23.2(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6):
dependencies:
'@noble/curves': 1.8.1
'@noble/hashes': 1.7.1
'@scure/bip32': 1.6.2
'@scure/bip39': 1.5.4
- abitype: 1.0.8(typescript@5.9.3)(zod@3.25.76)
+ abitype: 1.0.8(typescript@6.0.2)(zod@4.3.6)
isows: 1.0.6(ws@8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))
- ox: 0.6.7(typescript@5.9.3)(zod@3.25.76)
+ ox: 0.6.7(typescript@6.0.2)(zod@4.3.6)
ws: 8.18.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- zod
- viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4):
+ viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.22.4):
dependencies:
'@noble/curves': 1.9.1
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@3.22.4)
+ abitype: 1.2.3(typescript@6.0.2)(zod@3.22.4)
isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))
- ox: 0.14.7(typescript@5.9.3)(zod@3.22.4)
+ ox: 0.14.7(typescript@6.0.2)(zod@3.22.4)
ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- zod
- viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76):
+ viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@3.25.76):
dependencies:
'@noble/curves': 1.9.1
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@3.25.76)
+ abitype: 1.2.3(typescript@6.0.2)(zod@3.25.76)
isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))
- ox: 0.14.7(typescript@5.9.3)(zod@3.25.76)
+ ox: 0.14.7(typescript@6.0.2)(zod@3.25.76)
ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- zod
- viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.3.6):
+ viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6):
dependencies:
'@noble/curves': 1.9.1
'@noble/hashes': 1.8.0
'@scure/bip32': 1.7.0
'@scure/bip39': 1.6.0
- abitype: 1.2.3(typescript@5.9.3)(zod@4.3.6)
+ abitype: 1.2.3(typescript@6.0.2)(zod@4.3.6)
isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10))
- ox: 0.14.7(typescript@5.9.3)(zod@4.3.6)
+ ox: 0.14.7(typescript@6.0.2)(zod@4.3.6)
ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@5.0.10)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- zod
- vite-node@3.2.4(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2):
+ vite-node@3.2.4(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
cac: 6.7.14
debug: 4.4.3(supports-color@5.5.0)
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -19754,22 +20834,11 @@ snapshots:
- tsx
- yaml
- vite-plugin-sitemap@0.7.1: {}
-
- vite-tsconfig-paths@5.1.4(typescript@5.9.3)(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)):
- dependencies:
- debug: 4.4.3(supports-color@5.5.0)
- globrex: 0.1.2
- tsconfck: 3.1.6(typescript@5.9.3)
- optionalDependencies:
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
- transitivePeerDependencies:
- - supports-color
- - typescript
+ vite-plugin-sitemap@0.8.2: {}
- vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2):
+ vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
- esbuild: 0.25.12
+ esbuild: 0.27.4
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
@@ -19779,76 +20848,80 @@ snapshots:
'@types/node': 25.3.0
fsevents: 2.3.3
jiti: 2.6.1
- lightningcss: 1.31.1
+ lightningcss: 1.32.0
tsx: 4.21.0
yaml: 2.8.2
- vitest@3.2.4(@types/debug@4.1.13)(@types/node@25.3.0)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2):
+ vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
- '@types/chai': 5.2.3
- '@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))
- '@vitest/pretty-format': 3.2.4
- '@vitest/runner': 3.2.4
- '@vitest/snapshot': 3.2.4
- '@vitest/spy': 3.2.4
- '@vitest/utils': 3.2.4
- chai: 5.3.3
- debug: 4.4.3(supports-color@5.5.0)
+ lightningcss: 1.32.0
+ picomatch: 4.0.4
+ postcss: 8.5.8
+ rolldown: 1.0.0-rc.12(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)
+ tinyglobby: 0.2.15
+ optionalDependencies:
+ '@types/node': 25.3.0
+ esbuild: 0.25.12
+ fsevents: 2.3.3
+ jiti: 2.6.1
+ tsx: 4.21.0
+ yaml: 2.8.2
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+
+ vitest@4.1.2(@types/node@25.3.0)(jsdom@29.0.1(@noble/hashes@1.8.0))(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)):
+ dependencies:
+ '@vitest/expect': 4.1.2
+ '@vitest/mocker': 4.1.2(vite@8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@vitest/pretty-format': 4.1.2
+ '@vitest/runner': 4.1.2
+ '@vitest/snapshot': 4.1.2
+ '@vitest/spy': 4.1.2
+ '@vitest/utils': 4.1.2
+ es-module-lexer: 2.0.0
expect-type: 1.3.0
magic-string: 0.30.21
+ obug: 2.1.1
pathe: 2.0.3
picomatch: 4.0.3
- std-env: 3.10.0
+ std-env: 4.0.0
tinybench: 2.9.0
- tinyexec: 0.3.2
+ tinyexec: 1.0.2
tinyglobby: 0.2.15
- tinypool: 1.1.1
- tinyrainbow: 2.0.0
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
- vite-node: 3.2.4(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ tinyrainbow: 3.1.0
+ vite: 8.0.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@25.3.0)(esbuild@0.25.12)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.8.2)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/debug': 4.1.13
'@types/node': 25.3.0
- jsdom: 26.1.0(bufferutil@4.1.0)(utf-8-validate@5.0.10)
+ jsdom: 29.0.1(@noble/hashes@1.8.0)
transitivePeerDependencies:
- - jiti
- - less
- - lightningcss
- msw
- - sass
- - sass-embedded
- - stylus
- - sugarss
- - supports-color
- - terser
- - tsx
- - yaml
- vocs@1.0.11(@types/node@25.3.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.31.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.59.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2):
+ vocs@1.4.1(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@types/node@25.3.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.32.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.59.0)(tsx@4.21.0)(typescript@6.0.2):
dependencies:
- '@floating-ui/react': 0.27.18(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@floating-ui/react': 0.27.18(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@hono/node-server': 1.19.9(hono@4.12.2)
- '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.1.0)
+ '@mdx-js/mdx': 3.1.1
+ '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.4)
'@mdx-js/rollup': 3.1.1(rollup@4.59.0)
'@noble/hashes': 1.8.0
'@radix-ui/colors': 3.0.0
- '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-icons': 1.3.2(react@19.1.0)
- '@radix-ui/react-label': 2.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-icons': 1.3.2(react@19.2.4)
+ '@radix-ui/react-label': 2.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@shikijs/rehype': 1.29.2
'@shikijs/transformers': 1.29.2
- '@shikijs/twoslash': 1.29.2(typescript@5.9.3)
- '@tailwindcss/vite': 4.0.7(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@shikijs/twoslash': 1.29.2(typescript@6.0.2)
+ '@tailwindcss/vite': 4.1.15(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
'@vanilla-extract/css': 1.18.0(babel-plugin-macros@3.1.0)
'@vanilla-extract/dynamic': 2.1.5
- '@vanilla-extract/vite-plugin': 5.1.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))(yaml@2.8.2)
- '@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2))
+ '@vanilla-extract/vite-plugin': 5.1.4(@types/node@25.3.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))(yaml@2.8.2)
+ '@vitejs/plugin-react': 5.2.0(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
autoprefixer: 10.4.24(postcss@8.5.6)
cac: 6.7.14
chroma-js: 3.2.0
@@ -19857,7 +20930,6 @@ snapshots:
create-vocs: 1.0.0
cross-spawn: 7.0.6
fs-extra: 11.3.3
- globby: 14.1.0
hastscript: 8.0.0
hono: 4.12.2
mark.js: 8.11.1
@@ -19869,18 +20941,21 @@ snapshots:
mdast-util-mdx-jsx: 3.2.0
mdast-util-to-hast: 13.2.1
mdast-util-to-markdown: 2.1.2
- minimatch: 9.0.6
- minisearch: 6.3.0
+ minisearch: 7.2.0
+ nuqs: 2.8.9(@tanstack/react-router@1.168.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-router@7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)
ora: 7.0.1
p-limit: 5.0.0
+ picomatch: 4.0.3
+ playwright: 1.59.1
postcss: 8.5.6
- radix-ui: 1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react: 19.1.0
- react-dom: 19.1.0(react@19.1.0)
- react-intersection-observer: 9.16.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- react-router: 7.13.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ radix-ui: 1.4.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ react-dom: 19.2.4(react@19.2.4)
+ react-intersection-observer: 9.16.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-router: 7.13.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
rehype-autolink-headings: 7.1.0
rehype-class-names: 2.0.0
+ rehype-mermaid: 3.0.0(playwright@1.59.1)
rehype-slug: 6.0.0
remark-directive: 3.0.1
remark-frontmatter: 5.0.0
@@ -19891,12 +20966,16 @@ snapshots:
serve-static: 1.16.3
shiki: 1.29.2
toml: 3.0.0
- twoslash: 0.2.12(typescript@5.9.3)
+ twoslash: 0.3.6(typescript@6.0.2)
ua-parser-js: 1.0.41
unified: 11.0.5
unist-util-visit: 5.1.0
- vite: 6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(tsx@4.21.0)(yaml@2.8.2)
+ vfile-matter: 5.0.1
+ vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ yaml: 2.8.2
transitivePeerDependencies:
+ - '@remix-run/react'
+ - '@tanstack/react-router'
- '@types/node'
- '@types/react'
- '@types/react-dom'
@@ -19904,6 +20983,8 @@ snapshots:
- jiti
- less
- lightningcss
+ - next
+ - react-router-dom
- rollup
- sass
- sass-embedded
@@ -19913,22 +20994,38 @@ snapshots:
- terser
- tsx
- typescript
- - yaml
+
+ vscode-jsonrpc@8.2.0: {}
+
+ vscode-languageserver-protocol@3.17.5:
+ dependencies:
+ vscode-jsonrpc: 8.2.0
+ vscode-languageserver-types: 3.17.5
+
+ vscode-languageserver-textdocument@1.0.12: {}
+
+ vscode-languageserver-types@3.17.5: {}
+
+ vscode-languageserver@9.0.1:
+ dependencies:
+ vscode-languageserver-protocol: 3.17.5
+
+ vscode-uri@3.1.0: {}
w3c-xmlserializer@5.0.0:
dependencies:
xml-name-validator: 5.0.0
- wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76):
+ wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6):
dependencies:
- '@tanstack/react-query': 5.95.2(react@19.1.0)
- '@wagmi/connectors': 6.2.0(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.5(@tanstack/query-core@5.95.2)(@tanstack/react-query@5.95.2(react@19.1.0))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))(zod@3.25.76))(zod@3.25.76)
- '@wagmi/core': 2.22.1(@tanstack/query-core@5.95.2)(@types/react@19.2.14)(react@19.1.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.1.0))(viem@2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76))
- react: 19.1.0
- use-sync-external-store: 1.4.0(react@19.1.0)
- viem: 2.47.6(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@tanstack/react-query': 5.96.1(react@19.2.4)
+ '@wagmi/connectors': 6.2.0(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(@wagmi/core@2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)))(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(wagmi@2.19.5(@tanstack/query-core@5.96.1)(@tanstack/react-query@5.96.1(react@19.2.4))(@types/react@19.2.14)(bufferutil@4.1.0)(react@19.2.4)(typescript@6.0.2)(utf-8-validate@5.0.10)(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))(zod@4.3.6))(zod@4.3.6)
+ '@wagmi/core': 2.22.1(@tanstack/query-core@5.96.1)(@types/react@19.2.14)(react@19.2.4)(typescript@6.0.2)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6))
+ react: 19.2.4
+ use-sync-external-store: 1.4.0(react@19.2.4)
+ viem: 2.47.6(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@5.0.10)(zod@4.3.6)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -19964,9 +21061,7 @@ snapshots:
- utf-8-validate
- zod
- wcwidth@1.0.1:
- dependencies:
- defaults: 1.0.4
+ web-namespaces@2.0.1: {}
web-streams-polyfill@3.3.3: {}
@@ -19974,20 +21069,21 @@ snapshots:
webidl-conversions@3.0.1: {}
- webidl-conversions@7.0.0: {}
+ webidl-conversions@8.0.1: {}
webpack-virtual-modules@0.6.2: {}
- whatwg-encoding@3.1.1:
- dependencies:
- iconv-lite: 0.6.3
-
whatwg-mimetype@4.0.0: {}
- whatwg-url@14.2.0:
+ whatwg-mimetype@5.0.0: {}
+
+ whatwg-url@16.0.1(@noble/hashes@1.8.0):
dependencies:
- tr46: 5.1.1
- webidl-conversions: 7.0.0
+ '@exodus/bytes': 1.15.0(@noble/hashes@1.8.0)
+ tr46: 6.0.0
+ webidl-conversions: 8.0.1
+ transitivePeerDependencies:
+ - '@noble/hashes'
whatwg-url@5.0.0:
dependencies:
@@ -20027,12 +21123,6 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.3
- string-width: 5.1.2
- strip-ansi: 7.1.2
-
wrap-ansi@9.0.2:
dependencies:
ansi-styles: 6.2.3
@@ -20061,6 +21151,11 @@ snapshots:
bufferutil: 4.1.0
utf-8-validate: 5.0.10
+ ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@5.0.10):
+ optionalDependencies:
+ bufferutil: 4.1.0
+ utf-8-validate: 5.0.10
+
xml-name-validator@5.0.0: {}
xmlchars@2.2.0: {}
@@ -20075,8 +21170,6 @@ snapshots:
yallist@3.1.1: {}
- yaml-ast-parser@0.0.43: {}
-
yaml@1.10.2: {}
yaml@2.8.2: {}
@@ -20118,34 +21211,36 @@ snapshots:
yocto-queue@1.2.2: {}
+ yoctocolors-cjs@2.1.3: {}
+
zod@3.22.4: {}
zod@3.25.76: {}
zod@4.3.6: {}
- zustand@5.0.0(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0)):
+ zustand@5.0.0(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4)):
optionalDependencies:
'@types/react': 19.2.14
- react: 19.1.0
- use-sync-external-store: 1.4.0(react@19.1.0)
+ react: 19.2.4
+ use-sync-external-store: 1.4.0(react@19.2.4)
- zustand@5.0.11(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0)):
+ zustand@5.0.11(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4)):
optionalDependencies:
'@types/react': 19.2.14
- react: 19.1.0
- use-sync-external-store: 1.4.0(react@19.1.0)
+ react: 19.2.4
+ use-sync-external-store: 1.4.0(react@19.2.4)
- zustand@5.0.12(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0)):
+ zustand@5.0.12(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4)):
optionalDependencies:
'@types/react': 19.2.14
- react: 19.1.0
- use-sync-external-store: 1.4.0(react@19.1.0)
+ react: 19.2.4
+ use-sync-external-store: 1.4.0(react@19.2.4)
- zustand@5.0.3(@types/react@19.2.14)(react@19.1.0)(use-sync-external-store@1.4.0(react@19.1.0)):
+ zustand@5.0.3(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4)):
optionalDependencies:
'@types/react': 19.2.14
- react: 19.1.0
- use-sync-external-store: 1.4.0(react@19.1.0)
+ react: 19.2.4
+ use-sync-external-store: 1.4.0(react@19.2.4)
zwitch@2.0.4: {}
diff --git a/pull_request_template.md b/pull_request_template.md
deleted file mode 100644
index 80f6191b..00000000
--- a/pull_request_template.md
+++ /dev/null
@@ -1,36 +0,0 @@
-Closes #
-
-# Description:
-
-(Please include a summary of the changes and the related issue)
-
-# Steps:
-
-(Required steps to reproduce or test the fix / feature)
-
-## Type of change:
-
-- [ ] New feature
-- [ ] Bug fix
-- [ ] Breaking change
-- [ ] Enhancement
-- [ ] Refactoring
-- [ ] Chore
-
-# How Has This Been Tested?
-
-- [ ] Manual testing
-- [ ] Automated tests
-- [ ] Other (explain)
-
-# Remember to check that:
-
-- Your code follows the style guidelines of this project
-- You have performed a self-review of your code
-- You have commented your code in hard-to-understand areas
-- You have made corresponding changes to the documentation
-- Your changes generate no new warnings
-
-# Screenshots
-
-(Add screenshots or videos to help test this pull request)
diff --git a/src/components/pageComponents/NotFound404.tsx b/src/components/pageComponents/NotFound404.tsx
index 3cbb7fea..7bfbb871 100644
--- a/src/components/pageComponents/NotFound404.tsx
+++ b/src/components/pageComponents/NotFound404.tsx
@@ -1,6 +1,6 @@
+import { useNavigate } from '@tanstack/react-router'
import { GeneralMessage } from '@/src/components/sharedComponents/ui/GeneralMessage'
import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
-import { useNavigate } from '@tanstack/react-router'
const Icon = () => (
+ {
+ setL2Hash(null)
+ const hash = await sendCrossChainMessage()
+ const receipt = await readOnlyClient.waitForTransactionReceipt({ hash })
+ const [log] = extractTransactionDepositedLogs(receipt)
+ const l2Hash = getL2TransactionHash({ log })
+ setL2Hash(l2Hash)
+ return hash
+ }}
+ >
+ Deposit ETH
+
+ {l2Hash && (
+
+ OpSepolia tx
+
+
+ )}
+
+ )
+})
const optimismCrossdomainMessenger = {
- demo: ,
+ demo: (
+
+
+
+ ),
href: 'https://bootnodedev.github.io/dAppBooster/functions/hooks_useOPL1CrossDomainMessengerProxy.useL1CrossDomainMessengerProxy.html',
icon: ,
text: (
diff --git a/src/components/pageComponents/home/Examples/demos/OptionsDropdown/index.tsx b/src/components/pageComponents/home/Examples/demos/OptionsDropdown/index.tsx
index 7fdbacd2..c6d31084 100644
--- a/src/components/pageComponents/home/Examples/demos/OptionsDropdown/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/OptionsDropdown/index.tsx
@@ -1,4 +1,4 @@
-import { Box, type BoxProps, Menu, chakra } from '@chakra-ui/react'
+import { Box, type BoxProps, chakra, Menu } from '@chakra-ui/react'
import { type FC, useState } from 'react'
import { buttonStyles, dropdownStyles } from './styles'
diff --git a/src/components/pageComponents/home/Examples/demos/SignMessage/index.tsx b/src/components/pageComponents/home/Examples/demos/SignMessage/index.tsx
index 0dd780f2..b3bbff9b 100644
--- a/src/components/pageComponents/home/Examples/demos/SignMessage/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/SignMessage/index.tsx
@@ -1,8 +1,8 @@
import Icon from '@/src/components/pageComponents/home/Examples/demos/SignMessage/Icon'
import Wrapper from '@/src/components/pageComponents/home/Examples/wrapper'
import SignButton from '@/src/components/sharedComponents/SignButton'
-import { WalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
+import { WalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
const message = `
👻🚀 Welcome to dAppBooster! 🚀👻
diff --git a/src/components/pageComponents/home/Examples/demos/SwitchNetwork/index.tsx b/src/components/pageComponents/home/Examples/demos/SwitchNetwork/index.tsx
index 5bc08029..8764854f 100644
--- a/src/components/pageComponents/home/Examples/demos/SwitchNetwork/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/SwitchNetwork/index.tsx
@@ -1,7 +1,3 @@
-import Icon from '@/src/components/pageComponents/home/Examples/demos/SwitchNetwork/Icon'
-import BaseSwitchNetwork, { type Networks } from '@/src/components/sharedComponents/SwitchNetwork'
-import { useWeb3Status } from '@/src/hooks/useWeb3Status'
-import { ConnectWalletButton } from '@/src/providers/Web3Provider'
import {
NetworkArbitrumOne,
NetworkEthereum,
@@ -9,6 +5,10 @@ import {
NetworkPolygon,
} from '@web3icons/react'
import { arbitrum, mainnet, optimism, polygon } from 'viem/chains'
+import Icon from '@/src/components/pageComponents/home/Examples/demos/SwitchNetwork/Icon'
+import BaseSwitchNetwork, { type Networks } from '@/src/components/sharedComponents/SwitchNetwork'
+import { useWeb3Status } from '@/src/hooks/useWeb3Status'
+import { ConnectWalletButton } from '@/src/providers/Web3Provider'
const SwitchNetwork = () => {
const { isWalletConnected } = useWeb3Status()
diff --git a/src/components/pageComponents/home/Examples/demos/TokenDropdown/index.tsx b/src/components/pageComponents/home/Examples/demos/TokenDropdown/index.tsx
index 6d4fcfea..98da81c7 100644
--- a/src/components/pageComponents/home/Examples/demos/TokenDropdown/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TokenDropdown/index.tsx
@@ -1,8 +1,8 @@
+import { type FC, useState } from 'react'
import Icon from '@/src/components/pageComponents/home/Examples/demos/TokenDropdown/Icon'
import Wrapper from '@/src/components/pageComponents/home/Examples/wrapper'
import BaseTokenDropdown from '@/src/components/sharedComponents/TokenDropdown'
import type { Token } from '@/src/types/token'
-import { type FC, useState } from 'react'
const TokenDropdown: FC = ({ ...restProps }) => {
const [currentToken, setCurrentToken] = useState()
diff --git a/src/components/pageComponents/home/Examples/demos/TokenInput/index.test.tsx b/src/components/pageComponents/home/Examples/demos/TokenInput/index.test.tsx
index 9e86b8b7..c582dd3d 100644
--- a/src/components/pageComponents/home/Examples/demos/TokenInput/index.test.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TokenInput/index.test.tsx
@@ -1,7 +1,8 @@
-import { createMockWeb3Status, renderWithProviders } from '@/src/test-utils'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
-import { screen } from '@testing-library/react'
+import { screen, waitFor } from '@testing-library/react'
+import userEvent from '@testing-library/user-event'
import { describe, expect, it, vi } from 'vitest'
+import { createMockWeb3Status, renderWithProviders } from '@/src/test-utils'
import tokenInput from './index'
vi.mock('@/src/hooks/useWeb3Status', () => ({
@@ -20,6 +21,8 @@ vi.mock('@/src/hooks/useTokenLists', () => ({
vi.mock('@/src/hooks/useTokenSearch', () => ({
useTokenSearch: vi.fn(() => ({
searchResult: [],
+ searchTerm: '',
+ setSearchTerm: vi.fn(),
})),
}))
@@ -32,18 +35,59 @@ vi.mock('@/src/components/sharedComponents/TokenInput/useTokenInput', () => ({
balance: 0n,
balanceError: null,
isLoadingBalance: false,
+ isLoadingPrice: false,
+ priceUSD: undefined,
selectedToken: undefined,
setTokenSelected: vi.fn(),
})),
}))
+// TokenSelect calls useTokens internally; return empty arrays per chain to avoid
+// TopTokens receiving undefined and crashing on .find()
+vi.mock('@/src/hooks/useTokens', () => ({
+ useTokens: vi.fn(() => ({
+ tokens: [],
+ tokensByChainId: { 1: [], 10: [], 42161: [], 137: [], 11155111: [] },
+ isLoadingBalances: false,
+ isLoadingPrices: false,
+ })),
+}))
+
+vi.mock('@/src/constants/common', () => ({
+ includeTestnets: true,
+ isDev: false,
+ NO_PRICE_DATA_LABEL: 'N/A',
+}))
+
describe('TokenInput demo', () => {
it('renders the token input container', () => {
const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false } } })
renderWithProviders(
{tokenInput.demo},
)
- // The mode dropdown should be visible
- expect(screen.getByText('Single token')).toBeDefined()
+ expect(screen.getByText('Multi token')).toBeDefined()
+ })
+
+ it('shows Sepolia in the network selector when includeTestnets is true', async () => {
+ const user = userEvent.setup()
+ const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false } } })
+
+ renderWithProviders(
+ {tokenInput.demo},
+ )
+
+ // Open the TokenSelect dialog
+ await user.click(screen.getByText('Select'))
+
+ // There are two "Chevron down" SVGs: one in the DropdownButton trigger (pointer-events:none)
+ // and one in the NetworkButton inside the dialog. Click the last one (the network switcher).
+ const chevrons = await screen.findAllByTitle('Chevron down')
+ const networkChevron = chevrons[chevrons.length - 1]
+ const networkButton = networkChevron.closest('button')
+ expect(networkButton).not.toBeNull()
+ await user.click(networkButton as HTMLButtonElement)
+
+ // Sepolia should be listed as a network option
+ await waitFor(() => expect(screen.getByText('Sepolia')).toBeDefined())
})
})
diff --git a/src/components/pageComponents/home/Examples/demos/TokenInput/index.tsx b/src/components/pageComponents/home/Examples/demos/TokenInput/index.tsx
index c4544c5e..99d44408 100644
--- a/src/components/pageComponents/home/Examples/demos/TokenInput/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TokenInput/index.tsx
@@ -1,21 +1,23 @@
+import { Box, Flex, Skeleton } from '@chakra-ui/react'
+import {
+ NetworkArbitrumOne,
+ NetworkEthereum,
+ NetworkOptimism,
+ NetworkPolygon,
+ NetworkSepolia,
+} from '@web3icons/react'
+import { useState } from 'react'
+import { arbitrum, mainnet, optimism, polygon, sepolia } from 'viem/chains'
import OptionsDropdown from '@/src/components/pageComponents/home/Examples/demos/OptionsDropdown'
import Icon from '@/src/components/pageComponents/home/Examples/demos/TokenInput/Icon'
import BaseTokenInput from '@/src/components/sharedComponents/TokenInput'
import { useTokenInput } from '@/src/components/sharedComponents/TokenInput/useTokenInput'
import type { Networks } from '@/src/components/sharedComponents/TokenSelect/types'
+import { includeTestnets } from '@/src/constants/common'
import { useTokenLists } from '@/src/hooks/useTokenLists'
import { useTokenSearch } from '@/src/hooks/useTokenSearch'
import { useWeb3Status } from '@/src/hooks/useWeb3Status'
import { withSuspenseAndRetry } from '@/src/utils/suspenseWrapper'
-import { Box, Flex, Skeleton } from '@chakra-ui/react'
-import {
- NetworkArbitrumOne,
- NetworkEthereum,
- NetworkOptimism,
- NetworkPolygon,
-} from '@web3icons/react'
-import { useState } from 'react'
-import { arbitrum, mainnet, optimism, polygon } from 'viem/chains'
type Options = 'single' | 'multi'
@@ -105,6 +107,21 @@ const TokenInputMode = withSuspenseAndRetry(
label: polygon.name,
onClick: () => setCurrentNetworkId(polygon.id),
},
+ ...(includeTestnets
+ ? [
+ {
+ icon: (
+
+ ),
+ id: sepolia.id,
+ label: sepolia.name,
+ onClick: () => setCurrentNetworkId(sepolia.id),
+ },
+ ]
+ : []),
]
return (
@@ -127,10 +144,10 @@ const TokenInputMode = withSuspenseAndRetry(
* token or multi token mode.
*/
const TokenInput = () => {
- const [currentTokenInput, setCurrentTokenInput] = useState('single')
+ const [currentTokenInput, setCurrentTokenInput] = useState('multi')
const dropdownItems = [
- { label: 'Single token', onClick: () => setCurrentTokenInput('single') },
{ label: 'Multi token', onClick: () => setCurrentTokenInput('multi') },
+ { label: 'Single token', onClick: () => setCurrentTokenInput('single') },
]
return (
diff --git a/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/ERC20ApproveAndTransferButton.tsx b/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/ERC20ApproveAndTransferButton.tsx
index 93db6525..973ce924 100644
--- a/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/ERC20ApproveAndTransferButton.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/ERC20ApproveAndTransferButton.tsx
@@ -1,13 +1,14 @@
+import type { FC } from 'react'
+import { type Address, erc20Abi, type Hash, type TransactionReceipt } from 'viem'
+import * as chains from 'viem/chains'
+import { useWriteContract } from 'wagmi'
import Wrapper from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/Wrapper'
import TransactionButton from '@/src/components/sharedComponents/TransactionButton'
+import { useWeb3StatusConnected } from '@/src/components/sharedComponents/WalletStatusVerifier'
import { useSuspenseReadErc20Allowance } from '@/src/hooks/generated'
-import { useWeb3Status, useWeb3StatusConnected } from '@/src/hooks/useWeb3Status'
+import { useWeb3Status } from '@/src/hooks/useWeb3Status'
import type { Token } from '@/src/types/token'
import { getExplorerLink } from '@/src/utils/getExplorerLink'
-import type { FC } from 'react'
-import { type Address, type Hash, type TransactionReceipt, erc20Abi } from 'viem'
-import * as chains from 'viem/chains'
-import { useWriteContract } from 'wagmi'
interface Props {
amount: bigint
diff --git a/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/MintUSDC.tsx b/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/MintUSDC.tsx
index 7dbad8f9..10c1e59f 100644
--- a/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/MintUSDC.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/MintUSDC.tsx
@@ -1,9 +1,9 @@
+import { sepolia } from 'viem/chains'
+import { useWriteContract } from 'wagmi'
import TransactionButton from '@/src/components/sharedComponents/TransactionButton'
+import { useWeb3StatusConnected } from '@/src/components/sharedComponents/WalletStatusVerifier'
import { AaveFaucetABI } from '@/src/constants/contracts/abis/AaveFaucet'
import { getContract } from '@/src/constants/contracts/contracts'
-import { useWeb3StatusConnected } from '@/src/hooks/useWeb3Status'
-import { sepolia } from 'viem/chains'
-import { useWriteContract } from 'wagmi'
export default function MintUSDC({ onSuccess }: { onSuccess: () => void }) {
const { address } = useWeb3StatusConnected()
diff --git a/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/index.tsx b/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/index.tsx
index 66fec3ba..5aabb626 100644
--- a/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/index.tsx
@@ -1,15 +1,14 @@
+import { type Address, formatUnits } from 'viem'
+import { sepolia } from 'viem/chains'
+import { useWriteContract } from 'wagmi'
import BaseERC20ApproveAndTransferButton from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/ERC20ApproveAndTransferButton'
import MintUSDC from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton/MintUSDC'
import Wrapper from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/Wrapper'
-import { withWalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
+import { useWeb3StatusConnected } from '@/src/components/sharedComponents/WalletStatusVerifier'
import { useSuspenseReadErc20BalanceOf } from '@/src/hooks/generated'
-import { useWeb3StatusConnected } from '@/src/hooks/useWeb3Status'
import type { Token } from '@/src/types/token'
-import { NumberType, formatNumberOrString } from '@/src/utils/numberFormat'
+import { formatNumberOrString, NumberType } from '@/src/utils/numberFormat'
import { withSuspense } from '@/src/utils/suspenseWrapper'
-import { type Address, formatUnits } from 'viem'
-import { sepolia } from 'viem/chains'
-import { useWriteContract } from 'wagmi'
// USDC token on Sepolia chain
const tokenUSDC_sepolia: Token = {
@@ -57,59 +56,52 @@ const ABIExample = [
*
* Works only on Sepolia chain.
*/
-const ERC20ApproveAndTransferButton = withWalletStatusVerifier(
- withSuspense(() => {
- const { address } = useWeb3StatusConnected()
- const { writeContractAsync } = useWriteContract()
+const ERC20ApproveAndTransferButton = withSuspense(() => {
+ const { address } = useWeb3StatusConnected()
+ const { writeContractAsync } = useWriteContract()
- const { data: balance, refetch: refetchBalance } = useSuspenseReadErc20BalanceOf({
- address: tokenUSDC_sepolia.address as Address,
- args: [address],
- })
+ const { data: balance, refetch: refetchBalance } = useSuspenseReadErc20BalanceOf({
+ address: tokenUSDC_sepolia.address as Address,
+ args: [address],
+ })
- // AAVE staging contract pool address
- const spender = '0x6Ae43d3271ff6888e7Fc43Fd7321a503ff738951'
+ // AAVE staging contract pool address
+ const spender = '0x6Ae43d3271ff6888e7Fc43Fd7321a503ff738951'
- const amount = 10000000000n // 10,000.00 USDC
+ const amount = 10000000000n // 10,000.00 USDC
- const handleTransaction = () =>
- writeContractAsync({
- abi: ABIExample,
- address: spender,
- functionName: 'supply',
- args: [tokenUSDC_sepolia.address as Address, amount, address, 0],
- })
- handleTransaction.methodId = 'Supply USDC'
+ const handleTransaction = () =>
+ writeContractAsync({
+ abi: ABIExample,
+ address: spender,
+ functionName: 'supply',
+ args: [tokenUSDC_sepolia.address as Address, amount, address, 0],
+ })
+ handleTransaction.methodId = 'Supply USDC'
- const formattedAmount = formatNumberOrString(
- formatUnits(amount, tokenUSDC_sepolia.decimals),
- NumberType.TokenTx,
- )
+ const formattedAmount = formatNumberOrString(
+ formatUnits(amount, tokenUSDC_sepolia.decimals),
+ NumberType.TokenTx,
+ )
- return (
- <>
- {balance < amount ? (
-
-
-
- ) : (
- refetchBalance}
- spender={spender}
- token={tokenUSDC_sepolia}
- transaction={handleTransaction}
- />
- )}
- >
- )
- }),
- { chainId: sepolia.id }, // this DEMO component only works on sepolia chain
-)
+ return balance < amount ? (
+
+
+
+ ) : (
+ refetchBalance()}
+ spender={spender}
+ token={tokenUSDC_sepolia}
+ transaction={handleTransaction}
+ />
+ )
+})
export default ERC20ApproveAndTransferButton
diff --git a/src/components/pageComponents/home/Examples/demos/TransactionButton/NativeToken.tsx b/src/components/pageComponents/home/Examples/demos/TransactionButton/NativeToken.tsx
index a1894296..03d40677 100644
--- a/src/components/pageComponents/home/Examples/demos/TransactionButton/NativeToken.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TransactionButton/NativeToken.tsx
@@ -1,87 +1,84 @@
-import Wrapper from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/Wrapper'
-import TransactionButton from '@/src/components/sharedComponents/TransactionButton'
-import { withWalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
-import { GeneralMessage } from '@/src/components/sharedComponents/ui/GeneralMessage'
-import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
-import { useWeb3StatusConnected } from '@/src/hooks/useWeb3Status'
import { Dialog } from '@chakra-ui/react'
import { type ReactElement, useState } from 'react'
-import { type Hash, type TransactionReceipt, parseEther } from 'viem'
+import { type Hash, parseEther, type TransactionReceipt } from 'viem'
import { sepolia } from 'viem/chains'
import { useSendTransaction } from 'wagmi'
+import Wrapper from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/Wrapper'
+import TransactionButton from '@/src/components/sharedComponents/TransactionButton'
+import { GeneralMessage } from '@/src/components/sharedComponents/ui/GeneralMessage'
+import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
+import { useWeb3StatusConnected } from '@/src/components/sharedComponents/WalletStatusVerifier'
/**
* This demo shows how to send a native token transaction.
*
* Works only on Sepolia chain.
*/
-const NativeToken = withWalletStatusVerifier(
- () => {
- const [isModalOpen, setIsModalOpen] = useState(false)
- const { address } = useWeb3StatusConnected()
- const { sendTransactionAsync } = useSendTransaction()
- const [minedMessage, setMinedMessage] = useState()
+const NativeToken = () => {
+ const [isModalOpen, setIsModalOpen] = useState(false)
+ const { address } = useWeb3StatusConnected()
+ const { sendTransactionAsync } = useSendTransaction()
+ const [minedMessage, setMinedMessage] = useState()
- const handleOnMined = (receipt: TransactionReceipt) => {
- setMinedMessage(
- <>
- Hash: {receipt.transactionHash}
- >,
- )
- setIsModalOpen(true)
- }
+ const handleOnMined = (receipt: TransactionReceipt) => {
+ setMinedMessage(
+ <>
+ Hash: {receipt.transactionHash}
+ >,
+ )
+ setIsModalOpen(true)
+ }
- const handleSendTransaction = (): Promise => {
- // Send native token
- return sendTransactionAsync({
- to: address,
- value: parseEther('0.1'),
- })
- }
- handleSendTransaction.methodId = 'sendTransaction'
+ const handleSendTransaction = (): Promise => {
+ // Send native token
+ return sendTransactionAsync({
+ to: address,
+ value: parseEther('0.1'),
+ })
+ }
+ handleSendTransaction.methodId = 'sendTransaction'
- return (
-
+
-
-
- Send 0.1 Sepolia ETH
-
-
-
-
-
- {
- setIsModalOpen(false)
- setMinedMessage('')
- }}
- >
- Close
-
- }
- message={minedMessage}
- title={'Transaction completed!'}
- />
-
-
-
- )
- },
- {
- chainId: sepolia.id, // this DEMO component only works on sepolia chain
- },
-)
+ Send 0.1 Sepolia ETH
+
+
+
+
+
+ {
+ setIsModalOpen(false)
+ setMinedMessage('')
+ }}
+ >
+ Close
+
+ }
+ message={minedMessage}
+ title={'Transaction completed!'}
+ />
+
+
+
+ )
+}
export default NativeToken
diff --git a/src/components/pageComponents/home/Examples/demos/TransactionButton/index.test.tsx b/src/components/pageComponents/home/Examples/demos/TransactionButton/index.test.tsx
index 1d7d3be8..fd29ee05 100644
--- a/src/components/pageComponents/home/Examples/demos/TransactionButton/index.test.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TransactionButton/index.test.tsx
@@ -1,6 +1,6 @@
-import { createMockWeb3Status, renderWithProviders } from '@/src/test-utils'
import { screen } from '@testing-library/react'
import { describe, expect, it, vi } from 'vitest'
+import { createMockWeb3Status, renderWithProviders } from '@/src/test-utils'
import transactionButton from './index'
vi.mock('@/src/hooks/useWeb3Status', () => ({
diff --git a/src/components/pageComponents/home/Examples/demos/TransactionButton/index.tsx b/src/components/pageComponents/home/Examples/demos/TransactionButton/index.tsx
index a77c0dc4..a8733bb2 100644
--- a/src/components/pageComponents/home/Examples/demos/TransactionButton/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/TransactionButton/index.tsx
@@ -1,11 +1,11 @@
+import { Flex } from '@chakra-ui/react'
+import { useState } from 'react'
+import { sepolia } from 'wagmi/chains'
import { OptionsDropdown } from '@/src/components/pageComponents/home/Examples/demos/OptionsDropdown'
import ERC20ApproveAndTransferButton from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/ERC20ApproveAndTransferButton'
import Icon from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/Icon'
import NativeToken from '@/src/components/pageComponents/home/Examples/demos/TransactionButton/NativeToken'
import { WalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
-import { Flex } from '@chakra-ui/react'
-import { useState } from 'react'
-import { sepolia } from 'wagmi/chains'
type Options = 'erc20' | 'native'
@@ -18,20 +18,18 @@ const TransactionButton = () => {
return (
- <>
-
-
- {currentTokenInput === 'erc20' && }
- {currentTokenInput === 'native' && }
-
- >
+
+
+ {currentTokenInput === 'erc20' && }
+ {currentTokenInput === 'native' && }
+
)
}
diff --git a/src/components/pageComponents/home/Examples/demos/subgraphs/Subgraph/index.tsx b/src/components/pageComponents/home/Examples/demos/subgraphs/Subgraph/index.tsx
index b1a16931..ada82963 100644
--- a/src/components/pageComponents/home/Examples/demos/subgraphs/Subgraph/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/subgraphs/Subgraph/index.tsx
@@ -1,3 +1,10 @@
+import { generateSchemasMapping } from '@bootnodedev/db-subgraph'
+import { Box, Flex, Skeleton } from '@chakra-ui/react'
+import { useSuspenseQuery } from '@tanstack/react-query'
+import { NetworkArbitrumOne, NetworkBase, NetworkOptimism, NetworkPolygon } from '@web3icons/react'
+import request from 'graphql-request'
+import { useState } from 'react'
+import { arbitrum, base, type Chain, optimism, polygon } from 'viem/chains'
import { OptionsDropdown } from '@/src/components/pageComponents/home/Examples/demos/OptionsDropdown'
import {
Row,
@@ -15,13 +22,6 @@ import { env } from '@/src/env'
import { allAaveReservesQueryDocument } from '@/src/subgraphs/queries/aave/reserves'
import { allUniswapPoolsQueryDocument } from '@/src/subgraphs/queries/uniswap/pools'
import { withSuspenseAndRetry } from '@/src/utils/suspenseWrapper'
-import { generateSchemasMapping } from '@bootnodedev/db-subgraph'
-import { Box, Flex, Skeleton } from '@chakra-ui/react'
-import { useSuspenseQuery } from '@tanstack/react-query'
-import { NetworkArbitrumOne, NetworkBase, NetworkOptimism, NetworkPolygon } from '@web3icons/react'
-import request from 'graphql-request'
-import { useState } from 'react'
-import { type Chain, arbitrum, base, optimism, polygon } from 'viem/chains'
const chainNameMapping: { [key: number]: string } = {
[arbitrum.id]: 'arbitrum',
diff --git a/src/components/pageComponents/home/Examples/demos/subgraphs/SubgraphStatus/index.tsx b/src/components/pageComponents/home/Examples/demos/subgraphs/SubgraphStatus/index.tsx
index 1b8cba4b..e61b3766 100644
--- a/src/components/pageComponents/home/Examples/demos/subgraphs/SubgraphStatus/index.tsx
+++ b/src/components/pageComponents/home/Examples/demos/subgraphs/SubgraphStatus/index.tsx
@@ -1,3 +1,7 @@
+import { type SchemaMappingConfig, useSubgraphIndexingStatus } from '@bootnodedev/db-subgraph'
+import { Box, Flex, Skeleton, Span, Text } from '@chakra-ui/react'
+import { type FC, useState } from 'react'
+import { arbitrum, base, type Chain, optimism, polygon } from 'viem/chains'
import { OptionsDropdown } from '@/src/components/pageComponents/home/Examples/demos/OptionsDropdown'
import { getNetworkIcon } from '@/src/components/pageComponents/home/Examples/demos/subgraphs/Subgraph'
import {
@@ -11,10 +15,6 @@ import Icon from '@/src/components/pageComponents/home/Examples/demos/subgraphs/
import Spinner from '@/src/components/sharedComponents/ui/Spinner'
import { env } from '@/src/env'
import { withSuspenseAndRetry } from '@/src/utils/suspenseWrapper'
-import { type SchemaMappingConfig, useSubgraphIndexingStatus } from '@bootnodedev/db-subgraph'
-import { Box, Flex, Skeleton, Span, Text } from '@chakra-ui/react'
-import { type FC, useState } from 'react'
-import { type Chain, arbitrum, base, optimism, polygon } from 'viem/chains'
export const SkeletonLoadingItem = () => (
= ({ css, ...restProps }) => {
diff --git a/src/components/pageComponents/home/Welcome/index.tsx b/src/components/pageComponents/home/Welcome/index.tsx
index e1b1ca25..dcb1c64c 100644
--- a/src/components/pageComponents/home/Welcome/index.tsx
+++ b/src/components/pageComponents/home/Welcome/index.tsx
@@ -1,6 +1,6 @@
-import { Inner } from '@/src/components/sharedComponents/ui/Inner'
-import { type FlexProps, Heading, Link, Span, Text, chakra } from '@chakra-ui/react'
+import { chakra, type FlexProps, Heading, Link, Span, Text } from '@chakra-ui/react'
import type { FC } from 'react'
+import { Inner } from '@/src/components/sharedComponents/ui/Inner'
import styles from './styles'
const Arrow = () => (
diff --git a/src/components/pageComponents/home/index.test.tsx b/src/components/pageComponents/home/index.test.tsx
index d498d8a1..529bfe7b 100644
--- a/src/components/pageComponents/home/index.test.tsx
+++ b/src/components/pageComponents/home/index.test.tsx
@@ -1,6 +1,6 @@
-import { renderWithProviders } from '@/src/test-utils'
import { screen } from '@testing-library/react'
import { describe, expect, it, vi } from 'vitest'
+import { renderWithProviders } from '@/src/test-utils'
import { Home } from './index'
// Mock sub-components that pull in Web3 dependencies to keep this a pure structural test
diff --git a/src/components/sharedComponents/Avatar.tsx b/src/components/sharedComponents/Avatar.tsx
index 83242610..d2fb05b7 100644
--- a/src/components/sharedComponents/Avatar.tsx
+++ b/src/components/sharedComponents/Avatar.tsx
@@ -1,6 +1,18 @@
import { Box } from '@chakra-ui/react'
import type { ComponentProps, FC } from 'react'
-import Jazzicon, { jsNumberForAddress } from 'react-jazzicon'
+// react-jazzicon is CJS with __esModule. Vite 8's pre-bundler wraps it as
+// `export default module.exports`, so the default import is the module.exports
+// object, not the component. Node.js/Vitest gives the component directly.
+import _Jazzicon, { jsNumberForAddress as _jsNFA } from 'react-jazzicon'
+
+// Vite 8 pre-bundler wraps CJS __esModule packages as `export default module.exports`,
+// so the default import may be the module.exports object instead of exports.default.
+type CJSModule = Record
+const _mod = _Jazzicon as unknown as CJSModule
+const Jazzicon: typeof _Jazzicon =
+ typeof _Jazzicon === 'function' ? _Jazzicon : (_mod.default as typeof _Jazzicon)
+const jsNumberForAddress: typeof _jsNFA =
+ typeof _jsNFA === 'function' ? _jsNFA : (_mod.jsNumberForAddress as typeof _jsNFA)
interface AvatarProps extends ComponentProps<'div'> {
address: string
diff --git a/src/components/sharedComponents/BigNumberInput.test.tsx b/src/components/sharedComponents/BigNumberInput.test.tsx
index 03588853..d57c0384 100644
--- a/src/components/sharedComponents/BigNumberInput.test.tsx
+++ b/src/components/sharedComponents/BigNumberInput.test.tsx
@@ -1,8 +1,9 @@
import { ChakraProvider, createSystem, defaultConfig } from '@chakra-ui/react'
-import { render, screen } from '@testing-library/react'
+import { render, screen, waitFor } from '@testing-library/react'
import userEvent from '@testing-library/user-event'
import type { ComponentProps } from 'react'
-import { maxUint256 } from 'viem'
+import { NumericFormat } from 'react-number-format'
+import { maxUint256, parseUnits } from 'viem'
import { describe, expect, it, vi } from 'vitest'
import { BigNumberInput } from './BigNumberInput'
@@ -124,3 +125,98 @@ describe('BigNumberInput', () => {
expect(onError).not.toHaveBeenCalled()
})
})
+
+describe('BigNumberInput with renderInput (NumericFormat)', () => {
+ function renderWithNumericFormat(
+ props: Partial> & {
+ onChange?: (v: bigint) => void
+ } = {},
+ initialValue = BigInt(0),
+ ) {
+ const onChange = props.onChange ?? vi.fn()
+
+ const initialDecimals = props.decimals ?? 18
+
+ const makeJsx = (value: bigint, decimals = initialDecimals) => (
+
+ (
+ handleChange(v)}
+ value={displayVal as string | undefined}
+ // biome-ignore lint/suspicious/noExplicitAny: mirrors TokenAmountField pattern
+ {...(restProps as any)}
+ />
+ )}
+ {...props}
+ />
+
+ )
+
+ const { container, rerender } = render(makeJsx(initialValue))
+
+ return {
+ input: container.querySelector('input') as HTMLInputElement,
+ onChange,
+ rerender: (newValue: bigint, decimals?: number) => rerender(makeJsx(newValue, decimals)),
+ }
+ }
+
+ it('shows empty input (placeholder) when value is 0n', () => {
+ const { input } = renderWithNumericFormat()
+ expect(input.value).toBe('')
+ })
+
+ it('formats value with thousand separators when value changes externally', async () => {
+ const { input, rerender } = renderWithNumericFormat()
+ rerender(parseUnits('1000', 18))
+ await waitFor(() => {
+ expect(input.value).toBe('1,000')
+ })
+ })
+
+ it('shows empty input after value resets to 0n', async () => {
+ const { input, rerender } = renderWithNumericFormat()
+ rerender(parseUnits('1000', 18))
+ await waitFor(() => {
+ expect(input.value).toBe('1,000')
+ })
+ rerender(BigInt(0))
+ await waitFor(() => {
+ expect(input.value).toBe('')
+ })
+ })
+
+ it('preserves user-typed "0" without clearing to placeholder', async () => {
+ const { input } = renderWithNumericFormat()
+ await userEvent.type(input, '0')
+ expect(input.value).toBe('0')
+ })
+
+ it('shows formatted initial value when mounted with non-zero value', () => {
+ const { input } = renderWithNumericFormat({}, parseUnits('1000', 18))
+ expect(input.value).toBe('1,000')
+ })
+
+ it('reformats value when decimals change (token switch)', async () => {
+ const value = parseUnits('1000', 18)
+ const { input, rerender } = renderWithNumericFormat({}, value)
+ await waitFor(() => {
+ expect(input.value).toBe('1,000')
+ })
+ // Same bigint but with 6 decimals produces a completely different display value
+ rerender(value, 6)
+ await waitFor(() => {
+ expect(input.value).toBe('1,000,000,000,000,000')
+ })
+ })
+})
diff --git a/src/components/sharedComponents/BigNumberInput.tsx b/src/components/sharedComponents/BigNumberInput.tsx
index b9cce87b..24a45438 100644
--- a/src/components/sharedComponents/BigNumberInput.tsx
+++ b/src/components/sharedComponents/BigNumberInput.tsx
@@ -1,4 +1,4 @@
-import { type InputProps, chakra } from '@chakra-ui/react'
+import { chakra, type InputProps } from '@chakra-ui/react'
import {
type ChangeEvent,
type FC,
@@ -68,8 +68,26 @@ export const BigNumberInput: FC = ({
}: BigNumberInputProps) => {
const inputRef = useRef(null)
const [hasError, setHasError] = useState(false)
+ const [displayValue, setDisplayValue] = useState(() =>
+ value === BigInt(0) ? '' : formatUnits(value, decimals),
+ )
+ const prevValueRef = useRef(value)
+ const prevDecimalsRef = useRef(decimals)
+
+ // Sync displayValue when an external change updates value or decimals (e.g. max click, token change).
+ // Using render-time state update to avoid a visible flash between renders.
+ if (prevValueRef.current !== value || prevDecimalsRef.current !== decimals) {
+ prevValueRef.current = value
+ prevDecimalsRef.current = decimals
+ if (renderInput) {
+ setDisplayValue(value === BigInt(0) ? '' : formatUnits(value, decimals))
+ }
+ }
- // update inputValue when value changes
+ // DOM sync for the native input path (no renderInput).
+ // When renderInput is provided (e.g. NumericFormat), inputRef is not attached to the DOM
+ // and this effect is a no-op. External value changes for that path are handled via
+ // the displayValue state above.
useEffect(() => {
const current = inputRef.current
if (!current) {
@@ -101,6 +119,8 @@ export const BigNumberInput: FC = ({
const { value } = typeof event === 'string' ? { value: event } : event.currentTarget
if (value === '') {
+ prevValueRef.current = BigInt(0)
+ if (renderInput) setDisplayValue('')
setHasError(false)
onChange(BigInt(0))
return
@@ -142,6 +162,9 @@ export const BigNumberInput: FC = ({
setHasError(false)
}
+ // Set prevValueRef before onChange so the render-time sync doesn't override the user's input.
+ prevValueRef.current = newValue
+ if (renderInput) setDisplayValue(value)
onChange(newValue)
}
@@ -154,7 +177,7 @@ export const BigNumberInput: FC = ({
}
return renderInput ? (
- renderInput({ ...inputProps, inputRef })
+ renderInput({ ...inputProps, inputRef, value: displayValue })
) : (
(
diff --git a/src/components/sharedComponents/ExplorerLink.tsx b/src/components/sharedComponents/ExplorerLink.tsx
index a8a05646..f342e87d 100644
--- a/src/components/sharedComponents/ExplorerLink.tsx
+++ b/src/components/sharedComponents/ExplorerLink.tsx
@@ -1,6 +1,6 @@
-import { type GetExplorerUrlParams, getExplorerLink } from '@/src/utils/getExplorerLink'
-import { type LinkProps, chakra } from '@chakra-ui/react'
+import { chakra, type LinkProps } from '@chakra-ui/react'
import type { FC } from 'react'
+import { type GetExplorerUrlParams, getExplorerLink } from '@/src/utils/getExplorerLink'
interface ExplorerLinkProps extends GetExplorerUrlParams, LinkProps {
text?: string
diff --git a/src/components/sharedComponents/Hash.tsx b/src/components/sharedComponents/Hash.tsx
index f44594df..6d091534 100644
--- a/src/components/sharedComponents/Hash.tsx
+++ b/src/components/sharedComponents/Hash.tsx
@@ -1,8 +1,8 @@
+import { Flex, type FlexProps, Span } from '@chakra-ui/react'
+import type { FC, MouseEventHandler } from 'react'
import CopyButton from '@/src/components/sharedComponents/ui/CopyButton'
import ExternalLink from '@/src/components/sharedComponents/ui/ExternalLink'
import { getTruncatedHash } from '@/src/utils/strings'
-import { Flex, type FlexProps, Span } from '@chakra-ui/react'
-import type { FC, MouseEventHandler } from 'react'
interface HashProps extends Omit {
explorerURL?: string
diff --git a/src/components/sharedComponents/HashInput.tsx b/src/components/sharedComponents/HashInput.tsx
index a4addc93..b90c4406 100644
--- a/src/components/sharedComponents/HashInput.tsx
+++ b/src/components/sharedComponents/HashInput.tsx
@@ -1,5 +1,4 @@
-import detectHash, { type DetectedHash } from '@/src/utils/hash'
-import { type InputProps, chakra } from '@chakra-ui/react'
+import { chakra, type InputProps } from '@chakra-ui/react'
import {
type ChangeEvent,
type FC,
@@ -10,6 +9,7 @@ import {
} from 'react'
import { useDebouncedCallback } from 'use-debounce'
import type { Chain } from 'viem'
+import detectHash, { type DetectedHash } from '@/src/utils/hash'
interface HashInputProps extends InputProps {
chain: Chain
diff --git a/src/components/sharedComponents/NotificationToast.tsx b/src/components/sharedComponents/NotificationToast.tsx
index 3da3e540..1d5595aa 100644
--- a/src/components/sharedComponents/NotificationToast.tsx
+++ b/src/components/sharedComponents/NotificationToast.tsx
@@ -1,8 +1,8 @@
'use client'
+import { Toaster as ChakraToaster, createToaster, Portal, Stack, Toast } from '@chakra-ui/react'
import Spinner from '@/src/components/sharedComponents/ui/Spinner'
import { useWeb3Status } from '@/src/hooks/useWeb3Status'
-import { Toaster as ChakraToaster, Portal, Stack, Toast, createToaster } from '@chakra-ui/react'
export const notificationToaster = createToaster({
placement: 'bottom-end',
diff --git a/src/components/sharedComponents/SignButton.test.tsx b/src/components/sharedComponents/SignButton.test.tsx
new file mode 100644
index 00000000..4e5c40d5
--- /dev/null
+++ b/src/components/sharedComponents/SignButton.test.tsx
@@ -0,0 +1,148 @@
+import { ChakraProvider, createSystem, defaultConfig } from '@chakra-ui/react'
+import { render, screen } from '@testing-library/react'
+import type { ReactNode } from 'react'
+import { createElement } from 'react'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type { Web3Status } from '@/src/hooks/useWeb3Status'
+import SignButton from './SignButton'
+
+const mockSwitchChain = vi.fn()
+const mockSignMessageAsync = vi.fn()
+const mockWatchSignature = vi.fn()
+
+vi.mock('@/src/hooks/useWalletStatus', () => ({
+ useWalletStatus: vi.fn(() => ({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' },
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ })),
+}))
+
+vi.mock('@/src/providers/Web3Provider', () => ({
+ ConnectWalletButton: () =>
+ createElement(
+ 'button',
+ { type: 'button', 'data-testid': 'connect-wallet-button' },
+ 'Connect Wallet',
+ ),
+}))
+
+vi.mock('@/src/providers/TransactionNotificationProvider', () => ({
+ useTransactionNotification: vi.fn(() => ({
+ watchSignature: mockWatchSignature,
+ })),
+}))
+
+vi.mock('wagmi', () => ({
+ useSignMessage: vi.fn(() => ({
+ isPending: false,
+ signMessageAsync: mockSignMessageAsync,
+ })),
+}))
+
+const { useWalletStatus } = await import('@/src/hooks/useWalletStatus')
+const mockedUseWalletStatus = vi.mocked(useWalletStatus)
+
+const mockWeb3Status = {
+ readOnlyClient: undefined,
+ appChainId: 1,
+ address: '0xdeadbeef',
+ balance: undefined,
+ connectingWallet: false,
+ switchingChain: false,
+ isWalletConnected: true,
+ walletClient: undefined,
+ isWalletSynced: true,
+ walletChainId: 1,
+ switchChain: vi.fn(),
+ disconnect: vi.fn(),
+} as unknown as Web3Status
+
+const system = createSystem(defaultConfig)
+
+const renderWithChakra = (ui: ReactNode) =>
+ render({ui})
+
+describe('SignButton', () => {
+ beforeEach(() => {
+ vi.clearAllMocks()
+ })
+
+ it('renders connect button when wallet needs connect', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra()
+
+ expect(screen.getByTestId('connect-wallet-button')).toBeInTheDocument()
+ expect(screen.queryByText('Sign Message')).toBeNull()
+ })
+
+ it('renders custom fallback when provided and wallet needs connect', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra(
+ ,
+ )
+
+ expect(screen.getByTestId('custom-fallback')).toBeInTheDocument()
+ expect(screen.queryByText('Sign Message')).toBeNull()
+ })
+
+ it('renders switch chain button when wallet needs chain switch', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: false,
+ needsChainSwitch: true,
+ targetChain: { id: 10, name: 'OP Mainnet' } as ReturnType<
+ typeof useWalletStatus
+ >['targetChain'],
+ targetChainId: 10,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra()
+
+ expect(screen.getByText(/Switch to/)).toBeInTheDocument()
+ expect(screen.getByText(/OP Mainnet/)).toBeInTheDocument()
+ expect(screen.queryByText('Sign Message')).toBeNull()
+ })
+
+ it('renders sign button when wallet is ready', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: true,
+ needsConnect: false,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra()
+
+ expect(screen.getByText('Sign Message')).toBeInTheDocument()
+ })
+})
diff --git a/src/components/sharedComponents/SignButton.tsx b/src/components/sharedComponents/SignButton.tsx
index d548ab4a..da5d6f2c 100644
--- a/src/components/sharedComponents/SignButton.tsx
+++ b/src/components/sharedComponents/SignButton.tsx
@@ -1,29 +1,34 @@
-import { withWalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
-import { useTransactionNotification } from '@/src/providers/TransactionNotificationProvider'
import { type ButtonProps, chakra } from '@chakra-ui/react'
-import type { FC } from 'react'
+import type { FC, ReactElement } from 'react'
import { useSignMessage } from 'wagmi'
+import SwitchChainButton from '@/src/components/sharedComponents/ui/SwitchChainButton'
+import { useWalletStatus } from '@/src/hooks/useWalletStatus'
+import type { ChainsIds } from '@/src/lib/networks.config'
+import { useTransactionNotification } from '@/src/providers/TransactionNotificationProvider'
+import { ConnectWalletButton } from '@/src/providers/Web3Provider'
interface SignButtonProps extends Omit {
- label?: string
+ /** Target chain ID for wallet status verification. */
+ chainId?: ChainsIds
+ /** Custom fallback when wallet needs connection. Defaults to ConnectWalletButton. */
+ fallback?: ReactElement
+ /** Button label while signing. Defaults to 'Signing...'. */
labelSigning?: string
+ /** The message to sign. */
message: string
+ /** Callback function called when an error occurs. */
onError?: (error: Error) => void
+ /** Callback function called when the message is signed. */
onSign?: (signature: string) => void
+ /** Label for the switch chain button. Defaults to 'Switch to'. */
+ switchChainLabel?: string
}
/**
- * SignButton component that allows users to sign a message.
+ * Self-contained message signing button with wallet verification.
*
- * @param {SignButtonProps} props - SignButton component props.
- * @param {string} props.message - The message to sign.
- * @param {string|ReactNode} [props.children='Sign Message'] - The content to display in the button.
- * @param {boolean} [props.disabled] - Whether the button is disabled.
- * @param {(signature: string) => void} [props.onSign] - Callback function called when the message is signed.
- * @param {(error: Error) => void} [props.onError] - Callback function called when an error occurs.
- * @param {string} [props.label='Sign Message'] - The label for the button (alternative to children).
- * @param {string} [props.labelSigning='Signing...'] - The label for the button when the message is being signed.
- * @param {ButtonProps} [props.restProps] - Additional props inherited from Chakra UI ButtonProps.
+ * Handles wallet connection status internally — shows a connect button if not connected,
+ * a switch chain button if on the wrong chain, or the sign button when ready.
*
* @example
* ```tsx
@@ -34,44 +39,59 @@ interface SignButtonProps extends Omit {
* />
* ```
*/
-const SignButton: FC = withWalletStatusVerifier(
- ({
- children = 'Sign Message',
- disabled,
- labelSigning = 'Signing...',
- message,
- onError,
- onSign,
- ...restProps
- }: SignButtonProps) => {
- const { watchSignature } = useTransactionNotification()
+const SignButton: FC = ({
+ chainId,
+ children = 'Sign Message',
+ disabled,
+ fallback = ,
+ labelSigning = 'Signing...',
+ message,
+ onError,
+ onSign,
+ switchChainLabel = 'Switch to',
+ ...restProps
+}) => {
+ const { needsConnect, needsChainSwitch, targetChain, targetChainId, switchChain } =
+ useWalletStatus({ chainId })
+ const { watchSignature } = useTransactionNotification()
- const { isPending, signMessageAsync } = useSignMessage({
- mutation: {
- onSuccess(data) {
- onSign?.(data)
- },
- onError(error) {
- onError?.(error)
- },
+ const { isPending, signMessageAsync } = useSignMessage({
+ mutation: {
+ onSuccess(data) {
+ onSign?.(data)
+ },
+ onError(error) {
+ onError?.(error)
},
- })
+ },
+ })
+ if (needsConnect) {
+ return fallback
+ }
+
+ if (needsChainSwitch) {
return (
- {
- watchSignature({
- message: 'Signing message...',
- signaturePromise: signMessageAsync({ message }),
- })
- }}
- {...restProps}
- >
- {isPending ? labelSigning : children}
-
+ switchChain(targetChainId)}>
+ {switchChainLabel} {targetChain.name}
+
)
- },
-)
+ }
+
+ return (
+ {
+ watchSignature({
+ message: 'Signing message...',
+ signaturePromise: signMessageAsync({ message }),
+ })
+ }}
+ {...restProps}
+ >
+ {isPending ? labelSigning : children}
+
+ )
+}
export default SignButton
diff --git a/src/components/sharedComponents/SwitchNetwork.test.tsx b/src/components/sharedComponents/SwitchNetwork.test.tsx
index edbe1408..9cfad6a4 100644
--- a/src/components/sharedComponents/SwitchNetwork.test.tsx
+++ b/src/components/sharedComponents/SwitchNetwork.test.tsx
@@ -13,8 +13,8 @@ vi.mock('wagmi', () => ({
useSwitchChain: vi.fn(),
}))
-import * as useWeb3StatusModule from '@/src/hooks/useWeb3Status'
import * as wagmiModule from 'wagmi'
+import * as useWeb3StatusModule from '@/src/hooks/useWeb3Status'
const mockNetworks: Networks = [
{ id: 1, label: 'Ethereum', icon: ETH },
diff --git a/src/components/sharedComponents/SwitchNetwork.tsx b/src/components/sharedComponents/SwitchNetwork.tsx
index d3308dcf..7e1ac77e 100644
--- a/src/components/sharedComponents/SwitchNetwork.tsx
+++ b/src/components/sharedComponents/SwitchNetwork.tsx
@@ -1,6 +1,3 @@
-import DropdownButton from '@/src/components/sharedComponents/ui/DropdownButton'
-import { MenuContent, MenuItem } from '@/src/components/sharedComponents/ui/Menu'
-import { useWeb3Status } from '@/src/hooks/useWeb3Status'
import { Box, Flex, Menu } from '@chakra-ui/react'
import {
type ComponentPropsWithoutRef,
@@ -11,6 +8,9 @@ import {
} from 'react'
import * as chains from 'viem/chains'
import { useSwitchChain } from 'wagmi'
+import DropdownButton from '@/src/components/sharedComponents/ui/DropdownButton'
+import { MenuContent, MenuItem } from '@/src/components/sharedComponents/ui/Menu'
+import { useWeb3Status } from '@/src/hooks/useWeb3Status'
type NetworkItem = {
icon: ReactElement
diff --git a/src/components/sharedComponents/TokenDropdown.tsx b/src/components/sharedComponents/TokenDropdown.tsx
index c81fbfb0..ba34631f 100644
--- a/src/components/sharedComponents/TokenDropdown.tsx
+++ b/src/components/sharedComponents/TokenDropdown.tsx
@@ -1,11 +1,11 @@
+import { Flex, Menu } from '@chakra-ui/react'
+import type { ComponentPropsWithoutRef, FC } from 'react'
+import { useState } from 'react'
import TokenLogo from '@/src/components/sharedComponents/TokenLogo'
import TokenSelect, { type TokenSelectProps } from '@/src/components/sharedComponents/TokenSelect'
import DropdownButton from '@/src/components/sharedComponents/ui/DropdownButton'
import { MenuContent } from '@/src/components/sharedComponents/ui/Menu'
import type { Token } from '@/src/types/token'
-import { Flex, Menu } from '@chakra-ui/react'
-import type { ComponentPropsWithoutRef, FC } from 'react'
-import { useState } from 'react'
export interface TokenDropdownProps extends TokenSelectProps {
currentToken?: Token | undefined
@@ -28,8 +28,9 @@ type Props = ComponentPropsWithoutRef<'span'> & TokenDropdownProps
* @param {string} [props.placeholder] - Placeholder text for the search input.
* @param {number} [props.containerHeight] - Height of the virtualized tokens list.
* @param {number} [props.itemHeight] - Height of each item in the tokens list.
- * @param {boolean} [props.showBalance] - Whether to show the token balance in the list.
+ * @param {boolean} [props.showBalance] - Whether to show the token balance column in each row.
* @param {boolean} [props.showTopTokens] - Whether to show the top tokens section in the list.
+ * @param {boolean} [props.sortByBalance] - Sort tokens with a positive balance to the top, ordered by USD value descending. Defaults to true when a wallet is connected.
* @param {ComponentPropsWithoutRef<'span'>} props.restProps - Additional props for the span element.
*
* @example
diff --git a/src/components/sharedComponents/TokenInput/Components.tsx b/src/components/sharedComponents/TokenInput/Components.tsx
index a5a6c059..a7e80371 100644
--- a/src/components/sharedComponents/TokenInput/Components.tsx
+++ b/src/components/sharedComponents/TokenInput/Components.tsx
@@ -1,5 +1,6 @@
import {
type ButtonProps,
+ chakra,
Flex,
type FlexProps,
Heading,
@@ -8,7 +9,6 @@ import {
type InputProps,
Span,
type SpanProps,
- chakra,
} from '@chakra-ui/react'
import type { FC } from 'react'
@@ -277,9 +277,10 @@ export const CloseButton: FC = ({ children, ...restProps }) => (
border="none"
color="var(--title-color-default)"
cursor="pointer"
- position="absolute"
- right={0}
- top={10}
+ marginLeft="auto"
+ marginRight={4}
+ marginBottom={4}
+ marginTop={0}
_active={{
opacity: 0.7,
}}
diff --git a/src/components/sharedComponents/TokenInput/index.tsx b/src/components/sharedComponents/TokenInput/index.tsx
index d558d39b..8fb86b61 100644
--- a/src/components/sharedComponents/TokenInput/index.tsx
+++ b/src/components/sharedComponents/TokenInput/index.tsx
@@ -1,3 +1,7 @@
+import { Dialog, type FlexProps, Portal } from '@chakra-ui/react'
+import { type FC, useMemo, useState } from 'react'
+import { type NumberFormatValues, NumericFormat } from 'react-number-format'
+import { formatUnits } from 'viem'
import {
BigNumberInput,
type BigNumberInputProps,
@@ -23,11 +27,10 @@ import type { UseTokenInputReturnType } from '@/src/components/sharedComponents/
import TokenLogo from '@/src/components/sharedComponents/TokenLogo'
import TokenSelect, { type TokenSelectProps } from '@/src/components/sharedComponents/TokenSelect'
import Spinner from '@/src/components/sharedComponents/ui/Spinner'
+import { NO_PRICE_DATA_LABEL } from '@/src/constants/common'
+import { useWeb3Status } from '@/src/hooks/useWeb3Status'
+import { chains } from '@/src/lib/networks.config'
import type { Token } from '@/src/types/token'
-import { Dialog, type FlexProps, Portal } from '@chakra-ui/react'
-import { type FC, useMemo, useState } from 'react'
-import { type NumberFormatValues, NumericFormat } from 'react-number-format'
-import { formatUnits } from 'viem'
import styles from './styles'
interface TokenInputProps extends Omit {
@@ -55,8 +58,9 @@ type Props = FlexProps & TokenInputProps
* @param {number} [props.iconSize=32] - Optional size of the token icon in the list. Default is 32.
* @param {number} [props.itemHeight=64] - Optional height of each item in the list. Default is 64.
* @param {boolean} [props.showAddTokenButton=false] - Optional flag to allow adding a token. Default is false.
- * @param {boolean} [props.showBalance=false] - Optional flag to show the token balance in the list. Default is false.
+ * @param {boolean} [props.showBalance=false] - Optional flag to show the token balance column in each row. Default is false.
* @param {boolean} [props.showTopTokens=false] - Optional flag to show the top tokens in the list. Default is false.
+ * @param {boolean} [props.sortByBalance] - Sort tokens with a positive balance to the top, ordered by USD value descending. Defaults to true when a wallet is connected.
*/
const TokenInput: FC = ({
containerHeight,
@@ -70,6 +74,7 @@ const TokenInput: FC = ({
showBalance,
showTopTokens,
singleToken,
+ sortByBalance,
thousandSeparator = true,
title,
tokenInput,
@@ -82,6 +87,8 @@ const TokenInput: FC = ({
balance,
balanceError,
isLoadingBalance,
+ isLoadingPrice,
+ priceUSD,
selectedToken,
setAmount,
setAmountError,
@@ -92,6 +99,21 @@ const TokenInput: FC = ({
() => (balance && selectedToken ? balance : BigInt(0)),
[balance, selectedToken],
)
+
+ const { appChainId, walletChainId } = useWeb3Status()
+ const activeChainId = selectedToken?.chainId ?? currentNetworkId ?? walletChainId ?? appChainId
+ const isTestnetChain = useMemo(
+ () => chains.find((c) => c.id === activeChainId)?.testnet === true,
+ [activeChainId],
+ )
+
+ const estimatedUSDValue = useMemo(() => {
+ if (isTestnetChain) return null
+ if (!selectedToken || !priceUSD || !balance) return 0
+ const tokenBalance = Number.parseFloat(formatUnits(balance, selectedToken.decimals ?? 0))
+ return Number.parseFloat(priceUSD) * tokenBalance
+ }, [isTestnetChain, selectedToken, priceUSD, balance])
+
const selectIconSize = 24
const decimals = selectedToken ? selectedToken.decimals : 2
@@ -102,6 +124,7 @@ const TokenInput: FC = ({
}
const handleSetMax = () => {
+ setAmountError(null)
setAmount(max)
}
@@ -166,7 +189,15 @@ const TokenInput: FC = ({
)}
- ~$0.00
+
+ {estimatedUSDValue === null ? (
+ NO_PRICE_DATA_LABEL
+ ) : selectedToken && (isLoadingPrice || isLoadingBalance) ? (
+
+ ) : (
+ `~$${estimatedUSDValue.toFixed(2)}`
+ )}
+
{balanceError && 'Error...'}
@@ -201,6 +232,7 @@ const TokenInput: FC = ({
showAddTokenButton={showAddTokenButton}
showBalance={showBalance}
showTopTokens={showTopTokens}
+ sortByBalance={sortByBalance}
>
{
- const [inputDecimals] = value.toString().split('.')
+ const [, inputDecimals] = value.toString().split('.')
if (!inputDecimals) {
return true
diff --git a/src/components/sharedComponents/TokenInput/useTokenInput.test.ts b/src/components/sharedComponents/TokenInput/useTokenInput.test.ts
new file mode 100644
index 00000000..68631017
--- /dev/null
+++ b/src/components/sharedComponents/TokenInput/useTokenInput.test.ts
@@ -0,0 +1,167 @@
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
+import { act, renderHook, waitFor } from '@testing-library/react'
+import { createElement, type ReactNode } from 'react'
+import { zeroAddress } from 'viem'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type { Token } from '@/src/types/token'
+import { useTokenInput } from './useTokenInput'
+
+const walletAddress = '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' as const
+
+const mockUseAccount = vi.fn()
+const mockUsePublicClient = vi.fn()
+const mockGetBalance = vi.fn()
+const mockUseTokens = vi.fn()
+
+vi.mock('wagmi', () => ({
+ useAccount: () => mockUseAccount(),
+ usePublicClient: (args: { chainId?: number } = {}) => {
+ mockUsePublicClient(args)
+ return { getBalance: mockGetBalance }
+ },
+}))
+
+vi.mock('@/src/hooks/useErc20Balance', () => ({
+ useErc20Balance: () => ({ balance: undefined, balanceError: null, isLoadingBalance: false }),
+}))
+
+vi.mock('@/src/hooks/useTokens', () => ({
+ useTokens: (args: unknown) => mockUseTokens(args),
+}))
+
+vi.mock('@/src/env', () => ({
+ env: { PUBLIC_NATIVE_TOKEN_ADDRESS: zeroAddress.toLowerCase() },
+}))
+
+const mainnetUsdc: Token = {
+ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
+ chainId: 1,
+ decimals: 6,
+ name: 'USD Coin',
+ symbol: 'USDC',
+}
+
+const sepoliaEth: Token = {
+ address: zeroAddress,
+ chainId: 11155111,
+ decimals: 18,
+ name: 'Sepolia Ether',
+ symbol: 'ETH',
+}
+
+const wrapper = ({ children }: { children: ReactNode }) =>
+ createElement(
+ QueryClientProvider,
+ { client: new QueryClient({ defaultOptions: { queries: { retry: false } } }) },
+ children,
+ )
+
+describe('useTokenInput', () => {
+ beforeEach(() => {
+ mockUseAccount.mockReturnValue({ address: walletAddress })
+ mockUsePublicClient.mockClear()
+ mockGetBalance.mockReset()
+ mockUseTokens.mockReturnValue({
+ tokensByChainId: {},
+ isLoadingBalances: false,
+ isLoadingPrices: false,
+ tokens: [],
+ })
+ })
+
+ it('rebinds the native public client to the selected token chain when the user switches chains', async () => {
+ mockGetBalance.mockResolvedValue(42n)
+
+ const { result } = renderHook(() => useTokenInput(mainnetUsdc), { wrapper })
+
+ act(() => {
+ result.current.setTokenSelected(sepoliaEth)
+ })
+
+ await waitFor(() =>
+ expect(mockUsePublicClient).toHaveBeenLastCalledWith({ chainId: sepoliaEth.chainId }),
+ )
+ await waitFor(() => expect(result.current.balance).toBe(42n))
+ })
+
+ it('binds the native public client to the selected token chain when no initial token is given', async () => {
+ mockGetBalance.mockResolvedValue(7n)
+
+ const { result } = renderHook(() => useTokenInput(), { wrapper })
+
+ act(() => {
+ result.current.setTokenSelected(sepoliaEth)
+ })
+
+ await waitFor(() =>
+ expect(mockUsePublicClient).toHaveBeenLastCalledWith({ chainId: sepoliaEth.chainId }),
+ )
+ await waitFor(() => expect(result.current.balance).toBe(7n))
+ })
+
+ it('does not fetch native balance when wallet is disconnected', () => {
+ mockUseAccount.mockReturnValue({ address: undefined })
+
+ const { result } = renderHook(() => useTokenInput(sepoliaEth), { wrapper })
+
+ expect(result.current.balance).toBeUndefined()
+ expect(result.current.balanceError).toBeNull()
+ expect(result.current.isLoadingBalance).toBe(false)
+ expect(mockGetBalance).not.toHaveBeenCalled()
+ })
+
+ it('exposes priceUSD for the selected token from useTokens', async () => {
+ mockUseTokens.mockReturnValue({
+ tokensByChainId: {
+ 1: [{ ...mainnetUsdc, extensions: { priceUSD: '1.00' } }],
+ },
+ isLoadingBalances: false,
+ isLoadingPrices: false,
+ tokens: [],
+ })
+
+ const { result } = renderHook(() => useTokenInput(mainnetUsdc), { wrapper })
+
+ await waitFor(() => expect(result.current.priceUSD).toBe('1.00'))
+ })
+
+ it('exposes isLoadingPrice as true while useTokens is loading', () => {
+ mockUseTokens.mockReturnValue({
+ tokensByChainId: {},
+ isLoadingBalances: true,
+ isLoadingPrices: true,
+ tokens: [],
+ })
+
+ const { result } = renderHook(() => useTokenInput(mainnetUsdc), { wrapper })
+
+ expect(result.current.isLoadingPrice).toBe(true)
+ })
+
+ it('updates priceUSD when a different token is selected', async () => {
+ const mainnetEth: Token = {
+ address: zeroAddress,
+ chainId: 1,
+ decimals: 18,
+ name: 'Ether',
+ symbol: 'ETH',
+ }
+ mockUseTokens.mockReturnValue({
+ tokensByChainId: {
+ 1: [{ ...mainnetEth, extensions: { priceUSD: '3000.00' } }],
+ },
+ isLoadingBalances: false,
+ isLoadingPrices: false,
+ tokens: [],
+ })
+ mockGetBalance.mockResolvedValue(1000000000000000000n)
+
+ const { result } = renderHook(() => useTokenInput(mainnetUsdc), { wrapper })
+
+ act(() => {
+ result.current.setTokenSelected(mainnetEth)
+ })
+
+ await waitFor(() => expect(result.current.priceUSD).toBe('3000.00'))
+ })
+})
diff --git a/src/components/sharedComponents/TokenInput/useTokenInput.tsx b/src/components/sharedComponents/TokenInput/useTokenInput.tsx
index 12b94dd2..1c273ebf 100644
--- a/src/components/sharedComponents/TokenInput/useTokenInput.tsx
+++ b/src/components/sharedComponents/TokenInput/useTokenInput.tsx
@@ -1,10 +1,11 @@
-import { useErc20Balance } from '@/src/hooks/useErc20Balance'
-import type { Token } from '@/src/types/token'
-import { isNativeToken } from '@/src/utils/address'
import { useQuery } from '@tanstack/react-query'
import { useEffect, useState } from 'react'
import { getAddress } from 'viem'
import { useAccount, usePublicClient } from 'wagmi'
+import { useErc20Balance } from '@/src/hooks/useErc20Balance'
+import { useTokens } from '@/src/hooks/useTokens'
+import type { Token } from '@/src/types/token'
+import { isNativeToken } from '@/src/utils/address'
export type UseTokenInputReturnType = ReturnType
@@ -25,6 +26,8 @@ export type UseTokenInputReturnType = ReturnType
* @returns {bigint} returns.balance - Current token balance (ERC20 or native)
* @returns {Error|null} returns.balanceError - Error from balance fetching
* @returns {boolean} returns.isLoadingBalance - Loading state for balance
+ * @returns {string|undefined} returns.priceUSD - USD price of the selected token (from useTokens)
+ * @returns {boolean} returns.isLoadingPrice - Loading state for the selected token's USD price
* @returns {Token|undefined} returns.selectedToken - Currently selected token
* @returns {function} returns.setTokenSelected - Function to update selected token
*
@@ -49,12 +52,22 @@ export function useTokenInput(token?: Token) {
}, [token])
const { address: userWallet } = useAccount()
+ const { tokensByChainId, isLoadingPrices: isLoadingPrice } = useTokens({
+ chainId: selectedToken?.chainId,
+ withBalance: true,
+ })
+ const priceUSD = selectedToken
+ ? (tokensByChainId[selectedToken.chainId]?.find(
+ (t) => t.address.toLowerCase() === selectedToken.address.toLowerCase(),
+ )?.extensions?.priceUSD as string | undefined)
+ : undefined
+
const { balance, balanceError, isLoadingBalance } = useErc20Balance({
address: userWallet ? getAddress(userWallet) : undefined,
token: selectedToken,
})
- const publicClient = usePublicClient({ chainId: token?.chainId })
+ const publicClient = usePublicClient({ chainId: selectedToken?.chainId })
const isNative = selectedToken?.address ? isNativeToken(selectedToken.address) : false
const {
@@ -64,7 +77,7 @@ export function useTokenInput(token?: Token) {
} = useQuery({
queryKey: ['nativeBalance', selectedToken?.address, selectedToken?.chainId, userWallet],
queryFn: () => publicClient?.getBalance({ address: getAddress(userWallet ?? '') }),
- enabled: isNative,
+ enabled: isNative && !!userWallet,
})
return {
@@ -75,6 +88,8 @@ export function useTokenInput(token?: Token) {
balance: isNative ? nativeBalance : balance,
balanceError: isNative ? nativeBalanceError : balanceError,
isLoadingBalance: isNative ? isLoadingNativeBalance : isLoadingBalance,
+ isLoadingPrice,
+ priceUSD,
selectedToken,
setTokenSelected,
}
diff --git a/src/components/sharedComponents/TokenLogo.test.tsx b/src/components/sharedComponents/TokenLogo/TokenLogo.test.tsx
similarity index 57%
rename from src/components/sharedComponents/TokenLogo.test.tsx
rename to src/components/sharedComponents/TokenLogo/TokenLogo.test.tsx
index b71166ed..6a8f12a5 100644
--- a/src/components/sharedComponents/TokenLogo.test.tsx
+++ b/src/components/sharedComponents/TokenLogo/TokenLogo.test.tsx
@@ -1,10 +1,10 @@
-import type { Token } from '@/src/types/token'
-import { ChakraProvider, createSystem, defaultConfig } from '@chakra-ui/react'
+import { ChakraProvider } from '@chakra-ui/react'
import { fireEvent, render, screen } from '@testing-library/react'
+import { zeroAddress } from 'viem'
import { describe, expect, it } from 'vitest'
-import TokenLogo from './TokenLogo'
-
-const system = createSystem(defaultConfig)
+import { system } from '@/src/components/ui/provider'
+import type { Token } from '@/src/types/token'
+import TokenLogo from '.'
const mockToken: Token = {
address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
@@ -72,4 +72,46 @@ describe('TokenLogo', () => {
const img = screen.getByRole('img')
expect(img.getAttribute('src')).toBe('https://ipfs.io/ipfs/QmHash123')
})
+
+ it('renders the chain icon (not the img or placeholder) for a native token on a mapped chain', () => {
+ const nativeEthToken: Token = {
+ address: zeroAddress,
+ chainId: 1,
+ decimals: 18,
+ name: 'Ether',
+ symbol: 'ETH',
+ }
+ const { container } = renderTokenLogo(nativeEthToken)
+ expect(screen.queryByRole('img')).toBeNull()
+ expect(screen.queryByText('E')).toBeNull()
+ expect(container.querySelector('svg')).not.toBeNull()
+ })
+
+ it('renders the chain icon for the native POL on Polygon (chainId 137)', () => {
+ const nativePolToken: Token = {
+ address: zeroAddress,
+ chainId: 137,
+ decimals: 18,
+ name: 'POL',
+ symbol: 'POL',
+ }
+ const { container } = renderTokenLogo(nativePolToken)
+ expect(screen.queryByRole('img')).toBeNull()
+ expect(screen.queryByText('P')).toBeNull()
+ expect(container.querySelector('svg')).not.toBeNull()
+ })
+
+ it('falls back to placeholder for a native token on an unmapped chain', () => {
+ const nativeUnknownToken: Token = {
+ address: zeroAddress,
+ chainId: 999999,
+ decimals: 18,
+ name: 'Unknown',
+ symbol: 'XXX',
+ }
+ const { container } = renderTokenLogo(nativeUnknownToken)
+ expect(screen.queryByRole('img')).toBeNull()
+ expect(container.querySelector('svg')).toBeNull()
+ expect(screen.getByText('X')).toBeDefined()
+ })
})
diff --git a/src/components/sharedComponents/TokenLogo.tsx b/src/components/sharedComponents/TokenLogo/index.tsx
similarity index 53%
rename from src/components/sharedComponents/TokenLogo.tsx
rename to src/components/sharedComponents/TokenLogo/index.tsx
index 87627cdf..0fbcfcdd 100644
--- a/src/components/sharedComponents/TokenLogo.tsx
+++ b/src/components/sharedComponents/TokenLogo/index.tsx
@@ -1,46 +1,41 @@
-import type { Token } from '@/src/types/token'
import { Flex } from '@chakra-ui/react'
-import { type ComponentProps, type FC, useCallback, useEffect, useState } from 'react'
+import { type ComponentProps, type FC, useEffect, useMemo, useState } from 'react'
+
+import { nativeTokenIcons } from '@/src/components/sharedComponents/TokenLogo/nativeTokenIcons'
+import type { ChainsIds } from '@/src/lib/networks.config'
+import type { Token } from '@/src/types/token'
+import { isNativeToken } from '@/src/utils/address'
interface PlaceholderProps extends ComponentProps<'div'> {
size: number
symbol: string
}
-const Placeholder: FC = ({ size, symbol, ...restProps }) => {
- const [backgroundColor, setBackgroundColor] = useState('')
-
- const generateHexColor = useCallback((symbol: string): string => {
- // Convert symbol to a hash number
- let hash = 0
- for (let i = 0; i < symbol.length; i++) {
- hash = symbol.charCodeAt(i) + ((hash << 5) - hash)
- }
-
- // Convert hash to a hexadecimal string and ensure it is 6 characters long
- const baseColor =
- ((hash >> 24) & 0xff).toString(16).padStart(2, '0') +
- ((hash >> 16) & 0xff).toString(16).padStart(2, '0') +
- ((hash >> 8) & 0xff).toString(16).padStart(2, '0')
-
- // Ensure the baseColor is dark-ish by making sure each component is less than 196
- const r = Number.parseInt(baseColor.slice(0, 2), 16) % 196
- const g = Number.parseInt(baseColor.slice(2, 4), 16) % 196
- const b = Number.parseInt(baseColor.slice(4, 6), 16) % 196
-
- // Convert back to hex string and pad with leading 6s if necessary and also
- // because I love Satan
- const color =
- r.toString(16).padStart(2, '6') +
- g.toString(16).padStart(2, '6') +
- b.toString(16).padStart(2, '6')
-
- return `#${color}`
- }, [])
+const generateHexColor = (symbol: string): string => {
+ let hash = 0
+ for (let i = 0; i < symbol.length; i++) {
+ hash = symbol.charCodeAt(i) + ((hash << 5) - hash)
+ }
- useEffect(() => {
- setBackgroundColor(generateHexColor(symbol))
- }, [symbol, generateHexColor])
+ const baseColor =
+ ((hash >> 24) & 0xff).toString(16).padStart(2, '0') +
+ ((hash >> 16) & 0xff).toString(16).padStart(2, '0') +
+ ((hash >> 8) & 0xff).toString(16).padStart(2, '0')
+
+ const r = Number.parseInt(baseColor.slice(0, 2), 16) % 196
+ const g = Number.parseInt(baseColor.slice(2, 4), 16) % 196
+ const b = Number.parseInt(baseColor.slice(4, 6), 16) % 196
+
+ const color =
+ r.toString(16).padStart(2, '0') +
+ g.toString(16).padStart(2, '0') +
+ b.toString(16).padStart(2, '0')
+
+ return `#${color}`
+}
+
+const Placeholder: FC = ({ size, symbol, ...restProps }) => {
+ const backgroundColor = useMemo(() => generateHexColor(symbol), [symbol])
return (
} [props.restProps] - Additional props for the img element.
*
* @example
* ```tsx
@@ -97,6 +97,19 @@ const TokenLogo: FC = ({ size = 24, token }) => {
setHasError(false)
}, [logoURI])
+ const NativeIcon = isNativeToken(token.address)
+ ? nativeTokenIcons[token.chainId as ChainsIds]
+ : undefined
+
+ if (NativeIcon) {
+ return (
+
+ )
+ }
+
return logoURI && !hasError ? (
> = {
+ 1: NetworkEthereum,
+ 10: NetworkOptimism,
+ 137: NetworkPolygon,
+ 42161: NetworkArbitrumOne,
+ 11155111: NetworkSepolia,
+ 11155420: NetworkOptimismSepolia,
+}
diff --git a/src/components/sharedComponents/TokenSelect/List/AddERC20TokenButton.tsx b/src/components/sharedComponents/TokenSelect/List/AddERC20TokenButton.tsx
index 836a2975..f1501a15 100644
--- a/src/components/sharedComponents/TokenSelect/List/AddERC20TokenButton.tsx
+++ b/src/components/sharedComponents/TokenSelect/List/AddERC20TokenButton.tsx
@@ -1,8 +1,8 @@
+import { chakra } from '@chakra-ui/react'
+import type { ComponentPropsWithoutRef, FC, MouseEventHandler } from 'react'
import { useWeb3Status } from '@/src/hooks/useWeb3Status'
import type { Token } from '@/src/types/token'
import { isNativeToken } from '@/src/utils/address'
-import { chakra } from '@chakra-ui/react'
-import type { ComponentPropsWithoutRef, FC, MouseEventHandler } from 'react'
interface AddERC20TokenButtonProps extends ComponentPropsWithoutRef<'button'> {
$token: Token
diff --git a/src/components/sharedComponents/TokenSelect/List/BalanceLoading.tsx b/src/components/sharedComponents/TokenSelect/List/BalanceLoading.tsx
new file mode 100644
index 00000000..86688e92
--- /dev/null
+++ b/src/components/sharedComponents/TokenSelect/List/BalanceLoading.tsx
@@ -0,0 +1,26 @@
+import { Flex, type FlexProps, Skeleton } from '@chakra-ui/react'
+import type { FC } from 'react'
+
+/**
+ * Skeleton placeholder for token balance and USD value, shown while data is loading.
+ */
+const BalanceLoading: FC = ({ ...restProps }) => (
+
+
+
+
+)
+
+export default BalanceLoading
diff --git a/src/components/sharedComponents/TokenSelect/List/Row.tsx b/src/components/sharedComponents/TokenSelect/List/Row.tsx
index 88b6a2a9..ba4aeef4 100644
--- a/src/components/sharedComponents/TokenSelect/List/Row.tsx
+++ b/src/components/sharedComponents/TokenSelect/List/Row.tsx
@@ -1,9 +1,10 @@
+import { Box, Flex, type FlexProps } from '@chakra-ui/react'
+import type { FC } from 'react'
import TokenLogo from '@/src/components/sharedComponents/TokenLogo'
import AddERC20TokenButton from '@/src/components/sharedComponents/TokenSelect/List/AddERC20TokenButton'
+import BalanceLoading from '@/src/components/sharedComponents/TokenSelect/List/BalanceLoading'
import TokenBalance from '@/src/components/sharedComponents/TokenSelect/List/TokenBalance'
import type { Token } from '@/src/types/token'
-import { Box, Flex, type FlexProps, Skeleton } from '@chakra-ui/react'
-import type { FC } from 'react'
const Icon: FC<{ size: number } & FlexProps> = ({ size, children, ...restProps }) => (
= ({ size, children, ...restProps }
)
-const BalanceLoading: FC = ({ ...restProps }) => (
-
-
-
-
-)
-
interface TokenSelectRowProps extends Omit {
iconSize: number
isLoadingBalances?: boolean
diff --git a/src/components/sharedComponents/TokenSelect/List/TokenBalance.test.tsx b/src/components/sharedComponents/TokenSelect/List/TokenBalance.test.tsx
new file mode 100644
index 00000000..a8376299
--- /dev/null
+++ b/src/components/sharedComponents/TokenSelect/List/TokenBalance.test.tsx
@@ -0,0 +1,167 @@
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
+import { screen } from '@testing-library/react'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import { useBalance } from 'wagmi'
+import { useErc20Balance } from '@/src/hooks/useErc20Balance'
+import { useWeb3Status } from '@/src/hooks/useWeb3Status'
+import { createMockWeb3Status, renderWithProviders } from '@/src/test-utils'
+import TokenBalance from './TokenBalance'
+
+const mockAddress = '0x1234567890123456789012345678901234567890' as const
+const nativeAddress = '0x0000000000000000000000000000000000000000'
+
+const erc20Token = {
+ name: 'USD Coin',
+ symbol: 'USDC',
+ address: '0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8' as `0x${string}`,
+ decimals: 6,
+ chainId: 11155111,
+}
+
+const nativeToken = {
+ name: 'Sepolia Ether',
+ symbol: 'ETH',
+ address: nativeAddress as `0x${string}`,
+ decimals: 18,
+ chainId: 11155111,
+}
+
+const tokenWithExtensions = {
+ ...erc20Token,
+ extensions: {
+ balance: 5_000_000n,
+ priceUSD: '1.00',
+ },
+}
+
+vi.mock('@/src/hooks/useWeb3Status', () => ({
+ useWeb3Status: vi.fn(),
+}))
+
+vi.mock('@/src/hooks/useErc20Balance', () => ({
+ useErc20Balance: vi.fn(),
+}))
+
+vi.mock('wagmi', () => ({
+ useBalance: vi.fn(),
+}))
+
+vi.mock('@/src/env', () => ({
+ env: {
+ PUBLIC_NATIVE_TOKEN_ADDRESS: '0x0000000000000000000000000000000000000000',
+ PUBLIC_APP_NAME: 'test',
+ },
+}))
+
+function renderTokenBalance(props: {
+ isLoading?: boolean
+ token: typeof erc20Token | typeof nativeToken | typeof tokenWithExtensions
+}) {
+ const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false } } })
+ return renderWithProviders(
+
+
+ ,
+ )
+}
+
+describe('TokenBalance', () => {
+ beforeEach(() => {
+ vi.mocked(useWeb3Status).mockReturnValue(
+ createMockWeb3Status({ address: mockAddress, isWalletConnected: true }) as ReturnType<
+ typeof useWeb3Status
+ >,
+ )
+ vi.mocked(useErc20Balance).mockReturnValue({
+ balance: 0n,
+ balanceError: null,
+ isLoadingBalance: false,
+ })
+ vi.mocked(useBalance).mockReturnValue({
+ data: undefined,
+ isLoading: false,
+ } as ReturnType)
+ })
+
+ it('suspends the component while isLoading is true, showing no balance or price text', () => {
+ renderTokenBalance({ isLoading: true, token: erc20Token })
+ // DefaultFallback spinner renders; no component output visible.
+ expect(screen.queryByText('N/A')).toBeNull()
+ expect(screen.queryByText('$')).toBeNull()
+ })
+
+ it('renders LI.FI balance and USD value when extensions are present', () => {
+ renderTokenBalance({ isLoading: false, token: tokenWithExtensions })
+ // balance: 5_000_000 / 10^6 = 5 (viem trims trailing zeros)
+ expect(screen.getByText('5')).toBeDefined()
+ expect(screen.getByText('$ 5.00')).toBeDefined()
+ })
+
+ it('shows two loading skeletons while on-chain ERC-20 fetch is in flight', () => {
+ vi.mocked(useErc20Balance).mockReturnValue({
+ balance: undefined,
+ balanceError: null,
+ isLoadingBalance: true,
+ })
+ renderTokenBalance({ isLoading: false, token: erc20Token })
+ // BalanceLoading renders two skeletons; no balance text or N/A visible yet.
+ expect(screen.queryByText('0')).toBeNull()
+ expect(screen.queryByText('N/A')).toBeNull()
+ })
+
+ it('renders on-chain ERC-20 balance and N/A when no extensions', () => {
+ vi.mocked(useErc20Balance).mockReturnValue({
+ balance: 2_500_000n,
+ balanceError: null,
+ isLoadingBalance: false,
+ })
+ renderTokenBalance({ isLoading: false, token: erc20Token })
+ // balance: 2_500_000 / 10^6 = 2.5
+ expect(screen.getByText('2.5')).toBeDefined()
+ expect(screen.getByText('N/A')).toBeDefined()
+ })
+
+ it('renders on-chain native balance and N/A when no extensions', () => {
+ vi.mocked(useBalance).mockReturnValue({
+ data: { value: 1_000_000_000_000_000_000n, decimals: 18, formatted: '1.0', symbol: 'ETH' },
+ isLoading: false,
+ } as ReturnType)
+ renderTokenBalance({ isLoading: false, token: nativeToken })
+ // balance: 1e18 / 10^18 = 1 (viem trims trailing zeros)
+ expect(screen.getByText('1')).toBeDefined()
+ expect(screen.getByText('N/A')).toBeDefined()
+ })
+
+ it('shows zero balance and N/A when ERC-20 fetch returns an error', () => {
+ vi.mocked(useErc20Balance).mockReturnValue({
+ balance: undefined,
+ balanceError: new Error('fetch failed'),
+ isLoadingBalance: false,
+ })
+ renderTokenBalance({ isLoading: false, token: erc20Token })
+ expect(screen.getByText('0')).toBeDefined()
+ expect(screen.getByText('N/A')).toBeDefined()
+ })
+
+ it('shows zero balance and N/A when native balance fetch returns an error', () => {
+ // useBalance returns undefined data on error; fallback resolves to 0n.
+ vi.mocked(useBalance).mockReturnValue({
+ data: undefined,
+ isLoading: false,
+ } as ReturnType)
+ renderTokenBalance({ isLoading: false, token: nativeToken })
+ expect(screen.getByText('0')).toBeDefined()
+ expect(screen.getByText('N/A')).toBeDefined()
+ })
+
+ it('shows zero balance and N/A when no wallet is connected', () => {
+ vi.mocked(useWeb3Status).mockReturnValue(
+ createMockWeb3Status({ address: undefined, isWalletConnected: false }) as ReturnType<
+ typeof useWeb3Status
+ >,
+ )
+ renderTokenBalance({ isLoading: false, token: erc20Token })
+ expect(screen.getByText('0')).toBeDefined()
+ expect(screen.getByText('N/A')).toBeDefined()
+ })
+})
diff --git a/src/components/sharedComponents/TokenSelect/List/TokenBalance.tsx b/src/components/sharedComponents/TokenSelect/List/TokenBalance.tsx
index 59a539b9..ee960d00 100644
--- a/src/components/sharedComponents/TokenSelect/List/TokenBalance.tsx
+++ b/src/components/sharedComponents/TokenSelect/List/TokenBalance.tsx
@@ -1,69 +1,105 @@
-import type { Token } from '@/src/types/token'
-import { withSuspenseAndRetry } from '@/src/utils/suspenseWrapper'
import { Box, Flex } from '@chakra-ui/react'
import { formatUnits } from 'viem'
+import { useBalance } from 'wagmi'
+import { NO_PRICE_DATA_LABEL } from '@/src/constants/common'
+import { useErc20Balance } from '@/src/hooks/useErc20Balance'
+import { useWeb3Status } from '@/src/hooks/useWeb3Status'
+import type { Token } from '@/src/types/token'
+import { isNativeToken } from '@/src/utils/address'
+import { withSuspenseAndRetry } from '@/src/utils/suspenseWrapper'
+import BalanceLoading from './BalanceLoading'
interface TokenBalanceProps {
isLoading?: boolean
token: Token
}
+const balanceBoxProps = {
+ color: 'var(--row-token-balance-color)',
+ fontSize: '16px',
+ fontWeight: '400',
+ lineHeight: '1.2',
+ _groupHover: { color: 'var(--row-token-balance-color-hover, var(--row-token-balance-color))' },
+} as const
+
+const valueBoxProps = {
+ color: 'var(--row-token-value-color)',
+ fontSize: '12px',
+ fontWeight: '400',
+ lineHeight: '1.2',
+ _groupHover: { color: 'var(--row-token-value-color-hover, var(--row-token-value-color))' },
+} as const
+
+const flexProps = {
+ alignItems: 'flex-end',
+ display: 'flex',
+ flexDirection: 'column',
+ rowGap: 1,
+} as const
+
/**
- * Renders the token balance in the token list row.
+ * Renders the token balance and USD value in a token list row.
*
- * @param {object} props - The component props.
- * @param {boolean} props.isLoading - Indicates if the token balance is currently being loaded.
- * @param {Token} props.token - The token object containing the amount, decimals, and price in USD.
+ * When LI.FI price/balance data is available (`token.extensions`), it displays
+ * the enriched balance and computed USD value. On chains LI.FI does not support
+ * (e.g. Sepolia), it falls back to on-chain balance via wagmi and renders "N/A"
+ * for the USD value.
*
- * @throws {Promise} If the token balance is still loading or if the token does not have balance information.
- * @returns {JSX.Element} The rendered token balance component.
+ * @param {object} props
+ * @param {boolean} props.isLoading - True while the LI.FI price/balance fetch is in flight.
+ * @param {Token} props.token - The token to display.
*
- * @example
- * ```tsx
- *
- * ```
+ * @throws {Promise} While loading (triggers Suspense skeleton).
*/
const TokenBalance = withSuspenseAndRetry(({ isLoading, token }) => {
- const tokenHasBalanceInfo = !!token.extensions
+ const { address } = useWeb3Status()
+ const isNative = isNativeToken(token.address)
+ const hasExtensions = !!token.extensions
- if (isLoading || !tokenHasBalanceInfo) {
+ const { data: nativeBalanceData, isLoading: isLoadingNative } = useBalance({
+ address,
+ chainId: token.chainId,
+ query: { enabled: !!address && isNative && !hasExtensions },
+ })
+
+ const { balance: erc20Balance, isLoadingBalance: isLoadingErc20 } = useErc20Balance({
+ address: !isNative && !hasExtensions ? address : undefined,
+ token: !isNative && !hasExtensions ? token : undefined,
+ })
+
+ if (isLoading) {
throw Promise.reject()
}
- const balance = formatUnits((token.extensions?.balance ?? 0n) as bigint, token.decimals)
- const value = (
- Number.parseFloat((token.extensions?.priceUSD ?? '0') as string) * Number.parseFloat(balance)
- ).toFixed(2)
+ if (hasExtensions) {
+ const balance = formatUnits((token.extensions?.balance ?? 0n) as bigint, token.decimals)
+ const priceUSD = token.extensions?.priceUSD as string | undefined
+ const usdLabel =
+ priceUSD !== undefined
+ ? `$ ${(Number.parseFloat(priceUSD) * Number.parseFloat(balance)).toFixed(2)}`
+ : NO_PRICE_DATA_LABEL
+
+ return (
+
+ {balance}
+ {usdLabel}
+
+ )
+ }
+
+ const isLoadingFallback = isNative ? isLoadingNative : isLoadingErc20
+ if (isLoadingFallback) {
+ return
+ }
+
+ const fallbackBalance = isNative
+ ? formatUnits(nativeBalanceData?.value ?? 0n, token.decimals)
+ : formatUnits(erc20Balance ?? 0n, token.decimals)
return (
-
-
- {balance}
-
-
- $ {value}
-
+
+ {fallbackBalance}
+ {NO_PRICE_DATA_LABEL}
)
})
diff --git a/src/components/sharedComponents/TokenSelect/List/index.tsx b/src/components/sharedComponents/TokenSelect/List/index.tsx
index 8a634367..5aea0c56 100644
--- a/src/components/sharedComponents/TokenSelect/List/index.tsx
+++ b/src/components/sharedComponents/TokenSelect/List/index.tsx
@@ -1,8 +1,8 @@
+import { Flex, type FlexProps } from '@chakra-ui/react'
+import type { FC } from 'react'
import Row from '@/src/components/sharedComponents/TokenSelect/List/Row'
import VirtualizedList from '@/src/components/sharedComponents/TokenSelect/List/VirtualizedList'
import type { Token, Tokens } from '@/src/types/token'
-import { Flex, type FlexProps } from '@chakra-ui/react'
-import type { FC } from 'react'
interface TokenSelectListProps extends FlexProps {
containerHeight: number
diff --git a/src/components/sharedComponents/TokenSelect/Search/index.tsx b/src/components/sharedComponents/TokenSelect/Search/index.tsx
index c04c6686..ea841685 100644
--- a/src/components/sharedComponents/TokenSelect/Search/index.tsx
+++ b/src/components/sharedComponents/TokenSelect/Search/index.tsx
@@ -1,9 +1,9 @@
+import { Box, Flex, type FlexProps, Menu } from '@chakra-ui/react'
+import type { Dispatch, FC, SetStateAction } from 'react'
import SearchInput from '@/src/components/sharedComponents/TokenSelect/Search/Input'
import NetworkButton from '@/src/components/sharedComponents/TokenSelect/Search/NetworkButton'
import type { Networks } from '@/src/components/sharedComponents/TokenSelect/types'
import { MenuContent, MenuItem } from '@/src/components/sharedComponents/ui/Menu'
-import { Box, Flex, type FlexProps, Menu } from '@chakra-ui/react'
-import type { Dispatch, FC, SetStateAction } from 'react'
interface SearchProps extends FlexProps {
currentNetworkId: number
diff --git a/src/components/sharedComponents/TokenSelect/TopTokens/Item.tsx b/src/components/sharedComponents/TokenSelect/TopTokens/Item.tsx
index a7b271ab..cba34232 100644
--- a/src/components/sharedComponents/TokenSelect/TopTokens/Item.tsx
+++ b/src/components/sharedComponents/TokenSelect/TopTokens/Item.tsx
@@ -1,7 +1,7 @@
+import { Box, chakra, Flex } from '@chakra-ui/react'
+import type { ComponentPropsWithoutRef, FC } from 'react'
import TokenLogo from '@/src/components/sharedComponents/TokenLogo'
import type { Token } from '@/src/types/token'
-import { Box, Flex, chakra } from '@chakra-ui/react'
-import type { ComponentPropsWithoutRef, FC } from 'react'
const ICON_SIZE = 24
diff --git a/src/components/sharedComponents/TokenSelect/TopTokens/index.tsx b/src/components/sharedComponents/TokenSelect/TopTokens/index.tsx
index 41478d02..e8ab61a1 100644
--- a/src/components/sharedComponents/TokenSelect/TopTokens/index.tsx
+++ b/src/components/sharedComponents/TokenSelect/TopTokens/index.tsx
@@ -1,8 +1,8 @@
+import { Flex, type FlexProps } from '@chakra-ui/react'
+import type { FC } from 'react'
import Item from '@/src/components/sharedComponents/TokenSelect/TopTokens/Item'
import type { Token, Tokens } from '@/src/types/token'
import { isNativeToken } from '@/src/utils/address'
-import { Flex, type FlexProps } from '@chakra-ui/react'
-import type { FC } from 'react'
interface TopTokensProps extends FlexProps {
onTokenSelect: (token: Token | undefined) => void
@@ -44,7 +44,7 @@ const TopTokens: FC = ({ onTokenSelect, tokens, ...restProps })
- onTokenSelect(token)}
- // biome-ignore lint/style/noNonNullAssertion:
+ // biome-ignore lint/style/noNonNullAssertion: token is defined when rendered via filter above
token={token!}
/>
))}
diff --git a/src/components/sharedComponents/TokenSelect/index.tsx b/src/components/sharedComponents/TokenSelect/index.tsx
index f8ac25f3..28d0f51e 100644
--- a/src/components/sharedComponents/TokenSelect/index.tsx
+++ b/src/components/sharedComponents/TokenSelect/index.tsx
@@ -1,3 +1,6 @@
+import { Flex, type FlexProps } from '@chakra-ui/react'
+import { useEffect, useRef, useState } from 'react'
+import type { Chain } from 'viem/chains'
import List from '@/src/components/sharedComponents/TokenSelect/List'
import Search from '@/src/components/sharedComponents/TokenSelect/Search'
import TopTokens from '@/src/components/sharedComponents/TokenSelect/TopTokens'
@@ -9,9 +12,6 @@ import { useWeb3Status } from '@/src/hooks/useWeb3Status'
import { chains } from '@/src/lib/networks.config'
import type { Token } from '@/src/types/token'
import { withSuspenseAndRetry } from '@/src/utils/suspenseWrapper'
-import { Flex, type FlexProps } from '@chakra-ui/react'
-import { useEffect, useRef, useState } from 'react'
-import type { Chain } from 'viem/chains'
import styles from './styles'
export interface TokenSelectProps {
@@ -25,6 +25,7 @@ export interface TokenSelectProps {
showAddTokenButton?: boolean
showTopTokens?: boolean
showBalance?: boolean
+ sortByBalance?: boolean
}
/** @ignore */
@@ -42,8 +43,9 @@ type Props = FlexProps & TokenSelectProps
* @param {number} [props.iconSize=32] - Optional size of the token icon in the list. Default is 32.
* @param {number} [props.itemHeight=64] - Optional height of each item in the list. Default is 64.
* @param {boolean} [props.showAddTokenButton=false] - Optional flag to allow adding a token. Default is false.
- * @param {boolean} [props.showBalance=false] - Optional flag to show the token balance in the list. Default is false.
+ * @param {boolean} [props.showBalance=false] - Optional flag to show the token balance column in each row. Default is false.
* @param {boolean} [props.showTopTokens=false] - Optional flag to show the top tokens in the list. Default is false.
+ * @param {boolean} [props.sortByBalance] - Sort tokens with a positive balance to the top, ordered by USD value descending. Defaults to true when a wallet is connected.
*/
const TokenSelect = withSuspenseAndRetry(
({
@@ -59,9 +61,10 @@ const TokenSelect = withSuspenseAndRetry(
showAddTokenButton = false,
showBalance = false,
showTopTokens = false,
+ sortByBalance,
...restProps
}) => {
- const { appChainId, walletChainId } = useWeb3Status()
+ const { appChainId, isWalletConnected, walletChainId } = useWeb3Status()
const [chainId, setChainId] = useState(() =>
getValidChainId({
@@ -122,9 +125,12 @@ const TokenSelect = withSuspenseAndRetry(
previousDepsRef.current = [appChainId, currentNetworkId, walletChainId]
}, [appChainId, currentNetworkId, networks, walletChainId])
+ const resolvedSortByBalance = sortByBalance ?? isWalletConnected
+
const { isLoadingBalances, tokensByChainId } = useTokens({
chainId,
- withBalance: showBalance,
+ withBalance: showBalance || resolvedSortByBalance,
+ sortByBalance: resolvedSortByBalance,
})
const { searchResult, searchTerm, setSearchTerm } = useTokenSearch(
@@ -152,6 +158,7 @@ const TokenSelect = withSuspenseAndRetry(
overflow="hidden"
{...restProps}
>
+ {children}
(
showBalance={showBalance}
tokenList={searchResult}
/>
- {children}
)
},
diff --git a/src/components/sharedComponents/TransactionButton.test.tsx b/src/components/sharedComponents/TransactionButton.test.tsx
index 74e4686d..c733d990 100644
--- a/src/components/sharedComponents/TransactionButton.test.tsx
+++ b/src/components/sharedComponents/TransactionButton.test.tsx
@@ -1,146 +1,175 @@
import { ChakraProvider, createSystem, defaultConfig } from '@chakra-ui/react'
-import { fireEvent, render, screen, waitFor } from '@testing-library/react'
-import { describe, expect, it, vi } from 'vitest'
+import { render, screen } from '@testing-library/react'
+import { createElement, type ReactNode } from 'react'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type { Web3Status } from '@/src/hooks/useWeb3Status'
import TransactionButton from './TransactionButton'
-const system = createSystem(defaultConfig)
+const mockSwitchChain = vi.fn()
+const mockWatchTx = vi.fn()
+const mockTransaction = vi.fn(() => Promise.resolve('0xabc' as `0x${string}`))
+
+vi.mock('@/src/hooks/useWalletStatus', () => ({
+ useWalletStatus: vi.fn(() => ({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' },
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ })),
+}))
-vi.mock('@/src/hooks/useWeb3Status', () => ({
- useWeb3Status: vi.fn(),
+vi.mock('@/src/providers/Web3Provider', () => ({
+ ConnectWalletButton: () =>
+ createElement(
+ 'button',
+ { type: 'button', 'data-testid': 'connect-wallet-button' },
+ 'Connect Wallet',
+ ),
}))
vi.mock('@/src/providers/TransactionNotificationProvider', () => ({
useTransactionNotification: vi.fn(() => ({
- watchTx: vi.fn(),
- watchHash: vi.fn(),
- watchSignature: vi.fn(),
+ watchTx: mockWatchTx,
})),
}))
vi.mock('wagmi', () => ({
- useWaitForTransactionReceipt: vi.fn(() => ({ data: undefined })),
+ useWaitForTransactionReceipt: vi.fn(() => ({
+ data: undefined,
+ })),
}))
-vi.mock('@/src/providers/Web3Provider', () => ({
- ConnectWalletButton: () => ,
-}))
+const { useWalletStatus } = await import('@/src/hooks/useWalletStatus')
+const mockedUseWalletStatus = vi.mocked(useWalletStatus)
+
+const mockWeb3Status = {
+ readOnlyClient: undefined,
+ appChainId: 1,
+ address: '0xdeadbeef',
+ balance: undefined,
+ connectingWallet: false,
+ switchingChain: false,
+ isWalletConnected: true,
+ walletClient: undefined,
+ isWalletSynced: true,
+ walletChainId: 1,
+ switchChain: vi.fn(),
+ disconnect: vi.fn(),
+} as unknown as Web3Status
-import * as useWeb3StatusModule from '@/src/hooks/useWeb3Status'
-import * as wagmiModule from 'wagmi'
-
-// chains[0] = optimismSepolia (id: 11155420) when PUBLIC_INCLUDE_TESTNETS=true (default)
-const OP_SEPOLIA_ID = 11155420 as const
-
-function connectedStatus() {
- return {
- isWalletConnected: true,
- isWalletSynced: true,
- walletChainId: OP_SEPOLIA_ID,
- appChainId: OP_SEPOLIA_ID,
- address: '0x1234567890abcdef1234567890abcdef12345678' as `0x${string}`,
- balance: undefined,
- connectingWallet: false,
- switchingChain: false,
- walletClient: undefined,
- readOnlyClient: undefined,
- switchChain: vi.fn(),
- disconnect: vi.fn(),
- }
-}
-
-// biome-ignore lint/suspicious/noExplicitAny: test helper accepts flexible props
-function renderButton(props: any = {}) {
- return render(
-
- Promise.resolve('0x1' as `0x${string}`)}
- {...props}
- />
- ,
- )
-}
+const system = createSystem(defaultConfig)
+
+const renderWithChakra = (ui: ReactNode) =>
+ render({ui})
describe('TransactionButton', () => {
- it('renders fallback when wallet not connected', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue({
- ...connectedStatus(),
- isWalletConnected: false,
- isWalletSynced: false,
- })
- renderButton()
- expect(screen.getByText('Connect Wallet')).toBeDefined()
+ beforeEach(() => {
+ vi.clearAllMocks()
})
- it('renders switch chain button when wallet is on wrong chain', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue({
- ...connectedStatus(),
- isWalletSynced: false,
- walletChainId: 1,
+ it('renders connect button when wallet needs connect', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
})
- renderButton()
- expect(screen.getByRole('button').textContent?.toLowerCase()).toContain('switch to')
- })
- it('renders with default label when wallet is connected and synced', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(connectedStatus())
- vi.mocked(wagmiModule.useWaitForTransactionReceipt).mockReturnValue({
- data: undefined,
- } as ReturnType)
- renderButton()
- expect(screen.getByText('Send Transaction')).toBeDefined()
- })
+ renderWithChakra(Send)
- it('renders with custom children label', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(connectedStatus())
- vi.mocked(wagmiModule.useWaitForTransactionReceipt).mockReturnValue({
- data: undefined,
- } as ReturnType)
- renderButton({ children: 'Deposit ETH' })
- expect(screen.getByText('Deposit ETH')).toBeDefined()
+ expect(screen.getByTestId('connect-wallet-button')).toBeInTheDocument()
+ expect(screen.queryByText('Send')).toBeNull()
})
- it('shows labelSending while transaction is pending', async () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(connectedStatus())
- vi.mocked(wagmiModule.useWaitForTransactionReceipt).mockReturnValue({
- data: undefined,
- } as ReturnType)
-
- const neverResolves = () => new Promise<`0x${string}`>(() => {})
- renderButton({ transaction: neverResolves, labelSending: 'Processing...' })
+ it('renders custom fallback when provided and wallet needs connect', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
- expect(screen.getByRole('button').textContent).not.toContain('Processing...')
+ renderWithChakra(
+
+ Send
+ ,
+ )
- fireEvent.click(screen.getByRole('button'))
+ expect(screen.getByTestId('custom-fallback')).toBeInTheDocument()
+ expect(screen.queryByText('Send')).toBeNull()
+ })
- await waitFor(() => {
- expect(screen.getByRole('button').textContent).toContain('Processing...')
+ it('renders switch chain button when wallet needs chain switch', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: false,
+ needsChainSwitch: true,
+ targetChain: { id: 10, name: 'OP Mainnet' } as ReturnType<
+ typeof useWalletStatus
+ >['targetChain'],
+ targetChainId: 10,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
})
+
+ renderWithChakra(Send)
+
+ expect(screen.getByText(/Switch to/)).toBeInTheDocument()
+ expect(screen.getByText(/OP Mainnet/)).toBeInTheDocument()
+ expect(screen.queryByText('Send')).toBeNull()
})
- it('calls onMined when receipt becomes available', async () => {
- // biome-ignore lint/suspicious/noExplicitAny: mock receipt shape
- const mockReceipt = { status: 'success', transactionHash: '0x1' } as any
- const onMined = vi.fn()
-
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(connectedStatus())
- // Only return a receipt when called with the matching hash so the mock
- // doesn't fire prematurely before the transaction is submitted.
- vi.mocked(wagmiModule.useWaitForTransactionReceipt).mockImplementation(
- (config) =>
- ({
- data: config?.hash === '0x1' ? mockReceipt : undefined,
- }) as ReturnType,
+ it('renders custom switch chain label when provided', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: false,
+ needsChainSwitch: true,
+ targetChain: { id: 10, name: 'OP Mainnet' } as ReturnType<
+ typeof useWalletStatus
+ >['targetChain'],
+ targetChainId: 10,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra(
+
+ Send
+ ,
)
- renderButton({
- transaction: () => Promise.resolve('0x1' as `0x${string}`),
- onMined,
+ expect(screen.getByText(/Change to/)).toBeInTheDocument()
+ expect(screen.getByText(/OP Mainnet/)).toBeInTheDocument()
+ })
+
+ it('renders transaction button when wallet is ready', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: true,
+ needsConnect: false,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
})
- fireEvent.click(screen.getByRole('button'))
+ renderWithChakra(Send ETH)
- await waitFor(() => {
- expect(onMined).toHaveBeenCalledWith(mockReceipt)
- })
+ expect(screen.getByText('Send ETH')).toBeInTheDocument()
+ expect(screen.queryByTestId('connect-wallet-button')).toBeNull()
})
})
diff --git a/src/components/sharedComponents/TransactionButton.tsx b/src/components/sharedComponents/TransactionButton.tsx
index 8710b8a3..620b0cbe 100644
--- a/src/components/sharedComponents/TransactionButton.tsx
+++ b/src/components/sharedComponents/TransactionButton.tsx
@@ -1,15 +1,29 @@
-import { withWalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
-import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
-import { useTransactionNotification } from '@/src/providers/TransactionNotificationProvider'
import type { ButtonProps } from '@chakra-ui/react'
+import type { ReactElement } from 'react'
import { useEffect, useState } from 'react'
import type { Hash, TransactionReceipt } from 'viem'
import { useWaitForTransactionReceipt } from 'wagmi'
+import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
+import SwitchChainButton from '@/src/components/sharedComponents/ui/SwitchChainButton'
+import { useWalletStatus } from '@/src/hooks/useWalletStatus'
+import type { ChainsIds } from '@/src/lib/networks.config'
+import { useTransactionNotification } from '@/src/providers/TransactionNotificationProvider'
+import { ConnectWalletButton } from '@/src/providers/Web3Provider'
interface TransactionButtonProps extends ButtonProps {
+ /** Target chain ID for wallet status verification. */
+ chainId?: ChainsIds
+ /** Number of confirmations to wait for. Defaults to 1. */
confirmations?: number
+ /** Custom fallback when wallet needs connection. Defaults to ConnectWalletButton. */
+ fallback?: ReactElement
+ /** Button label during pending transaction. Defaults to 'Sending...'. */
labelSending?: string
+ /** Callback function called when transaction is mined. */
onMined?: (receipt: TransactionReceipt) => void
+ /** Label for the switch chain button. Defaults to 'Switch to'. */
+ switchChainLabel?: string
+ /** Function that initiates the transaction and returns a hash. */
transaction: {
(): Promise
methodId?: string
@@ -17,20 +31,10 @@ interface TransactionButtonProps extends ButtonProps {
}
/**
- * TransactionButton component that handles blockchain transaction submission and monitoring.
+ * Self-contained transaction button with wallet verification, submission, and confirmation tracking.
*
- * Integrates with writeContractSync or sendTransactionSync functions to handle transaction
- * submission and wait for confirmation. Displays transaction status and calls the onMined
- * callback when the transaction is confirmed.
- *
- * @param {TransactionButtonProps} props - TransactionButton component props.
- * @param {() => Promise} props.transaction - Function that initiates the transaction.
- * @param {(receipt: TransactionReceipt) => void} [props.onMined] - Callback function called when transaction is mined.
- * @param {boolean} [props.disabled] - Whether the button is disabled.
- * @param {string} [props.labelSending='Sending...'] - Button label during pending transaction.
- * @param {number} [props.confirmations=1] - Number of confirmations to wait for.
- * @param {ReactNode} [props.children='Send Transaction'] - Button content.
- * @param {ButtonProps} props.restProps - Additional props inherited from Chakra UI ButtonProps.
+ * Handles wallet connection status internally — shows a connect button if not connected,
+ * a switch chain button if on the wrong chain, or the transaction button when ready.
*
* @example
* ```tsx
@@ -44,60 +48,76 @@ interface TransactionButtonProps extends ButtonProps {
*
* ```
*/
-const TransactionButton = withWalletStatusVerifier(
- ({
- children = 'Send Transaction',
- confirmations = 1,
- disabled,
- labelSending = 'Sending...',
- onMined,
- transaction,
- ...restProps
- }) => {
- const [hash, setHash] = useState()
- const [isPending, setIsPending] = useState(false)
-
- const { watchTx } = useTransactionNotification()
- const { data: receipt } = useWaitForTransactionReceipt({
- hash: hash,
- confirmations,
- })
+function TransactionButton({
+ chainId,
+ children = 'Send Transaction',
+ confirmations = 1,
+ disabled,
+ fallback = ,
+ labelSending = 'Sending...',
+ onMined,
+ switchChainLabel = 'Switch to',
+ transaction,
+ ...restProps
+}: TransactionButtonProps) {
+ const { needsConnect, needsChainSwitch, targetChain, targetChainId, switchChain } =
+ useWalletStatus({ chainId })
- useEffect(() => {
- const handleMined = async () => {
- if (receipt && isPending) {
- await onMined?.(receipt)
- setIsPending(false)
- setHash(undefined)
- }
- }
+ const [hash, setHash] = useState()
+ const [isPending, setIsPending] = useState(false)
- handleMined()
- }, [isPending, onMined, receipt])
+ const { watchTx } = useTransactionNotification()
+ const { data: receipt } = useWaitForTransactionReceipt({
+ hash: hash,
+ confirmations,
+ })
- const handleSendTransaction = async () => {
- setIsPending(true)
- try {
- const txPromise = transaction()
- watchTx({ txPromise, methodId: transaction.methodId })
- const hash = await txPromise
- setHash(hash)
- } catch (error: unknown) {
- console.error('Error sending transaction', error instanceof Error ? error.message : error)
+ useEffect(() => {
+ const handleMined = async () => {
+ if (receipt && isPending) {
+ await onMined?.(receipt)
setIsPending(false)
+ setHash(undefined)
}
}
+ handleMined()
+ }, [isPending, onMined, receipt])
+
+ if (needsConnect) {
+ return fallback
+ }
+
+ if (needsChainSwitch) {
return (
-
- {isPending ? labelSending : children}
-
+ switchChain(targetChainId)}>
+ {switchChainLabel} {targetChain.name}
+
)
- },
-)
+ }
+
+ const handleSendTransaction = async () => {
+ setIsPending(true)
+ try {
+ const txPromise = transaction()
+ watchTx({ txPromise, methodId: transaction.methodId })
+ const hash = await txPromise
+ setHash(hash)
+ } catch (error: unknown) {
+ console.error('Error sending transaction', error instanceof Error ? error.message : error)
+ setIsPending(false)
+ }
+ }
+
+ return (
+
+ {isPending ? labelSending : children}
+
+ )
+}
export default TransactionButton
diff --git a/src/components/sharedComponents/WalletStatusVerifier.test.tsx b/src/components/sharedComponents/WalletStatusVerifier.test.tsx
index 09c5b00d..7f9fc23e 100644
--- a/src/components/sharedComponents/WalletStatusVerifier.test.tsx
+++ b/src/components/sharedComponents/WalletStatusVerifier.test.tsx
@@ -1,122 +1,199 @@
import { ChakraProvider, createSystem, defaultConfig } from '@chakra-ui/react'
import { render, screen } from '@testing-library/react'
-import type { ReactElement } from 'react'
-import { describe, expect, it, vi } from 'vitest'
-import { WalletStatusVerifier, withWalletStatusVerifier } from './WalletStatusVerifier'
+import userEvent from '@testing-library/user-event'
+import { createElement, type ReactNode } from 'react'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type { Web3Status } from '@/src/hooks/useWeb3Status'
+import { useWeb3StatusConnected, WalletStatusVerifier } from './WalletStatusVerifier'
-const system = createSystem(defaultConfig)
+const mockSwitchChain = vi.fn()
+
+const mockWeb3Status = {
+ readOnlyClient: undefined,
+ appChainId: 1,
+ address: '0xdeadbeef',
+ balance: undefined,
+ connectingWallet: false,
+ switchingChain: false,
+ isWalletConnected: true,
+ walletClient: undefined,
+ isWalletSynced: true,
+ walletChainId: 1,
+ switchChain: vi.fn(),
+ disconnect: vi.fn(),
+} as unknown as Web3Status
-vi.mock('@/src/hooks/useWeb3Status', () => ({
- useWeb3Status: vi.fn(),
+vi.mock('@/src/hooks/useWalletStatus', () => ({
+ useWalletStatus: vi.fn(() => ({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' },
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })),
}))
vi.mock('@/src/providers/Web3Provider', () => ({
- ConnectWalletButton: () => ,
+ ConnectWalletButton: () =>
+ createElement(
+ 'button',
+ { type: 'button', 'data-testid': 'connect-wallet-button' },
+ 'Connect Wallet',
+ ),
}))
-import * as useWeb3StatusModule from '@/src/hooks/useWeb3Status'
-
-// chains[0] = optimismSepolia (id: 11155420) when PUBLIC_INCLUDE_TESTNETS=true (default)
-const OP_SEPOLIA_ID = 11155420 as const
-
-function connectedSyncedStatus(overrides = {}) {
- return {
- isWalletConnected: true,
- isWalletSynced: true,
- walletChainId: OP_SEPOLIA_ID,
- appChainId: OP_SEPOLIA_ID,
- switchChain: vi.fn(),
- disconnect: vi.fn(),
- address: '0x1234567890abcdef1234567890abcdef12345678' as `0x${string}`,
- balance: undefined,
- connectingWallet: false,
- switchingChain: false,
- walletClient: undefined,
- readOnlyClient: undefined,
- ...overrides,
- }
-}
-
-function wrap(ui: ReactElement) {
- return render({ui})
-}
+const { useWalletStatus } = await import('@/src/hooks/useWalletStatus')
+const mockedUseWalletStatus = vi.mocked(useWalletStatus)
+
+const system = createSystem(defaultConfig)
+
+const renderWithChakra = (ui: ReactNode) =>
+ render({ui})
describe('WalletStatusVerifier', () => {
- it('renders default ConnectWalletButton fallback when wallet not connected', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(
- // biome-ignore lint/suspicious/noExplicitAny: partial mock
- connectedSyncedStatus({ isWalletConnected: false, isWalletSynced: false }) as any,
- )
- wrap(
-
- Protected Content
- ,
- )
- expect(screen.getByText('Connect Wallet')).toBeDefined()
- expect(screen.queryByText('Protected Content')).toBeNull()
+ beforeEach(() => {
+ vi.clearAllMocks()
})
- it('renders custom fallback when wallet not connected', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(
- // biome-ignore lint/suspicious/noExplicitAny: partial mock
- connectedSyncedStatus({ isWalletConnected: false, isWalletSynced: false }) as any,
- )
- wrap(
- Custom Fallback}>
- Protected Content
- ,
+ it('renders default fallback (ConnectWalletButton) when wallet needs connect', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra(
+ createElement(
+ WalletStatusVerifier,
+ null,
+ createElement('div', { 'data-testid': 'protected-content' }, 'Protected'),
+ ),
)
- expect(screen.getByText('Custom Fallback')).toBeDefined()
+
+ expect(screen.getByTestId('connect-wallet-button')).toBeInTheDocument()
+ expect(screen.queryByTestId('protected-content')).toBeNull()
})
- it('renders switch chain button when wallet is on wrong chain', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(
- // biome-ignore lint/suspicious/noExplicitAny: partial mock
- connectedSyncedStatus({ isWalletSynced: false, walletChainId: 1 }) as any,
- )
- wrap(
-
- Protected Content
- ,
+ it('renders custom fallback when provided and wallet needs connect', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra(
+ createElement(
+ WalletStatusVerifier,
+ { fallback: createElement('div', { 'data-testid': 'custom-fallback' }, 'Custom') },
+ createElement('div', { 'data-testid': 'protected-content' }, 'Protected'),
+ ),
)
- expect(screen.getByRole('button').textContent?.toLowerCase()).toContain('switch to')
- expect(screen.queryByText('Protected Content')).toBeNull()
+
+ expect(screen.getByTestId('custom-fallback')).toBeInTheDocument()
+ expect(screen.queryByTestId('protected-content')).toBeNull()
})
- it('renders children when wallet is connected and synced', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(
- // biome-ignore lint/suspicious/noExplicitAny: partial mock
- connectedSyncedStatus() as any,
- )
- wrap(
-
- Protected Content
- ,
+ it('renders switch chain button when wallet needs chain switch', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: false,
+ needsChainSwitch: true,
+ targetChain: { id: 10, name: 'OP Mainnet' } as ReturnType<
+ typeof useWalletStatus
+ >['targetChain'],
+ targetChainId: 10,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra(
+ createElement(
+ WalletStatusVerifier,
+ null,
+ createElement('div', { 'data-testid': 'protected-content' }, 'Protected'),
+ ),
)
- expect(screen.getByText('Protected Content')).toBeDefined()
+
+ expect(screen.getByText(/Switch to/)).toBeInTheDocument()
+ expect(screen.getByText(/OP Mainnet/)).toBeInTheDocument()
+ expect(screen.queryByTestId('protected-content')).toBeNull()
})
-})
-describe('withWalletStatusVerifier HOC', () => {
- const ProtectedComponent = () => Protected Component
- const Wrapped = withWalletStatusVerifier(ProtectedComponent)
+ it('renders children when wallet is ready', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: true,
+ needsConnect: false,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
- it('renders fallback when wallet not connected', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(
- // biome-ignore lint/suspicious/noExplicitAny: partial mock
- connectedSyncedStatus({ isWalletConnected: false, isWalletSynced: false }) as any,
+ renderWithChakra(
+ createElement(
+ WalletStatusVerifier,
+ null,
+ createElement('div', { 'data-testid': 'protected-content' }, 'Protected'),
+ ),
)
- wrap()
- expect(screen.getByText('Connect Wallet')).toBeDefined()
- expect(screen.queryByText('Protected Component')).toBeNull()
+
+ expect(screen.getByTestId('protected-content')).toBeInTheDocument()
})
- it('renders wrapped component when wallet is connected and synced', () => {
- vi.mocked(useWeb3StatusModule.useWeb3Status).mockReturnValue(
- // biome-ignore lint/suspicious/noExplicitAny: partial mock
- connectedSyncedStatus() as any,
+ it('calls switchChain when switch button is clicked', async () => {
+ const user = userEvent.setup()
+
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: false,
+ needsConnect: false,
+ needsChainSwitch: true,
+ targetChain: { id: 10, name: 'OP Mainnet' } as ReturnType<
+ typeof useWalletStatus
+ >['targetChain'],
+ targetChainId: 10,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ renderWithChakra(
+ createElement(WalletStatusVerifier, null, createElement('div', null, 'Protected')),
)
- wrap()
- expect(screen.getByText('Protected Component')).toBeDefined()
+
+ const switchButton = screen.getByText(/Switch to/)
+ await user.click(switchButton)
+
+ expect(mockSwitchChain).toHaveBeenCalledWith(10)
+ })
+
+ it('provides web3 status context to children when wallet is ready', () => {
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: true,
+ needsConnect: false,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: mockSwitchChain,
+ web3Status: mockWeb3Status,
+ })
+
+ const ChildComponent = () => {
+ const { address } = useWeb3StatusConnected()
+ return createElement('div', { 'data-testid': 'address' }, address)
+ }
+
+ renderWithChakra(createElement(WalletStatusVerifier, null, createElement(ChildComponent)))
+
+ expect(screen.getByTestId('address')).toHaveTextContent('0xdeadbeef')
})
})
diff --git a/src/components/sharedComponents/WalletStatusVerifier.tsx b/src/components/sharedComponents/WalletStatusVerifier.tsx
index 7e9d46c2..5d30c336 100644
--- a/src/components/sharedComponents/WalletStatusVerifier.tsx
+++ b/src/components/sharedComponents/WalletStatusVerifier.tsx
@@ -1,44 +1,47 @@
-import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
-import { useWeb3Status } from '@/src/hooks/useWeb3Status'
-import { type ChainsIds, chains } from '@/src/lib/networks.config'
+import { createContext, type FC, type ReactElement, type ReactNode, useContext } from 'react'
+import SwitchChainButton from '@/src/components/sharedComponents/ui/SwitchChainButton'
+import { useWalletStatus } from '@/src/hooks/useWalletStatus'
+import type { Web3Status } from '@/src/hooks/useWeb3Status'
+import type { ChainsIds } from '@/src/lib/networks.config'
import { ConnectWalletButton } from '@/src/providers/Web3Provider'
-import { chakra } from '@chakra-ui/react'
-import type { ComponentType, FC, ReactElement } from 'react'
-import { extractChain } from 'viem'
+import type { RequiredNonNull } from '@/src/types/utils'
+import { DeveloperError } from '@/src/utils/DeveloperError'
-const Button = chakra(PrimaryButton, {
- base: {
- fontSize: '16px',
- fontWeight: 500,
- height: '48px',
- paddingLeft: 6,
- paddingRight: 6,
- },
-})
+const WalletStatusVerifierContext = createContext | null>(null)
+
+/**
+ * Returns the connected wallet's Web3 status.
+ *
+ * Must be called inside a `` component tree.
+ * Throws if called outside one.
+ */
+export const useWeb3StatusConnected = () => {
+ const context = useContext(WalletStatusVerifierContext)
+ if (context === null) {
+ throw new DeveloperError(
+ 'useWeb3StatusConnected must be used inside a component.',
+ )
+ }
+ return context
+}
interface WalletStatusVerifierProps {
chainId?: ChainsIds
- children?: ReactElement
+ children?: ReactNode
fallback?: ReactElement
- labelSwitchChain?: string
+ switchChainLabel?: string
}
/**
- * WalletStatusVerifier Component
+ * Wrapper component that gates content on wallet connection and chain status.
*
- * This component checks the wallet connection and chain synchronization status.
- * If the wallet is not connected, it displays a fallback component (default: ConnectWalletButton)
- * If the wallet is connected but not synced with the correct chain, it provides an option to switch chain.
- *
- * @param {Object} props - WalletStatusVerifier component props
- * @param {Chain['id']} [props.chainId] - The chain ID to check for synchronization
- * @param {ReactElement} [props.fallback] - The fallback component to render if the wallet is not connected
- * @param {ReactElement} props.children - The children components to render if the wallet is connected and synced
+ * This is the primary API for protecting UI that requires a connected wallet.
+ * Components that call `useWeb3StatusConnected` must be rendered inside this component.
*
* @example
* ```tsx
*
- *
+ *
*
* ```
*/
@@ -46,77 +49,28 @@ const WalletStatusVerifier: FC = ({
chainId,
children,
fallback = ,
- labelSwitchChain = 'Switch to',
+ switchChainLabel = 'Switch to',
}: WalletStatusVerifierProps) => {
- const { appChainId, isWalletConnected, isWalletSynced, switchChain, walletChainId } =
- useWeb3Status()
+ const { needsConnect, needsChainSwitch, targetChain, targetChainId, switchChain, web3Status } =
+ useWalletStatus({ chainId })
- const chainToSwitch = extractChain({ chains, id: chainId || appChainId || chains[0].id })
-
- if (!isWalletConnected) {
+ if (needsConnect) {
return fallback
}
- if (!isWalletSynced || walletChainId !== chainToSwitch.id) {
+ if (needsChainSwitch) {
return (
-
- )
- }
-
- return children
-}
-
-/**
- * WalletStatusVerifier Component
- *
- * Checks the wallet connection and chain synchronization status.
- * - If wallet is not connected, displays fallback component (default: ConnectWalletButton)
- * - If wallet is connected but on wrong chain, provides option to switch networks
- * - If wallet is connected and on correct chain, renders children
- *
- * @param {WalletStatusVerifierProps} props - Component props
- * @param {ChainsIds} [props.chainId] - The required chain ID (defaults to appChainId)
- * @param {ReactElement} [props.children] - The content to render when wallet is connected and synced
- * @param {ReactElement} [props.fallback=] - Component to render when wallet is not connected
- * @param {string} [props.labelSwitchChain='Switch to'] - Label for the chain switching button
- *
- * @example
- * ```tsx
- *
- *
- *
- * ```
- */
-const withWalletStatusVerifier = (
- WrappedComponent: ComponentType
,
- {
- chainId,
- fallback = ,
- labelSwitchChain = 'Switch to',
- }: WalletStatusVerifierProps = {},
-): FC
=> {
- const ComponentWithVerifier: FC
= (props: P) => {
- const { appChainId, isWalletConnected, isWalletSynced, switchChain, walletChainId } =
- useWeb3Status()
-
- const chainToSwitch = extractChain({ chains, id: chainId || appChainId || chains[0].id })
-
- return !isWalletConnected ? (
- fallback
- ) : !isWalletSynced || walletChainId !== chainToSwitch.id ? (
-
- ) : (
-
+ switchChain(targetChainId)}>
+ {switchChainLabel} {targetChain.name}
+
)
}
- ComponentWithVerifier.displayName = `withWalletStatusVerifier(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`
-
- return ComponentWithVerifier
+ return (
+ }>
+ {children}
+
+ )
}
-export { WalletStatusVerifier, withWalletStatusVerifier }
+export { WalletStatusVerifier }
diff --git a/src/components/sharedComponents/dev/TanStackReactQueryDevtools.tsx b/src/components/sharedComponents/dev/TanStackReactQueryDevtools.tsx
index 8887d721..83091c2c 100644
--- a/src/components/sharedComponents/dev/TanStackReactQueryDevtools.tsx
+++ b/src/components/sharedComponents/dev/TanStackReactQueryDevtools.tsx
@@ -1,4 +1,4 @@
-import { Suspense, lazy } from 'react'
+import { lazy, Suspense } from 'react'
const ReactQueryDevtools = import.meta.env.PROD
? () => null
diff --git a/src/components/sharedComponents/dev/TanStackRouterDevtools.tsx b/src/components/sharedComponents/dev/TanStackRouterDevtools.tsx
index cbc90b3a..ef00b957 100644
--- a/src/components/sharedComponents/dev/TanStackRouterDevtools.tsx
+++ b/src/components/sharedComponents/dev/TanStackRouterDevtools.tsx
@@ -1,9 +1,9 @@
-import { Suspense, lazy } from 'react'
+import { lazy, Suspense } from 'react'
const RouterDevtoolsBase = import.meta.env.PROD
? () => null
: lazy(() =>
- import('@tanstack/router-devtools').then((res) => ({
+ import('@tanstack/react-router-devtools').then((res) => ({
default: res.TanStackRouterDevtools,
})),
)
diff --git a/src/components/sharedComponents/ui/DropdownButton.tsx b/src/components/sharedComponents/ui/DropdownButton.tsx
index 8e0a4b5c..3c9cdcb3 100644
--- a/src/components/sharedComponents/ui/DropdownButton.tsx
+++ b/src/components/sharedComponents/ui/DropdownButton.tsx
@@ -1,6 +1,6 @@
-import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
import { type ButtonProps, chakra } from '@chakra-ui/react'
import type { FC } from 'react'
+import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
const ChevronDown: FC = () => (
= ({ ...restProps }) => {
const items = [
diff --git a/src/components/sharedComponents/ui/Footer/index.tsx b/src/components/sharedComponents/ui/Footer/index.tsx
index fc4b75e8..823a17f4 100644
--- a/src/components/sharedComponents/ui/Footer/index.tsx
+++ b/src/components/sharedComponents/ui/Footer/index.tsx
@@ -1,9 +1,9 @@
-import { LogoMini } from '@/src/components/sharedComponents/ui/Footer/LogoMini'
-import Socials from '@/src/components/sharedComponents/ui/Footer/Socials'
-import { Inner } from '@/src/components/sharedComponents/ui/Inner'
import { Box, Flex, type FlexProps } from '@chakra-ui/react'
import packageJSON from '@packageJSON'
import type { FC } from 'react'
+import { LogoMini } from '@/src/components/sharedComponents/ui/Footer/LogoMini'
+import Socials from '@/src/components/sharedComponents/ui/Footer/Socials'
+import { Inner } from '@/src/components/sharedComponents/ui/Inner'
import styles from './styles'
export const Footer: FC = ({ css, ...restProps }) => {
diff --git a/src/components/sharedComponents/ui/Header/Logo.tsx b/src/components/sharedComponents/ui/Header/Logo.tsx
index 3582afdc..449edd01 100644
--- a/src/components/sharedComponents/ui/Header/Logo.tsx
+++ b/src/components/sharedComponents/ui/Header/Logo.tsx
@@ -1,4 +1,4 @@
-import { type ImageProps, chakra } from '@chakra-ui/react'
+import { chakra, type ImageProps } from '@chakra-ui/react'
import type { FC } from 'react'
const LogoDark =
@@ -15,7 +15,6 @@ const LogoLight =
const Logo: FC = ({ ...restProps }) => (
(
diff --git a/src/components/sharedComponents/ui/Header/MobileMenu/MobileMenu.tsx b/src/components/sharedComponents/ui/Header/MobileMenu/MobileMenu.tsx
index 789a182c..48cf1109 100644
--- a/src/components/sharedComponents/ui/Header/MobileMenu/MobileMenu.tsx
+++ b/src/components/sharedComponents/ui/Header/MobileMenu/MobileMenu.tsx
@@ -1,11 +1,10 @@
+import { Box, chakra, Drawer } from '@chakra-ui/react'
+import { useTheme } from 'next-themes'
+import { useState } from 'react'
import Logo from '@/src/components/sharedComponents/ui/Header/Logo'
import MainMenu from '@/src/components/sharedComponents/ui/Header/MainMenu'
import { SwitchThemeButton } from '@/src/components/sharedComponents/ui/SwitchThemeButton'
import { ConnectWalletButton } from '@/src/providers/Web3Provider'
-import { Box, chakra } from '@chakra-ui/react'
-import { Drawer } from '@chakra-ui/react'
-import { useTheme } from 'next-themes'
-import { useState } from 'react'
import styles from './styles'
const MenuIcon = () => (
diff --git a/src/components/sharedComponents/ui/Header/index.tsx b/src/components/sharedComponents/ui/Header/index.tsx
index 10208e24..ccd79602 100644
--- a/src/components/sharedComponents/ui/Header/index.tsx
+++ b/src/components/sharedComponents/ui/Header/index.tsx
@@ -1,13 +1,13 @@
+import { Box, type BoxProps, chakra, Flex } from '@chakra-ui/react'
+import { Link } from '@tanstack/react-router'
+import { useTheme } from 'next-themes'
+import type { FC } from 'react'
import Logo from '@/src/components/sharedComponents/ui/Header/Logo'
import MainMenu from '@/src/components/sharedComponents/ui/Header/MainMenu'
import MobileMenu from '@/src/components/sharedComponents/ui/Header/MobileMenu/MobileMenu'
import { Inner } from '@/src/components/sharedComponents/ui/Inner'
import { SwitchThemeButton } from '@/src/components/sharedComponents/ui/SwitchThemeButton'
import { ConnectWalletButton } from '@/src/providers/Web3Provider'
-import { Box, type BoxProps, Flex, chakra } from '@chakra-ui/react'
-import { Link } from '@tanstack/react-router'
-import { useTheme } from 'next-themes'
-import type { FC } from 'react'
import styles from './styles'
const HomeLink = chakra(Link)
diff --git a/src/components/sharedComponents/ui/Menu/index.tsx b/src/components/sharedComponents/ui/Menu/index.tsx
index ad018d36..65ff3695 100644
--- a/src/components/sharedComponents/ui/Menu/index.tsx
+++ b/src/components/sharedComponents/ui/Menu/index.tsx
@@ -10,6 +10,7 @@ export const MenuContent: FC = ({ children, css, ...restProps
css={{ ...css, ...styles }}
padding="0"
display="flex"
+ flexDirection="column"
alignItems="stretch"
{...restProps}
>
@@ -22,6 +23,11 @@ export const MenuItem: FC = ({ children, css, ...restProps }) =>
alignItems="center"
backgroundColor="var(--item-background-color)"
borderBottom="1px solid var(--item-border-color)"
+ _last={{
+ borderBottom: 'none',
+ _hover: { borderBottom: 'none' },
+ _active: { borderBottom: 'none' },
+ }}
color="var(--item-color)"
columnGap={2}
cursor="pointer"
diff --git a/src/components/sharedComponents/ui/Modal/index.tsx b/src/components/sharedComponents/ui/Modal/index.tsx
index d72455e6..2a624976 100644
--- a/src/components/sharedComponents/ui/Modal/index.tsx
+++ b/src/components/sharedComponents/ui/Modal/index.tsx
@@ -2,9 +2,9 @@ import {
Card as BaseCard,
type ButtonProps,
type CardRootProps,
+ chakra,
Heading,
Text,
- chakra,
} from '@chakra-ui/react'
import type { FC, ReactNode } from 'react'
import styles from './styles'
diff --git a/src/components/sharedComponents/ui/PrimaryButton/index.tsx b/src/components/sharedComponents/ui/PrimaryButton/index.tsx
index 6bf9e073..a2d962b3 100644
--- a/src/components/sharedComponents/ui/PrimaryButton/index.tsx
+++ b/src/components/sharedComponents/ui/PrimaryButton/index.tsx
@@ -1,6 +1,6 @@
-import Button from '@/src/components/sharedComponents/ui/Button'
import type { ButtonProps } from '@chakra-ui/react'
import type { FC } from 'react'
+import Button from '@/src/components/sharedComponents/ui/Button'
import styles from './styles'
export const PrimaryButton: FC = ({ css, ...restProps }) => (
diff --git a/src/components/sharedComponents/ui/SecondaryButton/index.tsx b/src/components/sharedComponents/ui/SecondaryButton/index.tsx
index c6c8ac3b..9d14e6ec 100644
--- a/src/components/sharedComponents/ui/SecondaryButton/index.tsx
+++ b/src/components/sharedComponents/ui/SecondaryButton/index.tsx
@@ -1,6 +1,6 @@
-import Button from '@/src/components/sharedComponents/ui/Button'
import type { ButtonProps } from '@chakra-ui/react'
import type { FC } from 'react'
+import Button from '@/src/components/sharedComponents/ui/Button'
import styles from './styles'
export const SecondaryButton: FC = ({ css, ...restProps }) => (
diff --git a/src/components/sharedComponents/ui/SwitchChainButton.tsx b/src/components/sharedComponents/ui/SwitchChainButton.tsx
new file mode 100644
index 00000000..22fb5fa7
--- /dev/null
+++ b/src/components/sharedComponents/ui/SwitchChainButton.tsx
@@ -0,0 +1,14 @@
+import { chakra } from '@chakra-ui/react'
+import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
+
+const SwitchChainButton = chakra(PrimaryButton, {
+ base: {
+ fontSize: '16px',
+ fontWeight: 500,
+ height: '48px',
+ paddingLeft: 6,
+ paddingRight: 6,
+ },
+})
+
+export default SwitchChainButton
diff --git a/src/components/sharedComponents/ui/SwitchThemeButton/assets/Dark.tsx b/src/components/sharedComponents/ui/SwitchThemeButton/assets/Dark.tsx
index 9302d573..97791b94 100644
--- a/src/components/sharedComponents/ui/SwitchThemeButton/assets/Dark.tsx
+++ b/src/components/sharedComponents/ui/SwitchThemeButton/assets/Dark.tsx
@@ -1,4 +1,4 @@
-import { type HTMLChakraProps, chakra } from '@chakra-ui/react'
+import { chakra, type HTMLChakraProps } from '@chakra-ui/react'
import type { FC, SVGAttributes } from 'react'
const Dark: FC & SVGAttributes> = ({ css, ...restProps }) => (
diff --git a/src/components/sharedComponents/ui/SwitchThemeButton/assets/Light.tsx b/src/components/sharedComponents/ui/SwitchThemeButton/assets/Light.tsx
index b7976a53..6059ec4d 100644
--- a/src/components/sharedComponents/ui/SwitchThemeButton/assets/Light.tsx
+++ b/src/components/sharedComponents/ui/SwitchThemeButton/assets/Light.tsx
@@ -1,4 +1,4 @@
-import { type HTMLChakraProps, chakra } from '@chakra-ui/react'
+import { chakra, type HTMLChakraProps } from '@chakra-ui/react'
import type { FC, SVGAttributes } from 'react'
const Light: FC & SVGAttributes> = ({
diff --git a/src/components/sharedComponents/ui/SwitchThemeButton/index.tsx b/src/components/sharedComponents/ui/SwitchThemeButton/index.tsx
index 557320be..420eee94 100644
--- a/src/components/sharedComponents/ui/SwitchThemeButton/index.tsx
+++ b/src/components/sharedComponents/ui/SwitchThemeButton/index.tsx
@@ -1,7 +1,7 @@
-import Dark from '@/src/components/sharedComponents/ui/SwitchThemeButton/assets/Dark'
-import Light from '@/src/components/sharedComponents/ui/SwitchThemeButton/assets/Light'
import { Box, type ButtonProps, chakra } from '@chakra-ui/react'
import type { FC } from 'react'
+import Dark from '@/src/components/sharedComponents/ui/SwitchThemeButton/assets/Dark'
+import Light from '@/src/components/sharedComponents/ui/SwitchThemeButton/assets/Light'
import styles from './styles'
const Icon = chakra('div', {
diff --git a/src/components/ui/provider.tsx b/src/components/ui/provider.tsx
index e9451067..1d6fa447 100644
--- a/src/components/ui/provider.tsx
+++ b/src/components/ui/provider.tsx
@@ -3,129 +3,129 @@
import { ChakraProvider, createSystem, defaultConfig, defineConfig } from '@chakra-ui/react'
import { ColorModeProvider, type ColorModeProviderProps } from './color-mode'
-export function Provider(props: ColorModeProviderProps) {
- const customConfig = defineConfig({
- theme: {
- // Use tokens for values that don't change with light / dark themes
- tokens: {
- fonts: {
- body: {
- value: '"Manrope", "Arial", "Helvetica Neue", "Helvetica", sans-serif',
- },
- heading: {
- value: '{fonts.body}',
- },
- mono: {
- value: '"Roboto Mono", "Courier New", monospace',
- },
+const customConfig = defineConfig({
+ theme: {
+ // Use tokens for values that don't change with light / dark themes
+ tokens: {
+ fonts: {
+ body: {
+ value: '"Manrope", "Arial", "Helvetica Neue", "Helvetica", sans-serif',
+ },
+ heading: {
+ value: '{fonts.body}',
+ },
+ mono: {
+ value: '"Roboto Mono", "Courier New", monospace',
},
},
- // Use semantic tokens for light / dark values
- semanticTokens: {
- colors: {
- bg: {
- default: {
- value: {
- _light: '#f7f7f7',
- _dark: '#292B43',
- },
- },
- emphasized: {
- value: {
- _light: '#ccc',
- _dark: '#888',
- },
+ },
+ // Use semantic tokens for light / dark values
+ semanticTokens: {
+ colors: {
+ bg: {
+ default: {
+ value: {
+ _light: '#f7f7f7',
+ _dark: '#292B43',
},
},
- primary: {
- default: {
- value: {
- _light: '#692581',
- _dark: '#8b46a4',
- },
+ emphasized: {
+ value: {
+ _light: '#ccc',
+ _dark: '#888',
},
},
- text: {
- default: {
- value: {
- _light: '#4b4d60',
- _dark: '#e2e0e7',
- },
+ },
+ primary: {
+ default: {
+ value: {
+ _light: '#692581',
+ _dark: '#8b46a4',
},
},
- danger: {
- default: {
- value: {
- _light: '#800',
- _dark: '#ff6666',
- },
+ },
+ text: {
+ default: {
+ value: {
+ _light: '#4b4d60',
+ _dark: '#e2e0e7',
},
},
- ok: {
- default: {
- value: {
- _light: '#006600',
- _dark: '#66ee66',
- },
+ },
+ danger: {
+ default: {
+ value: {
+ _light: '#800',
+ _dark: '#ff6666',
},
},
- warning: {
- default: {
- value: {
- _light: '#996600',
- _dark: '#e6b800',
- },
+ },
+ ok: {
+ default: {
+ value: {
+ _light: '#006600',
+ _dark: '#66ee66',
},
},
},
- },
- // Some custom animations
- keyframes: {
- rotateSwitch: {
- from: {
- transform: 'rotate(0)',
- },
- to: {
- transform: 'rotate(360deg)',
+ warning: {
+ default: {
+ value: {
+ _light: '#996600',
+ _dark: '#e6b800',
+ },
},
},
},
},
- globalCss: {
- //////////////////////////////////////////////////
- // Just some basic stuff, don't add too much here.
- //////////////////////////////////////////////////
- html: {
- scrollBehavior: 'smooth',
- overflowX: 'hidden',
- },
- body: {
- '--moz-osx-font-smoothing': 'grayscale',
- '--webkit-font-smoothing': 'antialiased',
- background: '{colors.bg.default}',
- backgroundPosition: '100% 0',
- backgroundRepeat: 'no-repeat',
- color: '{colors.text.default}',
- fontFamily: '{fonts.body}',
- lineHeight: 1.5,
- outlineColor: '{colors.text.default}',
- overflowX: 'hidden',
- },
- code: {
- fontFamily: '{fonts.mono}',
- },
- a: {
- color: '{colors.primary.default}',
- },
- img: {
- display: 'block',
- maxInlineSize: '100%',
+ // Some custom animations
+ keyframes: {
+ rotateSwitch: {
+ from: {
+ transform: 'rotate(0)',
+ },
+ to: {
+ transform: 'rotate(360deg)',
+ },
},
},
- })
+ },
+ globalCss: {
+ //////////////////////////////////////////////////
+ // Just some basic stuff, don't add too much here.
+ //////////////////////////////////////////////////
+ html: {
+ scrollBehavior: 'smooth',
+ overflowX: 'hidden',
+ },
+ body: {
+ '--moz-osx-font-smoothing': 'grayscale',
+ '--webkit-font-smoothing': 'antialiased',
+ background: '{colors.bg.default}',
+ backgroundPosition: '100% 0',
+ backgroundRepeat: 'no-repeat',
+ color: '{colors.text.default}',
+ fontFamily: '{fonts.body}',
+ lineHeight: 1.5,
+ outlineColor: '{colors.text.default}',
+ overflowX: 'hidden',
+ },
+ code: {
+ fontFamily: '{fonts.mono}',
+ },
+ a: {
+ color: '{colors.primary.default}',
+ },
+ img: {
+ display: 'block',
+ maxInlineSize: '100%',
+ },
+ },
+})
- const system = createSystem(defaultConfig, customConfig)
+export const system = createSystem(defaultConfig, customConfig)
+export function Provider(props: ColorModeProviderProps) {
return (
diff --git a/src/components/ui/toaster.tsx b/src/components/ui/toaster.tsx
index 4b4ff9e6..c8e09bf0 100644
--- a/src/components/ui/toaster.tsx
+++ b/src/components/ui/toaster.tsx
@@ -1,7 +1,7 @@
'use client'
+import { Toaster as ChakraToaster, createToaster, Portal, Stack, Toast } from '@chakra-ui/react'
import Spinner from '@/src/components/sharedComponents/ui/Spinner'
-import { Toaster as ChakraToaster, Portal, Stack, Toast, createToaster } from '@chakra-ui/react'
export const toaster = createToaster({
placement: 'bottom-end',
diff --git a/src/constants/aaveSepoliaFaucet.ts b/src/constants/aaveSepoliaFaucet.ts
new file mode 100644
index 00000000..49e29bb9
--- /dev/null
+++ b/src/constants/aaveSepoliaFaucet.ts
@@ -0,0 +1,88 @@
+import { getAddress } from 'viem'
+import { sepolia } from 'viem/chains'
+import type { TokenList } from '@/src/types/token'
+
+// trustwallet/assets pinned 2026-04-18; bump SHA when icons need updating
+const TW_SHA = 'a2c7ba6ca5cc1f16f1be80f642618396ed6df6be'
+const TW = `https://raw.githubusercontent.com/trustwallet/assets/${TW_SHA}/blockchains/ethereum/assets`
+
+// Source: AAVE v3 Sepolia deployment - https://github.com/bgd-labs/aave-address-book/blob/main/src/AaveV3Sepolia.sol
+export const aaveSepoliaFaucetTokens: TokenList = {
+ name: 'AAVE Sepolia Faucet',
+ timestamp: '2026-04-20T00:00:00Z',
+ version: { major: 1, minor: 0, patch: 0 },
+ tokens: [
+ {
+ chainId: sepolia.id,
+ address: getAddress('0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357'),
+ name: 'Dai Stablecoin',
+ symbol: 'DAI',
+ decimals: 18,
+ logoURI: `${TW}/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0xf8Fb3713D459D7C1018BD0A49D19b4C44290EBE5'),
+ name: 'Chainlink Token',
+ symbol: 'LINK',
+ decimals: 18,
+ logoURI: `${TW}/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8'),
+ name: 'USD Coin',
+ symbol: 'USDC',
+ decimals: 6,
+ logoURI: `${TW}/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0x29f2D40B0605204364af54EC677bD022dA425d03'),
+ name: 'Wrapped Bitcoin',
+ symbol: 'WBTC',
+ decimals: 8,
+ logoURI: `${TW}/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0xC558DBdd856501FCd9aaF1E62eae57A9F0629a3c'),
+ name: 'Wrapped Ether',
+ symbol: 'WETH',
+ decimals: 18,
+ logoURI: `${TW}/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0'),
+ name: 'Tether USD',
+ symbol: 'USDT',
+ decimals: 6,
+ logoURI: `${TW}/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0x88541670E55cC00bEEFD87eB59EDd1b7C511AC9a'),
+ name: 'Aave Token',
+ symbol: 'AAVE',
+ decimals: 18,
+ logoURI: `${TW}/0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0x6d906e526a4e2Ca02097BA9d0caA3c382F52278E'),
+ name: 'Euro Stablecoin',
+ symbol: 'EURS',
+ decimals: 2,
+ logoURI: `${TW}/0xdB25f211AB05b1c97D595516F45794528a807ad8/logo.png`,
+ },
+ {
+ chainId: sepolia.id,
+ address: getAddress('0xc4bF5CbDaBE595361438F8c6a187bDc330539c60'),
+ name: 'Gho Token',
+ symbol: 'GHO',
+ decimals: 18,
+ logoURI: `${TW}/0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f/logo.png`,
+ },
+ ],
+}
diff --git a/src/constants/common.ts b/src/constants/common.ts
index a12b5a0e..991b8e66 100644
--- a/src/constants/common.ts
+++ b/src/constants/common.ts
@@ -9,3 +9,6 @@ export const isDev = import.meta.env.DEV
* @source
*/
export const includeTestnets = env.PUBLIC_INCLUDE_TESTNETS
+
+/** Displayed when no price data is available (e.g. chains unsupported by LI.FI). */
+export const NO_PRICE_DATA_LABEL = 'N/A'
diff --git a/src/constants/contracts/contracts.ts b/src/constants/contracts/contracts.ts
index 0f789d98..00320e2d 100644
--- a/src/constants/contracts/contracts.ts
+++ b/src/constants/contracts/contracts.ts
@@ -1,10 +1,10 @@
import {
type Abi,
type Address,
- type ContractFunctionArgs as WagmiContractFunctionArgs,
- type ContractFunctionName as WagmiContractFunctionName,
erc20Abi,
isAddress,
+ type ContractFunctionArgs as WagmiContractFunctionArgs,
+ type ContractFunctionName as WagmiContractFunctionName,
} from 'viem'
import { mainnet, optimismSepolia, polygon, sepolia } from 'viem/chains'
@@ -85,9 +85,8 @@ export type ContractNames = (typeof contracts)[number]['name']
type ContractOfName = Extract<(typeof contracts)[number], { name: CN }>
type AbiOfName = ContractOfName['abi']
-type AddressRecord = ContractOfName extends { address: infer K }
- ? K
- : never
+type AddressRecord =
+ ContractOfName extends { address: infer K } ? K : never
type ChainIdOf = keyof AddressRecord
export type ContractFunctionName = WagmiContractFunctionName<
diff --git a/src/constants/tokenLists.ts b/src/constants/tokenLists.ts
index eef5ed10..4f08f945 100644
--- a/src/constants/tokenLists.ts
+++ b/src/constants/tokenLists.ts
@@ -1,10 +1,33 @@
+import { aaveSepoliaFaucetTokens } from '@/src/constants/aaveSepoliaFaucet'
+import { includeTestnets } from '@/src/constants/common'
+import type { TokenList } from '@/src/types/token'
+
/**
* @dev Here you can add the list of tokens you want to use in the app
* The list follow the standard from: https://tokenlists.org/
*
- * Token list must complain with the Schema defined in /src/token.ts
+ * Token list must comply with the Schema defined in /src/token.ts
*/
export const tokenLists = {
- '1INCH': 'https://ipfs.io/ipns/tokens.1inch.eth',
COINGECKO: 'https://tokens.coingecko.com/uniswap/all.json',
} as const
+
+export type BundledTokenList = {
+ key: string
+ list: TokenList
+ enabled: boolean
+}
+
+/**
+ * @dev Bundled (offline) token lists included at build time.
+ * Add entries here to ship curated token sets without a network request.
+ * Each entry is gated by an `enabled` flag so testnet lists stay out of
+ * production builds when PUBLIC_INCLUDE_TESTNETS is false.
+ */
+export const bundledTokenLists: BundledTokenList[] = [
+ {
+ key: 'aave-sepolia-faucet',
+ list: aaveSepoliaFaucetTokens,
+ enabled: includeTestnets,
+ },
+]
diff --git a/src/env.ts b/src/env.ts
index 02d3f2ca..1dbce887 100644
--- a/src/env.ts
+++ b/src/env.ts
@@ -6,7 +6,7 @@ const zBoolean = z
.enum(['true', 'false'])
.transform((value) => value === 'true')
.optional()
- .default('true')
+ .default(true)
/**
* Represents the environment configuration object.
diff --git a/src/hooks/useErc20Balance.test.ts b/src/hooks/useErc20Balance.test.ts
index 04b3f033..c81c47d1 100644
--- a/src/hooks/useErc20Balance.test.ts
+++ b/src/hooks/useErc20Balance.test.ts
@@ -1,10 +1,10 @@
-import type { Token } from '@/src/types/token'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { renderHook, waitFor } from '@testing-library/react'
import type { ReactNode } from 'react'
import { createElement } from 'react'
import { zeroAddress } from 'viem'
import { beforeEach, describe, expect, it, vi } from 'vitest'
+import type { Token } from '@/src/types/token'
import { useErc20Balance } from './useErc20Balance'
const mockReadContract = vi.fn()
diff --git a/src/hooks/useNetworkBlockNumber.ts b/src/hooks/useNetworkBlockNumber.ts
index 6681f49b..33b673b6 100644
--- a/src/hooks/useNetworkBlockNumber.ts
+++ b/src/hooks/useNetworkBlockNumber.ts
@@ -1,7 +1,6 @@
-import { useMemo } from 'react'
-
import { type UseSuspenseQueryOptions, useSuspenseQuery } from '@tanstack/react-query'
-import { http, createPublicClient } from 'viem'
+import { useMemo } from 'react'
+import { createPublicClient, http } from 'viem'
import type { Chain } from 'viem/chains'
/**
diff --git a/src/hooks/useOPL1CrossDomainMessengerProxy.ts b/src/hooks/useOPL1CrossDomainMessengerProxy.ts
index f0756615..08074ba4 100644
--- a/src/hooks/useOPL1CrossDomainMessengerProxy.ts
+++ b/src/hooks/useOPL1CrossDomainMessengerProxy.ts
@@ -1,6 +1,6 @@
import { useCallback } from 'react'
-import { type Address, type Hash, createPublicClient, encodeFunctionData } from 'viem'
+import { type Address, createPublicClient, encodeFunctionData, type Hash } from 'viem'
import type { mainnet } from 'viem/chains'
import { optimism, optimismSepolia, sepolia } from 'viem/chains'
import { useWriteContract } from 'wagmi'
@@ -11,7 +11,6 @@ import {
type ContractNames,
getContract,
} from '@/src/constants/contracts/contracts'
-import { useWeb3StatusConnected } from '@/src/hooks/useWeb3Status'
import { transports } from '@/src/lib/networks.config'
async function l2ContractCallInfo({
@@ -132,6 +131,7 @@ export function useL1CrossDomainMessengerProxy({
functionName,
args,
value,
+ walletAddress,
}: {
fromChain: typeof sepolia | typeof mainnet
l2ContractAddress: Address
@@ -139,8 +139,8 @@ export function useL1CrossDomainMessengerProxy({
functionName: ContractFunctionName
args: ContractFunctionArgs
value: bigint
-}) {
- const { address: walletAddress } = useWeb3StatusConnected()
+ walletAddress: Address
+}): () => Promise {
const contract = getContract('OPL1CrossDomainMessengerProxy', fromChain.id)
const { writeContractAsync } = useWriteContract()
diff --git a/src/hooks/useTokenLists.test.ts b/src/hooks/useTokenLists.test.ts
index bb8ddc0f..a68e229a 100644
--- a/src/hooks/useTokenLists.test.ts
+++ b/src/hooks/useTokenLists.test.ts
@@ -1,11 +1,11 @@
-import type { Token } from '@/src/types/token'
-import tokenListsCache, { updateTokenListsCache } from '@/src/utils/tokenListsCache'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { renderHook } from '@testing-library/react'
-import { createElement } from 'react'
import type { ReactNode } from 'react'
+import { createElement } from 'react'
import { zeroAddress } from 'viem'
import { beforeEach, describe, expect, it, vi } from 'vitest'
+import { type Token, tokenSchema } from '@/src/types/token'
+import tokenListsCache, { updateTokenListsCache } from '@/src/utils/tokenListsCache'
vi.mock('@/src/utils/tokenListsCache', () => {
const cache = { tokens: [] as Token[], tokensByChainId: {} as Record }
@@ -28,6 +28,7 @@ vi.mock('@/src/env', () => ({
vi.mock('@/src/constants/tokenLists', () => ({
tokenLists: {},
+ bundledTokenLists: [],
}))
vi.mock('@tanstack/react-query', async (importActual) => {
@@ -36,7 +37,10 @@ vi.mock('@tanstack/react-query', async (importActual) => {
})
import * as tanstackQuery from '@tanstack/react-query'
-import { useTokenLists } from './useTokenLists'
+import { fetchTokenList, useTokenLists } from './useTokenLists'
+
+const mockFetch = vi.fn()
+vi.stubGlobal('fetch', mockFetch)
const mockToken1: Token = {
address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
@@ -73,6 +77,110 @@ beforeEach(() => {
})
})
+describe('fetchTokenList', () => {
+ beforeEach(() => {
+ vi.clearAllMocks()
+ })
+
+ it('returns empty token list on HTTP error', async () => {
+ mockFetch.mockResolvedValue({
+ ok: false,
+ status: 504,
+ statusText: 'Gateway Timeout',
+ })
+
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
+ const result = await fetchTokenList('https://example.com/tokens.json')
+
+ expect(result.tokens).toEqual([])
+ expect(warnSpy).toHaveBeenCalledWith(expect.stringContaining('Token list fetch failed'))
+ warnSpy.mockRestore()
+ })
+
+ it('returns empty token list on network error', async () => {
+ mockFetch.mockRejectedValue(new Error('Network error'))
+
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
+ const result = await fetchTokenList('https://example.com/tokens.json')
+
+ expect(result.tokens).toEqual([])
+ expect(warnSpy).toHaveBeenCalledWith(
+ expect.stringContaining('Token list fetch failed'),
+ 'Network error',
+ )
+ warnSpy.mockRestore()
+ })
+
+ it('returns empty token list on invalid JSON schema', async () => {
+ mockFetch.mockResolvedValue({
+ ok: true,
+ json: () => Promise.resolve({ error: 'not a token list' }),
+ })
+
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
+ const result = await fetchTokenList('https://example.com/tokens.json')
+
+ expect(result.tokens).toEqual([])
+ expect(warnSpy).toHaveBeenCalledWith(expect.stringContaining('invalid schema'))
+ warnSpy.mockRestore()
+ })
+
+ it('returns token list on valid response', async () => {
+ const validTokenList = {
+ name: 'Test',
+ timestamp: '2026-01-01',
+ version: { major: 1, minor: 0, patch: 0 },
+ tokens: [{ symbol: 'ETH', name: 'Ether', address: '0x0', chainId: 1, decimals: 18 }],
+ }
+
+ mockFetch.mockResolvedValue({
+ ok: true,
+ json: () => Promise.resolve(validTokenList),
+ })
+
+ const result = await fetchTokenList('https://example.com/tokens.json')
+
+ expect(result.tokens).toHaveLength(1)
+ expect(result.tokens[0].symbol).toBe('ETH')
+ })
+
+ it('returns empty token list when tokens field is not an array', async () => {
+ mockFetch.mockResolvedValue({
+ ok: true,
+ json: () => Promise.resolve({ tokens: 'not an array' }),
+ })
+
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {})
+ const result = await fetchTokenList('https://example.com/tokens.json')
+
+ expect(result.tokens).toEqual([])
+ warnSpy.mockRestore()
+ })
+
+ describe("'default' bundled token list", () => {
+ it('returns a non-empty tokens array', async () => {
+ const result = await fetchTokenList('default')
+
+ expect(result.tokens.length).toBeGreaterThan(0)
+ expect(mockFetch).not.toHaveBeenCalled()
+ })
+
+ it('every EVM token conforms to tokenSchema', async () => {
+ const result = await fetchTokenList('default')
+
+ // The bundled list includes non-EVM tokens (e.g. Solana with base58 addresses)
+ // alongside EVM tokens. Non-EVM entries are filtered out downstream by useTokenLists
+ // via safeParse. Here we validate only the EVM-addressable subset.
+ const evmTokens = result.tokens.filter(({ address }) => /^0x[a-fA-F0-9]{40}$/.test(address))
+ expect(evmTokens.length).toBeGreaterThan(0)
+ for (const token of evmTokens) {
+ expect(() => tokenSchema.parse(token)).not.toThrow()
+ }
+ expect(mockFetch).not.toHaveBeenCalled()
+ })
+ })
+})
+
describe('useTokenLists', () => {
it('returns tokens and tokensByChainId', () => {
vi.mocked(tanstackQuery.useSuspenseQueries).mockReturnValueOnce(
@@ -114,6 +222,30 @@ describe('useTokenLists', () => {
expect(nativeToken?.symbol).toBe('ETH')
})
+ it('filters out tokens whose chainId is not present in viem/chains and does not log', () => {
+ // biome-ignore lint/suspicious/noExplicitAny: mocking internal combine param
+ vi.mocked(tanstackQuery.useSuspenseQueries).mockImplementation(({ combine }: any) => {
+ const ropstenToken: Token = {
+ address: '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6',
+ chainId: 3,
+ decimals: 18,
+ name: 'Wrapped Ether (Ropsten)',
+ symbol: 'WETH',
+ }
+ return combine([mockSuspenseQueryResult([mockToken1, ropstenToken])])
+ })
+
+ const errorSpy = vi.spyOn(console, 'error').mockImplementation(() => {})
+ const { result } = renderHook(() => useTokenLists(), { wrapper })
+
+ expect(result.current.tokens.some((t) => t.chainId === 3)).toBe(false)
+ expect(result.current.tokensByChainId[3]).toBeUndefined()
+ expect(errorSpy).not.toHaveBeenCalled()
+ expect(result.current.tokens.some((t) => t.address === mockToken1.address)).toBe(true)
+
+ errorSpy.mockRestore()
+ })
+
it('filters out tokens that fail schema validation', () => {
// biome-ignore lint/suspicious/noExplicitAny: mocking internal combine param
vi.mocked(tanstackQuery.useSuspenseQueries).mockImplementation(({ combine }: any) => {
diff --git a/src/hooks/useTokenLists.ts b/src/hooks/useTokenLists.ts
index 79009d9b..38c4397c 100644
--- a/src/hooks/useTokenLists.ts
+++ b/src/hooks/useTokenLists.ts
@@ -1,18 +1,22 @@
-import { useMemo } from 'react'
-
import {
type UseSuspenseQueryOptions,
type UseSuspenseQueryResult,
useSuspenseQueries,
} from '@tanstack/react-query'
import defaultTokens from '@uniswap/default-token-list'
+import { useMemo } from 'react'
import * as chains from 'viem/chains'
-import { tokenLists } from '@/src/constants/tokenLists'
+import { bundledTokenLists, tokenLists } from '@/src/constants/tokenLists'
import { env } from '@/src/env'
import { type Token, type TokenList, tokenSchema } from '@/src/types/token'
import { logger } from '@/src/utils/logger'
-import tokenListsCache, { updateTokenListsCache, type TokensMap } from '@/src/utils/tokenListsCache'
+import tokenListsCache, { type TokensMap, updateTokenListsCache } from '@/src/utils/tokenListsCache'
+
+const chainsById: Map = new Map()
+for (const chain of Object.values(chains)) {
+ if (!chainsById.has(chain.id)) chainsById.set(chain.id, chain)
+}
/**
* Loads and processes token lists from configured sources
@@ -59,13 +63,23 @@ export const useTokenLists = (): TokensMap => {
return env.PUBLIC_USE_DEFAULT_TOKENS ? ['default', ...urls] : urls
}, [])
+ const enabledBundledLists = useMemo(() => bundledTokenLists.filter((b) => b.enabled), [])
+
return useSuspenseQueries({
- queries: tokenListUrls.map>((url) => ({
- queryKey: ['tokens-list', url],
- queryFn: () => fetchTokenList(url),
- staleTime: Number.POSITIVE_INFINITY,
- gcTime: Number.POSITIVE_INFINITY,
- })),
+ queries: [
+ ...tokenListUrls.map>((url) => ({
+ queryKey: ['tokens-list', url],
+ queryFn: () => fetchTokenList(url),
+ staleTime: 60 * 60 * 1000,
+ gcTime: 60 * 60 * 1000,
+ })),
+ ...enabledBundledLists.map>((b) => ({
+ queryKey: ['tokens-list', b.key],
+ queryFn: () => Promise.resolve(b.list),
+ staleTime: Number.POSITIVE_INFINITY,
+ gcTime: Number.POSITIVE_INFINITY,
+ })),
+ ],
combine: combineTokenLists,
})
}
@@ -99,12 +113,11 @@ function combineTokenLists(results: Array>): T
new Map(
results
.flatMap((result) => result.data.tokens)
- // ensure that only valid tokens are consumed in runtime
- .filter((token) => {
- const result = tokenSchema.safeParse(token)
-
- return result.success
- })
+ // tokenSchema enforces EVM address format, so non-EVM entries (e.g. Solana in
+ // @uniswap/default-token-list v18+) are dropped. Tokens on chainIds absent from
+ // viem/chains are also dropped, so buildNativeToken cannot throw and
+ // tokensByChainId never accumulates unreachable buckets.
+ .filter((token) => tokenSchema.safeParse(token).success && chainsById.has(token.chainId))
.map((token) => [tokenKey(token), token]),
).values(),
)
@@ -114,18 +127,9 @@ function combineTokenLists(results: Array>): T
const tokensMap = uniqueTokens.reduce(
(acc, token) => {
if (!acc.tokensByChainId[token.chainId]) {
- try {
- // if there's a native token for the chain
- const nativeToken = buildNativeToken(token.chainId)
-
- // add it to the list
- acc.tokensByChainId[token.chainId] = [nativeToken]
- acc.tokens.push(nativeToken)
- } catch (err) {
- console.error(err)
- // if there's no native token for the chain, ignore the error
- acc.tokensByChainId[token.chainId] = []
- }
+ const nativeToken = buildNativeToken(token.chainId)
+ acc.tokensByChainId[token.chainId] = [nativeToken]
+ acc.tokens.push(nativeToken)
}
acc.tokens.push(token)
@@ -145,26 +149,48 @@ function combineTokenLists(results: Array>): T
return tokensMap
}
+const emptyTokenList: TokenList = {
+ name: '',
+ timestamp: '',
+ version: { major: 0, minor: 0, patch: 0 },
+ tokens: [],
+}
+
/**
- * A wrapper around fetch, to return the parsed JSON or throw an error if something goes wrong
+ * Fetches a token list from a URL. Returns an empty token list on failure
+ * instead of throwing, so one broken source doesn't block the entire app.
*
- * @param url - a link to a list of tokens or 'default' to use the list added as a dependency to the project
- * @returns {Promise} a token list
+ * @param url - a link to a list of tokens or 'default' to use the bundled list
+ * @returns a token list (empty on failure)
*/
-async function fetchTokenList(url: string): Promise {
+export async function fetchTokenList(url: string): Promise {
if (url === 'default') {
return defaultTokens as TokenList
}
- const result = await fetch(url)
+ try {
+ const result = await fetch(url)
+
+ if (!result.ok) {
+ console.warn(`Token list fetch failed for ${url}: HTTP ${result.status} ${result.statusText}`)
+ return emptyTokenList
+ }
- if (!result.ok) {
- throw new Error(
- `Something went wrong. HTTP status code: ${result.status}. Status Message: ${result.statusText}`,
+ const data = await result.json()
+
+ if (!data || typeof data !== 'object' || !Array.isArray(data.tokens)) {
+ console.warn(`Token list fetch for ${url} returned invalid schema; expected a tokens array.`)
+ return emptyTokenList
+ }
+
+ return data as TokenList
+ } catch (error) {
+ console.warn(
+ `Token list fetch failed for ${url}:`,
+ error instanceof Error ? error.message : error,
)
+ return emptyTokenList
}
-
- return result.json()
}
/**
@@ -174,7 +200,7 @@ async function fetchTokenList(url: string): Promise {
* @returns The native token object.
*/
function buildNativeToken(chainId: Token['chainId']): Token {
- const tokenInfo = Object.values(chains).find((chain) => chain.id === chainId)?.nativeCurrency
+ const tokenInfo = chainsById.get(chainId)?.nativeCurrency
if (!tokenInfo) {
throw new Error(`Native token not found for chain ID: ${chainId}`)
diff --git a/src/hooks/useTokens.test.ts b/src/hooks/useTokens.test.ts
new file mode 100644
index 00000000..b2b17906
--- /dev/null
+++ b/src/hooks/useTokens.test.ts
@@ -0,0 +1,220 @@
+import type { TokenAmount, TokensResponse } from '@lifi/sdk'
+import { zeroAddress } from 'viem'
+import { describe, expect, it, vi } from 'vitest'
+import type { Token, Tokens } from '@/src/types/token'
+import { updateTokensBalances, updateTokensWithRawBalances } from './useTokens'
+
+// Mimic a setup that overrides PUBLIC_NATIVE_TOKEN_ADDRESS to the Aave-style sentinel
+// (0xEeee...), which env.ts lowercases. The merge must bridge this back to LI.FI's
+// zero-address convention.
+const { LOCAL_NATIVE } = vi.hoisted(() => ({
+ LOCAL_NATIVE: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
+}))
+
+vi.mock('@/src/env', () => ({
+ env: { PUBLIC_NATIVE_TOKEN_ADDRESS: LOCAL_NATIVE, PUBLIC_APP_NAME: 'test' },
+}))
+
+const usdcAddress = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
+
+const localTokens: Tokens = [
+ { chainId: 1, address: LOCAL_NATIVE, name: 'Ether', symbol: 'ETH', decimals: 18 },
+ { chainId: 1, address: usdcAddress, name: 'USD Coin', symbol: 'USDC', decimals: 6 },
+]
+
+const makeLifiToken = (address: string, symbol: string, decimals: number, priceUSD: string) => ({
+ chainId: 1,
+ address,
+ symbol,
+ name: symbol,
+ decimals,
+ priceUSD,
+})
+
+const daiAddress = '0x6B175474E89094C44Da98b954EedeAC495271d0F'
+
+describe('updateTokensBalances', () => {
+ const threeTokens: Tokens = [
+ { chainId: 1, address: LOCAL_NATIVE, name: 'Ether', symbol: 'ETH', decimals: 18 },
+ { chainId: 1, address: usdcAddress, name: 'USD Coin', symbol: 'USDC', decimals: 6 },
+ { chainId: 1, address: daiAddress, name: 'Dai', symbol: 'DAI', decimals: 18 },
+ ]
+ it('merges LI.FI native balance onto a local native token that uses a non-zero sentinel', () => {
+ const prices: TokensResponse = {
+ tokens: {
+ 1: [
+ makeLifiToken(zeroAddress, 'ETH', 18, '2300'),
+ makeLifiToken(usdcAddress, 'USDC', 6, '1'),
+ ],
+ },
+ }
+ const balances: TokenAmount[] = [
+ { ...makeLifiToken(zeroAddress, 'ETH', 18, '2300'), amount: 1_758_640_884_554_030_066n },
+ { ...makeLifiToken(usdcAddress, 'USDC', 6, '1'), amount: 5_000_000n },
+ ]
+
+ const { tokens } = updateTokensBalances(localTokens, [balances, prices])
+
+ const eth = tokens.find((t: Token) => t.address === LOCAL_NATIVE)
+ const usdc = tokens.find((t: Token) => t.address === usdcAddress)
+
+ expect(eth?.extensions?.balance).toBe(1_758_640_884_554_030_066n)
+ expect(eth?.extensions?.priceUSD).toBe('2300')
+ expect(usdc?.extensions?.balance).toBe(5_000_000n)
+ expect(usdc?.extensions?.priceUSD).toBe('1')
+ })
+
+ it('falls back to zero balance when LI.FI has no data for a local token', () => {
+ const prices: TokensResponse = { tokens: { 1: [] } }
+ const balances: TokenAmount[] = []
+
+ const { tokens } = updateTokensBalances(localTokens, [balances, prices])
+
+ for (const token of tokens) {
+ expect(token.extensions?.balance).toBe(0n)
+ expect(token.extensions?.priceUSD).toBe('0')
+ }
+ })
+
+ it('places tokens with positive balance before zero-balance tokens', () => {
+ const prices: TokensResponse = {
+ tokens: {
+ 1: [
+ makeLifiToken(LOCAL_NATIVE, 'ETH', 18, '2300'),
+ makeLifiToken(usdcAddress, 'USDC', 6, '1'),
+ makeLifiToken(daiAddress, 'DAI', 18, '1'),
+ ],
+ },
+ }
+ const balances: TokenAmount[] = [
+ { ...makeLifiToken(LOCAL_NATIVE, 'ETH', 18, '2300'), amount: 0n },
+ { ...makeLifiToken(usdcAddress, 'USDC', 6, '1'), amount: 5_000_000n },
+ { ...makeLifiToken(daiAddress, 'DAI', 18, '1'), amount: 0n },
+ ]
+
+ const { tokens } = updateTokensBalances(threeTokens, [balances, prices])
+
+ expect(tokens[0].symbol).toBe('USDC')
+ expect(tokens[1].symbol).toBe('ETH')
+ expect(tokens[2].symbol).toBe('DAI')
+ })
+
+ it('zero-balance tokens retain source order among themselves', () => {
+ const prices: TokensResponse = {
+ tokens: {
+ 1: [
+ makeLifiToken(LOCAL_NATIVE, 'ETH', 18, '2300'),
+ makeLifiToken(usdcAddress, 'USDC', 6, '1'),
+ makeLifiToken(daiAddress, 'DAI', 18, '1'),
+ ],
+ },
+ }
+ const balances: TokenAmount[] = []
+
+ const { tokens } = updateTokensBalances(threeTokens, [balances, prices])
+
+ expect(tokens[0].symbol).toBe('ETH')
+ expect(tokens[1].symbol).toBe('USDC')
+ expect(tokens[2].symbol).toBe('DAI')
+ })
+
+ it('preserves source order when sortByBalance is false', () => {
+ const prices: TokensResponse = {
+ tokens: {
+ 1: [
+ makeLifiToken(LOCAL_NATIVE, 'ETH', 18, '2300'),
+ makeLifiToken(usdcAddress, 'USDC', 6, '1'),
+ makeLifiToken(daiAddress, 'DAI', 18, '1'),
+ ],
+ },
+ }
+ const balances: TokenAmount[] = [
+ { ...makeLifiToken(LOCAL_NATIVE, 'ETH', 18, '2300'), amount: 0n },
+ { ...makeLifiToken(usdcAddress, 'USDC', 6, '1'), amount: 5_000_000n },
+ { ...makeLifiToken(daiAddress, 'DAI', 18, '1'), amount: 0n },
+ ]
+
+ const { tokens } = updateTokensBalances(threeTokens, [balances, prices], {
+ sortByBalance: false,
+ })
+
+ expect(tokens[0].symbol).toBe('ETH')
+ expect(tokens[1].symbol).toBe('USDC')
+ expect(tokens[2].symbol).toBe('DAI')
+ })
+})
+
+describe('updateTokensWithRawBalances', () => {
+ it('places tokens with positive balance before zero-balance tokens', () => {
+ const rawBalances: Record> = {
+ 11155111: {
+ [LOCAL_NATIVE]: 2_000_000_000_000_000_000n,
+ [usdcAddress]: 0n,
+ },
+ }
+ const sepoliaTokens: Tokens = [
+ { chainId: 11155111, address: LOCAL_NATIVE, name: 'Ether', symbol: 'ETH', decimals: 18 },
+ { chainId: 11155111, address: usdcAddress, name: 'USD Coin', symbol: 'USDC', decimals: 6 },
+ ]
+
+ const { tokens } = updateTokensWithRawBalances(sepoliaTokens, rawBalances)
+
+ expect(tokens[0].symbol).toBe('ETH')
+ expect(tokens[1].symbol).toBe('USDC')
+ })
+
+ it('zero-balance tokens retain source order', () => {
+ const rawBalances: Record> = {
+ 11155111: {
+ [LOCAL_NATIVE]: 0n,
+ [usdcAddress]: 0n,
+ [daiAddress]: 0n,
+ },
+ }
+ const sepoliaTokens: Tokens = [
+ { chainId: 11155111, address: LOCAL_NATIVE, name: 'Ether', symbol: 'ETH', decimals: 18 },
+ { chainId: 11155111, address: usdcAddress, name: 'USD Coin', symbol: 'USDC', decimals: 6 },
+ { chainId: 11155111, address: daiAddress, name: 'Dai', symbol: 'DAI', decimals: 18 },
+ ]
+
+ const { tokens } = updateTokensWithRawBalances(sepoliaTokens, rawBalances)
+
+ expect(tokens[0].symbol).toBe('ETH')
+ expect(tokens[1].symbol).toBe('USDC')
+ expect(tokens[2].symbol).toBe('DAI')
+ })
+
+ it('sets balance extension but omits priceUSD so the balance column shows N/A', () => {
+ const rawBalances: Record> = {
+ 11155111: { [LOCAL_NATIVE]: 500n },
+ }
+ const sepoliaTokens: Tokens = [
+ { chainId: 11155111, address: LOCAL_NATIVE, name: 'Ether', symbol: 'ETH', decimals: 18 },
+ ]
+
+ const { tokens } = updateTokensWithRawBalances(sepoliaTokens, rawBalances)
+
+ expect(tokens[0].extensions?.balance).toBe(500n)
+ expect(tokens[0].extensions?.priceUSD).toBeUndefined()
+ })
+
+ it('preserves source order when sortByBalance is false', () => {
+ const rawBalances: Record> = {
+ 11155111: {
+ [LOCAL_NATIVE]: 0n,
+ [usdcAddress]: 1_000_000n,
+ },
+ }
+ const sepoliaTokens: Tokens = [
+ { chainId: 11155111, address: LOCAL_NATIVE, name: 'Ether', symbol: 'ETH', decimals: 18 },
+ { chainId: 11155111, address: usdcAddress, name: 'USD Coin', symbol: 'USDC', decimals: 6 },
+ ]
+
+ const { tokens } = updateTokensWithRawBalances(sepoliaTokens, rawBalances, {
+ sortByBalance: false,
+ })
+
+ expect(tokens[0].symbol).toBe('ETH')
+ expect(tokens[1].symbol).toBe('USDC')
+ })
+})
diff --git a/src/hooks/useTokens.ts b/src/hooks/useTokens.ts
index ba4e4a7a..95338b9b 100644
--- a/src/hooks/useTokens.ts
+++ b/src/hooks/useTokens.ts
@@ -1,21 +1,23 @@
-import { useMemo } from 'react'
-
import {
- EVM,
- type TokenAmount,
- type TokensResponse,
createConfig,
+ EVM,
getChains,
getTokenBalances,
getTokens,
+ type TokenAmount,
+ type TokensResponse,
} from '@lifi/sdk'
import { useQuery } from '@tanstack/react-query'
-import { type Address, type Chain, formatUnits } from 'viem'
+import { useMemo } from 'react'
+import { type Address, type Chain, erc20Abi, formatUnits, getAddress } from 'viem'
+import { usePublicClient } from 'wagmi'
import { env } from '@/src/env'
import { useTokenLists } from '@/src/hooks/useTokenLists'
import { useWeb3Status } from '@/src/hooks/useWeb3Status'
+import { lifiRpcUrls } from '@/src/lib/networks.config'
import type { Token, Tokens } from '@/src/types/token'
+import { isNativeToken, toLocalNativeAddress } from '@/src/utils/address'
import { logger } from '@/src/utils/logger'
import type { TokensMap } from '@/src/utils/tokenListsCache'
@@ -25,6 +27,7 @@ const BALANCE_EXPIRATION_TIME = 32_000
export const lifiConfig = createConfig({
integrator: env.PUBLIC_APP_NAME,
providers: [EVM()],
+ rpcUrls: lifiRpcUrls,
})
/**
@@ -38,15 +41,21 @@ export const lifiConfig = createConfig({
* - Automatic sorting by token value (balance × price)
* - Periodic refetching for up-to-date balances and prices
*
+ * On chains not covered by LI.FI (e.g. Sepolia), balance fetching falls back to a
+ * direct on-chain multicall. In this mode `priceUSD` is absent from token extensions,
+ * so any UI that reads `extensions.priceUSD` should treat `undefined` as "N/A".
+ *
* @param {Object} params - Parameters for tokens fetching
* @param {Address} [params.account] - Account address for balance fetching (defaults to connected wallet)
* @param {Chain['id']} [params.chainId] - Specific chain ID to filter tokens (defaults to all supported chains)
* @param {boolean} [params.withBalance=true] - Whether to fetch token balances
+ * @param {boolean} [params.sortByBalance=true] - Whether to sort tokens by balance. When false, source order is preserved even if balances are fetched.
*
* @returns {Object} Token data and loading state
* @returns {Token[]} returns.tokens - Array of tokens with price and balance information
* @returns {Record} returns.tokensByChainId - Tokens organized by chain ID
* @returns {boolean} returns.isLoadingBalances - Loading state for token balances and prices
+ * @returns {boolean} returns.isLoadingPrices - Loading state for token prices only
*
* @example
* ```tsx
@@ -70,8 +79,15 @@ export const useTokens = (
account,
chainId,
withBalance,
- }: { account?: Address; chainId?: Chain['id']; withBalance?: boolean } = {
+ sortByBalance = true,
+ }: {
+ account?: Address
+ chainId?: Chain['id']
+ withBalance?: boolean
+ sortByBalance?: boolean
+ } = {
withBalance: true,
+ sortByBalance: true,
},
) => {
const { address } = useWeb3Status()
@@ -91,7 +107,7 @@ export const useTokens = (
const dAppChainsId = chainId
? [chainId]
- : Object.keys(tokensData.tokensByChainId).map((id) => Number.parseInt(id))
+ : Object.keys(tokensData.tokensByChainId).map((id) => Number.parseInt(id, 10))
const lifiChainsId = chains?.map((chain) => chain.id) ?? []
const chainsToFetch = dAppChainsId.filter((id) => lifiChainsId.includes(id))
@@ -101,51 +117,115 @@ export const useTokens = (
staleTime: BALANCE_EXPIRATION_TIME,
refetchInterval: BALANCE_EXPIRATION_TIME,
gcTime: Number.POSITIVE_INFINITY,
- enabled: canFetchBalance && !!chains,
+ enabled: canFetchBalance && chainsToFetch.length > 0,
})
const { data: tokensBalances, isLoading: isLoadingBalances } = useQuery({
queryKey: ['lifi', 'tokens', 'balances', account, chainsToFetch],
queryFn: () =>
getTokenBalances(
- // biome-ignore lint/style/noNonNullAssertion:
+ // biome-ignore lint/style/noNonNullAssertion: guarded by enabled: canFetchBalance && !!tokensPricesByChain
account!,
- // biome-ignore lint/style/noNonNullAssertion:
+ // biome-ignore lint/style/noNonNullAssertion: guarded by enabled: canFetchBalance && !!tokensPricesByChain
Object.entries(tokensPricesByChain!.tokens)
- .filter(([chainId]) => chainsToFetch.includes(Number.parseInt(chainId)))
+ .filter(([chainId]) => chainsToFetch.includes(Number.parseInt(chainId, 10)))
.flatMap(([, tokens]) => tokens),
),
staleTime: BALANCE_EXPIRATION_TIME,
refetchInterval: BALANCE_EXPIRATION_TIME,
gcTime: Number.POSITIVE_INFINITY,
- enabled: canFetchBalance && !!tokensPricesByChain,
+ enabled: canFetchBalance && !!tokensPricesByChain && chainsToFetch.length > 0,
+ })
+
+ // Multicall fallback: used when a specific chain is provided and LI.FI does not
+ // cover it (e.g. Sepolia). We wait for the LI.FI chains list to load so we can
+ // confirm the chain is absent before triggering on-chain calls.
+ const publicClient = usePublicClient({ chainId })
+ const useOnchainFallback =
+ canFetchBalance && !!chainId && !isLoadingChains && !!chains && !lifiChainsId.includes(chainId)
+
+ const { data: onchainBalances, isLoading: isLoadingOnchainBalances } = useQuery({
+ queryKey: ['onchain', 'balances', account, chainId],
+ queryFn: async () => {
+ // biome-ignore lint/style/noNonNullAssertion: chainId guarded by enabled: useOnchainFallback
+ const tokensForChain = tokensData.tokensByChainId[chainId!] ?? []
+ const nativeTokens = tokensForChain.filter((t) => isNativeToken(t.address))
+ const erc20Tokens = tokensForChain.filter((t) => !isNativeToken(t.address))
+
+ const balances: Record = {}
+
+ const nativeResults = await Promise.all(
+ nativeTokens.map((t) =>
+ // biome-ignore lint/style/noNonNullAssertion: publicClient and account guarded by enabled: useOnchainFallback && !!publicClient
+ publicClient!.getBalance({ address: account! as Address }).then((b) => ({ t, b })),
+ ),
+ )
+ for (const { t, b } of nativeResults) {
+ balances[t.address.toLowerCase()] = b
+ }
+
+ if (erc20Tokens.length > 0) {
+ // biome-ignore lint/style/noNonNullAssertion: publicClient and account guarded by enabled: useOnchainFallback && !!publicClient
+ const results = await publicClient!.multicall({
+ contracts: erc20Tokens.map((token) => ({
+ address: getAddress(token.address),
+ abi: erc20Abi,
+ functionName: 'balanceOf' as const,
+ // biome-ignore lint/style/noNonNullAssertion: account guarded by enabled: useOnchainFallback
+ args: [account! as Address],
+ })),
+ })
+ results.forEach((result, i) => {
+ balances[erc20Tokens[i].address.toLowerCase()] =
+ result.status === 'success' ? (result.result as bigint) : 0n
+ })
+ }
+
+ return balances
+ },
+ staleTime: BALANCE_EXPIRATION_TIME,
+ refetchInterval: BALANCE_EXPIRATION_TIME,
+ gcTime: Number.POSITIVE_INFINITY,
+ enabled: useOnchainFallback && !!publicClient,
})
const cache = useMemo(() => {
- if (
- withBalance &&
- account &&
- !isLoadingPrices &&
- !isLoadingBalances &&
- tokensBalances &&
- tokensPricesByChain
- ) {
- return udpateTokensBalances(tokensData.tokens, [tokensBalances, tokensPricesByChain])
+ if (withBalance && account) {
+ if (!isLoadingPrices && !isLoadingBalances && tokensBalances && tokensPricesByChain) {
+ return updateTokensBalances(tokensData.tokens, [tokensBalances, tokensPricesByChain], {
+ sortByBalance,
+ })
+ }
+ if (useOnchainFallback && !isLoadingOnchainBalances && onchainBalances && chainId) {
+ return updateTokensWithRawBalances(
+ tokensData.tokens,
+ { [chainId]: onchainBalances },
+ { sortByBalance },
+ )
+ }
}
return tokensData
}, [
account,
+ chainId,
isLoadingBalances,
+ isLoadingOnchainBalances,
isLoadingPrices,
+ onchainBalances,
+ sortByBalance,
tokensBalances,
tokensData,
tokensPricesByChain,
+ useOnchainFallback,
withBalance,
])
return {
...cache,
- isLoadingBalances: Boolean(isLoadingChains || isLoadingBalances || isLoadingPrices),
+ isLoadingBalances: Boolean(
+ isLoadingChains || isLoadingBalances || isLoadingPrices || isLoadingOnchainBalances,
+ ),
+ isLoadingPrices: Boolean(isLoadingChains || isLoadingPrices),
}
}
@@ -156,7 +236,11 @@ export const useTokens = (
* @param results - The results containing the balance tokens and prices.
* @returns An object containing the updated tokens and tokens grouped by chain ID.
*/
-function udpateTokensBalances(tokens: Tokens, results: [Array, TokensResponse]) {
+export function updateTokensBalances(
+ tokens: Tokens,
+ results: [Array, TokensResponse],
+ { sortByBalance = true }: { sortByBalance?: boolean } = {},
+) {
const [balanceTokens, prices] = results
logger.time('extending tokens with balance info')
@@ -164,9 +248,8 @@ function udpateTokensBalances(tokens: Tokens, results: [Array, Toke
(acc, [chainId, tokens]) => {
acc[chainId] = {}
- // biome-ignore lint/complexity/noForEach:
tokens.forEach((token) => {
- acc[chainId][token.address] = token.priceUSD ?? '0'
+ acc[chainId][toLocalNativeAddress(token.address)] = token.priceUSD ?? '0'
})
return acc
@@ -180,7 +263,8 @@ function udpateTokensBalances(tokens: Tokens, results: [Array, Toke
acc[balanceToken.chainId] = {}
}
- acc[balanceToken.chainId][balanceToken.address] = balanceToken.amount ?? 0n
+ acc[balanceToken.chainId][toLocalNativeAddress(balanceToken.address)] =
+ balanceToken.amount ?? 0n
return acc
},
@@ -201,9 +285,11 @@ function udpateTokensBalances(tokens: Tokens, results: [Array, Toke
})
logger.timeEnd('extending tokens with balance info')
- logger.time('sorting tokens by balance')
- tokensWithBalances.sort(sortFn)
- logger.timeEnd('sorting tokens by balance')
+ if (sortByBalance) {
+ logger.time('sorting tokens by balance')
+ tokensWithBalances.sort(sortFn)
+ logger.timeEnd('sorting tokens by balance')
+ }
logger.time('updating tokens cache')
const tokensByChain = tokensWithBalances.reduce(
@@ -217,10 +303,53 @@ function udpateTokensBalances(tokens: Tokens, results: [Array, Toke
},
{} as TokensMap['tokensByChainId'],
)
+ logger.timeEnd('updating tokens cache')
return { tokens: tokensWithBalances, tokensByChainId: tokensByChain }
}
+/**
+ * Updates tokens with raw on-chain balances (no price data), sorting tokens with
+ * a positive balance before zero-balance tokens. Within each group, source order
+ * is preserved. Used as a fallback for chains not covered by LI.FI.
+ *
+ * @param tokens - The array of tokens to enrich.
+ * @param rawBalances - Map of `chainId → address → bigint balance`.
+ * @returns Updated tokens and tokens grouped by chain ID.
+ */
+export function updateTokensWithRawBalances(
+ tokens: Tokens,
+ rawBalances: Record>,
+ { sortByBalance = true }: { sortByBalance?: boolean } = {},
+) {
+ const tokensWithBalances = tokens.map(
+ (token): Token => ({
+ ...token,
+ extensions: {
+ balance: rawBalances[token.chainId]?.[token.address.toLowerCase()] ?? 0n,
+ },
+ }),
+ )
+
+ if (sortByBalance) {
+ tokensWithBalances.sort(sortByBalancePresenceFn)
+ }
+
+ const tokensByChainId = tokensWithBalances.reduce(
+ (acc, token) => {
+ if (!acc[token.chainId]) {
+ acc[token.chainId] = [token]
+ } else {
+ acc[token.chainId].push(token)
+ }
+ return acc
+ },
+ {} as Record,
+ )
+
+ return { tokens: tokensWithBalances, tokensByChainId }
+}
+
/**
* A sorting function used to sort tokens by balance.
* @param a The first token.
@@ -236,3 +365,13 @@ function sortFn(a: Token, b: Token) {
Number.parseFloat((a.extensions?.priceUSD as string) ?? '0')
)
}
+
+/**
+ * Sorts tokens so those with a positive balance come first, preserving source
+ * order within each group. Used when USD price data is unavailable.
+ */
+function sortByBalancePresenceFn(a: Token, b: Token) {
+ const aHas = ((a.extensions?.balance as bigint) ?? 0n) > 0n ? 1 : 0
+ const bHas = ((b.extensions?.balance as bigint) ?? 0n) > 0n ? 1 : 0
+ return bHas - aHas
+}
diff --git a/src/hooks/useWalletStatus.test.ts b/src/hooks/useWalletStatus.test.ts
new file mode 100644
index 00000000..63ba8c2c
--- /dev/null
+++ b/src/hooks/useWalletStatus.test.ts
@@ -0,0 +1,163 @@
+import { renderHook } from '@testing-library/react'
+import { beforeEach, describe, expect, it, vi } from 'vitest'
+import { useWalletStatus } from './useWalletStatus'
+
+// Mock useWeb3Status
+const mockSwitchChain = vi.fn()
+const mockDisconnect = vi.fn()
+
+vi.mock('@/src/hooks/useWeb3Status', () => ({
+ useWeb3Status: vi.fn(() => ({
+ appChainId: 1,
+ isWalletConnected: false,
+ isWalletSynced: false,
+ switchChain: mockSwitchChain,
+ walletChainId: undefined,
+ })),
+}))
+
+vi.mock('@/src/lib/networks.config', () => ({
+ chains: [
+ { id: 1, name: 'Ethereum' },
+ { id: 10, name: 'OP Mainnet' },
+ { id: 137, name: 'Polygon' },
+ ],
+}))
+
+vi.mock('viem', async () => {
+ const actual = await vi.importActual('viem')
+ return {
+ ...actual,
+ extractChain: vi.fn(({ chains, id }) => {
+ const chain = chains.find((c: { id: number }) => c.id === id)
+ if (!chain) {
+ throw new Error(`Chain with id ${id} not found`)
+ }
+ return chain
+ }),
+ }
+})
+
+// Import after mocks are set up
+const { useWeb3Status } = await import('@/src/hooks/useWeb3Status')
+const mockedUseWeb3Status = vi.mocked(useWeb3Status)
+
+const baseWeb3Status: ReturnType = {
+ readOnlyClient: undefined,
+ appChainId: 1,
+ address: undefined,
+ balance: undefined,
+ connectingWallet: false,
+ switchingChain: false,
+ isWalletConnected: false,
+ walletClient: undefined,
+ isWalletSynced: false,
+ walletChainId: undefined,
+ switchChain: mockSwitchChain,
+ disconnect: mockDisconnect,
+}
+
+describe('useWalletStatus', () => {
+ beforeEach(() => {
+ vi.clearAllMocks()
+ })
+
+ it('returns needsConnect when wallet is not connected', () => {
+ mockedUseWeb3Status.mockReturnValue({
+ ...baseWeb3Status,
+ appChainId: 1,
+ isWalletConnected: false,
+ isWalletSynced: false,
+ walletChainId: undefined,
+ })
+
+ const { result } = renderHook(() => useWalletStatus())
+
+ expect(result.current.needsConnect).toBe(true)
+ expect(result.current.needsChainSwitch).toBe(false)
+ expect(result.current.isReady).toBe(false)
+ })
+
+ it('returns needsChainSwitch when connected but on wrong chain', () => {
+ mockedUseWeb3Status.mockReturnValue({
+ ...baseWeb3Status,
+ appChainId: 1,
+ isWalletConnected: true,
+ isWalletSynced: false,
+ walletChainId: 137,
+ })
+
+ const { result } = renderHook(() => useWalletStatus())
+
+ expect(result.current.needsConnect).toBe(false)
+ expect(result.current.needsChainSwitch).toBe(true)
+ expect(result.current.isReady).toBe(false)
+ expect(result.current.targetChain).toEqual({ id: 1, name: 'Ethereum' })
+ expect(result.current.targetChainId).toBe(1)
+ })
+
+ it('returns isReady when connected and on correct chain', () => {
+ mockedUseWeb3Status.mockReturnValue({
+ ...baseWeb3Status,
+ appChainId: 1,
+ isWalletConnected: true,
+ isWalletSynced: true,
+ walletChainId: 1,
+ })
+
+ const { result } = renderHook(() => useWalletStatus())
+
+ expect(result.current.needsConnect).toBe(false)
+ expect(result.current.needsChainSwitch).toBe(false)
+ expect(result.current.isReady).toBe(true)
+ expect(result.current.web3Status).toBeDefined()
+ expect(result.current.web3Status.appChainId).toBe(1)
+ expect(result.current.web3Status.isWalletConnected).toBe(true)
+ })
+
+ it('uses provided chainId over appChainId', () => {
+ mockedUseWeb3Status.mockReturnValue({
+ ...baseWeb3Status,
+ appChainId: 1,
+ isWalletConnected: true,
+ isWalletSynced: true,
+ walletChainId: 1,
+ })
+
+ const { result } = renderHook(() => useWalletStatus({ chainId: 10 }))
+
+ expect(result.current.needsChainSwitch).toBe(true)
+ expect(result.current.isReady).toBe(false)
+ expect(result.current.targetChain).toEqual({ id: 10, name: 'OP Mainnet' })
+ expect(result.current.targetChainId).toBe(10)
+ })
+
+ it('falls back to chains[0].id when no chainId or appChainId', () => {
+ mockedUseWeb3Status.mockReturnValue({
+ ...baseWeb3Status,
+ appChainId: undefined as unknown as ReturnType['appChainId'],
+ isWalletConnected: true,
+ isWalletSynced: false,
+ walletChainId: 137,
+ })
+
+ const { result } = renderHook(() => useWalletStatus())
+
+ expect(result.current.targetChain).toEqual({ id: 1, name: 'Ethereum' })
+ })
+
+ it('switchChain calls through to useWeb3Status switchChain', () => {
+ mockedUseWeb3Status.mockReturnValue({
+ ...baseWeb3Status,
+ appChainId: 1,
+ isWalletConnected: true,
+ isWalletSynced: false,
+ walletChainId: 137,
+ })
+
+ const { result } = renderHook(() => useWalletStatus())
+
+ result.current.switchChain(10)
+ expect(mockSwitchChain).toHaveBeenCalledWith(10)
+ })
+})
diff --git a/src/hooks/useWalletStatus.ts b/src/hooks/useWalletStatus.ts
new file mode 100644
index 00000000..0a769bab
--- /dev/null
+++ b/src/hooks/useWalletStatus.ts
@@ -0,0 +1,41 @@
+import type { Chain } from 'viem'
+import { extractChain } from 'viem'
+
+import { useWeb3Status, type Web3Status } from '@/src/hooks/useWeb3Status'
+import { type ChainsIds, chains } from '@/src/lib/networks.config'
+
+interface UseWalletStatusOptions {
+ chainId?: ChainsIds
+}
+
+interface WalletStatus {
+ isReady: boolean
+ needsConnect: boolean
+ needsChainSwitch: boolean
+ targetChain: Chain
+ targetChainId: ChainsIds
+ switchChain: (chainId: ChainsIds) => void
+ web3Status: Web3Status
+}
+
+export const useWalletStatus = (options?: UseWalletStatusOptions): WalletStatus => {
+ const web3Status = useWeb3Status()
+ const { appChainId, isWalletConnected, isWalletSynced, switchChain, walletChainId } = web3Status
+
+ const targetChainId = options?.chainId ?? appChainId ?? chains[0].id
+ const targetChain = extractChain({ chains, id: targetChainId })
+
+ const needsConnect = !isWalletConnected
+ const needsChainSwitch = isWalletConnected && (!isWalletSynced || walletChainId !== targetChainId)
+ const isReady = isWalletConnected && !needsChainSwitch
+
+ return {
+ isReady,
+ needsConnect,
+ needsChainSwitch,
+ targetChain,
+ targetChainId,
+ switchChain,
+ web3Status,
+ }
+}
diff --git a/src/hooks/useWeb3Status.test.ts b/src/hooks/useWeb3Status.test.ts
index 1010ea0b..02e71aec 100644
--- a/src/hooks/useWeb3Status.test.ts
+++ b/src/hooks/useWeb3Status.test.ts
@@ -1,7 +1,9 @@
import { renderHook } from '@testing-library/react'
+import { createElement } from 'react'
import type { Address } from 'viem'
import { beforeEach, describe, expect, it, vi } from 'vitest'
-import { useWeb3Status, useWeb3StatusConnected } from './useWeb3Status'
+import { useWeb3StatusConnected } from '@/src/components/sharedComponents/WalletStatusVerifier'
+import { useWeb3Status } from './useWeb3Status'
const mockDisconnect = vi.fn()
const mockSwitchChain = vi.fn()
@@ -21,7 +23,27 @@ vi.mock('wagmi', () => ({
useDisconnect: vi.fn(() => ({ disconnect: mockDisconnect })),
}))
+vi.mock('@/src/hooks/useWalletStatus', () => ({
+ useWalletStatus: vi.fn(() => ({
+ isReady: false,
+ needsConnect: true,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' },
+ targetChainId: 1,
+ switchChain: vi.fn(),
+ })),
+}))
+
+vi.mock('@/src/providers/Web3Provider', () => ({
+ ConnectWalletButton: () =>
+ createElement('button', { type: 'button', 'data-testid': 'connect-wallet-button' }, 'Connect'),
+}))
+
import * as wagmi from 'wagmi'
+import { WalletStatusVerifier } from '@/src/components/sharedComponents/WalletStatusVerifier'
+
+const { useWalletStatus } = await import('@/src/hooks/useWalletStatus')
+const mockedUseWalletStatus = vi.mocked(useWalletStatus)
type MockAccount = ReturnType
type MockSwitchChain = ReturnType
@@ -107,20 +129,39 @@ describe('useWeb3Status', () => {
describe('useWeb3StatusConnected', () => {
it('throws when wallet is not connected', () => {
expect(() => renderHook(() => useWeb3StatusConnected())).toThrow(
- 'Use useWeb3StatusConnected only when a wallet is connected',
+ 'useWeb3StatusConnected must be used inside a component.',
)
})
it('returns status when wallet is connected', () => {
- const mock = {
- address: '0xdeadbeef' as Address,
- chainId: 1,
- isConnected: true,
- isConnecting: false,
- } as unknown as MockAccount
- // useWeb3StatusConnected calls useWeb3Status twice; both calls must see connected state
- vi.mocked(wagmi.useAccount).mockReturnValueOnce(mock).mockReturnValueOnce(mock)
- const { result } = renderHook(() => useWeb3StatusConnected())
+ mockedUseWalletStatus.mockReturnValue({
+ isReady: true,
+ needsConnect: false,
+ needsChainSwitch: false,
+ targetChain: { id: 1, name: 'Ethereum' } as ReturnType['targetChain'],
+ targetChainId: 1,
+ switchChain: vi.fn(),
+ web3Status: {
+ address: '0xdeadbeef' as Address,
+ appChainId: 1,
+ balance: undefined,
+ connectingWallet: false,
+ disconnect: vi.fn(),
+ isWalletConnected: true,
+ isWalletSynced: true,
+ readOnlyClient: undefined,
+ switchChain: vi.fn(),
+ switchingChain: false,
+ walletChainId: 1,
+ walletClient: undefined,
+ } as unknown as ReturnType['web3Status'],
+ })
+
+ const wrapper = ({ children }: { children: React.ReactNode }) =>
+ createElement(WalletStatusVerifier, null, children)
+
+ const { result } = renderHook(() => useWeb3StatusConnected(), { wrapper })
+ expect(result.current.address).toBe('0xdeadbeef')
expect(result.current.isWalletConnected).toBe(true)
})
})
diff --git a/src/hooks/useWeb3Status.tsx b/src/hooks/useWeb3Status.tsx
index af95dd25..0690ee13 100644
--- a/src/hooks/useWeb3Status.tsx
+++ b/src/hooks/useWeb3Status.tsx
@@ -13,7 +13,6 @@ import {
} from 'wagmi'
import { type ChainsIds, chains } from '@/src/lib/networks.config'
-import type { RequiredNonNull } from '@/src/types/utils'
export type AppWeb3Status = {
readOnlyClient: UsePublicClientReturnType
@@ -135,11 +134,3 @@ export const useWeb3Status = () => {
return web3Connection
}
-
-export const useWeb3StatusConnected = () => {
- const context = useWeb3Status()
- if (!context.isWalletConnected) {
- throw new Error('Use useWeb3StatusConnected only when a wallet is connected')
- }
- return useWeb3Status() as RequiredNonNull
-}
diff --git a/src/lib/networks.config.test.ts b/src/lib/networks.config.test.ts
new file mode 100644
index 00000000..480cce87
--- /dev/null
+++ b/src/lib/networks.config.test.ts
@@ -0,0 +1,77 @@
+import { arbitrum, mainnet, optimism, optimismSepolia, polygon, sepolia } from 'viem/chains'
+import { describe, expect, it, vi } from 'vitest'
+
+const CUSTOM_ARBITRUM_RPC = 'https://custom.example/arbitrum'
+
+vi.mock('@/src/env', () => ({
+ env: {
+ PUBLIC_APP_NAME: 'test',
+ PUBLIC_INCLUDE_TESTNETS: true,
+ PUBLIC_RPC_ARBITRUM: CUSTOM_ARBITRUM_RPC,
+ },
+}))
+
+vi.mock('@/src/constants/common', () => ({
+ includeTestnets: true,
+}))
+
+const { chains, rpcUrls, lifiRpcUrls } = await import('@/src/lib/networks.config')
+
+const ALL_CHAIN_IDS = [
+ mainnet.id,
+ arbitrum.id,
+ optimism.id,
+ optimismSepolia.id,
+ polygon.id,
+ sepolia.id,
+]
+
+describe('rpcUrls', () => {
+ it('covers every configured chain', () => {
+ for (const id of ALL_CHAIN_IDS) {
+ expect(rpcUrls).toHaveProperty(String(id))
+ expect(typeof rpcUrls[id as keyof typeof rpcUrls]).toBe('string')
+ expect(rpcUrls[id as keyof typeof rpcUrls].length).toBeGreaterThan(0)
+ }
+ })
+
+ it('uses the env-supplied URL when set', () => {
+ expect(rpcUrls[arbitrum.id]).toBe(CUSTOM_ARBITRUM_RPC)
+ })
+
+ it('falls back to publicnode.com when env var is absent', () => {
+ expect(rpcUrls[mainnet.id]).toContain('publicnode.com')
+ expect(rpcUrls[optimism.id]).toContain('publicnode.com')
+ expect(rpcUrls[polygon.id]).toContain('publicnode.com')
+ })
+})
+
+describe('lifiRpcUrls', () => {
+ it('covers the same chain IDs as rpcUrls', () => {
+ const rpcKeys = Object.keys(rpcUrls).map(Number).sort()
+ const lifiKeys = Object.keys(lifiRpcUrls).map(Number).sort()
+ expect(lifiKeys).toEqual(rpcKeys)
+ })
+
+ it('wraps each rpcUrls value in a single-element array', () => {
+ for (const id of ALL_CHAIN_IDS) {
+ const lifiEntry = lifiRpcUrls[id as keyof typeof lifiRpcUrls]
+ expect(Array.isArray(lifiEntry)).toBe(true)
+ expect(lifiEntry).toHaveLength(1)
+ expect(lifiEntry[0]).toBe(rpcUrls[id as keyof typeof rpcUrls])
+ }
+ })
+
+ it('propagates the env-supplied URL', () => {
+ expect(lifiRpcUrls[arbitrum.id]).toEqual([CUSTOM_ARBITRUM_RPC])
+ })
+})
+
+describe('chains', () => {
+ it('contains all chain IDs covered by rpcUrls when testnets enabled', () => {
+ const chainIds = chains.map((c) => c.id)
+ for (const id of ALL_CHAIN_IDS) {
+ expect(chainIds).toContain(id)
+ }
+ })
+})
diff --git a/src/lib/networks.config.ts b/src/lib/networks.config.ts
index 9bcc8f86..c79b0420 100644
--- a/src/lib/networks.config.ts
+++ b/src/lib/networks.config.ts
@@ -16,12 +16,32 @@ const allChains = [...devChains, ...prodChains] as const
export const chains = includeTestnets ? allChains : prodChains
export type ChainsIds = (typeof chains)[number]['id']
+export const rpcUrls = {
+ [mainnet.id]: env.PUBLIC_RPC_MAINNET || 'https://ethereum-rpc.publicnode.com',
+ [arbitrum.id]: env.PUBLIC_RPC_ARBITRUM || 'https://arbitrum-one-rpc.publicnode.com',
+ [optimism.id]: env.PUBLIC_RPC_OPTIMISM || 'https://optimism-rpc.publicnode.com',
+ [optimismSepolia.id]:
+ env.PUBLIC_RPC_OPTIMISM_SEPOLIA || 'https://optimism-sepolia-rpc.publicnode.com',
+ [polygon.id]: env.PUBLIC_RPC_POLYGON || 'https://polygon-bor-rpc.publicnode.com',
+ [sepolia.id]: env.PUBLIC_RPC_SEPOLIA || 'https://ethereum-sepolia-rpc.publicnode.com',
+} as const satisfies Record
+
+/** RPC URL map in the shape expected by LI.FI's `createConfig({ rpcUrls })`. */
+export const lifiRpcUrls: Record = {
+ [mainnet.id]: [rpcUrls[mainnet.id]],
+ [arbitrum.id]: [rpcUrls[arbitrum.id]],
+ [optimism.id]: [rpcUrls[optimism.id]],
+ [optimismSepolia.id]: [rpcUrls[optimismSepolia.id]],
+ [polygon.id]: [rpcUrls[polygon.id]],
+ [sepolia.id]: [rpcUrls[sepolia.id]],
+}
+
type RestrictedTransports = Record
export const transports: RestrictedTransports = {
- [mainnet.id]: http(env.PUBLIC_RPC_MAINNET),
- [arbitrum.id]: http(env.PUBLIC_RPC_ARBITRUM),
- [optimism.id]: http(env.PUBLIC_RPC_OPTIMISM),
- [optimismSepolia.id]: http(env.PUBLIC_RPC_OPTIMISM_SEPOLIA),
- [polygon.id]: http(env.PUBLIC_RPC_POLYGON),
- [sepolia.id]: http(env.PUBLIC_RPC_SEPOLIA),
+ [mainnet.id]: http(rpcUrls[mainnet.id]),
+ [arbitrum.id]: http(rpcUrls[arbitrum.id]),
+ [optimism.id]: http(rpcUrls[optimism.id]),
+ [optimismSepolia.id]: http(rpcUrls[optimismSepolia.id]),
+ [polygon.id]: http(rpcUrls[polygon.id]),
+ [sepolia.id]: http(rpcUrls[sepolia.id]),
}
diff --git a/src/lib/wagmi/plugins/reactSuspenseRead.ts b/src/lib/wagmi/plugins/reactSuspenseRead.ts
index 272372fb..cf9c5151 100644
--- a/src/lib/wagmi/plugins/reactSuspenseRead.ts
+++ b/src/lib/wagmi/plugins/reactSuspenseRead.ts
@@ -12,7 +12,7 @@ const walletConfigImport = `import { config } from '@/src/lib/wallets/connectkit
type ActionsResult = {
name: string
- // biome-ignore lint/suspicious/noExplicitAny:
+ // biome-ignore lint/suspicious/noExplicitAny: wagmi plugin API does not expose typed ABI item types
run: ({ contracts }: { contracts: any[] }) => Promise<{
imports: string
content: string
@@ -29,7 +29,7 @@ export function reactSuspenseRead(config: ActionsConfig = {}): ActionsResult {
const actionNames = new Set()
- // biome-ignore lint/suspicious/noExplicitAny:
+ // biome-ignore lint/suspicious/noExplicitAny: wagmi plugin API does not expose typed ABI item types
const isReadFunction = (item: any) =>
item.type === 'function' &&
(item.stateMutability === 'view' || item.stateMutability === 'pure')
diff --git a/src/lib/wallets/connectkit.config.tsx b/src/lib/wallets/connectkit.config.tsx
index b542bc88..91996f0e 100644
--- a/src/lib/wallets/connectkit.config.tsx
+++ b/src/lib/wallets/connectkit.config.tsx
@@ -1,14 +1,13 @@
-import Avatar from '@/src/components/sharedComponents/Avatar'
-import ConnectButton from '@/src/components/sharedComponents/ConnectButton'
-import { env } from '@/src/env'
-import { chains, transports } from '@/src/lib/networks.config'
import type { ButtonProps } from '@chakra-ui/react'
-import { ConnectKitButton, ConnectKitProvider, type Types, getDefaultConfig } from 'connectkit'
+import { ConnectKitButton, ConnectKitProvider, getDefaultConfig, type Types } from 'connectkit'
import type { FC, ReactNode } from 'react'
import type { Address } from 'viem'
import { normalize } from 'viem/ens'
-
import { createConfig, useEnsAvatar, useEnsName } from 'wagmi'
+import Avatar from '@/src/components/sharedComponents/Avatar'
+import ConnectButton from '@/src/components/sharedComponents/ConnectButton'
+import { env } from '@/src/env'
+import { chains, transports } from '@/src/lib/networks.config'
interface Props {
address: Address
@@ -92,7 +91,7 @@ const defaultConfig = {
// Optional App Info
appDescription: env.PUBLIC_APP_DESCRIPTION,
- appUrl: env.PUBLIC_APP_URL,
+ appUrl: typeof window !== 'undefined' ? window.location.origin : env.PUBLIC_APP_URL,
appIcon: env.PUBLIC_APP_LOGO,
} as const
diff --git a/src/lib/wallets/portoInit.ts b/src/lib/wallets/portoInit.ts
index fa76833e..917963d1 100644
--- a/src/lib/wallets/portoInit.ts
+++ b/src/lib/wallets/portoInit.ts
@@ -1,7 +1,7 @@
-import { env } from '@/src/env'
import { Porto } from 'porto'
+import { env } from '@/src/env'
-if (env.PUBLIC_ENABLE_PORTO) {
+if (env.PUBLIC_ENABLE_PORTO && globalThis.location?.protocol === 'https:') {
try {
Porto.create()
} catch (error) {
diff --git a/src/lib/wallets/web3modal.config.tsx b/src/lib/wallets/web3modal.config.tsx
index 9c4590a8..6f283ab0 100644
--- a/src/lib/wallets/web3modal.config.tsx
+++ b/src/lib/wallets/web3modal.config.tsx
@@ -3,15 +3,13 @@
* version used: 4.2.1
*/
-import type { DetailedHTMLProps, FC, HTMLAttributes, PropsWithChildren } from 'react'
-
-import { WagmiAdapter } from '@reown/appkit-adapter-wagmi'
import { createAppKit } from '@reown/appkit/react'
+import { WagmiAdapter } from '@reown/appkit-adapter-wagmi'
+import type { DetailedHTMLProps, FC, HTMLAttributes, PropsWithChildren } from 'react'
+import type { Chain } from 'viem'
import { env } from '@/src/env'
-
import { chains } from '@/src/lib/networks.config'
-import type { Chain } from 'viem'
export const WalletProvider: FC = ({ children }) => children
diff --git a/src/main.tsx b/src/main.tsx
index 83a6df6f..a246ed66 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,10 +1,10 @@
+import { createRouter, RouterProvider } from '@tanstack/react-router'
import { StrictMode } from 'react'
-
-import { RouterProvider, createRouter } from '@tanstack/react-router'
import ReactDOM from 'react-dom/client'
import NotFound404 from '@/src/components/pageComponents/NotFound404'
import { routeTree } from '@/src/routeTree.gen'
+import { printAppInfo } from '@/src/utils/printAppInfo'
const router = createRouter({
routeTree,
@@ -17,7 +17,9 @@ declare module '@tanstack/react-router' {
}
}
-// biome-ignore lint/style/noNonNullAssertion:
+printAppInfo()
+
+// biome-ignore lint/style/noNonNullAssertion: root element is guaranteed by index.html
const rootElement = document.getElementById('root')!
if (!rootElement.innerHTML) {
diff --git a/src/providers/TransactionNotificationProvider.tsx b/src/providers/TransactionNotificationProvider.tsx
index 3cf7d456..66c69ac4 100644
--- a/src/providers/TransactionNotificationProvider.tsx
+++ b/src/providers/TransactionNotificationProvider.tsx
@@ -1,16 +1,16 @@
-import { ExplorerLink } from '@/src/components/sharedComponents/ExplorerLink'
-import {
- NotificationToast,
- notificationToaster,
-} from '@/src/components/sharedComponents/NotificationToast'
-import { useWeb3Status } from '@/src/hooks/useWeb3Status'
-import { type FC, type PropsWithChildren, type ReactNode, createContext, useContext } from 'react'
+import { createContext, type FC, type PropsWithChildren, type ReactNode, useContext } from 'react'
import type {
Hash,
ReplacementReturnType,
SignMessageErrorType,
TransactionExecutionError,
} from 'viem'
+import { ExplorerLink } from '@/src/components/sharedComponents/ExplorerLink'
+import {
+ NotificationToast,
+ notificationToaster,
+} from '@/src/components/sharedComponents/NotificationToast'
+import { useWeb3Status } from '@/src/hooks/useWeb3Status'
type WatchSignatureArgs = {
successMessage?: string
@@ -89,7 +89,7 @@ export const TransactionNotificationProvider: FC = ({ childre
notificationToaster.create({
description: message,
- type: 'success',
+ type: 'error',
id: toastId,
})
}
@@ -122,8 +122,9 @@ export const TransactionNotificationProvider: FC = ({ childre
let replacedTx = null as ReplacementReturnType | null
const receipt = await readOnlyClient.waitForTransactionReceipt({
hash,
- // biome-ignore lint/suspicious/noAssignInExpressions:
- onReplaced: (replacedTxData) => (replacedTx = replacedTxData),
+ onReplaced: (replacedTxData) => {
+ replacedTx = replacedTxData
+ },
})
if (replacedTx !== null) {
@@ -201,8 +202,9 @@ export const TransactionNotificationProvider: FC = ({ childre
message: `Signature requested: ${transactionMessage}`,
signaturePromise: txPromise,
showSuccessToast: false,
- // biome-ignore lint/suspicious/noAssignInExpressions:
- onToastId: (id) => (toastId = id),
+ onToastId: (id) => {
+ toastId = id
+ },
})
const hash = await txPromise
diff --git a/src/providers/Web3Provider.tsx b/src/providers/Web3Provider.tsx
index d9eab5b9..98401513 100644
--- a/src/providers/Web3Provider.tsx
+++ b/src/providers/Web3Provider.tsx
@@ -1,10 +1,9 @@
-import type { FC, PropsWithChildren } from 'react'
-
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
+import type { FC, PropsWithChildren } from 'react'
import { WagmiProvider } from 'wagmi'
import '@/src/lib/wallets/portoInit'
-import { ConnectWalletButton, WalletProvider, config } from '@/src/lib/wallets/connectkit.config'
+import { ConnectWalletButton, config, WalletProvider } from '@/src/lib/wallets/connectkit.config'
const queryClient = new QueryClient()
diff --git a/src/routes/__root.tsx b/src/routes/__root.tsx
index 7037e400..f299c7d5 100644
--- a/src/routes/__root.tsx
+++ b/src/routes/__root.tsx
@@ -1,3 +1,6 @@
+import { chakra, Flex } from '@chakra-ui/react'
+import { createRootRoute, Outlet } from '@tanstack/react-router'
+import { Analytics } from '@vercel/analytics/react'
import { TanStackReactQueryDevtools } from '@/src/components/sharedComponents/dev/TanStackReactQueryDevtools'
import { TanStackRouterDevtools } from '@/src/components/sharedComponents/dev/TanStackRouterDevtools'
import { Footer } from '@/src/components/sharedComponents/ui/Footer'
@@ -6,21 +9,11 @@ import { Provider } from '@/src/components/ui/provider'
import { Toaster } from '@/src/components/ui/toaster'
import { TransactionNotificationProvider } from '@/src/providers/TransactionNotificationProvider'
import { Web3Provider } from '@/src/providers/Web3Provider'
-import { printAppInfo } from '@/src/utils/printAppInfo'
-import { Flex, chakra } from '@chakra-ui/react'
-import { Outlet, createRootRoute } from '@tanstack/react-router'
-import { Analytics } from '@vercel/analytics/react'
-import { useEffect } from 'react'
-
export const Route = createRootRoute({
component: Root,
})
function Root() {
- useEffect(() => {
- printAppInfo()
- }, [])
-
return (
diff --git a/src/utils/DeveloperError.ts b/src/utils/DeveloperError.ts
new file mode 100644
index 00000000..86b7af0a
--- /dev/null
+++ b/src/utils/DeveloperError.ts
@@ -0,0 +1,7 @@
+/** Error for structural/developer mistakes that cannot be fixed by retrying at runtime. */
+export class DeveloperError extends Error {
+ constructor(message: string) {
+ super(message)
+ this.name = 'DeveloperError'
+ }
+}
diff --git a/src/utils/address.ts b/src/utils/address.ts
index d9d0a5e4..49244839 100644
--- a/src/utils/address.ts
+++ b/src/utils/address.ts
@@ -1,3 +1,4 @@
+import { zeroAddress } from 'viem'
import { env } from '@/src/env'
/**
@@ -19,3 +20,11 @@ import { env } from '@/src/env'
export const isNativeToken = (address: string) => {
return address.toLowerCase() === env.PUBLIC_NATIVE_TOKEN_ADDRESS
}
+
+/**
+ * LI.FI reports native tokens at the zero address. Rewrite it to the app's
+ * configured native sentinel (env.PUBLIC_NATIVE_TOKEN_ADDRESS) so lookups keyed
+ * on local token addresses match. No-op when the app uses the zero-address sentinel.
+ */
+export const toLocalNativeAddress = (address: string): string =>
+ address.toLowerCase() === zeroAddress ? env.PUBLIC_NATIVE_TOKEN_ADDRESS : address
diff --git a/src/utils/getExplorerLink.test.ts b/src/utils/getExplorerLink.test.ts
index 9833c82f..8a052a1b 100644
--- a/src/utils/getExplorerLink.test.ts
+++ b/src/utils/getExplorerLink.test.ts
@@ -1,6 +1,6 @@
-import { createMockChain } from '@/src/test-utils'
import type { Chain } from 'viem'
import { describe, expect, it } from 'vitest'
+import { createMockChain } from '@/src/test-utils'
import { getExplorerLink } from './getExplorerLink'
const chain = createMockChain()
diff --git a/src/utils/getTransactionOutputs.test.ts b/src/utils/getTransactionOutputs.test.ts
index 751f8cd3..0e25ba18 100644
--- a/src/utils/getTransactionOutputs.test.ts
+++ b/src/utils/getTransactionOutputs.test.ts
@@ -1,10 +1,10 @@
-import { type AbiEvent, type TransactionReceipt, decodeEventLog } from 'viem'
+import { type AbiEvent, decodeEventLog, type TransactionReceipt } from 'viem'
import { beforeEach, describe, expect, it, vi } from 'vitest'
import {
+ getTransactionOutputs,
MissingOutputError,
TransactionOutputError,
- getTransactionOutputs,
} from '@/src/utils/getTransactionOutputs'
// Mock the viem decodeEventLog function
diff --git a/src/utils/getTransactionOutputs.ts b/src/utils/getTransactionOutputs.ts
index 866985f5..c12ce879 100644
--- a/src/utils/getTransactionOutputs.ts
+++ b/src/utils/getTransactionOutputs.ts
@@ -1,4 +1,4 @@
-import { type AbiEvent, type Log, type TransactionReceipt, decodeEventLog, isHex } from 'viem'
+import { type AbiEvent, decodeEventLog, isHex, type Log, type TransactionReceipt } from 'viem'
/**
* Custom error class for transaction output processing errors
diff --git a/src/utils/hash.test.ts b/src/utils/hash.test.ts
index 1e83a403..58e9bac1 100644
--- a/src/utils/hash.test.ts
+++ b/src/utils/hash.test.ts
@@ -1,7 +1,7 @@
import type { Chain, Transaction } from 'viem'
import * as viemActions from 'viem/actions'
import { mainnet } from 'viem/chains'
-import { type Mock, describe, expect, it, vi } from 'vitest'
+import { describe, expect, it, type Mock, vi } from 'vitest'
import detectHash from '@/src/utils/hash'
diff --git a/src/utils/hash.ts b/src/utils/hash.ts
index a9dcb330..17fb598a 100644
--- a/src/utils/hash.ts
+++ b/src/utils/hash.ts
@@ -1,12 +1,12 @@
import {
- http,
type Address,
type Chain,
- type Hash,
- type Transaction,
createPublicClient,
+ type Hash,
+ http,
isAddress,
isHex,
+ type Transaction,
} from 'viem'
import { getBytecode, getEnsAddress, getTransaction } from 'viem/actions'
import { normalize } from 'viem/ens'
diff --git a/src/utils/numberFormat.test.ts b/src/utils/numberFormat.test.ts
index 69812c0e..bd4fd656 100644
--- a/src/utils/numberFormat.test.ts
+++ b/src/utils/numberFormat.test.ts
@@ -1,6 +1,6 @@
import { describe, expect, it } from 'vitest'
-import { NumberType, formatNumber, formatUSDPrice } from '@/src/utils/numberFormat'
+import { formatNumber, formatUSDPrice, NumberType } from '@/src/utils/numberFormat'
it('formats token reference numbers correctly', () => {
expect(formatNumber(1234567000000000, NumberType.TokenNonTx)).toBe('>999T')
diff --git a/src/utils/suspenseWrapper.tsx b/src/utils/suspenseWrapper.tsx
index 38253c23..4f79e033 100644
--- a/src/utils/suspenseWrapper.tsx
+++ b/src/utils/suspenseWrapper.tsx
@@ -1,7 +1,4 @@
-import { GeneralMessage } from '@/src/components/sharedComponents/ui/GeneralMessage'
-import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
-import { Flex, Spinner } from '@chakra-ui/react'
-import { Dialog, Portal } from '@chakra-ui/react'
+import { Dialog, Flex, Portal, Spinner } from '@chakra-ui/react'
import { QueryErrorResetBoundary } from '@tanstack/react-query'
import { type ComponentType, type JSX, type ReactNode, Suspense } from 'react'
import {
@@ -9,6 +6,9 @@ import {
type ErrorBoundaryPropsWithRender,
type FallbackProps,
} from 'react-error-boundary'
+import { GeneralMessage } from '@/src/components/sharedComponents/ui/GeneralMessage'
+import PrimaryButton from '@/src/components/sharedComponents/ui/PrimaryButton'
+import { DeveloperError } from '@/src/utils/DeveloperError'
export type DefaultFallbackFormat = 'dialog' | 'default'
@@ -41,10 +41,7 @@ const DefaultFallback = ({
* A generic wrapper for all the components that use suspense
*
* @param WrappedComponent - a component that will be wrapped inside ErrorBoundary and Suspense
- * @param {ReactNode} [errorFallback] - a custom fallback for ErrorBoundary
- * @param {ReactNode} [suspenseFallback] - a custom fallback for Suspense
- * @param {DefaultFallbackFormat} [defaultFallbackFormat] - Optional. Can be a dialog or just text or custom component (default).
- * @returns {ComponentType}
+ * @returns {ComponentType} component accepting {@link WithSuspenseProps}
*/
export const withSuspense = (
WrappedComponent: ComponentType,
@@ -101,6 +98,10 @@ const defaultFallbackRender: ErrorBoundaryPropsWithRender['fallbackRender'] = ({
}: FallbackProps): ReactNode => {
const message = error instanceof Error ? error.message : 'Something went wrong.'
+ if (error instanceof DeveloperError) {
+ return {message}
+ }
+
return (
<>
{message}
@@ -122,6 +123,7 @@ const defaultFallbackRenderDialog: ErrorBoundaryPropsWithRender['fallbackRender'
resetErrorBoundary,
}: FallbackProps): ReactNode => {
const message = error instanceof Error ? error.message : 'Something went wrong.'
+ const isDeveloperError = error instanceof DeveloperError
return (
Try again}
+ actionButton={
+ isDeveloperError ? undefined : (
+ Try again
+ )
+ }
message={message}
/>
@@ -154,11 +160,7 @@ export type WithSuspenseAndRetryProps = {
* A wrapper for a component that uses suspense, with the capacity to retry if a useSuspenseQuery fails
*
* @param WrappedComponent - a component wrapped inside a tanstack's QueryErrorResetBoundary, ErrorBoundary, and a Suspense
- * @param {ReactNode} [fallbackRender] - a custom fallback render for ErrorBoundary
- * @param {DefaultFallbackFormat} [defaultFallbackFormat] - Optional. Can be a dialog or just text (default). Has no effect if `fallbackRender` is provided
- * @param {ReactNode} [suspenseFallback] - a custom fallback for Suspense
- * @param {'xs' | 'sm' | 'md' | 'lg' | 'xl'} [spinnerSize] - Optional. Sets the size of the default spinner shown during suspense loading. Default is 'lg'.
- * @returns {ComponentType}
+ * @returns {ComponentType} component accepting {@link WithSuspenseAndRetryProps}
*/
export const withSuspenseAndRetry = (
WrappedComponent: ComponentType,
diff --git a/tsconfig.json b/tsconfig.json
index e1c3e446..d77a179b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,11 +1,8 @@
{
"compilerOptions": {
"allowJs": false,
- "allowSyntheticDefaultImports": true,
- "baseUrl": "./",
- "esModuleInterop": false,
+ "esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
- "isolatedModules": true,
"jsx": "react-jsx",
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"module": "ESNext",
@@ -18,8 +15,7 @@
"skipLibCheck": true,
"strict": true,
"target": "ESNext",
- "types": ["vitest/globals"],
- "useDefineForClassFields": true,
+ "types": ["vitest/globals", "@testing-library/jest-dom/vitest"],
"paths": {
"@/src/*": ["./src/*"],
"@packageJSON": ["./package.json"]
diff --git a/typedoc.json b/typedoc.json
index 41da282c..d93acffc 100644
--- a/typedoc.json
+++ b/typedoc.json
@@ -25,7 +25,7 @@
"./src/{vite-env.d.ts,main.tsx,routeTree.gen.ts}",
"./src/lib/{wagmi,wallets}/**/*",
"./src/routes/**/*",
- "./src/utils/{logger,tokenListsCache}.ts",
+ "./src/utils/logger.ts",
"./src/constants/contracts/**/*",
"./src/hooks/generated.ts",
"./src/subgraphs/**/*",
@@ -51,7 +51,16 @@
"visibilityFilters": {
"inherited": true
},
- "blockTags": ["@dev", "@source", "@name", "@description"],
+ "blockTags": [
+ "@dev",
+ "@source",
+ "@name",
+ "@description",
+ "@param",
+ "@returns",
+ "@example",
+ "@throws"
+ ],
"validation": {
"invalidLink": true,
"notDocumented": false
diff --git a/vercel.json b/vercel.json
index 9096ba56..153282ab 100644
--- a/vercel.json
+++ b/vercel.json
@@ -5,7 +5,7 @@
"headers": [
{
"key": "Content-Security-Policy-Report-Only",
- "value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https: blob:; connect-src 'self' https: wss:; frame-src 'self' https://app.family.co https://id.porto.sh; frame-ancestors 'none'"
+ "value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https: blob:; connect-src 'self' https: wss:; frame-src 'self' https://app.family.co https://id.porto.sh https://verify.walletconnect.org; frame-ancestors 'none'"
},
{
"key": "X-Content-Type-Options",
diff --git a/vite.config.ts b/vite.config.ts
index 7601ba38..f25e7563 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,10 +1,9 @@
-///
+///
import { resolve } from 'node:path'
import { TanStackRouterVite } from '@tanstack/router-plugin/vite'
-import react from '@vitejs/plugin-react-swc'
+import react from '@vitejs/plugin-react'
import { defineConfig, loadEnv } from 'vite'
import Sitemap from 'vite-plugin-sitemap'
-import tsconfigPaths from 'vite-tsconfig-paths'
// https://vitejs.dev/config/
/** @type {import('vite').UserConfig} */
@@ -14,30 +13,43 @@ export default defineConfig(({ mode }) => {
plugins: [
TanStackRouterVite({ target: 'react', autoCodeSplitting: true }),
react(),
- tsconfigPaths(),
Sitemap({
hostname: env.PUBLIC_APP_URL || 'https://demo.dappbooster.dev',
}),
],
build: {
sourcemap: mode === 'development' ? 'hidden' : false,
- rollupOptions: {
+ rolldownOptions: {
output: {
- manualChunks: {
- 'vendor-react': ['react', 'react-dom', 'react-dom/client'],
- 'vendor-wagmi': ['wagmi', 'viem'],
- 'vendor-tanstack': ['@tanstack/react-query', '@tanstack/react-router'],
- 'vendor-chakra': ['@chakra-ui/react'],
- 'vendor-web3': ['@reown/appkit', '@reown/appkit-adapter-wagmi'],
+ manualChunks(id) {
+ if (id.includes('node_modules/react-dom') || id.includes('node_modules/react/'))
+ return 'vendor-react'
+ if (
+ id.includes('node_modules/wagmi') ||
+ id.includes('node_modules/@wagmi/') ||
+ id.includes('node_modules/viem')
+ )
+ return 'vendor-wagmi'
+ if (
+ id.includes('node_modules/@tanstack/react-query') ||
+ id.includes('node_modules/@tanstack/react-router') ||
+ id.includes('node_modules/@tanstack/router-core') ||
+ id.includes('node_modules/@tanstack/query-core')
+ )
+ return 'vendor-tanstack'
+ if (id.includes('node_modules/@chakra-ui/')) return 'vendor-chakra'
+ if (id.includes('node_modules/@reown/appkit')) return 'vendor-web3'
},
},
},
},
envPrefix: 'PUBLIC_',
resolve: {
+ tsconfigPaths: true,
alias: {
'@/src': resolve(__dirname, './src'),
'@packageJSON': resolve(__dirname, 'package.json'),
+ buffer: 'buffer/',
},
},
test: {
diff --git a/vocs.config.ts b/vocs.config.ts
index 647c669b..311549c4 100644
--- a/vocs.config.ts
+++ b/vocs.config.ts
@@ -1,4 +1,4 @@
-import { type SidebarItem, defineConfig } from 'vocs'
+import { defineConfig, type SidebarItem } from 'vocs'
export default defineConfig({
title: 'dAppBooster',