Skip to content

Track Status of Internal Transactions from Safe Contracts in Transaction Monitoring #182

@tolbrino

Description

@tolbrino

Context

blokli currently only monitors the status of outer Safe transactions. This misses cases where the overall Safe transaction is successful, but internal transactions within (such as contract/module calls in a Gnosis Safe) may fail. Such internal failures may go undetected by clients relying on the monitoring.

Improved Approach

  • After a tracked Safe contract transaction is confirmed:
    1. Always fetch the logs for the corresponding Safe contract for that transaction.
    2. Inspect these logs to determine:
      • Status of internal transactions
      • Revert reason, if any failures occurred
    3. Enrich the monitored transaction data with:
      • Internal transaction status
      • Revert reason (if present)
    4. Expose this new data to clients via the blokli API by adding a new parameter to responses for relevant transactions.

Benefits

  • Ensures clients always see the full picture of Safe contract execution—including internal transaction outcomes and failure causes.
  • Monitoring consumers can programmatically detect both outer and internal failures, and react accordingly.
  • Improves reliability and transparency for all systems relying on blokli monitoring.

Acceptance Criteria

  • For each tracked Safe contract transaction, logs are fetched and inspected for internal transaction status and any revert reason following confirmation.
  • Monitored transaction records are expanded to contain a new field for internal execution results and revert reason (if applicable).
  • blokli’s API endpoints provide this enriched data as a new parameter.
  • Documentation and client guides are updated to detail the new monitoring/output capabilities.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions