From 46d22e8df07e20e50c9f310d9ccc0b4326a76a52 Mon Sep 17 00:00:00 2001 From: Ardis Lu Date: Sun, 13 Apr 2025 00:25:43 -0700 Subject: [PATCH] Move comment trimming to beginning This fixes another issue where a parameter comment contains a closing parenthesis `)` which closes the event definition. --- README.md | 4 ++-- index.html | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 3be1afa..6d80a62 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ There is a button to delete all lines in the input code block that do *not* cont ## Testing -Use [this permalink](https://event-hashes.ardis.lu#H4sIAAAAAAAACq2TP2/bMBDFd36KN1qCDMEyksVTmnQw0ARFHaBDEASseHGIiEeBpNy4Rb97QVqW5NZAlmix+H735x1PLkt8kl7XaKXzmreCdsQBG23ahmZSKUfeF8ffTnOoLi6zlRBlift9S2DrjGz0Lxm05dPsGP3wWGgOBXFnHh77vO8vOpBvZU2QrEBvwUkm23m80v6ndQrBaWOiG6CvGKM9joagWdEbKUC67aJAfI4II4y0KhB94ERPZJkBWKVTsnXbNUHPG82ExtrXuXwhqfqJEvuimf5zcDAgxv4TUCWQ2k/UJUS2+rfuRhq6k4ZmY6VifH0nIXaI0ZqD6O/4huaqaxtdT/dy0ys0G+p9jBQ7fiNjdzTdZpr5KdhW10+5WMfTfTzMpmAxXNyzs6Y4SaoGFuxhjdXFJXay6ahvut6ydYTaGkMcfJQO9tbstaKr6wNYRJNlfpZVs2yFvBRlngucD1nG9BhzgF+lk6ZHfrIwyAJliZ5gcdz9D5T5oFaxTpbMX1vnqA7NHjqOoXkLtjxPTeLtwQen6wBjFYnacnCyDtgk8dYqwu/x/zGIn3dp3t5S9I3njuv4FeDOhis+EzDq1Yl+tnYVJx6/TCBbiT9/AeN0Ju9HBAAA) for testing. The output should be: +Use [this permalink](https://event-hashes.ardis.lu#H4sIAAAAAAAACq1TwW7bMAy96yt4tA0HRhy0l5yydocAazEsBXYoikKT2FSoRRmSnDUb9u8DFSV2tgC7zBdb7z2Sj6TcNPBBBqOglz4Y2grcIUXYGNt3WEitPYZQH9+DodheXZdLIZoGHvY9AjlvZWd+yGgcnUez+vGpNhRrpME+PuW4r68mYuilQpCkAd+jl4RuCPCG++/Oa4jeWMtuAHJGVgc4GgJDGt9RA0i/ndfAz5GCkWS2rYF9wBmemEUJAMt0Srbuhi6aWWcIoXPubSZfUercUeI+GcK/HBwMiLH+hGgTkcpP0AWIcvln3o20eC8tFmOmevz8RwBXYLWhKPKMb3Gmh74zarqX24xgccr3fyCu+AWt2+F0m6nn5+h6o54rsebTAx+KKTE/De7FO1ufBbUnLrrDGtura9jJbsBcdL0l5xGUsxYpBoYO9tYUjMbVzYGYs8mmusi1RbmEqhFNVQm4LFlwOGsO5Gfppc1UmCwMZA1NA5mB+XH332poqhPccqLMKNYXZS66EmVq6sZ5jyp2ezDcnqEtkKNZEvFUIURvVATrNArlKHqpImwSeOc0ws/xvzmBH3dpDtkq9wMvAym+HXDv4oouCEa8PcMv5m55EuONBSiX4tdvNFCEL18EAAA=) for testing. The output should be: > 14 events found (10 unique) > @@ -79,7 +79,7 @@ Use [this permalink](https://event-hashes.ardis.lu#H4sIAAAAAAAACq2TP2/bMBDFd36KN > MultiLineSameName(uint256,int256) | 0x06b14b8df51d75cfe7ac7998ad1c26ef4c27486f5002d2467e2153e5223afb65 > Duplicate() | 0x1b29ea747187d15c571dad327d15bf6195ee4e3da8d688889df1aa967bc932a6 > IndexTopic(address,address,uint256) | 0xb1228749f1442a6eabefa98b8b54b638ca37671df1d1c10b5e9a8f00e23a7e52 -> ParamComments(address,uint256) | 0x79888db8d8719f02a058ed6978e0cbc1f9b8c97c6edb8464310c7b52c90d01aa +> ParamComments(address,uint256,uint256) | 0xafe0de50a027183426939f46db89b4603a5cb0653aae50f743d17698b0f1bfa9 > StrictModeEvent1(address) | 0xdc3a255e62df1a4618b1826381a9d4994f73fcfe53923f5adedc7a6c4a2b6852 > StrictModeEvent2(address) | 0x41a478e2922fd0901233d21296641db526d0774459d7adb8290da705389eb5af diff --git a/index.html b/index.html index ad315ed..bbde04b 100644 --- a/index.html +++ b/index.html @@ -323,13 +323,6 @@ } function normalizeEvent(event, strict = false) { - if (event.indexOf('\n') !== -1) { // Multi-line definition - event = event.split('\n').map(trimComments).join(''); - } - else { - event = trimComments(event); - } - // Split the event name and the event topics const eventRegex = strict ? /^(event )(?[a-zA-Z$_][a-zA-Z0-9$_]*) *\((?.*?)(?!.+\))/ : @@ -365,6 +358,7 @@ } function getEvents(code) { + code = code.split('\n').map(trimComments).join('\n'); originalEvents.length = 0; const events = []; let position = 0; @@ -372,7 +366,6 @@ for (let line of code.split('\n')) { const originalLineLength = line.length; position += originalLineLength; - line = line.trim(); if (line === '') { continue; } @@ -387,7 +380,7 @@ if (end === -1) { // No closing parenthesis found continue; } - const lookaheadLine = code.substring(start, end + 1); + const lookaheadLine = code.substring(start, end + 1).replaceAll('\n', ''); try { const normalizedEvent = normalizeEvent(lookaheadLine, strict); originalEvents.push(lookaheadLine); -- 2.47.3