Skip to content

Update server manager for output unification#27

Open
diegonehab wants to merge 1 commit intomainfrom
feature/output-unified-server-manager
Open

Update server manager for output unification#27
diegonehab wants to merge 1 commit intomainfrom
feature/output-unified-server-manager

Conversation

@diegonehab
Copy link
Contributor

This PR updates the interface of the Server Manager for output unification.

gligneul
gligneul previously approved these changes Jan 8, 2024
@diegonehab diegonehab force-pushed the feature/output-unified-server-manager branch from 22bc6f7 to 3da49c0 Compare January 12, 2024 16:48
OutputValidityProof validity = 4; // Validity proof for an output
bytes context = 5; // Data that allows the validity proof to be contextualized within submitted claims. Currently, the context is the epoch number as a ABI-encoded uint256.
OutputValidityProof validity = 3; // Validity proof for an output
bytes context = 4; // Data that allows the validity proof to be contextualized within submitted claims. Currently, the context is the epoch number as a ABI-encoded uint256.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just an observation, for rollups-contracts v2, we don't need this context field anymore. Now, in order to retrieve the correct claim from the consensus, you only need to provide the application contract address (like before), and the input range (first input index and last input index). So, maybe we can change this field here to be that? We can discuss this further in the Output Unification meeting too. :-)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. The input range is easy. I am sure we have this information lying arround. But would the Server Manager be informed, during session startup, of this contract address? And should we bundle it in the proof structure itself?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the node already has hold of the application address, since it needs to filter out InputAdded events for a specific application address.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please correct me if I'm wrong, @gligneul.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the node has the app address. It is reasonable for the node to append the app address to the Proof, so we don't need to pass it to the server manager.
On the other hand, It would be good if the server manager added the input range to the proof.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gligneul I think the InputRange struct can be on the FinishEpochResponse itself, since it would be the same for every output in the same epoch, right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would the front end get the input range if we do that? There is no epoch structure in the GraphQL API.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already include stuff that would be the same for every output. I guess the idea was to give exactly what the user would need. Rather than have the user fish around for the required data. Has this understanding been changed?

Copy link
Contributor

@gligneul gligneul Jan 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has this understanding been changed?

No, it has not. Let's discuss this in more detail in the workgroup meeting.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, adding this to our agenda. 📓

@diegonehab diegonehab force-pushed the feature/output-unified-server-manager branch 3 times, most recently from 0c43970 to 7a5449d Compare January 17, 2024 14:22
OutputValidityProof validity = 4; // Validity proof for an output
bytes context = 5; // Data that allows the validity proof to be contextualized within submitted claims. Currently, the context is the epoch number as a ABI-encoded uint256.
OutputValidityProof validity = 3; // Validity proof for an output
InputRange input_range = 4; // Range of processed in the epoch

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a noun is missing after "processed".

OutputEnum output_enum = 3; // Type of the output
OutputValidityProof validity = 4; // Validity proof for an output
bytes context = 5; // Data that allows the validity proof to be contextualized within submitted claims. Currently, the context is the epoch number as a ABI-encoded uint256.
OutputValidityProof validity = 3; // Validity proof for an output

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a proof for a specific output that has been mentioned above, so "the" output.

@diegonehab diegonehab force-pushed the feature/output-unified-server-manager branch from 7a5449d to 5c72c42 Compare February 2, 2024 14:31
bytes exception_data = 4; // Exception payload when there was an EXCEPTION
}
repeated Report reports = 5; // Reports produced during input or query processing
repeated Output reports = 5; // Reports produced during input or query processing

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aren't these still reports?
Did we completely remove them?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants