Agoric / agoric-sdk

monorepo for the Agoric Javascript smart contract platform
Apache License 2.0
327 stars 206 forks source link

Update vat transcript extract and replay tools to post bulldozer #8494

Open mhofman opened 1 year ago

mhofman commented 1 year ago

What is the Problem Being Solved?

6929 uses the pismo era transcripts and replay tools to verify new version of XS. We'd like to also test with the corpus of data generated post bulldozer upgrade (current mainnet state)

Description of the Design

Update transcript extract and replay tools to support current vat transcripts. In particular, the snapshot info is now included in the transcripts, and doesn't need to be guessed.

Security Considerations

None

Scaling Considerations

None

Test Plan

Run the tools against mainnet state

Upgrade Considerations

None. The tools don't need to support pismo era transcripts, we can keep relying on a branch off that code.

mhofman commented 1 month ago

Talking about this with @siarhei-agoric the other day, I realized we likely do not need anything special for extracting transcripts. In recent changes we decided to no longer keep historical transcripts in the swing-store by default, and added a config option to save transcript spans to disk after closing them (#10036). If we rely on the consistent naming of artifacts (defined by the swing-store export mechanism and used by the archive option), we likely don't even need the span metadata from the kv store. The naming of artifacts is documented in the exporter source.

The main limitation of using file names is that it doesn't have details of incarnation boundaries, but that's something that can be managed out of band (e.g. by manually invoking the replay tool with a new start/stop position option).