Skip to content

Display multisig account info#37

Open
crossagent-production-app[bot] wants to merge 2 commits into
crossagentfrom
worktree/task_f1af7680c54d421c
Open

Display multisig account info#37
crossagent-production-app[bot] wants to merge 2 commits into
crossagentfrom
worktree/task_f1af7680c54d421c

Conversation

@crossagent-production-app
Copy link
Copy Markdown
Contributor

Refs #36

Summary

  • Enriches the balance account response with optional multisig metadata derived from indexed multisig.NewMultisig events.
  • Displays Account Type and linked Multisig Composer rows on the Substrate account detail page when those fields are present.

Verification

  • go test ./plugins/balance/... -count=1
  • cd ui-react && npx tsc --noEmit --pretty false
  • cd ui-react && npx playwright test --config tmp/evidence/playwright.config.cjs --reporter=line

Delivery Evidence Summary

Change:

Implemented multisig account info display for /sub/account/<address> by deriving account_type=Multisig and multisig_composer from the latest matching NewMultisig event, then rendering those fields in the UI.

Objective Evidence:

  • Reproduced current live account API for 49VYuGkjdmZprGpb4jU313RdSffxSVHixojzmafdFYGpVYXb: /api/plugin/balance/account returns balance fields but no account type or composer.
  • Confirmed live indexed multisig.NewMultisig events include that account as the multisig param and an approving account suitable for the composer display.
  • go test ./plugins/balance/... -count=1 passed.
  • cd ui-react && npx tsc --noEmit --pretty false passed.
  • cd ui-react && npx playwright test --config tmp/evidence/playwright.config.cjs --reporter=line passed.

Visual Evidence:

Playwright E2E screenshot of the local account page with mocked API response containing the new multisig fields:

account-multisig-e2e.png

Reviewer:

@repo Intake Codex Reviewer

Risks / Not Covered:

  • The composer is inferred from the approving param on NewMultisig; older multisig accounts without indexed NewMultisig history will not show these optional rows.
  • Runtime lookup scans recent matching NewMultisig rows per split event table; if a table has very large multisig history, this may need a dedicated index/table follow-up.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

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

Project Deployment Actions Updated (UTC)
subscan-essentials Ready Ready Preview, Comment May 26, 2026 2:40am
subscan-essentials-ui-react Ready Ready Preview, Comment May 26, 2026 2:40am

Request Review

@crossagent-production-app
Copy link
Copy Markdown
Contributor Author

crossagent-production-app Bot commented May 25, 2026

Delivery Evidence Summary

Change:

  • Kept the existing multisig account metadata implementation and tightened the Substrate account detail layout so the Multisig Composer value uses a non-shrinking label, a flexible value cell, address wrapping, and monospace rendering for readability.
  • Published refreshed browser evidence focused on the actual account details card so the composer address is visible in the PR evidence image.

Objective Evidence:

  • go test ./plugins/balance/... -count=1 exit code 0; backend balance package tests passed
  • cd ui-react && npx tsc --noEmit --pretty false exit code 0; frontend typecheck passed
  • cd ui-react && npx playwright test --config tmp/evidence/playwright.config.cjs --reporter=line exit code 0; browser test passed and captured the account details card with Account Type Multisig and visible Multisig Composer address 49wYitCNCSrF2swm88DekiF1BQmyi3K5sna3SGjDZ78fsLaL

Visual Evidence:

  • Account details card with visible multisig composer address
  • Browser screenshot of the real /sub/account/49VYuGkjdmZprGpb4jU313RdSffxSVHixojzmafdFYGpVYXb account details card from the local Next.js product UI. It shows Account Type = Multisig and Multisig Composer = 49wYitCNCSrF2swm88DekiF1BQmyi3K5sna3SGjDZ78fsLaL.

Reviewer:

  • @repo Intake Codex Reviewer

Risks / Not Covered:

  • Composer is inferred from the approving param on multisig.NewMultisig; older multisig accounts without indexed NewMultisig history may omit these optional rows.
  • Runtime lookup scans recent matching NewMultisig rows per split event table; a dedicated index/table can improve lookup cost later if needed.

Generated at: 2026-05-26T02:41:41.394Z

@hanwencheng
Copy link
Copy Markdown
Member

hanwencheng commented May 25, 2026

request changes: from the evidence screenshot we can't see the composer address of the multi-sig account address

@crossagent-production-app
Copy link
Copy Markdown
Contributor Author

Follow-up to request changes:

Delivery Evidence Summary

Change:

  • Kept the multisig account metadata implementation in PR Display multisig account info #37 and verified the follow-up readability fix for the Substrate account detail card.
  • The Account Type and Multisig Composer rows now render with a fixed label column, flexible value cell, monospace address text, and address wrapping so the full composer address is visible in evidence screenshots.

Objective Evidence:

  • go test ./plugins/balance/... -count=1 exit code 0, passed
  • cd ui-react && npx tsc --noEmit --pretty false exit code 0, passed
  • cd ui-react && npx playwright test --config tmp/evidence/playwright.config.cjs --reporter=line exit code 0, passed; captured the account details card with Account Type Multisig and visible Multisig Composer address
  • Playwright browser check against http://localhost:3000/sub/account/49VYuGkjdmZprGpb4jU313RdSffxSVHixojzmafdFYGpVYXb with mocked multisig API response exit code 0, passed; title Heima Explorer, nonblank page, no framework overlay, no console errors, composer link href /sub/account/49wYitCNCSrF2swm88DekiF1BQmyi3K5sna3SGjDZ78fsLaL

Visual Evidence:

  • Account details card with full visible multisig composer address

Reviewer:

  • @repo Intake Codex Reviewer

Risks / Not Covered:

  • Composer is inferred from the approving param on multisig.NewMultisig; older multisig accounts without indexed NewMultisig history may omit these optional rows.
  • Runtime lookup scans recent matching NewMultisig rows per split event table; a dedicated index/table can improve lookup cost later if needed.

Generated at: 2026-05-26T04:13:56.184Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants