Urgent.News

What's breaking now, across thousands of outlets.

Tech

The First Bugs My Reconciliation Tool Caught Were Its Own

I wrote a small open-source tool, onchain-tieout, to answer one question: does the balance you reconstruct from a wallet's transaction history match the balance the chain actually reports, at the same block? That check exists because data pipelines fail silently. An explorer API returns HTTP 200 with an error inside the body, a page of results is capped without notice, a transaction that reverted…

The first bugs discovered by the author's reconciliation tool, onchain-tieout, were actually in the tool itself. The first issue was with the page size specification, which was incorrect. The tool requested 10,000 rows per page, but Etherscan only returned 1,000 rows per page. As a result, the tool stopped prematurely, leading to inaccuracies in the reconstructed wallet balance.

Another bug was discovered when the tool encountered a block with more than one page of rows. The tool was designed to handle such cases, but it failed to do so properly, resulting in incorrect balance calculations. The tool also incorrectly interpreted HTTP 429 responses from the RPC provider as data issues, when they were actually rate limit problems.

Additionally, the tool had two more bugs that were found by reading the code directly. These included a response with status "1" but a non-list result, and merging identical token transfers across page boundaries without proper logging index. After implementing the fixes, the tool was able to run a complete analysis of the wallet (vitalik.eth), producing 10,476 balance rows with most of them tied out exactly.

Only a small percentage were airdropped spam transactions, and the tool was able to identify and label negative balances accurately. The author concludes that running the reconciliation tool against the real system is crucial for validating the code and assumptions, as offline tests alone may not catch such issues.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

IMF Satisfied With Pakistan

The International Monetary Fund (IMF) mission has expressed satisfaction with a briefing from State Bank of Pakistan (SBP) officials as … Read More The post IMF Satisfied With Pakistan appeared first…

How to Test Email Verification Flows with Playwright

Your Playwright Test Sent an Email. Now What? You've automated the signup form. await page . goto ( ' /signup ' ); await page . getByLabel ( ' Email ' ). fill ( ' test@example.com ' ); await page .

  • Utilize test inbox service like mailQA for unique test email addresses
  • Await email using mailQA's waitForEmail method with unique test address
  • Extract verification link from email HTML to verify account successfully

Sending SMS to Israel: number formats, Hebrew encoding and sender IDs

If your app sends SMS worldwide, Israel has a few quirks that silently break validation, inflate costs or annoy users. This is a short checklist. The full guide is linked at the end. 1.

  • Israeli mobile numbers start with 05 and use +972 for international formats
  • Hebrew characters count as two GSM-7 characters, limiting SMS length
  • Marketing messages require prior consent and easy opt-out in Israel

More from Sunday 27 September →