sui
sui copied to clipboard
[narwhal] fetch certificates based on GC round and existing certificates
Currently CertificateWaiter
requests certificates based on last committed rounds. But when processing certificates, all parents of a certificate are still required. This is incorrect, as outlined here. Basically a certificate may not be needed by the DAG because it is below the last committed round of its authority, but it is still needed as a parent to another certificate.
As a fix, fetch certificates based on current GC round and existing certificates above GC round. Also, restore the previous logic that a certificate is considered to have parents if its parents are at the GC round threshold.