Refactor: VM: Remove the NetworkVersionGetter #7818
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related Issues
The primary motivation for this is to support FVM integration, because we don't want to be piping a network version getter across the FFI boundary.
Proposed Changes
The actual Runtime interface only ever reports the network version at the current epoch to actors. Within the VM too, all but one of the invocations of the version getter is for the current epoch. These can all be satisfied by simply providing the current network version on VM construction.
The exception is the randomness getters, which provide the network version at an arbitrary epoch as input. This PR gets around this by allowing the randomness module to query the network version.
Additional Info
Checklist
Before you mark the PR ready for review, please make sure that:
<PR type>: <#issue number> <area>: <change being made>
fix: #1234 mempool: Introduce a cache for valid signatures
PR type
: fix, feat, INTERFACE BREAKING CHANGE, CONSENSUS BREAKING, build, chore, ci, docs, misc,perf, refactor, revert, style, testarea
: api, chain, state, vm, data transfer, market, mempool, message, block production, multisig, networking, paychan, proving, sealing, wallet