Skip to content
Back to skills

Indexedex Ui Tx Testing

ASecurity

Test IndexedEx frontend money paths with Playwright injected wallets and verify Robinhood Anvil onchain effects.

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
testingshellbashtestingfrontend

Works with

  • cli
  • mcp

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 4 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add cyotee/indexedex --skill indexedex-ui-tx-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Indexedex Ui Tx Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Indexedex Ui Tx Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cyotee-indexedex-ui-tx-testing/badge)](https://www.skillsdirectory.com/skills/cyotee-indexedex-ui-tx-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: indexedex-ui-tx-testing
description: "Test IndexedEx frontend money paths with Playwright injected wallets and verify Robinhood Anvil onchain effects."
license: MIT
---

# IndexedEx UI transaction testing

Prove the **Next app builds and submits correct txs** by driving the real UI with an **injected EIP-1193 wallet**, then asserting **RPC balances / receipts** — not click-only.

## When / when not

| Use | Skip |
|-----|------|
| After deposit / swap / staking / approval wiring changes | Solidity unit/fork tests only |
| Robinhood Anvil (4663) + DTF launch verification | Pixel/visual QA without chain |
| Fee DETF bond/mint paths on `/staking` | Deploying stacks *as part of* a pure UI PR (prefer operator-provided RPC) |

## Default target (DTF / Robinhood)

| Item | Value |
|------|--------|
| App | `frontend/apps/indexedex` (`@indexedex/app-indexedex`) |
| Port | **3002** |
| Chain id | **4663** |
| RPC | `http://127.0.0.1:8545` |
| Wallet | Anvil **#0** (e2e inject); scripts fund **#1** as human UI wallet |
| Artifacts | `frontend/packages/protocol/src/addresses/chain/4663/` |

The canonical source is `frontend/apps/indexedex`. DTF shares that source and adds a domain notice before the temporary staking overlay.

## Quick start

```bash
# 0) Repo root — operator stack already up (pick ONE family; do not merge)
# Fee DETF / staking (CHIR live after first bond):
bash scripts/shell/anvil_robinhood_fee_detf.sh all --restart-anvil
# OR lab multi DETF/SE (inert until UI bond):
# bash scripts/shell/anvil_robinhood_main.sh all --restart-anvil

cast chain-id --rpc-url http://127.0.0.1:8545   # must be 4663

# 1) Frontend
cd frontend
npm install
npm run build -w @indexedex/app-indexedex
npm run test:e2e:install -w @indexedex/app-indexedex

# 2) Shell + IA (no live txs required)
npm run test:e2e -w @indexedex/app-indexedex

# 3) Live money paths (bond / deposit when stack allows)
npm run test:e2e:live -w @indexedex/app-indexedex
```

Reuse a running IndexedEx dev server:

```bash
npm run dev:indexedex
E2E_SKIP_WEBSERVER=1 npm run test:e2e:live -w @indexedex/app-indexedex
```

## Navigation (read on demand)

| Need | Open |
|------|------|
| Env vars, suite map, pass criteria | [references/dtf-e2e-runbook.md](references/dtf-e2e-runbook.md) |
| Manual click checklist (bond / swap / deposit) | [references/manual-tx-journeys.md](references/manual-tx-journeys.md) |
| Stack + wallet setup (RH Anvil) | [references/stacks-and-wallets.md](references/stacks-and-wallets.md) |
| Product route matrix (historical full plan) | `frontend/UI_FULL_FUNCTIONALITY_TEST_PLAN.md` |
| RH agent runbook | `docs/ANVIL_ROBINHOOD_UI_AGENT_RUNBOOK.md` |

## Hard rules

1. **No MetaMask automation** — use Playwright inject (`e2e/wallet/injectWallet.ts`).
2. **Pass = on-chain effect** — balance delta, NFT mint, or receipt via RPC; not “button enabled.”
3. **Query vs execute** — deposit query **8-tuple** / execute **10-tuple**; never spread execute into query.
4. **Approvals** — multi-leg uses **split** Permit2 + router CTAs (`swap-approve-*`, ActionCta gates).
5. **List-driven addresses** — read `chain/<id>/` tokenlists + `platform.json`; do not hardcode vaults.
6. **Two Anvil families** — `fee_detf` (CHIR live) vs `main` (inert demos). Last export wins for `chain/4663/`.
7. **Do not invent APY/USD** in assertions or UI checks.

## Key files

| Path | Role |
|------|------|
| `frontend/apps/indexedex/e2e/` | DTF Playwright suite (RH default) |
| `frontend/apps/indexedex/e2e/staking-bond-live.spec.ts` | Bond WETH via `/staking` |
| `frontend/apps/indexedex/e2e/swap-routes-live.spec.ts` | Live swap/deposit when stack supports |
| `frontend/apps/indexedex/playwright.config.ts` | Port 3002 + RH env |
| `frontend/packages/protocol/` | Shared addresses / tokenlists |
| `frontend/packages/protocol/src/addresses/chain/4663/` | RH artifacts |

## Agent verification loop

```text
1. Confirm RPC + chain id (cast)
2. Confirm artifacts exist for that chain
3. npm run test:e2e (shell/IA)
4. npm run test:e2e:live (bond/deposit) — skip-only is OK if stack missing; document blocker
5. Optional: browser MCP walk /staking?detf=<chir> for manual confirm
6. Fix UI → re-run live suite → only then claim money-path done
```

## See also

- `skill:indexedex-ui-refactor` — env / artifacts / wagmi transports  
- `skill:indexedex-product-voice` — copy only  
- `skill:ethskills-qa` — general dApp ship checklist  
- Deploy stacks: `scripts/foundry/anvil_robinhood_fee_detf/`, `anvil_robinhood_main/`

Files in this skill

  • SKILL.md4.7 KB
  • references/dtf-e2e-runbook.md2.9 KB
  • references/manual-tx-journeys.md2.6 KB
  • references/stacks-and-wallets.md1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…