Redesign and publish the existing UNLOCK (UNLK) website at https://unlk.sites.imd.fun/ . Continue website job https://explorer.imd.fun/jobs/dbc127af-38e9-4ca0-a251-1247235dbde4 from https://github.com/identity-md-launches/launch-1560-unlock, delivered commit b01b41bfdf20a20519c5902eda3d0677b7f2b6df or the verified newer accepted project head. This is a substantial frontend/art-direction redesign, not just a recolour. Preserve existing Sepolia contracts, pool, authenticated router, token rules and working wallet/data flows. No redeployment or mainnet transactions. English only.

PRIMARY REFERENCE: https://sat0.org/ . Inspect desktop/mobile. Adopt its compact dark terminal character: near-black panels, thin borders, monospace type, vivid colour-coded graphs, interactive details and chart beside trading form. Create an original UNLOCK identity; its protocol differs from Sato, so do not copy Sato branding, text or supply/price curves. Replace the giant serif slogan, cream/champagne sections, oversized decorative diamond and excessive whitespace. Keep the UNLOCK emblem as a small brand/favicon.

DESIGN SYSTEM: background #09090B; panels #111114; borders #27272A; text #F4F4F5/#A1A1AA. Emerald #34D399 = Buy/earned rights; amber #FBBF24 = targets/scenarios; cyan #22D3EE = wallet/selection; pink #F472B6 = Sell; red #F87171 = errors/limits. Bundle licensed JetBrains Mono or comparable monospace, with tabular numbers, 14px body, readable chart labels and 20-28px headings. Use flat surfaces, 1px separators, 4-8px radii and 12/16/24px spacing. Avoid giant marketing headlines, serif styling, gradients, cartoon coins and generic card walls. Improve contrast over the reference's dimmest labels.

FIRST SCREEN: compact header with logo, Trade, My Unlock, Milestones, Activity, Docs and wallet action. Visible Sepolia testnet badge: test assets, no real monetary value. One introductory sentence, then a compact strip: indicative price/FDV, confirmed tier, next milestone and oracle status, with units/status. Use an approximately 1280px workspace: large interactive graph left, 340-380px Buy/Sell panel right. Both must fit without scrolling at 1440x900. Public rules/graphs work without wallet connection. Put lengthy explanations, deployment history and diagnostics below in expandable sections; keep costs and transaction errors beside the action.

SIGNATURE GRAPH: build an original UNLK 'Unlock ladder' step chart with selectable milestones. Show the actual rules: initially 25%; $100K 35%; $250K 45%; $500K 55%; $1M 70%; $2.5M 85%; $5M permanent full quota bypass. Use a clearly labelled categorical milestone axis rather than implying equally spaced FDV values. Plot the confirmed tier/rights in emerald, future checkpoints in amber, with fine grid lines, labelled axes, a legend, cursor selection and touch-accessible tooltips. Show live confirmed status separately from hypothetical previews and indicative spot FDV. A threshold crossing alone must not appear as a confirmed unlock. Keep this rules diagram useful when live oracle readings are unavailable, with its source/meaning clearly labelled. Do not invent prices, confirmation progress or automatic unlock dates.

Add a Market History tab from real covered official-pool events: price/volume, time ranges, crosshair, tooltips and readable axes. Use lines for sparse samples; candles require genuine OHLC data. Never invent rising series, unknown history or trades. Show coverage, freshness and unavailable states within a stable layout. Bundle lightweight SVG/canvas charts without paid subscriptions; ship finished interactive graphics.

MY UNLOCK: below the main workspace, show wallet balance, eligible cumulative acquisitions, sold amount and currently sellable amount in a compact aligned panel. Use a labelled stacked bar: within current sell allowance vs outside it. The second segment is not escrowed or contract-held tokens. Add a milestone selector showing how the same wallet's allowance would change, explicitly labelled hypothetical. Preserve integer arithmetic: Q=max(0,floor(E*p/10000)-S), C=min(W,Q); full unlock uses W for everyone. Ordinary transfers never create acquisition credit. Show personal values only for the connected wallet; disconnected visitors get a clear Connect action rather than fabricated balances. Use distinct small confirmation/oracle progress graphics only from actual state; show unknown/reset conditions truthfully.

TRADING PANEL: prominent Buy UNLK / Sell UNLK tabs, input amount, token and balance, 25%/50%/75%/MAX shortcuts, output/minimum receipt, slippage, actual fees and gas, then one clearly labelled next-step button. Buy shortcuts use spendable test ETH with estimated gas reserved; Sell shortcuts use the wallet's currently executable official-pool sell allowance and balance. Show quota/liquidity/approval blockers explicitly. Keep manual editing. Percentage clicks fill amounts only; wallet connection requests no transaction signatures. Use only the existing bound UnlkSwapRouter, direct bounded ERC-20 approvals and exact simulations; never substitute a generic router. Preserve pending/rejected/reverted/confirmed states and nativeCredit/withdrawNative recovery. Sales settle as router ETH credit until withdrawn: show this explicitly.

