---
# System prepended metadata

title: Mina PR checklist
tags: [tweag]

---

---
tags: tweag
title: Mina PR checklist
---

- [x] Mina_transaction.Stable.V1.t
  - [x] Mina_base.User_command.Stable.V2.t
    - [x] Mina_base.Signed_command.Stable.V2.t
      - [x] Mina_base.Signed_command_payload.Stable.V2.t
      - [x] Mina_base.Signed_command_memo.Stable.V1.t
      - [x] Mina_base.Signed_command_payload.Body.Stable.V2.t
      - [x] Mina_base.Signed_command_payload.Common.Stable.V2.t
      - [x] Mina_base.Payment_payload.Stable.V2.t
      - [x] Mina_base.Stake_delegation.Stable.V1.t
      - [x] Mina_base.Signature.Stable.V1.t
      - [x] Signature_lib.Public_key.\*
    - [x] Mina_base.Parties.Stable.V1.t
       - [x] Mina_base.Party.Fee_payer.Stable.V1.t
         - [x] Mina_base.Party.Body.Fee_payer.Stable.V1.t
       - [x] Mina_base.Party.Stable.V1.t
         - [x] Mina_base.Party.Body.Stable.V1.t
           - [x] Mina_base.Party.Update.Stable.V1.t
             - [x] Mina_base.Zkapp_basic.Set_or_keep.Stable.V1.t
             - [x] Mina_base.Zkapp_state.V.Stable.V1.t
             - [x] F.Stable.V1.t = Tick.Field.t
             - [x] Mina_base.Verification_key_wire.Stable.V1.t (with no test case as it's private)
               - [x] With_hash.t
               - [x] Pickles.Side_loaded_verification_key.t
                 - [x] Backend.Tock.Curve.Affine.t
                 - [x] Pickles_base.Proofs_verified.Stable.V1.t
                 - [x] Pickles.Side_loaded_verification_key.Vk.t
               - [x] F.t = Tick.Field.t
             - [x] Mina_base.Permissions.Stable.V2.t
               - [x] Mina_base.Permissions.Auth_required.Stable.V2.t
             - [x] Mina_base.Account.Token_symbol.Stable.V1.t
             - [x] Mina_base.Party.Update.Timing_info.Stable.V1.t
             - [x] Data_hash_lib.State_hash.Stable.V1.t
           - [x] Sgn.Stable.V1.t
           - [x] Currency.Signed_poly.Stable.V1.t
           - [x] Mina_base.Party.Body.Events'.Stable.V1.t
           - [x] Mina_base.Party.Preconditions.Stable.V1.t
             - [x] Mina_base.Zkapp_precondition.Protocol_state.Stable.V1.t
               - [x] ...Hash.Stable.V1.t = Mina_base.Zkapp_basic.Or_ignore.Stable.V1.t
               - [x] Mina_base.Frozen_ledger_hash.Stable.V1.t = Mina_base.Ledger_hash.Stable.V1.t
               - [x] Block_time.Stable.V1.t
               - [x] Mina_base.Zkapp_precondition.Numeric.Stable.V1.t
                 - [x] Mina_base.Zkapp_precondition.Closed_interval.Stable.V1.t
               - [x] Mina_numbers.Length.Stable.V1.t
               - [x] Mina_base.Zkapp_precondition.Protocol_state.Epoch_data.Stable.V1.t
                 - [x] Mina_base.Epoch_seed.Stable.V1.t = Snark_params.Tick.Field.t
                 - [x] Mina_base.Epoch_data.Poly.Stable.V1.t
             - [x] Mina_base.Party.Account_precondition.Stable.V1.t
               - [x] Mina_base.Zkapp_precondition.Account.Stable.V2.t
         - [x] Mina_base.Control.Stable.V2.t
           - [x] Pickles.Side_loaded.Proof.Stable.V2.t
             - [x] Pickles.Side_loaded.Verification_key.Max_width.n
             - [x] Pickles.Proof.t
               - [x] Pickles.Reduced_messages_for_next_proof_over_same_field.Wrap.t
                 - [x] Pickles.Composition_types.Wrap.Proof_state.Messages_for_next_wrap_proof.Stable.V1.t
               - [x] Pickles.Reduced_messages_for_next_proof_over_same_field.Step.t
               - [x] Challenge.Constant.t
               - [x] Pickles.Bulletproof_challenge.t
               - [x] Pickles.Proof.Base.Wrap.t
                 - [x] Digest.Constant.t
                 - [x] Pickles.Composition_types.Branch_data.t
                   - [x] Pickles.Composition_types.Branch_data.Domain_log2.Stable.V1.t
                 - [x] Pickles.Composition_types.Wrap.Statement.Minimal.t
                   - [x] Pickles.Composition_types.Wrap.Proof_state.Deferred_values.Plonk.Minimal.Stable.V1.t
                   - [x] Pickles.Composition_types.Wrap.Statement.Stable.V1.t
                     - [x] Pickles.Composition_types.Wrap.Proof_state.Stable.V1.t
                       - [x] Pickles.Composition_types.Wrap.Proof_state.Deferred_values.Stable.V1.t
       - [x] Mina_base.Parties.Call_forest.Digest.Party.Stable.V1.t
       - [x] Mina_base.Parties.Call_forest.Digest.Forest.Stable.V1.t 
       - [x] Mina_base.Parties.Call_forest.Stable.V1.t
         - [x] Mina_base.with_stack_hash.Stable.V1.t
         - [x] Mina_base.Parties.Call_forest.Tree.Stable.V1.t
- [x] Mina_transaction.Valid.V2.t
  - [x] Mina_base.User_command.Valid.Stable.V2.t 
    - [x] Mina_base.Signed_command.With_valid_signature.Stable.V2.t
    - [x] Mina_base.Parties.Valid.Stable.V1.t
      - [x] Mina_base.Parties.Stable.V1.t (see above)
      - [x] Mina_base.Account_id.Stable.V2.t
        - [x] Mina_base.Account_id.Digest.Stable.V1.t
          - [x] Pickles.Backend.Tick.Field.Stable.V2.t 
      - [x] Mina_base.Parties.Valid.Verification_key_hash.Stable.V1.t
        - [x] Zkapp_basic.F.Stable.V1.t
      
  - [x] Mina_transaction.Poly.Stable.V2.t
    - [x] Mina_base.Coinbase.Stable.V1.t
      - [x] Coinbase_fee_transfer.Stable.V1.t
    - [x] Mina_base.Fee_transfer.Stable.V2.t
      - [x] Mina_base.Fee_transfer.Single.Stable.V2.t
        - [x] Public_key.Compressed.Stable.V1.t 
        - [x] Currency.Fee.Stable.V1.t
        - [x] Mina_base.Account_id.Digest.Stable.V1.t
        
      - [x] One_or_two.Stable.V1.t 
      

- [x] Network_pool.Transaction_pool.Diff_versioned.Stable.V2.t
  - [x] Mina_base.User_command.Stable.V2.t
  
- [x] Network_pool.Snark_pool.Diff_versioned.Stable.V2.t
  - [x] Transaction_snark_work.Statement.Stable.V2.t
   - [x] Transaction_snark.Statement.Stable.V2.t
     - [x] Amount.Stable.V1.t
     - [x] Mina_base.Pending_coinbase.Stack_versioned.Stable.V1.t
       - [x] Mina_base.Pending_coinbase.Coinbase_stack.Stable.V1.t
         - [x] Snark_param.Tick.Field.t
       - [x] Mina_base.Pending_coinbase.State_stack.Stable.V1.t
           - [x] Mina_base.Pending_coinbase.State_stack.Poly.Stable.V1.t
           - [x] Mina_base.Pending_coinbase.Stack_hash.Stable.V1.t
             - [x] Snark_param.Tick.Field.t
       - [x] Mina_base.Pending_coinbase.Poly.Stable.V1.t
 
     - [x] Fee_excess.Stable.V1.t
     - [x] Local_state.Stable.V1.t = Transaction_logic.Zkapp_command_logic.Local_state.Value.Stable.V1.t
       - [x] Transaction_logic.Zkapp_command_logic.Local_state.Value.Stable.V1.t
         - [x] Transaction_logic.Zkapp_command_logic.Local_state.Stable.V1.t
         - [x] Mina_base.Stack_frame.Digest.Stable.V1.t
         - [x] Mina_base.Call_stack_digest.Stable.V1.t
         - [x] Token_id.Stable.V1.t
         - [x] Currency.Signed_poly.Stable.V1.t
         - [x] Mina_base.Zkapp_command.Transaction_commitment.Stable.V1.t
         - [x] Mina_numbers.Index.Stable.V1.t
         - [x] Transaction_status.Failure.Collection.Stable.V1.t

     - [x] Transaction_snark.Statement.Poly.Stable.V2.t
       - [x] Mina_state.Registers.Stable.V1.t
       - [x] Local_state.Stable.V1.t
 
   
  - [x] Ledger_proof.Stable.V2.t
    - [x] Transaction_snark.Stable.V2.t
      - [x] Transaction_snark.Statement.With_sok.Stable.V2.t;
        - [x] Frozen_ledger_hash.Stable.V1.t
        - [x] Amount.Stable.V1.t
        - [x] Sgn.Stable.V1.t
        - [x] Signed_poly.Stable.V1.t
        - [x] Pending_coinbase.Stack_versioned.Stable.V1.t
        - [x] Fee_excess.Stable.V1.t
        - [x] Sok_message.Digest.Stable.V1.t
        - [x] Local_state.Stable.V1.t
 
      - [x] Transaction_snark.Proof.Stable.V2.t
        - [x] Pickles.Proof.Proofs_verified_2.Stable.V2.t 
          - [x] Pickles.Proof.t 


  - [x] One_or_two.Stable.V1.t
  - [x] Network_pool.Priced_proof.Stable.V1.t
    - [x] Mina_base.Fee_with_prover.Stable.V1.t
      - [x] Currency.Fee.Stable.V1.t
      - [x] Public_key.Compressed.Stable.V1.t


- [x] Mina_block.Stable.V2.t
  - [x] Mina_block.Header.Stable.V2.t
    - [x] Mina_state.Protocol_state.Value.Stable.V2.t
      - [x] State_hash.Stable.V1.t
      - [x] Mina_state.Protocol_state.Body.Value.Stable.V2.t
        - [x] Mina_state.Protocol_state.Body.Poly.Stable.V1.t
        - [x] Mina_state.Blockchain_state.Value.Stable.V2.t
            - [x] Staged_ledger_hash.Stable.V1.t
                - [x] Non_snark.Stable.V1.t
                   - [x] Ledger_hash.Stable.V1.t
                   - [X] Staged_ledger_hash.Aux_hash.Stable.V1.t
                   - [x] Pending_coinbase_aux.Stable.V1.t

                - [x] Pending_coinbase.Hash_versioned.Stable.V1.t

            - [x] Frozen_ledger_hash.Stable.V1.t
            - [x] Local_state.Stable.V1.t
            - [x] Block_time.Stable.V1.t
            - [x] Consensus.Body_reference.Stable.V1.t
              - [x] Blake2.Stable.V1.t

        - [x] Consensus.Data.Consensus_state.Value.Stable.V1.t
          - [x] Length.Stable.V1.t
          - [x] Vrf.Output.Truncated.Stable.V1.t
          - [x] Amount.Stable.V1.t
          - [x] Consensus.Global_slot.Stable.V1.t
          - [x] Mina_numbers.Global_slot.Stable.V1.t
          - [ ] **ys** Epoch_data.Staking_value_versioned.Value.Stable.V1.t
            - [ ] Epoch_ledger.Value.Stable.V1.t
              - [x] Frozen_ledger_hash0.Stable.V1.t
              - [x] Amount.Stable.V1.t
            - [x] Epoch_seed.Stable.V1.t
            - [x] Mina_base.State_hash.Stable.V1.t
            - [x] Lock_checkpoint.Stable.V1.t
            - [x] Length.Stable.V1.t

          - [x] Epoch_data.Next_value_versioned.Value.Stable.V1.t
          - [x] Public_key.Compressed.Stable.V1.t

        - [x] Protocol_constants_checked.Value.Stable.V1.t
          - [x] Genesis_constants.Protocol.Poly.V1.t 
 
    - [x] Proof.Stable.V2.t
    - [x] State_hash.Stable.V1.t
    - [X] State_body_hash.Stable.V1.t
    - [X] Protocol_version.Stable.V1.t
  - [x] Staged_ledger_diff.Body.Stable.V1.t
    - [x] Staged_ledger_diff.Diff.Stable.V2.t 
      - [x] Staged_ledger_diff.Diff.Stable.V2.t 
        - [x] Diff.StaPre_diff_with_at_most_two_coinbase.t
            - [x] Diff.Pre_diff_with_at_most_two_coinbase.V2.t
              - [x] Transaction_snark_work.Stable.V2.t
                - [x] Fee.Stable.V1.t
                - [x] Ledger_proof.Stable.V2.t
                - [x] One_or_two.Stable.V1.t
                - [x] Public_key.Compressed.Stable.V1.t
              - [x] User_command.Stable.V2.t
              - [x] With_status.Stable.V2.t
                - [x] Transaction_status.Stable.V2.t
                  - [x] Transaction_status.Failure.Collection.Stable.V1.t
              - [x] Pre_diff_two.Stable.V2.t
                - [x] Diff.Ft.Stable.V1.t
                  - [x]Coinbase.Fee_transfer.Stable.V1.t = Coinbase_fee_transfert..
                - [x] Diff.At_most_two.Stable.V1.t
                - [x] Transaction_status.Stable.V2.t (see above)
        - [x] Diff.Pre_diff_with_at_most_one_coinbase.t
          - [x] Transaction_snark_work.Stable.V2.t (see above)
          - [x] With_status.Stable.V2.t (see above)
          - [x] Pre_diff_one.Stable.V2.t
            - [x] Ft.Stable.V1.t (see above)
            - [x] At_most_one.Stable.V1.t
            - [x] Transaction_status.Stable.V2.t list (see above)

 
## Rpc types

- [ ] Get_some_initial_peers.Master.T.response
    - [ ] Network_peer.Peer.Stable.V1.t
      - [ ] Network_peer.Peer.Id.Stable.V1.t

- [ ] Get_some_initial_peers.V1.T.response
    - [ ] Network_peer.Peer.Stable.V1.t (see above)

- [ ] Get_staged_ledger_aux_and_pending_coinbases_at_hash.V2.T.query
    - [x] State_hash.Stable.V1.t
    
- [ ] Get_staged_ledger_aux_and_pending_coinbases_at_hash.V2.T.response
  - [ ] Staged_ledger.Scan_state.Stable.V2.t = Transaction_snark_scan_state.Stable.V2.t
    - [ ] Transaction_snark_scan_state.Ledger_proof_with_sok_message.Stable.V2.t
      - [x] Ledger_proof.Stable.V2.t
      - [ ] Mina_base.Sok_message.Stable.V1.t
        - [x] Currency.Fee.Stable.V1.t
        - [x] Public_key.Compressed.Stable.V1.t
    - [ ] Transaction_snark_scan_state.Transaction_with_witness.Stable.V2.t
      - [ ] Mina_transaction_logic.Transaction_applied.Stable.V2.t
        - [x] Ledger_hash.Stable.V1.t
        - [ ] Mina_transaction_logic.Transaction_applied.Varying.Stable.V2.t
          - [ ] Mina_transaction_logic.Transaction_applied.Command_applied.Stable.V2.t
            - [ ] Mina_transaction_logic.Transaction_applied.Signed_command_applied.Stable.V2.t
              - [ ] Mina_transaction_logic.Transaction_applied.Signed_command_applied.Common.Stable.V2.t
                - [x] Signed_command.Stable.V2.t
                - [x] With_status.Stable.V2.t
              - [ ] Mina_transaction_logic.Transaction_applied.Signed_command_applied.Body.Stable.V2.t 
                - [x] Account_id.Stable.V2.t
                - [x] Public_key.Compressed.Stable.V1.t
            - [ ] Mina_transaction_logic.Transaction_applied.Zkapp_command_applied.Stable.V1.t
              - [x] Account_id.Stable.V2.t
              - [ ] Mina_base.Account.Stable.V2.t
                - [ ] Mina_base.Account.Binable_arg.Stable.V2.t
                  - [ ] Mina_base.Token_permissions.Stable.V1.t
                  - [x] Currency.Balance.Stable.V1.t
                  - [x] Nonce.Stable.V1.t = Mina_number.Account_nonce.V1.t
                  - [ ] Receipt.Chain_hash.Stable.V1.t = Snark_params.Tick.Stable.V1.t
                  - [x] State_hash.Stable.V1.t
                  - [ ] Mina_base.Account_timing.Stable.V1.t
                    - [x] Global_slot.Stable.V1.t
                    - [x] Balance.Stable.V1.t
                    - [x] Amount.Stable.V1.t
                    - [ ] Mina_base.Account_timing.Poly.Stable.V1.t
                  - [x] Permissions.Stable.V2.t
                  - [ ] Mina_base.Zkapp_account.Stable.V2.t
                    - [ ] Zkapp_state.Value.Stable.V1.t (HERE)
                    - [ ] Verification_key_wire.Stable.V1.t
                    - [ ] Mina_numbers.Zkapp_version.Stable.V1.t
                    - [x] Mina_base.Zkapp_basic.F.Stable.V1.t
                    - [ ] Poly.Stable.V2.t
                  
                  - [ ] Mina_base.Account.Poly.Stable.V2.t
                
              - [ ] Zkapp_command.Stable.V1.t With_status.Stable.V2.t
              - [ ] Account_id.Stable.V2.t


          - [ ] Fee_transfer_applied.Stable.V2.t
          - [ ] Coinbase_applied.Stable.V2.t


      - [] State_hash.Stable.V1.t
      - [ ] State_body_hash.Stable.V1.t
      - [ ] Transaction_snark.Statement.Stable.V2.t
      - [ ] Transaction_snark.Pending_coinbase_stack_state.Init_stack.Stable.V1
      - [ ] Mina_ledger.Sparse_ledger.Stable.V2.t

    - [ ] Parallel_scan.State.Stable.V1.t


  - [ ] Ledger_hash.Stable.V1.t
  - [ ] Pending_coinbase.Stable.V2.t
  - [ ] Mina_state.Protocol_state.Value.Stable.V2.t

- [ ] Answer_sync_ledger_query.V2.t.query
  - [ ] Ledger_hash.Stable.V1.t
  - [ ] Sync_ledger.Query.Stable.V1.t
- [ ] Answer_sync_ledger_query.V2.t.response
  - [ ] Sync_ledger.Answer.Stable.V2.t
  - [ ] Core.Or_error.Stable.V1.t
- [ ] Get_transition_chain.V2.t.query
  - [x] State_hash.Stable.V1.t
- [ ] Get_transition_chain.V2.t.response
  - [ ] Mina_block.Stable.V2.t
- [ ] Get_transition_chain_proof.V1.t.query
  - [ ] State_hash.Stable.V1.t
- [ ] Get_transition_chain_proof.V1.t.response
  - [ ] State_hash.Stable.V1.t
  - [ ] State_body_hash.Stable.V1.t
- [ ] Get_transition_knowledge.V1.T.response
  - [ ] State_hash.Stable.V1.t
- [ ] Get_ancestry.V2.T.query
  - [ ] Consensus.Data.Consensus_state.Value.Stable.V1.t
  - [ ] State_hash.Stable.V1.t
  - [ ] With_hash.Stable.V1.t
- [ ] Get_ancestry.V2.T.response
  - [ ] Mina_block.Stable.V2.t
  - [ ] State_body_hash.Stable.V1.t
  - [ ] Mina_block.Stable.V2.t
  - [ ] Proof_carrying_data.Stable.V1.t
  
- [ ] Ban_notify.V1.T.query
    - [ ] Core.Time.Stable.V1.t 
- [ ] Get_best_tip.V2.T.response
    - [ ]  Mina_block.Stable.V2.t
    - [ ] State_body_hash.Stable.V1.t 
    - [ ] Mina_block.Stable.V2.t
    - [ ] Proof_carrying_data.Stable.V1.t
    
- [ ] Get_node_status.V2.T.response
  - [ ] Node_status.Stable.V2.t
  
- [ ] Get_node_status.V1.T.response # do we need V2 and V1 ? Check in the mli file
  - [ ] Node_status.Stable.V1.t


