stacks-network/stacks-core

Improve emitted events for Clarity post-conditions

Open

#4.744 geöffnet am 2. Mai 2024

Auf GitHub ansehen
 (2 Kommentare) (3 Reaktionen) (1 zugewiesene Person)Rust (758 Forks)auto 404
good first issueiceboxstale

Repository-Metriken

Stars
 (3.063 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

consider the following failed transaction:

$ curl -sL https://api.hiro.so/extended/v1/tx/0xe0a149de6e7f367449fff50e3fa86399d6d708273ab8dabe5bbd3ff380386624 | jq -r .post_conditions,.tx_status
[
  {
    "type": "fungible",
    "condition_code": "sent_equal_to",
    "amount": "300000000000",
    "principal": {
      "type_id": "principal_standard",
      "address": "SP..."
    },
    "asset": {
      "contract_name": "miamicoin-token-v2",
      "asset_name": "MIA",
      "contract_address": "SP1H1733V5MZ3SZ9XRW9FKYGEZT0JDGEB8Y634C7R"
    }
  }
]
abort_by_post_condition

in this example, the tx failed due to an incorrect asset_name being used MIA vs the expected miamicoin.

the emitted event that is consumed by the API (and then exposed to the explorer UI) is a bit too generic about why it has failed ("rolled back by a post condition", likely from the tx_status field the API is returning).

I propose adding some extra data to the event emitted by stacks-node, specifiying which (possibly any) post-condition is actually causing the tx to fail. Once added, there will need to be changes downstream to the event_observers that process this event.

Contributor Guide