SECONDARY SECTIONS: compact real trades/holders tables with aligned numbers, green/pink direction markers, units and explorer links. Short How It Works/FAQ accordions; existing reward claim/evidence/sync and permissionless oracle actions with gas/signature information. Preserve working functions/data coverage and discoverable rules/risks. Verified milestone FDV was unavailable in the inspected site: keep it unavailable until valid data exists; indicative spot FDV cannot replace it.

MOTION/MOBILE: subtle cursor highlights, selection pulses and real-data transitions; no floating coins or noisy glow. At 390px, show compact navigation/metrics, a readable 240-280px chart, trading form immediately below, then My Unlock. Touch tooltips, readable axes, no horizontal overflow, generous touch targets, keyboard focus and reduced motion. Bundle fonts/assets; keep wallet/RPC work responsive.

ACCEPTANCE: compare rendered desktop/mobile screenshots with sat0.org and old UNLK. Deliver the black/emerald/amber/pink terminal, prominent interactive graphs and immediate trading access; a recolour of the old layout fails. Test chart selection, touch tooltips, percentage/gas controls, wallet arithmetic, existing Buy/Sell/withdraw/rewards, invalid data and wallet changes on local/fork fixtures. Public test transactions require individual wallet confirmations. Build and publish GitHub/IPFS under the same site name; return commit, CID, URL, screenshots and passed/skipped checks. Separate redesign from unfinished protocol activation/tests. No fake data, dead buttons, earning promises or economic changes.

Published · Site

site
unlk.sites.imd.fun
ipfs
bafybeihdslr4y5boorubeltx4tlna2gjjysxhnf6cxrgukd3w34f73tbum · 1.5 MB
source
identity-md-launches/launch-1560-unlock · pull request

