Update HIP-1056: Contract Service output and trace specification - #1229
Conversation
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
There was a problem hiding this comment.
Looks good, just some minor items to consider.
Perhaps @jasperpotts could take a quick look to ensure we aren't duplicating data more than necessary.
Nana-EC
left a comment
There was a problem hiding this comment.
Good considerations.
Some questions and clarifications.
@xin-hedera covered my other concerns so interested in the responses to his comments.
In general, preview block streams spec can be broken so no need to preserve the numbers. Also where data can be calculated based on transaction details or retrieved from state we shouldn't be specifying it in the streams.
It's a fine balance though so there may be some cases where duplication/restating is required.
|
Quick note. We had a discussion today about forward compatibility and the current hash structure. We are going to propose a small further modification of the Block Stream structure (particularly around how to assign the block items to different subtrees based on field number) soon. That might interact with this PR in some small way. |
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Nana-EC
left a comment
There was a problem hiding this comment.
Nice updates. Thanks for the validations and modifications.
Some questions and suggestions to confirm we've got this final optimization right
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Nana-EC
left a comment
There was a problem hiding this comment.
LG.
Unblocking, other items can be addressed in follow up PRs.
Let's just make sure we get the proto items right soon so we reduce breaking changes to downstreams consumers
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com> Co-authored-by: Michael Garber <michael.garber@hashgraph.com>
Description:
ContractFunctionResult#contract_noncesfield, a stream consumer does need to maintain the current nonce of each contract account; but the goal for thisContractFunctionResult#contract_noncesfield was only to keep stream consumers up-to-date on nonces; and this is trivially achieved using the block streamStateChangesnow.