stacks-network/stacks-core

Improve emitted events for Clarity post-conditions

Open

#4744 aperta il 2 mag 2024

Vedi su GitHub
 (2 commenti) (3 reazioni) (1 assegnatario)Rust (758 fork)auto 404
good first issueiceboxstale

Metriche repository

Star
 (3063 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor