-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
This is what we were starting to get into at the end of 4/17/24 meeting with Antonio and Cesar, but we were getting wiped and out of time. To jog our memory for next time, the new issue is that by refactoring Model to use Vec<Box<dyn NodeOpsCommon>>
as one of its field types, we can't iterate through the nodes on the verifier side and verify the nodes anymore.
So, a few ideas to spur the next discussion:
- I wonder if it makes sense to refactor
NodeOpsVerifyback into common (gated by acorefeature or something), and also refactor its impls gated with averifyfeature, which the verifier crate then requires. This allows us to still keep verifier logic out of prover yet still exposes the NodeOpsVerify trait without its impls (via just thecorefeature), but by recoupling the node verification logic with the nodes themselves (and model verification), verification becomes simpler at the model level. - Antonio also suggested we might allow the conversion of type
Modelto another typeVerifiableModel, which removes all private data and has a new method that calls verification on the nodes. - Define
NodeOpsCommonas a of supertrait ofNodeOpsVerify: By doing this, we need to allow theNodeOpsVerifyNodeOpsVerify on the underlying Nodes already. New Nodes will just have to implementNodeOpsVerify - Merge
NodeOpsVerifyintoNodeOpsCommon, maybe even renameNodeOpsCommonto justNodeOps
Metadata
Metadata
Assignees
Labels
No labels