-
Notifications
You must be signed in to change notification settings - Fork 75
improve: Simplify ancillary data #84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@chrismaree @nicholaspai have we made a definitive decision as to whether we want to do this? Is all of this context easily derivable from events? Maybe a compromise would just be putting the roots in, but removing the other fields. For instance, I think the claimed bitmap will always be 0. Similarly, I think we should at least rename the unclaimed leaves variable, since in this case this would just be the number of leaves, since this dispute would happen before execution starts. Thoughts? |
mrice32
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
@mrice32 I believe that fetching the
Therefore all of the ancillary data that I've removed in this PR can be found in that event so there's really no point in emitting it here. Even if we emit the merkle roots in this ancillary data, voters will still need to look up the bundle block numbers right? |
mrice32
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree this makes sense! Note: it is required that the OO relays the address of the requester to the DVM (which I think it does).
Root bundle data can be grabbed deterministically by looking up the latest
ProposeRootBundleevent before theDisputeRootBundleevent, so some of the ancillary data currently emitted by the HubPool is redundant.The reason why we assume that voters will have to fetch a
ProposeRootBundleevent is that the root bundle'sblockEvaluationNumbersare not stored on-chain. If they were stored on-chain, we could emit all of the data necessary to evaluate a dispute in the ancillary data. But sinceblockEvaluationNumbersare not stored-onchain, voters will have to look up theProposeRootBundleevent regardless and therefore we should not expend gas emitting data already included in that event.