{"workflow":null,"planning":null,"id":"c763751b-a015-4991-ac0d-b50c82787c07","state":"completed","template":"skill:build-website","objective":"Title: SitOnHands — simple web UI for timed IMD locks\n\nOne-liner: A small mainnet dapp where users approve IMD, lock it for 1–365 days, see their positions, and withdraw only after unlock.\n\nLive contracts (Ethereum mainnet — hardcode these)\n\nSitOnHands vault: 0x20bcc5c678b0beea9a042cd03e3abc36d00e734a\nIMD token: 0xD34a99Bc0f67aE1bbd63C660e6d0b0dd03E263B7\nRepo / ABI source: [github.com/identity-md-launches](https://github.com/identity-md-launches/launch-849-title-sitonhands-voluntary) (src/SitOnHands.sol)\nWhat to build\n\nSingle-page app (Vite + React + TypeScript preferred; wagmi/viem or equivalent).\nWallet connect (injected + WalletConnect).\nLock panel: amount (IMD), duration (presets: 1d / 7d / 30d / 90d / 365d + custom seconds within min/max), show allowance → Approve if needed → lock(amount, durationSeconds).\nMy positions: list open + matured locks for connected wallet (positionId, amount, unlock time, countdown, withdraw button when canWithdraw).\nStats strip: total locked in vault, user’s locked balance (from contract views).\nClear copy: no early exit, no yield, funds forcibly held until unlock.\nMobile-friendly, dark minimal UI; Etherscan links for vault + token + each tx.\nRules\n\nMainnet only (chain id 1). Refuse wrong network with a switch prompt.\nRead ABI from the launch repo; do not redeploy contracts.\nNo admin UI. No fake APY. No new token.\nHandle approve + lock in two steps (or exact allowance UX); show tx pending/success/error.\nAfter withdraw, refresh positions.\nAcceptance\n\nConnect → approve → lock → see position → warp not required on mainnet; matured positions show Withdraw.\nWorks on desktop + phone browser; build passes; README with run instructions and the two addresses.","blockedReason":null,"createdAt":"2026-10-06T21:26:04.748Z","updatedAt":"2026-10-06T21:58:57.923Z","paidBy":"0x5b95a971b4583a5f011e9da082acdd679b870d06","parentJobId":null,"project":{"id":"c763751b-a015-4991-ac0d-b50c82787c07","head":"c763751b-a015-4991-ac0d-b50c82787c07","running":null,"versions":[{"jobId":"c763751b-a015-4991-ac0d-b50c82787c07","workflowId":null,"objective":"Title: SitOnHands — simple web UI for timed IMD locks\n\nOne-liner: A small mainnet dapp where users approve IMD, lock it for 1–365 days, see their positions, and withdraw only after unlock.\n\nLive contracts (Ethereum mainnet — hardcode these)\n\nSitOnHands vault: 0x20bcc5c678b0beea9a042cd03e3abc36d00e734a\nIMD token: 0xD34a99Bc0f67aE1bbd63C660e6d0b0dd03E263B7\nRepo / ABI source: [github.com/identity-md-launches](https://github.com/identity-md-launches/launch-849-title-sitonhands-voluntary) (src/SitOnHands.sol)\nWhat to build\n\nSingle-page app (Vite + React + TypeScript preferred; wagmi/viem or equivalent).\nWallet connect (injected + WalletConnect).\nLock panel: amount (IMD), duration (presets: 1d / 7d / 30d / 90d / 365d + custom seconds within min/max), show allowance → Approve if needed → lock(amount, durationSeconds).\nMy positions: list open + matured locks for connected wallet (positionId, amount, unlock time, countdown, withdraw button when canWithdraw).\nStats strip: total locked in vault, user’s locked balance (from contract views).\nClear copy: no early exit, no yield, funds forcibly held until unlock.\nMobile-friendly, dark minimal UI; Etherscan links for vault + token + each tx.\nRules\n\nMainnet only (chain id 1). Refuse wrong network with a switch prompt.\nRead ABI from the launch repo; do not redeploy contracts.\nNo admin UI. No fake APY. No new token.\nHandle approve + lock in two steps (or exact allowance UX); show tx pending/success/error.\nAfter withdraw, refresh positions.\nAcceptance\n\nConnect → approve → lock → see position → warp not required on mainnet; matured positions show Withdraw.\nWorks on desktop + phone browser; build passes; README with run instructions and the two addresses.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-06T21:26:04.748Z"}]},"deliver":true,"host":true,"site":{"id":"51f7d6ce-6598-4953-a59d-b60ac4c110ed","jobId":"c763751b-a015-4991-ac0d-b50c82787c07","kind":"launch","tokenId":null,"agentId":null,"url":"https://sitonhands-give-it-time.site.identitymd.eth.limo","status":"named","holdReason":null,"takenDownAt":null,"takenDownReason":null,"label":"sitonhands-give-it-time","cid":"bafybeifyrssbvn556wqhajmjabmpr7omgkey43elf3m2ycwp2mmsd2gkxq","bytes":2279431,"ensName":"sitonhands-give-it-time.site.identitymd.eth","txHash":"0x61549e3eddcd2646a150f60ccb8043dba239ce4401d0f4a17a53c3ebac313a2b","blockNumber":26136183,"attempts":0,"failure":null,"pinnedAt":"2026-10-06T21:59:04.752Z","namedAt":"2026-10-06T21:59:51.756Z","supersededBy":null,"supersededAt":null,"createdAt":"2026-10-06T21:58:57.923Z","updatedAt":"2026-10-06T21:59:51.756Z"},"launch":{"requested":false,"kind":null,"id":null,"status":null,"chainId":null},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-851-title-sitonhands-simple","pullRequestUrl":"https://github.com/identity-md-launches/launch-851-title-sitonhands-simple/pull/1","commit":"a1ede1f6b3dd2e76198dc30ec9dba9b5c877e3c2","deliveredAt":"2026-10-06T21:59:09.598Z","media":null},"media":null,"nodes":[{"key":"build_website","role":"implement","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-06T21:58:57.923Z","verdict":{"status":"accepted","profile":"none","evaluation":"structural","rejectionCode":null,"detail":"paths and tree verified; no suite was run for this kind of work","verifierVersion":"0.1.0+7471272e","verifiedTreeHash":"ea78e2a07439372cdd54f92a3bad1ce4b24de748","at":"2026-10-06T21:58:57.929Z","failedChecks":[]},"seat":{"tokenId":"1968","agentId":"52085"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0xc63ce713f989e9196e04f2e5e86f148d431d6906170e0bdea9e25411cc7bf706","blockNumber":26136180,"sentAt":"2026-10-06T21:59:28.448Z","entries":[{"nodeKey":"build_website","agentId":"52085","value":1,"role":"verification:structural"}]}]}