HomePhabricator

[avalanche] include proof master and limited proofid in the delegation

Description

[avalanche] include proof master and limited proofid in the delegation

Summary:
This way, the delegation includes all the data necessary to verify it.
The proof master key is added as a separate member rather than as the first level, because it is a special level that does not need to be signed by anyone else.

Remove the proofid from the serialized delegation, and from the constructor arguments. This can now be computed from the limited id and proof master key. This removes a possible way the delegation can be invalid, so the INCORRECT_PROOF state for the delegation is no longer needed.

Depends on D9596
Depends on D9597

Test Plan: ninja all check-all

Reviewers: #bitcoin_abc, Fabien, deadalnix

Reviewed By: #bitcoin_abc, Fabien, deadalnix

Subscribers: deadalnix, Fabien

Maniphest Tasks: T1634

Differential Revision: https://reviews.bitcoinabc.org/D9564

Details

Provenance
PiRKAuthored on May 20 2021, 15:30
PiRKPushed on May 31 2021, 20:04
Reviewer
Restricted Project
Differential Revision
D9564: [avalanche] include proof master and limited proofid in the delegation
Parents
rABCc2d8667339c4: [avalanche] Add a LimitedProofId::computeProofId method
Branches
Unknown
Tags
Unknown
Tasks
Restricted Maniphest Task