{"id":"2dfd4f52-ff80-46b9-bdbd-9727d850b435","objective":"Contract PixelCommons: a shared 64x64 pixel canvas that anyone can paint on.\n- Each pixel holds one of 16 colors (index 0-15). 0 is white, the starting color.\n- paint(x, y, color): anyone can call it. Reverts if x or y is outside 0-63 or color is above 15. One paint per wallet every 30 seconds.\n- Each paint stores the color and emits Painted(painter, x, y, color).\n- A view returns the whole canvas in one call: 4,096 bytes, one byte per pixel, row by row.\n- No owner, no admin, no fees, no pause, not upgradeable. Holds no ETH or tokens.\nWebsite: shows the canvas large and crisp, refreshed every few seconds. Anyone can look without a wallet. With a wallet connected: pick one of the 16 colors, click a pixel to paint it, and see a countdown to the next paint. A side feed lists the latest 20 paints (who, where, which color).\n\nDeliver: (1) the smart contracts for this, tested and reviewed, then deploy PixelCommons on chain to Sepolia (chain 11155111) — contracts only, no token; (2) publish the source code to a public GitHub repository; (3) a user-facing website that uses the deployed contract addresses, where people connect a wallet and use them, published at a public URL on IPFS.","status":"completed","waitingForHosting":false,"failure":null,"chainId":11155111,"createdAt":"2026-10-13T05:41:57.777Z","updatedAt":"2026-10-13T07:11:07.289Z","contracts":{"id":"4ed31fe0-6431-4d14-961d-8ede3f0020fd","state":"completed","failure":null,"repoUrl":"https://github.com/identity-md-launches/launch-1517-pixelcommons","commit":"001306cdc2b31e636659eeb67153f1ea6d891388"},"frontend":{"id":"fcdb1e2d-3a84-48f0-846a-b218327ee846","state":"completed","failure":null,"repoUrl":"https://github.com/identity-md-launches/launch-1523-workflow-frontend-stage-context","commit":"977bb5db4c0fd3fbd3bdb67763b8c0a471feba43"},"frontendPlan":{"skill":"frontend-for-contract","objective":"Contract PixelCommons: a shared 64x64 pixel canvas that anyone can paint on.\n- Each pixel holds one of 16 colors (index 0-15). 0 is white, the starting color.\n- paint(x, y, color): anyone can call it. Reverts if x or y is outside 0-63 or color is above 15. One paint per wallet every 30 seconds.\n- Each paint stores the color and emits Painted(painter, x, y, color).\n- A view returns the whole canvas in one call: 4,096 bytes, one byte per pixel, row by row.\n- No owner, no admin, no fees, no pause, not upgradeable. Holds no ETH or tokens.\nWebsite: shows the canvas large and crisp, refreshed every few seconds. Anyone can look without a wallet. With a wallet connected: pick one of the 16 colors, click a pixel to paint it, and see a countdown to the next paint. A side feed lists the latest 20 paints (who, where, which color).\n\nDeliver: (1) the smart contracts for this, tested and reviewed, then deploy PixelCommons on chain to Sepolia (chain 11155111) — contracts only, no token; (2) publish the source code to a public GitHub repository; (3) a user-facing website that uses the deployed contract addresses, where people connect a wallet and use them, published at a public URL on IPFS.","acceptanceCriteria":[]},"launch":{"id":"e2d8aa98-e699-40e3-87b6-14f39b54edb1","status":"live"},"validation":{"status":"passed","attempts":1,"startedAt":"2026-10-13T07:10:57.420Z","deadlineAt":"2026-10-14T07:10:57.420Z","nextAttemptAt":null,"report":{"scope":"Read-only HTTP checks of the named and immutable entrypoints, declared static asset hashes and HTML references, published deployment configuration and ABI hashes, and operator-RPC chain/code existence. Does not execute JavaScript, prove the app consumes the configuration, test browser/wallet interactions, validate quotes or simulate/broadcast swaps.","checks":[{"id":"deployment-config","detail":"Published launch, chain, source, attestation and exact contract configuration match the trusted handoff.","status":"passed"},{"id":"static-assets","detail":"All 7 declared assets are reachable and match their SHA-256 digests.","status":"passed"},{"id":"html-assets","detail":"Parsed entrypoint resource references stay within the declared relative export.","status":"passed"},{"id":"named-entrypoint","detail":"The named website did not answer yet; ENS points the name at this CID, and the site is live on IPFS as verified above.","status":"passed"},{"id":"named-assets","detail":"Served from the verified CID; the named website is not required for the site to be live.","status":"passed"},{"id":"contract-abis","detail":"Every published contract ABI matches its attested canonical Keccak hash.","status":"passed"},{"id":"chain-state","detail":"The operator RPC reports the expected chain and nonempty bytecode at every deployed contract address.","status":"passed"}],"status":"passed","summary":"Published site availability, declared assets, deployment configuration, ABIs and chain/code checks passed.","version":1,"checkedAt":"2026-10-13T07:11:01.819Z","retryable":false}},"brief":"# Approved workflow\n\nContract PixelCommons: a shared 64x64 pixel canvas that anyone can paint on.\n- Each pixel holds one of 16 colors (index 0-15). 0 is white, the starting color.\n- paint(x, y, color): anyone can call it. Reverts if x or y is outside 0-63 or color is above 15. One paint per wallet every 30 seconds.\n- Each paint stores the color and emits Painted(painter, x, y, color).\n- A view returns the whole canvas in one call: 4,096 bytes, one byte per pixel, row by row.\n- No owner, no admin, no fees, no pause, not upgradeable. Holds no ETH or tokens.\nWebsite: shows the canvas large and crisp, refreshed every few seconds. Anyone can look without a wallet. With a wallet connected: pick one of the 16 colors, click a pixel to paint it, and see a countdown to the next paint. A side feed lists the latest 20 paints (who, where, which color).\n\nDeliver: (1) the smart contracts for this, tested and reviewed, then deploy PixelCommons on chain to Sepolia (chain 11155111) — contracts only, no token; (2) publish the source code to a public GitHub repository; (3) a user-facing website that uses the deployed contract addresses, where people connect a wallet and use them, published at a public URL on IPFS.\n\nSepolia (chain 11155111). Contracts only: no token, no pool. Publish the code on GitHub and host the site on IPFS.\n\nBuild PixelCommons with Foundry tests and an independent review, deploy it on Sepolia (chain 11155111), then build the website against the live deployment and host it on IPFS. Contract PixelCommons: a shared 64x64 pixel canvas that anyone can paint on.\n","handoff":{"chainId":11155111,"repoUrl":"https://github.com/identity-md-launches/launch-1517-pixelcommons","version":1,"launchId":"e2d8aa98-e699-40e3-87b6-14f39b54edb1","manifest":{"kind":"evm_contracts","notes":"PixelCommons creates a shared 64x64 canvas with 4,096 white pixels. Anyone can paint with one of 16 colors, subject to a 30-second per-wallet cooldown. Each paint emits Painted; getCanvas returns all pixels in row-major order. The nonpayable constructor takes no arguments and requires no dependencies or initialization calls. There is no owner, admin, fee, pause, or upgrade mechanism, and no token, pool, or deployment funding.","contracts":[{"contract":"PixelCommons","constructorArgs":[]}]},"contracts":[{"name":"PixelCommons","txHash":"0x4830461ee9828bb7865a7f1e23d6daed336b9d166eb9cd90206f4d2b941ae7aa","abiHash":"0313dde1c97e7fc875ef9fa8a193cfaa84baef0949f97923f0cf10900859e4f3","address":"0xafac105b0b42888d59dd9e3ae56f03cd47b13028","blockNumber":11904166,"creationCodeHash":"a82928470132e785d2c0fcf122cb40be17124b9850deb02dba8a930adeb21b33"}],"sourceCommit":"001306cdc2b31e636659eeb67153f1ea6d891388","abiInstructions":"Build ABIs from this exact source commit; compare canonicalKeccak(abi) with abiHash. Verify deployed code on the stated chain before enabling transactions.","attestationHash":"a40a186d717cafb3444542daff501097cbcd5bb50ce91fefd93696030ed9382c"},"site":{"status":"named","cid":"bafybeihvmkoa5nalii3roeajloo5g7ldm77ihapqqksffk4k5oqw7loh5m","ensName":"pixelcommons-a-shared-canvas.site.identitymd.eth","failure":null}}