Mixed-case transaction hashes are silently excluded from the allowlist
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend
Research direction
Start by reading validator-ejector/src/services/config/service.ts:73-80 and validator-ejector/src/services/exit-logs/verifier.ts:365-375. Trace how SUBMIT_TX_HASH_ALLOWLIST is parsed and compared, then verify that an exact mixed-case transaction hash is accepted consistently with its lowercase form.
Written by the indexing model from the issue text.
Description
Locations
validator-ejector/src/services/config/service.ts:73-80validator-ejector/src/services/exit-logs/verifier.ts:365-375
Summary
SUBMIT_TX_HASH_ALLOWLIST preserves the operator’s input casing, but verification lowercases only the observed transaction hash before a case-sensitive comparison. A semantically exact mixed-case hash is therefore treated as unauthorized.
Root cause
Configuration parsing accepts transaction hashes as unchanged strings. verifySubmitExitRequestsDataTransaction subsequently compares transactionHash.toLowerCase() directly against that unnormalized array.
- Dominant language
- TypeScript
- Stars
- 16
- Forks
- 19
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 7
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lidofinance/validator-ejector
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
lidofinance/validator-ejector#197 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
lidofinance/validator-ejector#194 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
lidofinance/validator-ejector#199 ·
-
Suppressed initial-cycle failures can permanently skip the oldest configured exit-request blocks Open
Difficulty 3/5 1-2 days Newbie friendliness 68/100
lidofinance/validator-ejector#198 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
lidofinance/validator-ejector#196 ·
All issues in lidofinance/validator-ejector
Similar issues
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100