FuelLabs/fuel-tx

Enhance ScriptExecutionResult

Aperta

#100 aperta il 31 mar 2022

 (0 commenti) (0 reazioni) (0 assegnatari)Rust (3 fork)auto 404
good first issue

Metriche repository

Star
 (14 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

ref https://github.com/FuelLabs/fuel-tx/pull/99#issuecomment-1084909047

Currently, ScriptExecutionResult only supports 3 variants (Success, Revert, Panic), which only require 2 bits to represent.

This leaves 62 bits unused in the canonical encoding, which could be used to pack extra additional metadata. This could be things like

  • PanicReason when result is a panic
  • $pc - assuming it's safe to represent as 32bits, which is more than enough for the VM_MAX_MEMORY unless we decide to allow transactions to use 4gb of mem in the future.
  • the index of the resultant receipt in the set of receipts
  • etc

It's impossible to fully represent all the data that's needed, so we'd have to come up with a transparent yet compact encoding of metadata useful for debugging.

Guida contributor