Renaming (pre)endorsements
Motivation
The term “endorsement” incorrectly conveys the idea that validators (i.e. bakers) approve of the transactions included in a block proposal by the block producer, even though they are merely attesting that a valid block has been produced.
The goal of this milestone is to rename the (pre)endorsement into (pre)attestation in the Tezos protocol codebase, as well as in the Octez codebase.
Work Breakdown
The work that needs to be done for this milestone can be divided into two parts:
- UX changes that will impact users
- Code base changes that will impact developers
UX changes (ETA - End of June July)
Nairobi changes
-
Renaming endorsing_rights(#5149 (closed), !8096 (merged))
Operation encoding allows attestation (ETA - Start End of May)
-
(Days) Update the operation_encodingto acceptattestation(andpreattestation,double_attestation_evidenceanddouble_preattestation_evidence) as an alias forendorsementkind (#5357 (closed), !8254 (closed) / !8563 (merged)) -
(Days) Update the operation_receipt_encodingto be able to output bothattestation(andpreattestation,double_attestation_evidenceanddouble_preattestation_evidence) andendorsementkind in JSON (#5358 (closed), !8531 (merged)) -
(Hours) Export legacy operation_encoding,operation_receipt_encodingandoperation_data_and_receipt_encodingin the env and use it in the shell. (!8620 (merged)) -
(Hours) Update the balance_updates_encodingto be able to output bothattestation rewardsandendorsing rewardskind in JSON and export legacyblock_header_metadata_encoding_with_legacy_attestation_namein the env and use it in the shell (!9251 (merged))
POST - input support for attestation kinds (ETA - Mid of June)
-
Protocol/Plugin -
(Days) Allow forge/operationsto accept operation in JSON withattestation,preattestation,double_attestation_evidenceanddouble_preattestation_evidencekinds by versioning it (#5380 (closed), !8746 (merged)) -
(Hours) Allow run_operationandsimulate_operationto accept operation in JSON withdouble_attestation_evidenceanddouble_preattestation_evidencekind by versioning it (#5382 (closed), !8768 (merged)) -
(Hours) Allow run_operationandsimulate_operationto output operation with both double_attestation_evidence and double_preattestation_evidence kinds by versioning it (#5763 (closed), !8949 (merged)) -
(Days) Allow parse/operationsto output operation in JSON withattestation,preattestation,double_attestation_evidenceanddouble_preattestation_evidencekinds by versioning it (#5381 (closed), !8840 (merged))
-
-
Shell -
(Days) Allow preapply/operationsto allow operation in JSON withattestation,preattestation,double_attestation_evidenceanddouble_preattestation_evidencekinds by versioning it (#5383 (closed), !8891 (merged))
-
GET - output support for attestation kinds (ETA - End of June)
-
Shell -
(Days) Allow chains/<chain>/blocks/<block>/andchains/<chain>/blocks/<block>/operationsto outputattestation,preattestation,double_attestation_evidenceanddouble_preattestation_evidencekinds in JSON (#5384 (closed), !9008 (merged)) -
(Hours) Allow chains/<chain>/blocks/<block>/andchains/<chain>/blocks/<block>/metadatato outputattestation rewardsandlost attestation rewardskinds in JSON (!9253 (merged))
-
-
Mempool -
(Days) Allow monitor_operationsto outputattestation,preattestation,double_attestation_evidenceanddouble_preattestation_evidencekinds in JSON (#5385 (closed), !8980 (merged)) -
(Hours) Allow pending_operationsto outputattestation,preattestation,double_attestation_evidenceanddouble_preattestation_evidencekinds in JSON (#5386 (closed), !8960 (merged))
-
Events and errors uses attestation (ETA - Mid of July)
-
Protocol -
Lib_protocol -
(Hours) Update event and error messages to output attestationinstead ofendorsementand update tests accordingly (#5388 (closed), !9192 (merged))
-
-
Lib_delegate -
Baker -
(Hours) Update event and error messages to output attestationinstead ofendorsementand update tests accordingly (#5389 (closed), !9195 (merged))
-
-
Accuser -
(Hours) Update event and error messages to output attestationinstead ofendorsementand update tests accordingly (#5390 (closed), !9196 (merged))
-
-
-
Lib_client -
(Hours) Update event and error messages to output attestationinstead ofendorsementand update tests accordingly (#5392 (closed), !9232 (merged))
-
-
Logs and Documentation update to use attestation (ETA - End of July)
It is possible that this part will be inlined in the previous works
-
RPCs -
Document version rpc argument (!9182 (merged))
-
-
Docs -
Protocol alpha(#5387 (closed), !9429 (merged)) -
API (consequences of API versioning and multiple encoding), will be done in the v18 (!9731 (merged)).
-
Code base changes (ETA - end of July)
These changes will mainly be, renaming types, variables, and functions that impact a huge part of the code
No mention of endorsements in the Tezos protocol code (ETA - end of July)
-
Operation_repr (Change in this file will have impact on many other such as validate, lib_delegate, tests, etc) -
Consensus kind (#5393 (closed), !9355 (merged)) -
Renaming of operations_reprcontents type and overalllib_protocoloccurrences of: (#5394 (closed))-
Preendorsement(!9362 (merged)) -
Double_preendorsement_evidence(!9364 (merged)) -
Endorsement(!9424 (merged)) -
Double_endorsement_evidence(!9425 (merged))
-
-
-
Watermarks (#5395 (closed), !9424 (merged) and !9362 (merged)) -
Storage and Internal encodings (!9486 (merged)) -
Functions (!9440 (merged))
No mention of endorsements in Octez code (ETA - End of July)
-
codebase -
Lib_delegate -
Commands (!9494 (merged)) -
Code base (!9497 (merged))
-
-
Lig_plugin (!9500 (merged)) -
Lib_client (!9501 (merged)) -
Lib_crypto + env (!9568 (closed))Remainingendorsementare only for legacy compatibility.
-
-
Tests -
Lib_protocol -
Helpers (!9559 (merged)) -
Tests (!9562 (merged))
-
-
Lib_delegate (!9557 (merged)) -
Tezt -
Tests (!9580 (merged))
-
-