---
# System prepended metadata

title: Human-readable Transactions Working Group - Kickoff - 19.04.2023

---

# Human-readable Transactions Working Group - Kickoff - 19.04.2023

## Attendees

- Kaan Uzdogan
    - Ethereum Foundation - [Sourcify](https://sourcify.dev/) Project Lead
    - [https://twitter.com/kaanuzdogan](https://twitter.com/kaanuzdogan)
- Marco Castignoli
    - Ethereum Foundation - [Sourcify](https://sourcify.dev/) Developer
    - [https://twitter.com/castignolimarco](http://twitter.com/castignolimarco)
- Adam Hodges
    - Coinbase - Coinbase Wallet
    - [https://twitter.com/asdag8](https://twitter.com/asdag8)
- Josh Reid
    - ConsenSys - [MetaMask Activity](https://activity.metamask.io/) Project Lead
- Naveen Mishra
    - Super Key - [SuperKey ](https://superkeyhq.com/) Founder
- Jonathan Toh
    - [Airfoil](https://www.airfoil.studio/) Labs Co-Lead
- Dustin Lau
    - [Cryptocurrency Certification Consortium](https://cryptoconsortium.org/) CEP

## 🎯 Goals of this WG and calls

- **🎯 Being the Schelling Point**: Gather different parties working on the transaction readability, security, and UX in the same place. Enable collaboration between parties, and make sure everyone knows who's working on what.
- **📚 Being the knowledge base**: Discuss and compile the different approaches to the problem. Lay out the advantages and disadvantages of different methods. Document them for the public.
- **🌟 Open-source the solutions** to solve it once and for all.

## 📣 Agenda items

- Intro and Recap:
    - [https://docs.sourcify.dev/blog/human-readable-txs-wg/](https://docs.sourcify.dev/blog/human-readable-txs-wg/)
    - Motivated by our experience in Sourcify, can’t solve this alone.
    - Start small and extend further as needed and as our goals and how we’ll work gets clearer.
- Round of personal introductions.
- What transaction human-readability-related projects are you working on? What are the problems you’ve faced?
- Who else is working on this problem?
  - Sourcify 
      - Approaching from the Natspec side. If you document your function with NatSpec you can display the human-readable text when that function is called.
      - Devcon presentation: https://docs.google.com/presentation/d/17MrpQ7jXpSjd81Hfcl6oFZ5udWbWueYlCUbTaGj8-LQ/edit?usp=sharing
  - Metamask (Josh)
      - Working on Metamask Activity https://activity.metamask.io/
      - One consideration users have: What's happening to my tx?
      - Scam prevention
      - Receiving issues from the users and adding to the knowledge base
      - Problem 1: Understanding pending txs
          - Stuck in wallet? In mempool?
      - Problem 2: Function names
          - Can be whatever
      - Clustering txs by their types
  - Conor:
      - It's usually the case that a centralized entity is making the assumptions about what's going on
      - It's also a quite a manual process
      - Even defining the and stating the problem would be helpful
  - Naveen:
      - Yup, We are working on an open source Chain Agnostic Address Labels. This is how we got on to this issue.
  - Adam:
      - Sourcing the contract is centralized
      - How can we decentrlize the contract code and ABI data?
  - Kaan:
      - This is what Sourcify is mainly working on.
      - We store the metadata (ABI) + source files on IPFS
      - Contract verification is also open-sourced
  - Dustin:
      - Multiple approaches: whitelist-blacklist
      - Other aspects: UX
      - Educating where the tx is, do you have to wait?
      - Using AI?
- [https://docs.sourcify.dev/docs/additional-resources/](https://docs.sourcify.dev/docs/additional-resources/)
- Anyone familiar with the EIPs? Why didn’t they move forward?
    - 712 seems to be used commonly (Adam)
- Creating shared resources?
    - Potentially breaking down the problem into smaller parts.
- Deciding on the call schedule
    - Didn't decide on a set schedule but we'll see in a couple of weeks.
- Other valuable stakeholders for the WG
  - EVM Chains 
  - There's a "Frenzy" of Account Abst. wallets
  - Etherscan and data providers
      - Nansen, Kaiko, Etherscan...

# Possible solutions

| Category                      | Solutions                                                                                                                                                                                                                                        | Pros                                                                                     | Cons                                                                                                        | Counterparties                         |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| Contract Registration         | Whitelists and Blacklists of contracts, <details><summary>Suggestion </summary>(use zkp to register proof of contract validity?)                                                                                                                 | Validation of contract intent                                                            | Resource Intensive                                                                                          | Auditors, code4rena style bounties?    |
| Contract Commenting Framework | [Natspec](https://docs.soliditylang.org/en/v0.8.17/natspec-format.html)                                                                                                                                                                          | Devs can specify end-user facing messages to clarify intent and disambiguate uncertainty | Only supported on Solidity for now | Devs and language support for adoption |
| Contract Call Interception    | [Stelo Labs](https://stelolabs.com/) [BlowFish](https://blowfish.xyz/) [Pocket Universe](https://www.pocketuniverse.app/) [Wallet Guard](https://walletguard.app/) [Novus](https://www.usenovus.io/) [Web3 Antivirus](https://web3antivirus.io/) | Easy to use, translates contract interaction to human readable form                      | Reliant on accurate detection of risky transactions, each app may have different heuristics                 | Contract Call Interception app devs    |
|Normalise UX improvements which inform end-users the number of interactions they will receive                      |UX frontends to foreshadow impending contract actions to the end-user <details><summary>Suggestion </summary>(frontend display checksum/bytehash that should match contract?)                                                                                                                                                                                                                                                   |Trains end-users to expect explanations for what they are signing                                                                                          |Hard to enforce, users will FOMO into contracts when there is perceived time-pressure                                                                                                             |Frontend and UX devs                                        |
    
# Resources
### Smart contract Decompilers

-   [Dedaub](https://library.dedaub.com/decompile)
-   [Panoramix](https://github.com/palkeo/panoramix)
-   [abi-decompiler](https://github.com/Decurity/abi-decompiler)
    
### Rug Checker Tools

-   [Rug Pull Finder](https://www.rugpullfinder.io/confirmedrugpulls)
-   [bscheck](http://bscheck.eu/)
-   [rugscreen](http://rugscreen.com/)
-   [QuillCheck](https://quillaudits.com/tools/quillcheck/)
-   [poocoin’s rugcheck](https://poocoin.app/rugcheck)
-   [tokensniffer](https://tokensniffer.com/)
-   [rugpulldetector](http://rugpulldetector.com/)
-   [rugdoc honeypot checker](https://rugdoc.io/honeypot/)

### Txn Visualization Tools

-   [ethtx.info](https://ethtx.info/)
-   [Front-running explorer](https://zeromev.org/)
-   [eigenphi.io](https://eigenphi.io/)

```markmap
# Transaction Safety
- UX
- Contract Comment Frameworks
- Contract Call Interception
- Contract Registration
    - Whitelists
    - Blacklists
    - zkp of deployed contract status

```