filecoin-project/filecoin-ffi

LotusTrace is incompatible with Lotus's FvmExecutionTrace

Closed this issue · 0 comments

As of #332, machine.rs::LotusTrace will use FVM's v3 types, which includes a change to the Receipt struct (the new events_root field).

LotusTrace gets serialized and returned to Lotus, which deserializes it into an FvmExecutionTrace. This is currently incompatible, because Lotus's Receipt structure doesn't have the new events_root field.

This is a temporary problem until Lotus properly reasons about the new versioned Receipts, but makes Lotus::master incompatible with FFI::master today, which is an undesirable place to be.

We can fix this by either having custom serialization that ignores the events_root field, or by adding a custom LotusReceipt type to LotusTrace that doesn't include this field.