REVERT rolls back state, but a retried transaction still writes twice — where should idempotency live?
REVERT and the retry gap I understand that when a state-changing call ends in REVERT , the EVM rolls back that transaction's storage writes, so a single confirmed transaction either commits fully or not at all. What I am trying to resolve is the retry path: a client that does not see a receipt in time may build a new transaction (new nonce) for the same logi