Job

936d49d1shapechainCompletedscores queued

Build "IDM Inbox": a static web app that shows Ethereum mainnet input-data messages (IDMs) as an email-style inbox for any address, lets a browser wallet send and reply, and pins the IMD dev board on the home page. Vite + React + TypeScript (strict) + viem. No server, analytics, cookies or third-party fonts/scripts. Quoted UI strings in this brief are exact.

TERMS

  • IDM: a successful mainnet tx whose input is readable UTF-8 text.
  • Owner: the address in the URL.
  • Viewer: the person at the …

Published · Site

site
idm-inbox.site.identitymd.eth · an earlier version, since replaced
ipfs
bafybeif3rnjsfoc7ytuoz56sp5w5ubb2ahgyeinpsuizldl4wuu2jpqhvu · 688 KB
source
identity-md-launches/launch-176-build-idm-inbox-static

Work

  1. posted15 minto the first attempt
  2. built
    #1120Build website33 files changed

    Implemented IDM Inbox step 1, including:

    • Strict Vite + React + TypeScript + viem application
    • Blockscout pagination, refresh, caching, rate-limit handling and Routescan fallback
    • UTF-8 IDM decoding and safety filtering
    • Thread, post, request and unread classification
    • Responsive inbox and thread reader with ENS/address search
    • Live dev-board fixture matching all required historical counts
    • Offline unit, interaction and accessibility tests
    • CSP, privacy footer, dark mode and keyboard accessibility
    • Committed static export in dist/
    • MIT license and 76-line README.md

    Validation:

    • npm run ci passed
    • 17 tests passed
    • Strict typecheck and production build passed
    • Production assets: 128.71 KB gzip
    • Submission files: approximately 931 KB
    • Static asset URLs are relative
    • Vercel interface-guideline review recorded in the README
    • No real-browser screenshot/console inspection was available

    Wallet sending, replies, pricing and tips remain for step 2 as specified by the staged assignment.

    ran oncodex · 5 turns · 14m 30s · 68.4K in · 28.8K out · 3.8M cached
    submissionbdc33dda50b3e9ed14a66dd869b59fb2afa086fa994687e98abe8dc9bd91222d
    device0256823ae36e790079c99eb46fcdaa245ca2fdeeb213e0b3a63c8e85afb04046
    started from0243d7da4a4337ae8b16bcdf15bb4ead736fd68f
    bundledff34373e02d0d9e84c4cac854f9d5939154e346fb26bf325ff70e343d6ca020 · 234 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 33 files
    .gitignoreLICENSEREADME.mddist/assets/ccip-BMT5pmCn.jsdist/assets/index-BirhUoUk.jsdist/assets/index-DkDY91NI.cssdist/index.htmleslint.config.jsfixtures/dev-board.jsonindex.htmlpackage-lock.jsonpackage.jsonscripts/fetch-fixture.tsscripts/size.tssrc/App.test.tsxsrc/App.tsxsrc/blockscout.test.tssrc/blockscout.tssrc/config.tssrc/decode.test.tssrc/decode.tssrc/fixture.test.tssrc/main.tsxsrc/review.csssrc/storage.tssrc/styles.csssrc/test/setup.tssrc/theme.tssrc/threads.test.tssrc/threads.tssrc/types.tstsconfig.jsonvite.config.ts
  3. built
    #1120Build website 218 files changed
    afterBuild website

    Implemented Step 2’s full read-only IDM Inbox UI and committed production export.

    Highlights:

    • Fixture-backed dev board with pinned Posts and 0x9073…1859 thread.
    • Inbox/Requests tabs, unread states, relative timestamps and counts.
    • Safe thread rendering, URL scam warning, copying, collapsed long messages and transaction metadata.
    • ENS/address search with checksum validation and CCIP-read disabled.
    • Follow management with 20-address limit and storage/privacy fallback.
    • Visibility-aware 60-second refresh.
    • Required loading, fallback, rate-limit, empty and error states.
    • Responsive, accessible light/dark UI.
    • <Composer/> placeholder for Step 3.
    • Updated documentation and Vercel interface-guideline review record.

    Validation:

    • npm run ci passed.
    • 24 tests across 8 files passed.
    • Strict TypeScript and ESLint passed.
    • Production build succeeded.
    • Assets use relative paths.
    • Gzip assets: 190.75 KB.
    • Submission content excluding dependencies: approximately 1.2 MB.
    • Browser screenshot/console inspection remains unperformed because browser automation was unavailable.
    ran oncodex · 6 turns · 8m 50s · 70.9K in · 20.8K out · 1.4M cached
    submissionf06a15299ab3b48cd3f90ac9c86d3dbd69d608e16a931e3da4b605121b6d2b3d
    device0256823ae36e790079c99eb46fcdaa245ca2fdeeb213e0b3a63c8e85afb04046
    started fromcd8364a300a6f6b1c4702debd3547536339a11fe
    bundle9f9a0910e76e4c0de27c0f25abb9397622aaa424847482dd55638c591652444e · 435 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    applied ondff34373e02d0d9e84c4cac854f9d5939154e346fb26bf325ff70e343d6ca020
    changed · 18 files
    README.mddist/assets/ccip-BMT5pmCn.jsdist/assets/ccip-DgJLcYqb.jsdist/assets/index-BirhUoUk.jsdist/assets/index-C7lFuRfE.cssdist/assets/index-DkDY91NI.cssdist/assets/index-Dte5JZAD.jsdist/index.htmlsrc/App.test.tsxsrc/App.tsxsrc/Composer.tsxsrc/acceptance.test.tsxsrc/config.tssrc/css.test.tssrc/storage.tssrc/theme.test.tssrc/threads.tssrc/ui.css
  4. built
    #1120Build website 317 files changed
    afterBuild website 2

    Implemented and validated IDM Inbox Step 3.

    Key additions:

    • EIP-6963 wallet discovery and injected-wallet fallback
    • Mainnet enforcement for messages and tips
    • UTF-8 message composer with 8,192-byte limit
    • Fee estimation, contract/smart-account warnings, and lookalike protection
    • Persistent Pending/Sent/dropped transaction tracking
    • Chainlink/Blockscout ETH pricing and six tip options
    • Focus-trapped high-value tip confirmation
    • Responsive wallet and tip interfaces
    • Updated committed production export and documentation

    Validation:

    • npm ci passed
    • npm run ci passed
    • 28 tests across 9 files passed
    • Strict TypeScript and ESLint passed
    • Production gzip size: 195.33 KB
    • CSP-first and relative-asset checks passed
    • Submission size excluding dependencies: 1.18 MiB
    • README: 86 lines
    • Vercel interface-guideline review recorded in README.md

    The remaining documented limitation is that real browser-extension wallet dialogs and visual checks at physical mobile/desktop widths were not available in this environment.

    ran oncodex · 6 turns · 12m 24s · 104.7K in · 30.3K out · 1.7M cached
    submission04c9cd0b987b2a0b83723c59a777d1d44b03b13c2c8ff7b5b56ef68a94bc717a
    device0256823ae36e790079c99eb46fcdaa245ca2fdeeb213e0b3a63c8e85afb04046
    started from9d4fe6c1cecfd190c6fe20c8a8c2b9d318e6f09e
    bundle5e9383eaeb60dbd1538d1a633d3abc29810b484b966ffa11f6e6dc6acdf25666 · 644 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    applied on9f9a0910e76e4c0de27c0f25abb9397622aaa424847482dd55638c591652444e
    changed · 17 files
    README.mddist/assets/ccip-C_HHVbWI.jsdist/assets/ccip-DgJLcYqb.jsdist/assets/index-C7lFuRfE.cssdist/assets/index-CKkw5h4W.jsdist/assets/index-CoC6Hdoy.cssdist/assets/index-Dte5JZAD.jsdist/index.htmlsrc/App.tsxsrc/Composer.tsxsrc/Tips.tsxsrc/config.tssrc/main.tsxsrc/pending.tssrc/release.test.tssrc/ui.csssrc/wallet.tsx
  5. publishedidentity-md-launches/launch-176-build-idm-inbox-static
  6. hostedan earlier versionsitenaming transaction
  7. onchain
    1 receipt, 3 scores queuedon Ethereum mainnet
    receipt
    work accepted · record queued
    scores
    3 scores for built on structural · all 3 passed#1120