Structs§

  • A version of UnvalidatedPhronProposal that has been initially validated and fits within session bounds.
  • Represents a proposal we obtain from another node. Note that since the proposal might come from a malicious node there is no guarantee that the block hashes in the proposal correspond to real blocks and even if they do then they could not match the provided number. Moreover, the block number in the proposal might be completely arbitrary and hence we perform initial validation of the block number and the branch length before we transform it into a safer PhronProposal type that guarantees we will not fail on any integer over- or underflows. We expect that honest nodes create UnvalidatedPhronProposal {branch: [h_0, h_1, …, h_n], number: num} objects that represent an ascending sequence of blocks b_0, b_1, …, b_n satisfying the following conditions: 1) hash(b_i) = h_i for i = 0, 1, …, n, 2) parent(b_{i+1}) = b_i for i = 0, 1, …, (n-1), 3) height(b_n) = num, 4) The parent of b_0 has been finalized (prior to creating this PhronData). Such an UnvalidatedPhronProposal object should be thought of as a proposal for block b_n to be finalized. We refer for to DataProvider for a precise description of honest nodes’ algorithm of creating proposals.

Enums§