You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The existing dispute submission is a single form. Real disputes require structured evidence: screenshots, contracts, communication logs. A wizard guides the claimant through categorising their evidence, verifying file integrity, and previewing the on-chain cost before submitting.
What to build
5-step wizard component DisputeSubmissionWizard:
Context: select dispute type (non-delivery, quality, scope-creep, other); text description (min 100 chars, max 2000)
Evidence upload: per-category upload slots — Contract Documents, Deliverable Screenshots, Communication Logs, Other; each slot accepts multiple files up to 20 MB each, max 10 files total
Integrity verification: for each uploaded file, compute SHA-256 in the browser using the Web Crypto API; display the hash next to each file; allow user to copy individual hashes; show a warning if the same file is uploaded twice (hash collision detected)
Overview
The existing dispute submission is a single form. Real disputes require structured evidence: screenshots, contracts, communication logs. A wizard guides the claimant through categorising their evidence, verifying file integrity, and previewing the on-chain cost before submitting.
What to build
DisputeSubmissionWizard:POST /api/v1/disputeswith the evidence metadata and signed transaction; shows progress (IPFS pin → on-chain submission → confirmation)Acceptance Criteria
crypto.subtle.digest('SHA-256', ...)— no server round-triparia-current="step"Technical notes
crypto.subtleis available in all modern browsers; no polyfill needed{ name, size, type, sha256, category }metadata