FuelLabs/fuel-tx

Enhance ScriptExecutionResult

开放

#100 创建于 2022年3月31日

 (0 条评论) (0 个反应) (0 位负责人)Rust (3 个派生)auto 404
good first issue

仓库指标

星标
 (14 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

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.

贡献者指南