Skip to content

Support for HIP-1215 #2269

@Reccetech

Description

@Reccetech

HIP-1215: Add Full Scheduled Contract Call Support to Mirror Node Explorer

Summary

HIP-1215 introduces protocol-level scheduled contract calls on Hedera — enabling future on-chain actions that can recursively schedule additional actions, forming autonomous workflows (i.e., “on-chain cron jobs”).

This issue proposes a set of UX and API improvements so Hashscan can properly expose scheduled contract calls and highlight this major network capability.

Proposed Improvements

We propose four feature areas that together provide full visibility into HIP-1215 scheduled automation.


1. Add “Scheduled Calls” Tab on Contract Pages

Purpose

Display all pending future executions created by the contract.

Equivalent to showing a contract’s “outstanding cron jobs.”

Placement

New tab (or Calls sub-tab):

[ Summary ] [ ABI ] [ Source ] [ Bytecode ] [ Events ] [ Calls ] [ Scheduled ]

Suggested Table Columns

Column Description Example
Execution Time Timestamp + relative countdown 2025-02-08 14:03 UTC (in 12 min)
Function ABI-decoded target call triggerAlarm(id=5)
Gas Limit Gas allocated for execution 2,000,000
Schedule Address The HIP-1215 schedule instance 0x000…c4e1
Status Pending / Cancelled / Executed Pending

Optional Metadata

  • Payer (contract)
  • Time created
  • Any additional HIP-1215 fields that the mirror node exposes

2. Parent ←→ Child Schedule Linking on Transaction Pages

HIP-1215 transactions come in pairs:

  1. Schedule Creation (contract calls scheduleCall)
  2. Scheduled Execution (the future autonomous call)

Hashscan currently shows scheduled executions as child transactions, but the relationship is not explicit.

We propose:

A. On Scheduled Execution Transaction Page

Add a banner:

This transaction was automatically executed by HIP-1215.

Scheduled by: Transaction [<txid>] at 2025-02-08 13:52 UTC
Schedule Address: 0x000...c4e1

Include a link back to the originating schedule creation transaction.

B. On Schedule Creation Transaction Page

Show:

This call created a scheduled transaction:

Schedule ID: 0x000...c4e1
Expected Execution Time: 2025-02-08 14:03 UTC
Status: Pending

If executed, show:

Executed Transaction: [<txid>] (Success)
Execution Time: 2025-02-08 14:03 UTC

Benefits

  • Clear lifecycle traceability
  • Auditable automation flows
  • Easier debugging and monitoring of recursive scheduling

3. Automation Timeline (Cron Job Visualization)

HIP-1215 enables contracts to schedule themselves repeatedly, forming recurring tasks (e.g., rebalancers, keepers, sweepers, maintenance processes, vesting triggers, DAO stewardship mechanisms).

These appear today as unrelated transactions.

Cron Job Detection Heuristic

Group executions when:

  • Target contract is the same
  • Schedule was created by that contract
  • Function selectors match
  • Execution times show a consistent interval or self-referential pattern

Label example:

Detected Autonomous Task (HIP-1215): Recurring Schedule
Function: rebalance()
Interval: ~15 seconds
Status: Active

Visual Timeline

Horizontal timeline with:

  • 🟢 Successful execution
  • 🔴 Failed execution (revert, insufficient balance, capacity failure)
  • ⚪ Future pending execution

Hover reveals:

  • Gas used
  • Schedule ID
  • Whether it created a subsequent schedule
  • Error details (if failure)

4. “Next Scheduled Event” Widget (Contract Overview)

Compact widget near top of contract page:

Next Scheduled Execution
──────────────────────────────────────────
Function: rebalance()
Scheduled For: Feb 8, 2025 – 14:03 UTC (in 12 minutes)
Schedule Address: 0x000...c4e1
Status: Pending

Buttons:

  • View All Scheduled Calls
  • View Automation Timeline


Sample Hashscan UI Concepts

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependencyFeature requesting an enhancement in a dependency (typically the mirror-node API)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions