The `TestDriver` now records applied messages in it's `TestVector` whenever an `Apply*` method is called. This removes the need for manual message serialization and recording in the tests.
* Read a subset of filecoin state over the full node API
* wip
* import export wip
* extract actors from message
* generate car for any state
* library for providing a pruned statetree
* test vector schema draft + example 'message' class test vector.
* message => messages test vector class.
* fixup
* wip
* use lb.NewBlockstore with ID
* fixup lotus-soup, and generate
* fix deals
* magic params
* work on schema / export of test vector
* fixup
* wip deserialise state tree
* pass at building a test case from a message
* progress loading / serializing
* recreation of ipld nodes
* generation of vector creates json
* kick off tvx tool.
* wip
* wip
* retain init actor state.
* initial test with printed out state
* remove testing.T, but keep require and assert libraries
* wip refactor state tree plucking.
* simplified
* removed factories
* remove builder.Build ; remove interface - use concrete iface
* comment out validateState
* remove Validator
* remove TestDriverBuilder
* remove client
* remove box
* remove gen
* remove factories
* remove KeyManager interfafce
* moved stuff around
* remove ValidationConfig
* extract randomness
* extract config and key_manager
* extract statewrapper
* extract applier
* rename factories to various
* flatten chain-validation package
* initial marshal of test vector
* do not require schema package
* fixup
* run all messages tests
* better names
* run all messages tests
* remove Indent setting from JSON encoder for now
* refactor, and actually running successfully ;-)
* remove irrelevant files; rename extract-msg command.
* remove root CID from state_tree object in schema.
* add tvx/lotus package; adjust .gitignore.
* tidy up command flag management.
* add comment.
* remove validateState and trackState
* remove xerrors
* remove NewVM
* remove commented out RootCID sets
* enable more tests
* add all `message_application` tests
* delete all.json
* update Message struct
* fix message serialization
* support multiple messages
* gofmt
* remove custom Message and SignedMessage types
* update tests with gzip and adhere to new schema for compressed CAR
* improved iface for Marshal
* update Validation
* remove test-suites and utils
* better names for chain. methods
* go mod tidy
* remove top-level dummyT
Co-authored-by: Will Scott <will@cypherpunk.email>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>