Proto: update aggregate operations result
What
Providing individual consensus_power for each delegate in aggregate operations results.
Why
To make it easier to understand/process for users and external tools providers.
How
Manually testing the MR
tezt --verbose --file tezt/tests/baker_test.ml --title 'Alpha: Attestations aggregation on reproposal'
at the end, one should see the list of consensus operations holding aggregate with the following form :
[ { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
"chain_id": "NetXdQprcVkpaWU",
"hash": "oo4x52aEzh5g6NpzeU48PfUdtNJL692Kxa7Un6pkjh5ottzRJCR",
"branch": "BLuBuQPYq1b5eNz12e9EHKJYAVt4uiNWy88vLeSEnAumPK8Bk5E",
"contents":
[ { "kind": "attestations_aggregate",
"consensus_content":
{ "level": 9, "round": 1,
"block_payload_hash":
"vh2t7QtMUie8e63tNNWwxfMVQ7rzkuRwwcGXKHhyskzSWhnWPFXq" },
"committee":
[ { "slot": 1, "dal_attestation": "65535" },
{ "slot": 12, "dal_attestation": "65535" },
{ "slot": 38, "dal_attestation": "65535" } ],
"metadata":
{ "committee":
[ { "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx",
"consensus_pkh": "tz4Ga1SRnNHQQqKYNSCjbztn9hymbRLJ1YnA",
"consensus_power": 46 },
{ "delegate": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN",
"consensus_pkh": "tz4BifWYqDkfTwssqdQRJhrdZfE2jsr6a9FZ",
"consensus_power": 55 },
{ "delegate": "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU",
"consensus_pkh": "tz4XZQpy8RjqAu1VpftT2qc448eSuuYUjTLz",
"consensus_power": 30 } ], "total_consensus_power": 131 } } ],
"signature":
"BLsigANWbWKvyNXNPkgvgGCH3mPdStDMaPq3WuadKmWo64x9oAdtNLJqKZREDTjVyeeP9uMGgkBJ1rir8vSAu1yd5WoUAz3FhktZMPN8GrDkUKohPhgF3RDrDgiyZ1WmFm4hPHe47rpSLC" },
{ "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
"chain_id": "NetXdQprcVkpaWU",
"hash": "ooNPMd4JbZ8MadCSSMtFYngay3VtsKxPyzpsqsqSKaTUzT3bPyw",
"branch": "BMawSqKqUbb4uuXky1hRNayg48LEJHSmYRn15oWrkNNrHR16Pcp",
"contents":
[ { "kind": "preattestations_aggregate",
"consensus_content":
{ "level": 10, "round": 8,
"block_payload_hash":
"vh1y169zRdN7EzZTvj1ygTVgbT718SxTGbNdGe5WZnPooKEALreZ" },
"committee": [ 1, 4 ],
"metadata":
{ "committee":
[ { "delegate": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN",
"consensus_pkh": "tz4BifWYqDkfTwssqdQRJhrdZfE2jsr6a9FZ",
"consensus_power": 39 },
{ "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx",
"consensus_pkh": "tz4Ga1SRnNHQQqKYNSCjbztn9hymbRLJ1YnA",
"consensus_power": 36 } ], "total_consensus_power": 75 } } ],
"signature":
"BLsigAMDb5nUEn48JTFJe56wR1Aj8WTN4KYuoHZd9fBDHmFQ1rYyW4HVQe3puWMdVVgjizCRNYPsddwqWdDds3SQz8WgUCgcU3tdiBnqB8MvosKMbKgN7DJ8dtFYW5RrPukw96uYGi97vk" },
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Adam