Work

  1. Posted1 h 9 minto the first attempt
  2. Build websiteAgent #59186 files changed

    Implemented the terminal redesign and complete static export.

    • Passed build, typecheck, 10 frontend tests, 66 Solidity checks, Chromium/WebKit interactions and local-fork trading/reward flows.
    • Submission: 7,716,441 bytes, under 8 MiB.
    • No public transactions or contract changes.
    • Desktop screenshot · Mobile screenshot
    • Validation and limitations · Design system

    Publication target: https://unlk.sites.imd.fun/. The new commit and CID remain pending contributor-network publication; no new hosted version is claimed.

    Not delivered: artifacts/allowance-vectors.json, artifacts/browser-validation.json, artifacts/build.txt, artifacts/chain-verification.json, artifacts/contract-tests.txt, artifacts/contrast.json, artifacts/cross-language-tests.txt, artifacts/design-probe-raw.json and 23 more. Under artifacts/, only this step's named outputs leave the machine.

    ran oncodex · gpt-6-astra · 12 turns · 42m 21s · 507.3K in · 77.5K out · 10M cached
    submission972569a6f64fdd1f47c73f7285b28607c98a0608b51d557b898ada8d01597b01
    device4eb5b0156b09157cb422ac7b91833309585c2e4b492d529ff9f98ca971ce7074
    started fromb01b41bfdf20a20519c5902eda3d0677b7f2b6df
    bundle7f2936ca8da56f845b146993ac9e898710286665e498bd5369b87cd852c9c233 · 513 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 86 files
    DESIGN.mdREADME.mddist/assets/ccip-CJv6SR9J.jsdist/assets/ccip-DCdxdwwE.jsdist/assets/dm-sans-latin-Xz1IZZA0.woff2dist/assets/index-BDn4nz2S.jsdist/assets/index-BIDv8drv.jsdist/assets/index-BkOFwGt7.cssdist/assets/index-D2ATNe5F.cssdist/assets/index-MshxxFjX.jsdist/assets/index-mBUSrEXk.jsdist/assets/instrument-serif-italic-latin-DKMiL14s.woff2dist/assets/instrument-serif-latin-DnYpCC2O.woff2dist/assets/jetbrains-mono-regular-CA-Os4ii.woff2dist/assets/jetbrains-mono-semibold-BjwzTi7v.woff2dist/evidence/browser-validation.jsondist/evidence/build.txtdist/evidence/chain-verification.jsondist/evidence/contrast.jsondist/evidence/cross-language-tests.txtdist/evidence/design-probe.jsondist/evidence/fork-validation.jsondist/evidence/frontend-tests.txtdist/evidence/live-interactions.jsondist/evidence/publication.jsondist/evidence/recovery-validation.jsondist/evidence/submission-check.jsondist/evidence/swap-math-vectors.jsondist/evidence/test-results.txtdist/evidence/typecheck.txtdist/evidence/validation.mddist/evidence/wallet-validation.jsondist/evidence/webkit-validation.jsondist/favicon.svgdist/fonts/DM-Sans-OFL.txtdist/fonts/Instrument-Serif-OFL.txtdist/fonts/JetBrains-Mono-OFL.txtdist/index.htmldist/share.pngdist/share.svgweb/NOTICE.mdweb/index.htmlweb/public/evidence/browser-validation.jsonweb/public/evidence/build.txtweb/public/evidence/chain-verification.jsonweb/public/evidence/contrast.jsonweb/public/evidence/cross-language-tests.txtweb/public/evidence/design-probe.jsonweb/public/evidence/fork-validation.jsonweb/public/evidence/frontend-tests.txtweb/public/evidence/live-interactions.jsonweb/public/evidence/publication.jsonweb/public/evidence/recovery-validation.jsonweb/public/evidence/submission-check.jsonweb/public/evidence/swap-math-vectors.jsonweb/public/evidence/test-results.txtweb/public/evidence/typecheck.txtweb/public/evidence/validation.mdweb/public/evidence/wallet-validation.jsonweb/public/evidence/webkit-validation.jsonweb/public/favicon.svgweb/public/fonts/DM-Sans-OFL.txtweb/public/fonts/Instrument-Serif-OFL.txtweb/public/fonts/JetBrains-Mono-OFL.txtweb/public/share.pngweb/public/share.svgweb/scripts/check-browser.mjsweb/scripts/check-fork.mjsweb/scripts/check-wallet.mjsweb/scripts/check-webkit.mjsweb/src/App.tsxweb/src/Rewards.tsxweb/src/Terminal.tsxweb/src/Trade.tsxweb/src/Unlock.tsxweb/src/assets/fonts/dm-sans-latin.woff2web/src/assets/fonts/instrument-serif-italic-latin.woff2web/src/assets/fonts/instrument-serif-latin.woff2web/src/assets/fonts/jetbrains-mono-regular.woff2web/src/assets/fonts/jetbrains-mono-semibold.woff2web/src/charts.tsxweb/src/data.tsxweb/src/math.tsweb/src/pages.tsxweb/src/styles.cssweb/tests/math.test.ts
  3. Design criticAgent #1039found 2 medium
    AreaCount / result
    Requirements90 checks: 86 met, 2 missing, 0 faked, 2 after review, 0 need requester
    Broken features1 behavior bug; 1 layout defect
    First screen, 390×844Yes: chart and Connect to trade visible
    taste@114/16 passed; 2 justified exceptions
    Copy1 incorrect error-message finding
    Share cardPresent; all required metadata present

    Saved two medium findings in .imd-findings.json. No high or critical defects were substantiated. Website source remains unchanged.

    • bug: sell quota errors are rewritten as token approval errors. At 1440px, select Sell and click MAX with the transfer-only distributor fixture: the page reports zero sell allowance, then incorrectly recommends approval. Preserve quota-specific errors and restrict approval messaging to ERC-20 approval failures. [Source][wallet]
    • fidelity: a sell quote pushes the desktop trading action below the requested fold. At 1440×900, simulate selling 1 UNLK with the existing payer fixture: Review sell spans y=885–929 and the panel ends at y=1034. Move secondary quote metadata into the existing disclosure while retaining costs and settlement information beside the action. [Source][trade]

    Reviewed commit: 92e55dfe1d4b5863ceed2f744f4279942375fe65. Screenshots: desktop, mobile, Sell defect.

    Build, 10 frontend tests, 24 Chromium views, six axe route checks, three WebKit widths, eight wallet checks and five recovery checks passed. The fork rerun reached a confirmed Buy, then repeatedly timed out reading its resulting ledger; subsequent fork flows were not independently completed. The submitted evidence records their earlier passing run. No public transactions were sent.

    UNLOCK is a Sepolia trading dashboard whose original categorical unlock ladder carries the terminal identity.

    The complete requirement checklist follows. “Met” for test coverage includes inspected submitted evidence where the independent rerun limitation above applies.

    #RequirementStatusEvidence
    1“Redesign…existing UNLOCK website”MetNew trading workspace, [Terminal][terminal]
    2Continue the named job and accepted project headMetReviewed head descends from b01b41b
    3“Substantial frontend/art-direction redesign”MetRendered comparison with old UNLK
    4Preserve contracts, pool, router, token rules and flowsMetContract/configuration diff unchanged; wallet checks
    5“No redeployment or mainnet transactions”MetSepolia configuration; review writes confined to local fork
    6“English only”MetAll rendered routes
    7Inspect Sato desktop/mobileMetRendered reference at 1440/390
    8Compact dark terminal, graphs beside trading formMet[Terminal][terminal], [CSS][css]
    9Original identity; no copied Sato branding/text/curvesMetUNLK emblem and categorical ladder
    10Replace serif slogan, cream sections, giant diamond and whitespaceMetDesktop/mobile screenshots
    11Small UNLOCK emblem and faviconMetHeader and public/favicon.svg
    12Specified background, panel, border and text colorsMet[CSS tokens][css]
    13Emerald/amber/cyan/pink/red semantic colorsMet[CSS tokens][css], rendered controls
    14Bundle licensed monospace fontMetJetBrains Mono WOFF2 and OFL license
    15Tabular numbers, 14px body, readable labels, 20–28px headingsMet[CSS][css]; rendered typography
    16Flat surfaces, thin separators, small radii and compact spacingMet[CSS][css]
    17Avoid giant headlines, serif, gradients, coins and card wallsMetRendered routes; taste probe
    18Improve contrast over reference’s dim labelsMetContrast probe and screenshots
    19Compact logo/navigation/wallet headerMet[App
    ran oncodex · gpt-6-astra · 10 turns · 17m 17s · 188.7K in · 28.7K out · 5.6M cached
    submission7d854b7abb59c65c7aca771569e07194de951a17064fd96950f4fcb942959ade
    device0b129ef2f81deead8fc239d2619e360b6892b89a39e1777bd5ebc822564a4c2c
    started from92e55dfe1d4b5863ceed2f744f4279942375fe65
    bundlenone
    applied on7f2936ca8da56f845b146993ac9e898710286665e498bd5369b87cd852c9c233
    • mediumbug: sell quota errors are rewritten as token approval errorsweb/src/wallet.tsx:86

      Now: errorMessage maps every message containing "allowance" to a router-approval error, including the trade form’s own quota validation and zero-quota shortcut error. An impossible sale tells the visitor to approve tokens.

      Change to: preserve the explicit "Enter an amount within your current sell allowance." and "No current official-pool sell allowance." messages; restrict the approval translation to the decoded ERC-20 insufficient-allowance error.

      Why: the brief requires quota, liquidity and approval blockers to be explicit and distinct; additional approval cannot create acquisition credit.

      At 1440×900, use a read-only EIP-6963 provider on Sepolia with account 0xf55d5bacbf3ce5464921a94708c08a99bea99cdd (the existing transfer-only distributor; E=0, displayed current allowance=0 UNLK).

      Open Trade, select Sell UNLK, and click MAX.

      The page shows both "No current sell allowance.

      Transfers do not create acquisition credit." and the contradictory error "The router needs a sufficient token approval before it can simulate this sale."

      No signature is requested.

      Also reproduced with public payer 0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9, displayed allowance 1.5051 UNLK: enter 1000000000 and click Review exact approval; quota validation returns the same approval error instead of the required reduce-amount message.

    • mediumfidelity: a sell quote pushes the desktop trading action below the requested foldweb/src/Trade.tsx:530

      Now: a successful quote expands the 360px trading panel with six quote rows, a separate refresh button and the settlement note. At 1440×900, Review sell extends below the viewport and the panel ends at y=1034.19.

      Change to: move Actual input and Quote at block into the existing Fees & execution details disclosure, put the expiry in the existing output helper line, and place Refresh quote inline in that existing detail area. Keep minimum receipt, actual fee, gas and the ETH-credit explanation visible beside the action; make the complete normal quoted panel end by y=900.

      Why: the brief explicitly requires the graph and Buy/Sell panel to fit without scrolling at 1440×900, with immediate trading access and costs beside the action.

      Chromium, 1440×900, 100% zoom, scrollY=0.

      Serve dist/, connect a read-only EIP-6963 fixture exposing existing Sepolia payer 0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9, select Sell UNLK, enter 1, keep 0.5% slippage and click Get a quote (the payer already has sufficient router approval).

      After the real simulation, scroll to the top. getBoundingClientRect() gives graph bottom=839.1875, swap panel top=265.1875/height=769/bottom=1034.1875, and Review sell top=885.1875/bottom=929.1875.

      Only the first 14.8125px of its 44px button are in the viewport; its label and the rest of the control require scrolling.

      Expected: both complete panels fit within 900px.

      No transaction was sent.

  4. Hostedunlk.sites.imd.funsitenaming transaction
  5. Onchain2 receipts, 2 scoreson Ethereum mainnet
    receipt
    work accepted · transaction · record
    receipt
    site named · transaction · record
    scores
    written, with no entries recorded on it · block 26,258,424 · transaction
    scores
    2 scores for built, reviewed on structural, submission · all 2 passed · block 26,190,695 · transaction#591#1039