github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/light-clients/06-solomachine/spec/03_state_transitions.md (about)

     1  <!--
     2  order: 3
     3  -->
     4  
     5  # State Transitions
     6  
     7  ## Client State Verification Functions
     8  
     9  Successful state verification by a solo machine light client will result in:
    10  
    11  - the sequence being incremented by 1.
    12  
    13  ## Update By Header
    14  
    15  A successful update of a solo machine light client by a header will result in:
    16  
    17  - the public key being updated to the new public key provided by the header. 
    18  - the diversifier being updated to the new diviersifier provided by the header.
    19  - the timestamp being updated to the new timestamp provided by the header.
    20  - the sequence being incremented by 1
    21  - the consensus state being updated (consensus state stores the public key, diversifier, and timestamp)
    22  
    23  ## Update By Governance Proposal
    24  
    25  A successful update of a solo machine light client by a governance proposal will result in:
    26  
    27  - the client state being updated to the substitute client state
    28  - the consensus state being updated to the substitute consensus state (consensus state stores the public key, diversifier, and timestamp)
    29  - the frozen sequence being set to zero (client is unfrozen if it was previously frozen).
    30  
    31  ## Upgrade
    32  
    33  Client udgrades are not supported for the solo machine light client. No state transition occurs.
    34  
    35  ## Misbehaviour
    36  
    37  Successful misbehaviour processing of a solo machine light client will result in:
    38  
    39  - the frozen sequence being set to the sequence the misbehaviour occurred at