mina_p2p_messages/v2/
generated.rs

1use binprot_derive::{BinProtRead, BinProtWrite};
2use derive_more::Deref;
3use malloc_size_of::MallocSizeOf;
4use malloc_size_of_derive::MallocSizeOf;
5use openmina_macros::SerdeYojsonEnum;
6use rsexp_derive::{OfSexp, SexpOf};
7use serde::{Deserialize, Serialize};
8use std::sync::Arc;
9
10use crate::{array::ArrayN16, list::List, pseq::PaddedSeq};
11
12use super::manual::*;
13
14/// **OCaml name**: `Mina_block__Block.Stable.V2`
15///
16/// Gid: `1102`
17/// Location: [src/lib/mina_block/block.ml:8:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_block/block.ml#L8)
18#[derive(
19    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
20)]
21pub struct MinaBlockBlockStableV2 {
22    pub header: MinaBlockHeaderStableV2,
23    pub body: StagedLedgerDiffBodyStableV1,
24}
25
26/// **OCaml name**: `Network_pool__Transaction_pool.Diff_versioned.Stable.V2`
27///
28/// Gid: `1122`
29/// Location: [src/lib/network_pool/transaction_pool.ml:47:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/network_pool/transaction_pool.ml#L47)
30///
31///
32/// Gid: `167`
33/// Location: [src/std_internal.ml:131:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L131)
34/// Args: MinaBaseUserCommandStableV2
35///
36///
37/// Gid: `50`
38/// Location: [src/list0.ml:6:0](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/list0.ml#L6)
39/// Args: MinaBaseUserCommandStableV2
40#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
41pub struct NetworkPoolTransactionPoolDiffVersionedStableV2(pub List<MinaBaseUserCommandStableV2>);
42
43/// **OCaml name**: `Network_pool__Snark_pool.Diff_versioned.Stable.V2`
44///
45/// Gid: `1126`
46/// Location: [src/lib/network_pool/snark_pool.ml:542:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/network_pool/snark_pool.ml#L542)
47#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
48pub enum NetworkPoolSnarkPoolDiffVersionedStableV2 {
49    AddSolvedWork(
50        Box<(
51            TransactionSnarkWorkStatementStableV2,
52            NetworkPoolSnarkPoolDiffVersionedStableV2AddSolvedWork1,
53        )>,
54    ),
55    Empty,
56}
57
58/// **OCaml name**: `Mina_base__Sparse_ledger_base.Stable.V2`
59///
60/// Gid: `882`
61/// Location: [src/lib/mina_base/sparse_ledger_base.ml:8:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/sparse_ledger_base.ml#L8)
62///
63///
64/// Gid: `661`
65/// Location: [src/lib/sparse_ledger_lib/sparse_ledger.ml:38:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/sparse_ledger_lib/sparse_ledger.ml#L38)
66/// Args: LedgerHash , MinaBaseAccountIdStableV2 , MinaBaseAccountBinableArgStableV2
67#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
68pub struct MinaBaseSparseLedgerBaseStableV2 {
69    pub indexes: List<(MinaBaseAccountIdStableV2, crate::number::UInt64)>,
70    pub depth: crate::number::UInt64,
71    pub tree: MinaBaseSparseLedgerBaseStableV2Tree,
72}
73
74/// **OCaml name**: `Mina_base__Account.Binable_arg.Stable.V2`
75///
76/// Gid: `780`
77/// Location: [src/lib/mina_base/account.ml:265:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account.ml#L265)
78///
79///
80/// Gid: `778`
81/// Location: [src/lib/mina_base/account.ml:210:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account.ml#L210)
82/// Args: NonZeroCurvePoint , TokenIdKeyHash , crate :: string :: ByteString , CurrencyBalanceStableV1 , UnsignedExtendedUInt32StableV1 , MinaBaseReceiptChainHashStableV1 , Option < NonZeroCurvePoint > , StateHash , MinaBaseAccountTimingStableV2 , MinaBasePermissionsStableV2 , Option < MinaBaseZkappAccountStableV2 >
83#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
84pub struct MinaBaseAccountBinableArgStableV2 {
85    pub public_key: NonZeroCurvePoint,
86    pub token_id: TokenIdKeyHash,
87    pub token_symbol: crate::string::ByteString,
88    pub balance: CurrencyBalanceStableV1,
89    pub nonce: UnsignedExtendedUInt32StableV1,
90    pub receipt_chain_hash: MinaBaseReceiptChainHashStableV1,
91    pub delegate: Option<NonZeroCurvePoint>,
92    pub voting_for: StateHash,
93    pub timing: MinaBaseAccountTimingStableV2,
94    pub permissions: MinaBasePermissionsStableV2,
95    pub zkapp: Option<MinaBaseZkappAccountStableV2>,
96}
97
98/// **OCaml name**: `Network_peer__Peer.Stable.V1`
99///
100/// Gid: `890`
101/// Location: [src/lib/network_peer/peer.ml:56:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/network_peer/peer.ml#L56)
102#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
103pub struct NetworkPeerPeerStableV1 {
104    pub host: crate::string::ByteString,
105    pub libp2p_port: crate::number::UInt64,
106    pub peer_id: NetworkPeerPeerIdStableV1,
107}
108
109/// **OCaml name**: `Transaction_snark_scan_state.Stable.V2`
110///
111/// Gid: `1058`
112/// Location: [src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml:160:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml#L160)
113#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
114pub struct TransactionSnarkScanStateStableV2 {
115    pub scan_state: TransactionSnarkScanStateStableV2ScanState,
116    pub previous_incomplete_zkapp_updates: (
117        List<TransactionSnarkScanStateTransactionWithWitnessStableV2>,
118        TransactionSnarkScanStateStableV2PreviousIncompleteZkappUpdates1,
119    ),
120}
121
122/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Stable.V2`
123///
124/// Gid: `874`
125/// Location: [src/lib/mina_base/pending_coinbase.ml:1281:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L1281)
126///
127///
128/// Gid: `873`
129/// Location: [src/lib/mina_base/pending_coinbase.ml:1269:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L1269)
130/// Args: MinaBasePendingCoinbaseMerkleTreeVersionedStableV2 , MinaBasePendingCoinbaseStackIdStableV1
131#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
132pub struct MinaBasePendingCoinbaseStableV2 {
133    pub tree: MinaBasePendingCoinbaseMerkleTreeVersionedStableV2,
134    pub pos_list: List<MinaBasePendingCoinbaseStackIdStableV1>,
135    pub new_pos: MinaBasePendingCoinbaseStackIdStableV1,
136}
137
138/// **OCaml name**: `Mina_state__Protocol_state.Make_str.Value.Stable.V2`
139///
140/// Gid: `1004`
141/// Location: [src/lib/mina_state/protocol_state.ml:203:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/protocol_state.ml#L203)
142///
143///
144/// Gid: `1000`
145/// Location: [src/lib/mina_state/protocol_state.ml:38:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/protocol_state.ml#L38)
146/// Args: StateHash , MinaStateProtocolStateBodyValueStableV2
147#[derive(
148    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
149)]
150pub struct MinaStateProtocolStateValueStableV2 {
151    pub previous_state_hash: StateHash,
152    pub body: MinaStateProtocolStateBodyValueStableV2,
153}
154
155/// **OCaml name**: `Mina_ledger__Sync_ledger.Query.Stable.V1`
156///
157/// Gid: `940`
158/// Location: [src/lib/mina_ledger/sync_ledger.ml:83:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_ledger/sync_ledger.ml#L83)
159///
160///
161/// Gid: `927`
162/// Location: [src/lib/syncable_ledger/syncable_ledger.ml:17:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/syncable_ledger/syncable_ledger.ml#L17)
163/// Args: MerkleAddressBinableArgStableV1
164#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
165pub enum MinaLedgerSyncLedgerQueryStableV1 {
166    WhatChildHashes(MerkleAddressBinableArgStableV1),
167    WhatContents(MerkleAddressBinableArgStableV1),
168    NumAccounts,
169}
170
171/// **OCaml name**: `Mina_ledger__Sync_ledger.Answer.Stable.V2`
172///
173/// Gid: `939`
174/// Location: [src/lib/mina_ledger/sync_ledger.ml:58:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_ledger/sync_ledger.ml#L58)
175///
176///
177/// Gid: `928`
178/// Location: [src/lib/syncable_ledger/syncable_ledger.ml:35:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/syncable_ledger/syncable_ledger.ml#L35)
179/// Args: LedgerHash , MinaBaseAccountBinableArgStableV2
180#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
181pub enum MinaLedgerSyncLedgerAnswerStableV2 {
182    ChildHashesAre(LedgerHash, LedgerHash),
183    ContentsAre(List<MinaBaseAccountBinableArgStableV2>),
184    NumAccounts(crate::number::UInt64, LedgerHash),
185}
186
187/// **OCaml name**: `Consensus__Proof_of_stake.Make_str.Data.Consensus_state.Value.Stable.V2`
188///
189/// Gid: `984`
190/// Location: [src/lib/consensus/proof_of_stake.ml:1768:12](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/proof_of_stake.ml#L1768)
191///
192///
193/// Gid: `983`
194/// Location: [src/lib/consensus/proof_of_stake.ml:1723:12](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/proof_of_stake.ml#L1723)
195/// Args: UnsignedExtendedUInt32StableV1 , ConsensusVrfOutputTruncatedStableV1 , CurrencyAmountStableV1 , ConsensusGlobalSlotStableV1 , MinaNumbersGlobalSlotSinceGenesisMStableV1 , ConsensusProofOfStakeDataEpochDataStakingValueVersionedValueStableV1 , ConsensusProofOfStakeDataEpochDataNextValueVersionedValueStableV1 , bool , NonZeroCurvePoint
196#[derive(
197    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
198)]
199pub struct ConsensusProofOfStakeDataConsensusStateValueStableV2 {
200    pub blockchain_length: UnsignedExtendedUInt32StableV1,
201    pub epoch_count: UnsignedExtendedUInt32StableV1,
202    pub min_window_density: UnsignedExtendedUInt32StableV1,
203    pub sub_window_densities: List<UnsignedExtendedUInt32StableV1>,
204    pub last_vrf_output: ConsensusVrfOutputTruncatedStableV1,
205    pub total_currency: CurrencyAmountStableV1,
206    pub curr_global_slot_since_hard_fork: ConsensusGlobalSlotStableV1,
207    pub global_slot_since_genesis: MinaNumbersGlobalSlotSinceGenesisMStableV1,
208    pub staking_epoch_data: ConsensusProofOfStakeDataEpochDataStakingValueVersionedValueStableV1,
209    pub next_epoch_data: ConsensusProofOfStakeDataEpochDataNextValueVersionedValueStableV1,
210    pub has_ancestor_in_same_checkpoint_window: bool,
211    pub block_stake_winner: NonZeroCurvePoint,
212    pub block_creator: NonZeroCurvePoint,
213    pub coinbase_receiver: NonZeroCurvePoint,
214    pub supercharge_coinbase: bool,
215}
216
217/// **OCaml name**: `Sync_status.T.Stable.V1`
218///
219/// Gid: `1158`
220/// Location: [src/lib/sync_status/sync_status.ml:55:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/sync_status/sync_status.ml#L55)
221#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
222#[polymorphic_variant]
223pub enum SyncStatusTStableV1 {
224    #[allow(non_camel_case_types)]
225    Connecting,
226    #[allow(non_camel_case_types)]
227    Listening,
228    #[allow(non_camel_case_types)]
229    Offline,
230    #[allow(non_camel_case_types)]
231    Bootstrap,
232    #[allow(non_camel_case_types)]
233    Synced,
234    #[allow(non_camel_case_types)]
235    Catchup,
236}
237
238/// **OCaml name**: `Trust_system__Peer_status.Stable.V1`
239///
240/// Gid: `925`
241/// Location: [src/lib/trust_system/peer_status.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/trust_system/peer_status.ml#L6)
242#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
243pub struct TrustSystemPeerStatusStableV1 {
244    pub trust: crate::number::Float64,
245    pub banned: TrustSystemBannedStatusStableV1,
246}
247
248/// **OCaml name**: `Blockchain_snark__Blockchain.Stable.V2`
249///
250/// Gid: `1069`
251/// Location: [src/lib/blockchain_snark/blockchain.ml:8:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/blockchain_snark/blockchain.ml#L8)
252#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
253pub struct BlockchainSnarkBlockchainStableV2 {
254    pub state: MinaStateProtocolStateValueStableV2,
255    pub proof: Arc<MinaBaseProofStableV2>,
256}
257
258/// **OCaml name**: `Transaction_witness.Stable.V2`
259///
260/// Gid: `1009`
261/// Location: [src/lib/transaction_witness/transaction_witness.ml:54:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_witness/transaction_witness.ml#L54)
262#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
263pub struct TransactionWitnessStableV2 {
264    pub transaction: MinaTransactionTransactionStableV2,
265    pub first_pass_ledger: MinaBaseSparseLedgerBaseStableV2,
266    pub second_pass_ledger: MinaBaseSparseLedgerBaseStableV2,
267    pub protocol_state_body: MinaStateProtocolStateBodyValueStableV2,
268    pub init_stack: MinaBasePendingCoinbaseStackVersionedStableV1,
269    pub status: MinaBaseTransactionStatusStableV2,
270    pub block_global_slot: MinaNumbersGlobalSlotSinceGenesisMStableV1,
271}
272
273/// **OCaml name**: `Prover.Extend_blockchain_input.Stable.V2`
274///
275/// Gid: `1280`
276/// Location: [src/lib/prover/prover.ml:16:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/prover/prover.ml#L16)
277#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
278pub struct ProverExtendBlockchainInputStableV2 {
279    pub chain: BlockchainSnarkBlockchainStableV2,
280    pub next_state: MinaStateProtocolStateValueStableV2,
281    pub block: MinaStateSnarkTransitionValueStableV2,
282    pub ledger_proof: Option<Arc<LedgerProofProdStableV2>>,
283    pub prover_state: ConsensusStakeProofStableV2,
284    pub pending_coinbase: MinaBasePendingCoinbaseWitnessStableV2,
285}
286
287/// **OCaml name**: `Snark_worker.Worker.Rpcs_versioned.Get_work.V2.T.response`
288///
289/// Gid: `1135`
290/// Location: [src/lib/snark_worker/snark_worker.ml:29:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/snark_worker/snark_worker.ml#L29)
291///
292///
293/// Gid: `169`
294/// Location: [src/std_internal.ml:137:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L137)
295/// Args: (SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0 , NonZeroCurvePoint ,)
296///
297///
298/// Gid: `60`
299/// Location: [src/option.ml:4:0](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/option.ml#L4)
300/// Args: (SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0 , NonZeroCurvePoint ,)
301#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
302pub struct SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponse(
303    pub  Option<(
304        SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0,
305        NonZeroCurvePoint,
306    )>,
307);
308
309/// **OCaml name**: `Snark_worker.Worker.Rpcs_versioned.Submit_work.V2.T.query`
310///
311/// Gid: `1136`
312/// Location: [src/lib/snark_worker/snark_worker.ml:59:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/snark_worker/snark_worker.ml#L59)
313///
314///
315/// Gid: `1040`
316/// Location: [src/lib/snark_work_lib/work.ml:90:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/snark_work_lib/work.ml#L90)
317/// Args: SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0 , LedgerProofProdStableV2
318#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
319pub struct SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQuery {
320    pub proofs: TransactionSnarkWorkTStableV2Proofs,
321    pub metrics: SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQueryMetrics,
322    pub spec: SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0,
323    pub prover: NonZeroCurvePoint,
324}
325
326/// **OCaml name**: `Mina_base__User_command.Verifiable.Stable.V2`
327///
328/// Gid: `841`
329/// Location: [src/lib/mina_base/user_command.ml:144:6](https://github.com/MinaProtocol/mina/blob/src/lib/mina_base/user_command.ml#L144)
330///
331///
332/// Gid: `837`
333/// Location: [src/lib/mina_base/user_command.ml:7:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/user_command.ml#L7)
334/// Args: MinaBaseSignedCommandStableV2 , MinaBaseZkappCommandVerifiableStableV1
335#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
336pub enum MinaBaseUserCommandVerifiableStableV2 {
337    SignedCommand(MinaBaseSignedCommandStableV2),
338    ZkappCommand(MinaBaseZkappCommandVerifiableStableV1),
339}
340
341/// **OCaml name**: `Mina_base__Zkapp_statement.Stable.V2`
342///
343/// Gid: `836`
344/// Location: [src/lib/mina_base/zkapp_statement.ml:28:4](https://github.com/MinaProtocol/mina/blob/src/lib/mina_base/zkapp_statement.ml#L28)
345///
346///
347/// Gid: `835`
348/// Location: [src/lib/mina_base/zkapp_statement.ml:15:6](https://github.com/MinaProtocol/mina/blob/src/lib/mina_base/zkapp_statement.ml#L15)
349/// Args: crate :: bigint :: BigInt
350#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
351pub struct MinaBaseZkappStatementStableV2 {
352    pub account_update: crate::bigint::BigInt,
353    pub calls: crate::bigint::BigInt,
354}
355
356/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.statement.fp`
357///
358/// Gid: `461`
359/// Location: [src/lib/pickles_types/shifted_value.ml:98:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_types/shifted_value.ml#L98)
360/// Args: crate :: bigint :: BigInt
361#[derive(Clone, Debug, PartialEq, BinProtRead, BinProtWrite)]
362pub enum PicklesProofProofsVerified2ReprStableV2StatementFp {
363    ShiftedValue(crate::bigint::BigInt),
364}
365
366/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.statement.proof_state.deferred_values.plonk.feature_flags`
367///
368/// Gid: `464`
369/// Location: [src/lib/pickles_types/plonk_types.ml:194:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_types/plonk_types.ml#L194)
370/// Args: bool
371#[derive(
372    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
373)]
374pub struct PicklesProofProofsVerified2ReprStableV2StatementProofStateDeferredValuesPlonkFeatureFlags
375{
376    pub range_check0: bool,
377    pub range_check1: bool,
378    pub foreign_field_add: bool,
379    pub foreign_field_mul: bool,
380    pub xor: bool,
381    pub rot: bool,
382    pub lookup: bool,
383    pub runtime_tables: bool,
384}
385
386/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.prev_evals.evals.evals`
387///
388/// Gid: `465`
389/// Location: [src/lib/pickles_types/plonk_types.ml:363:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_types/plonk_types.ml#L363)
390/// Args: (ArrayN16 < crate :: bigint :: BigInt > , ArrayN16 < crate :: bigint :: BigInt > ,)
391#[derive(
392    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
393)]
394pub struct PicklesProofProofsVerified2ReprStableV2PrevEvalsEvalsEvals {
395    pub w: PaddedSeq<
396        (
397            ArrayN16<crate::bigint::BigInt>,
398            ArrayN16<crate::bigint::BigInt>,
399        ),
400        15,
401    >,
402    pub coefficients: PaddedSeq<
403        (
404            ArrayN16<crate::bigint::BigInt>,
405            ArrayN16<crate::bigint::BigInt>,
406        ),
407        15,
408    >,
409    pub z: (
410        ArrayN16<crate::bigint::BigInt>,
411        ArrayN16<crate::bigint::BigInt>,
412    ),
413    pub s: PaddedSeq<
414        (
415            ArrayN16<crate::bigint::BigInt>,
416            ArrayN16<crate::bigint::BigInt>,
417        ),
418        6,
419    >,
420    pub generic_selector: (
421        ArrayN16<crate::bigint::BigInt>,
422        ArrayN16<crate::bigint::BigInt>,
423    ),
424    pub poseidon_selector: (
425        ArrayN16<crate::bigint::BigInt>,
426        ArrayN16<crate::bigint::BigInt>,
427    ),
428    pub complete_add_selector: (
429        ArrayN16<crate::bigint::BigInt>,
430        ArrayN16<crate::bigint::BigInt>,
431    ),
432    pub mul_selector: (
433        ArrayN16<crate::bigint::BigInt>,
434        ArrayN16<crate::bigint::BigInt>,
435    ),
436    pub emul_selector: (
437        ArrayN16<crate::bigint::BigInt>,
438        ArrayN16<crate::bigint::BigInt>,
439    ),
440    pub endomul_scalar_selector: (
441        ArrayN16<crate::bigint::BigInt>,
442        ArrayN16<crate::bigint::BigInt>,
443    ),
444    pub range_check0_selector: Option<(
445        ArrayN16<crate::bigint::BigInt>,
446        ArrayN16<crate::bigint::BigInt>,
447    )>,
448    pub range_check1_selector: Option<(
449        ArrayN16<crate::bigint::BigInt>,
450        ArrayN16<crate::bigint::BigInt>,
451    )>,
452    pub foreign_field_add_selector: Option<(
453        ArrayN16<crate::bigint::BigInt>,
454        ArrayN16<crate::bigint::BigInt>,
455    )>,
456    pub foreign_field_mul_selector: Option<(
457        ArrayN16<crate::bigint::BigInt>,
458        ArrayN16<crate::bigint::BigInt>,
459    )>,
460    pub xor_selector: Option<(
461        ArrayN16<crate::bigint::BigInt>,
462        ArrayN16<crate::bigint::BigInt>,
463    )>,
464    pub rot_selector: Option<(
465        ArrayN16<crate::bigint::BigInt>,
466        ArrayN16<crate::bigint::BigInt>,
467    )>,
468    pub lookup_aggregation: Option<(
469        ArrayN16<crate::bigint::BigInt>,
470        ArrayN16<crate::bigint::BigInt>,
471    )>,
472    pub lookup_table: Option<(
473        ArrayN16<crate::bigint::BigInt>,
474        ArrayN16<crate::bigint::BigInt>,
475    )>,
476    pub lookup_sorted: PaddedSeq<
477        Option<(
478            ArrayN16<crate::bigint::BigInt>,
479            ArrayN16<crate::bigint::BigInt>,
480        )>,
481        5,
482    >,
483    pub runtime_lookup_table: Option<(
484        ArrayN16<crate::bigint::BigInt>,
485        ArrayN16<crate::bigint::BigInt>,
486    )>,
487    pub runtime_lookup_table_selector: Option<(
488        ArrayN16<crate::bigint::BigInt>,
489        ArrayN16<crate::bigint::BigInt>,
490    )>,
491    pub xor_lookup_selector: Option<(
492        ArrayN16<crate::bigint::BigInt>,
493        ArrayN16<crate::bigint::BigInt>,
494    )>,
495    pub lookup_gate_lookup_selector: Option<(
496        ArrayN16<crate::bigint::BigInt>,
497        ArrayN16<crate::bigint::BigInt>,
498    )>,
499    pub range_check_lookup_selector: Option<(
500        ArrayN16<crate::bigint::BigInt>,
501        ArrayN16<crate::bigint::BigInt>,
502    )>,
503    pub foreign_field_mul_lookup_selector: Option<(
504        ArrayN16<crate::bigint::BigInt>,
505        ArrayN16<crate::bigint::BigInt>,
506    )>,
507}
508
509/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.prev_evals.evals`
510///
511/// Gid: `466`
512/// Location: [src/lib/pickles_types/plonk_types.ml:1057:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_types/plonk_types.ml#L1057)
513/// Args: (crate :: bigint :: BigInt , crate :: bigint :: BigInt ,) , (ArrayN16 < crate :: bigint :: BigInt > , ArrayN16 < crate :: bigint :: BigInt > ,)
514#[derive(
515    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
516)]
517pub struct PicklesProofProofsVerified2ReprStableV2PrevEvalsEvals {
518    pub public_input: (crate::bigint::BigInt, crate::bigint::BigInt),
519    pub evals: PicklesProofProofsVerified2ReprStableV2PrevEvalsEvalsEvals,
520}
521
522/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.prev_evals`
523///
524/// Gid: `467`
525/// Location: [src/lib/pickles_types/plonk_types.ml:1092:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_types/plonk_types.ml#L1092)
526/// Args: crate :: bigint :: BigInt , ArrayN16 < crate :: bigint :: BigInt >
527#[derive(
528    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
529)]
530pub struct PicklesProofProofsVerified2ReprStableV2PrevEvals {
531    pub evals: PicklesProofProofsVerified2ReprStableV2PrevEvalsEvals,
532    pub ft_eval1: crate::bigint::BigInt,
533}
534
535impl MallocSizeOf for PicklesProofProofsVerified2ReprStableV2PrevEvals {
536    fn size_of(&self, _ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
537        0
538    }
539}
540
541/// Derived name: `Pickles__Wrap_wire_proof.Stable.V1.bulletproof`
542///
543/// Gid: `468`
544/// Location: [src/lib/pickles_types/plonk_types.ml:1141:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_types/plonk_types.ml#L1141)
545/// Args: (crate :: bigint :: BigInt , crate :: bigint :: BigInt ,) , crate :: bigint :: BigInt
546#[derive(
547    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
548)]
549pub struct PicklesWrapWireProofStableV1Bulletproof {
550    pub lr: ArrayN16<(
551        (crate::bigint::BigInt, crate::bigint::BigInt),
552        (crate::bigint::BigInt, crate::bigint::BigInt),
553    )>,
554    pub z_1: crate::bigint::BigInt,
555    pub z_2: crate::bigint::BigInt,
556    pub delta: (crate::bigint::BigInt, crate::bigint::BigInt),
557    pub challenge_polynomial_commitment: (crate::bigint::BigInt, crate::bigint::BigInt),
558}
559
560/// Derived name: `Mina_base__Verification_key_wire.Stable.V1.wrap_index`
561///
562/// Gid: `476`
563/// Location: [src/lib/pickles_types/plonk_verification_key_evals.ml:7:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_types/plonk_verification_key_evals.ml#L7)
564/// Args: (crate :: bigint :: BigInt , crate :: bigint :: BigInt ,)
565#[derive(
566    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
567)]
568pub struct MinaBaseVerificationKeyWireStableV1WrapIndex {
569    pub sigma_comm: PaddedSeq<(crate::bigint::BigInt, crate::bigint::BigInt), 7>,
570    pub coefficients_comm: PaddedSeq<(crate::bigint::BigInt, crate::bigint::BigInt), 15>,
571    pub generic_comm: (crate::bigint::BigInt, crate::bigint::BigInt),
572    pub psm_comm: (crate::bigint::BigInt, crate::bigint::BigInt),
573    pub complete_add_comm: (crate::bigint::BigInt, crate::bigint::BigInt),
574    pub mul_comm: (crate::bigint::BigInt, crate::bigint::BigInt),
575    pub emul_comm: (crate::bigint::BigInt, crate::bigint::BigInt),
576    pub endomul_scalar_comm: (crate::bigint::BigInt, crate::bigint::BigInt),
577}
578
579/// Derived name: `Pickles__Reduced_messages_for_next_proof_over_same_field.Wrap.Challenges_vector.Stable.V2.a.challenge`
580///
581/// Gid: `482`
582/// Location: [src/lib/crypto/kimchi_backend/common/scalar_challenge.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/crypto/kimchi_backend/common/scalar_challenge.ml#L6)
583/// Args: PaddedSeq < LimbVectorConstantHex64StableV1 , 2 >
584#[derive(
585    Clone,
586    Debug,
587    PartialEq,
588    Serialize,
589    Deserialize,
590    BinProtRead,
591    BinProtWrite,
592    SexpOf,
593    OfSexp,
594    MallocSizeOf,
595)]
596pub struct PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge {
597    pub inner: PaddedSeq<LimbVectorConstantHex64StableV1, 2>,
598}
599
600/// Derived name: `Snark_worker.Worker.Rpcs_versioned.Submit_work.V2.T.query.metrics`
601///
602/// Gid: `508`
603/// Location: [src/lib/one_or_two/one_or_two.ml:7:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/one_or_two/one_or_two.ml#L7)
604/// Args: (crate :: number :: Float64 , SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQueryMetricsA1 ,)
605#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
606#[polymorphic_variant]
607pub enum SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQueryMetrics {
608    #[allow(non_camel_case_types)]
609    One(
610        (
611            crate::number::Float64,
612            SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQueryMetricsA1,
613        ),
614    ),
615    #[allow(non_camel_case_types)]
616    Two(
617        (
618            (
619                crate::number::Float64,
620                SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQueryMetricsA1,
621            ),
622            (
623                crate::number::Float64,
624                SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQueryMetricsA1,
625            ),
626        ),
627    ),
628}
629
630/// Derived name: `Transaction_snark_work.T.Stable.V2.proofs`
631///
632/// Gid: `508`
633/// Location: [src/lib/one_or_two/one_or_two.ml:7:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/one_or_two/one_or_two.ml#L7)
634/// Args: LedgerProofProdStableV2
635#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
636#[polymorphic_variant]
637pub enum TransactionSnarkWorkTStableV2Proofs {
638    #[allow(non_camel_case_types)]
639    One(LedgerProofProdStableV2),
640    #[allow(non_camel_case_types)]
641    Two((LedgerProofProdStableV2, LedgerProofProdStableV2)),
642}
643
644/// Derived name: `Snark_worker.Worker.Rpcs_versioned.Get_work.V2.T.response.a.0.instances`
645///
646/// Gid: `508`
647/// Location: [src/lib/one_or_two/one_or_two.ml:7:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/one_or_two/one_or_two.ml#L7)
648/// Args: SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Single
649#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite)]
650#[polymorphic_variant]
651pub enum SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Instances {
652    #[allow(non_camel_case_types)]
653    One(SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Single),
654    #[allow(non_camel_case_types)]
655    Two(
656        (
657            SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Single,
658            SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Single,
659        ),
660    ),
661}
662
663/// **OCaml name**: `Pickles_base__Proofs_verified.Stable.V1`
664///
665/// Gid: `514`
666/// Location: [src/lib/pickles_base/proofs_verified.ml:8:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_base/proofs_verified.ml#L8)
667#[derive(
668    Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, SexpOf, MallocSizeOf,
669)]
670pub enum PicklesBaseProofsVerifiedStableV1 {
671    N0,
672    N1,
673    N2,
674}
675
676/// **OCaml name**: `Limb_vector__Constant.Hex64.Stable.V1`
677///
678/// Gid: `523`
679/// Location: [src/lib/pickles/limb_vector/constant.ml:60:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/limb_vector/constant.ml#L60)
680///
681///
682/// Gid: `125`
683/// Location: [src/int64.ml:6:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/int64.ml#L6)
684#[derive(
685    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
686)]
687pub struct LimbVectorConstantHex64StableV1(pub crate::number::UInt64);
688
689/// **OCaml name**: `Composition_types__Branch_data.Make_str.Domain_log2.Stable.V1`
690///
691/// Gid: `524`
692/// Location: [src/lib/pickles/composition_types/branch_data.ml:24:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/branch_data.ml#L24)
693///
694///
695/// Gid: `161`
696/// Location: [src/std_internal.ml:113:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L113)
697///
698///
699/// Gid: `89`
700/// Location: [src/char.ml:8:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/char.ml#L8)
701#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
702pub struct CompositionTypesBranchDataDomainLog2StableV1(pub crate::char::Char);
703
704/// **OCaml name**: `Composition_types__Branch_data.Make_str.Stable.V1`
705///
706/// Gid: `525`
707/// Location: [src/lib/pickles/composition_types/branch_data.ml:51:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/branch_data.ml#L51)
708#[derive(
709    Clone,
710    Debug,
711    PartialEq,
712    Serialize,
713    Deserialize,
714    BinProtRead,
715    BinProtWrite,
716    SexpOf,
717    OfSexp,
718    MallocSizeOf,
719)]
720pub struct CompositionTypesBranchDataStableV1 {
721    pub proofs_verified: PicklesBaseProofsVerifiedStableV1,
722    #[ignore_malloc_size_of = "primitive"]
723    pub domain_log2: CompositionTypesBranchDataDomainLog2StableV1,
724}
725
726/// Derived name: `Pickles__Reduced_messages_for_next_proof_over_same_field.Wrap.Challenges_vector.Stable.V2.a`
727///
728/// Gid: `526`
729/// Location: [src/lib/pickles/composition_types/bulletproof_challenge.ml:4:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/bulletproof_challenge.ml#L4)
730/// Args: PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge
731#[derive(
732    Clone,
733    Debug,
734    PartialEq,
735    Serialize,
736    Deserialize,
737    BinProtRead,
738    BinProtWrite,
739    SexpOf,
740    OfSexp,
741    MallocSizeOf,
742)]
743pub struct PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A {
744    pub prechallenge:
745        PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge,
746}
747
748/// **OCaml name**: `Composition_types__Digest.Constant.Stable.V1`
749///
750/// Gid: `527`
751/// Location: [src/lib/pickles/composition_types/digest.ml:13:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/digest.ml#L13)
752#[derive(
753    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
754)]
755pub struct CompositionTypesDigestConstantStableV1(
756    pub PaddedSeq<LimbVectorConstantHex64StableV1, 4>,
757);
758
759/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.statement.proof_state.deferred_values.plonk`
760///
761/// Gid: `528`
762/// Location: [src/lib/pickles/composition_types/composition_types.ml:45:14](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/composition_types.ml#L45)
763/// Args: PaddedSeq < LimbVectorConstantHex64StableV1 , 2 > , PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge , bool
764#[derive(
765    Clone,
766    Debug,
767    PartialEq,
768    Serialize,
769    Deserialize,
770    BinProtRead,
771    BinProtWrite,
772    SexpOf,
773    OfSexp,
774    MallocSizeOf,
775)]
776pub struct PicklesProofProofsVerified2ReprStableV2StatementProofStateDeferredValuesPlonk {
777    pub alpha:
778        PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge,
779    pub beta: PaddedSeq<LimbVectorConstantHex64StableV1, 2>,
780    pub gamma: PaddedSeq<LimbVectorConstantHex64StableV1, 2>,
781    pub zeta: PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge,
782    pub joint_combiner: Option<
783        PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge,
784    >,
785    #[ignore_malloc_size_of = "primitive"]
786    pub feature_flags:
787        PicklesProofProofsVerified2ReprStableV2StatementProofStateDeferredValuesPlonkFeatureFlags,
788}
789
790/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.statement.proof_state.deferred_values`
791///
792/// Gid: `530`
793/// Location: [src/lib/pickles/composition_types/composition_types.ml:275:12](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/composition_types.ml#L275)
794/// Args: PaddedSeq < LimbVectorConstantHex64StableV1 , 2 > , PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge , PicklesProofProofsVerified2ReprStableV2StatementFp , bool , PaddedSeq < PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A , 16 > , CompositionTypesBranchDataStableV1
795#[derive(
796    Clone,
797    Debug,
798    PartialEq,
799    Serialize,
800    Deserialize,
801    BinProtRead,
802    BinProtWrite,
803    SexpOf,
804    OfSexp,
805    MallocSizeOf,
806)]
807pub struct PicklesProofProofsVerified2ReprStableV2StatementProofStateDeferredValues {
808    pub plonk: PicklesProofProofsVerified2ReprStableV2StatementProofStateDeferredValuesPlonk,
809    pub bulletproof_challenges:
810        PaddedSeq<PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A, 16>,
811    pub branch_data: CompositionTypesBranchDataStableV1,
812}
813
814/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.messages_for_next_wrap_proof`
815///
816/// Gid: `531`
817/// Location: [src/lib/pickles/composition_types/composition_types.ml:397:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/composition_types.ml#L397)
818/// Args: (crate :: bigint :: BigInt , crate :: bigint :: BigInt ,) , PaddedSeq < PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2 , 2 >
819#[derive(
820    Clone,
821    Debug,
822    PartialEq,
823    Serialize,
824    Deserialize,
825    BinProtRead,
826    BinProtWrite,
827    SexpOf,
828    OfSexp,
829    MallocSizeOf,
830)]
831pub struct PicklesProofProofsVerified2ReprStableV2MessagesForNextWrapProof {
832    pub challenge_polynomial_commitment: (crate::bigint::BigInt, crate::bigint::BigInt),
833    pub old_bulletproof_challenges:
834        PaddedSeq<PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2, 2>,
835}
836
837/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.statement.proof_state`
838///
839/// Gid: `533`
840/// Location: [src/lib/pickles/composition_types/composition_types.ml:466:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/composition_types.ml#L466)
841/// Args: PaddedSeq < LimbVectorConstantHex64StableV1 , 2 > , PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge , PicklesProofProofsVerified2ReprStableV2StatementFp , bool , PicklesProofProofsVerified2ReprStableV2MessagesForNextWrapProof , CompositionTypesDigestConstantStableV1 , PaddedSeq < PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A , 16 > , CompositionTypesBranchDataStableV1
842#[derive(
843    Clone,
844    Debug,
845    PartialEq,
846    Serialize,
847    Deserialize,
848    BinProtRead,
849    BinProtWrite,
850    SexpOf,
851    OfSexp,
852    MallocSizeOf,
853)]
854pub struct PicklesProofProofsVerified2ReprStableV2StatementProofState {
855    pub deferred_values: PicklesProofProofsVerified2ReprStableV2StatementProofStateDeferredValues,
856    pub sponge_digest_before_evaluations: CompositionTypesDigestConstantStableV1,
857    pub messages_for_next_wrap_proof:
858        PicklesProofProofsVerified2ReprStableV2MessagesForNextWrapProof,
859}
860
861/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.statement`
862///
863/// Gid: `535`
864/// Location: [src/lib/pickles/composition_types/composition_types.ml:714:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/composition_types/composition_types.ml#L714)
865/// Args: PaddedSeq < LimbVectorConstantHex64StableV1 , 2 > , PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2AChallenge , PicklesProofProofsVerified2ReprStableV2StatementFp , bool , PicklesProofProofsVerified2ReprStableV2MessagesForNextWrapProof , CompositionTypesDigestConstantStableV1 , PicklesProofProofsVerified2ReprStableV2MessagesForNextStepProof , PaddedSeq < PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A , 16 > , CompositionTypesBranchDataStableV1
866#[derive(
867    Clone,
868    Debug,
869    PartialEq,
870    Serialize,
871    Deserialize,
872    BinProtRead,
873    BinProtWrite,
874    SexpOf,
875    OfSexp,
876    MallocSizeOf,
877)]
878pub struct PicklesProofProofsVerified2ReprStableV2Statement {
879    pub proof_state: PicklesProofProofsVerified2ReprStableV2StatementProofState,
880    pub messages_for_next_step_proof:
881        PicklesProofProofsVerified2ReprStableV2MessagesForNextStepProof,
882}
883
884/// **OCaml name**: `Pickles__Wrap_wire_proof.Commitments.Stable.V1`
885///
886/// Gid: `537`
887/// Location: [src/lib/pickles/wrap_wire_proof.ml:17:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/wrap_wire_proof.ml#L17)
888#[derive(
889    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
890)]
891pub struct PicklesWrapWireProofCommitmentsStableV1 {
892    pub w_comm: PaddedSeq<(crate::bigint::BigInt, crate::bigint::BigInt), 15>,
893    pub z_comm: (crate::bigint::BigInt, crate::bigint::BigInt),
894    pub t_comm: PaddedSeq<(crate::bigint::BigInt, crate::bigint::BigInt), 7>,
895}
896
897/// **OCaml name**: `Pickles__Wrap_wire_proof.Evaluations.Stable.V1`
898///
899/// Gid: `538`
900/// Location: [src/lib/pickles/wrap_wire_proof.ml:55:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/wrap_wire_proof.ml#L55)
901#[derive(
902    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
903)]
904pub struct PicklesWrapWireProofEvaluationsStableV1 {
905    pub w: PaddedSeq<(crate::bigint::BigInt, crate::bigint::BigInt), 15>,
906    pub coefficients: PaddedSeq<(crate::bigint::BigInt, crate::bigint::BigInt), 15>,
907    pub z: (crate::bigint::BigInt, crate::bigint::BigInt),
908    pub s: PaddedSeq<(crate::bigint::BigInt, crate::bigint::BigInt), 6>,
909    pub generic_selector: (crate::bigint::BigInt, crate::bigint::BigInt),
910    pub poseidon_selector: (crate::bigint::BigInt, crate::bigint::BigInt),
911    pub complete_add_selector: (crate::bigint::BigInt, crate::bigint::BigInt),
912    pub mul_selector: (crate::bigint::BigInt, crate::bigint::BigInt),
913    pub emul_selector: (crate::bigint::BigInt, crate::bigint::BigInt),
914    pub endomul_scalar_selector: (crate::bigint::BigInt, crate::bigint::BigInt),
915}
916
917/// **OCaml name**: `Pickles__Wrap_wire_proof.Stable.V1`
918///
919/// Gid: `539`
920/// Location: [src/lib/pickles/wrap_wire_proof.ml:175:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/wrap_wire_proof.ml#L175)
921#[derive(
922    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, SexpOf, OfSexp,
923)]
924pub struct PicklesWrapWireProofStableV1 {
925    pub commitments: PicklesWrapWireProofCommitmentsStableV1,
926    pub evaluations: PicklesWrapWireProofEvaluationsStableV1,
927    pub ft_eval1: crate::bigint::BigInt,
928    pub bulletproof: PicklesWrapWireProofStableV1Bulletproof,
929}
930
931impl MallocSizeOf for PicklesWrapWireProofStableV1 {
932    fn size_of(&self, _ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
933        0
934    }
935}
936
937/// Derived name: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2.messages_for_next_step_proof`
938///
939/// Gid: `542`
940/// Location: [src/lib/pickles/reduced_messages_for_next_proof_over_same_field.ml:16:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/reduced_messages_for_next_proof_over_same_field.ml#L16)
941/// Args: () , List < (crate :: bigint :: BigInt , crate :: bigint :: BigInt ,) > , List < PaddedSeq < PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A , 16 > >
942#[derive(
943    Clone,
944    Debug,
945    PartialEq,
946    Serialize,
947    Deserialize,
948    BinProtRead,
949    BinProtWrite,
950    SexpOf,
951    OfSexp,
952    MallocSizeOf,
953)]
954pub struct PicklesProofProofsVerified2ReprStableV2MessagesForNextStepProof {
955    #[serde(deserialize_with = "always_unit")]
956    pub app_state: (),
957    pub challenge_polynomial_commitments: List<(crate::bigint::BigInt, crate::bigint::BigInt)>,
958    pub old_bulletproof_challenges: List<
959        PaddedSeq<PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A, 16>,
960    >,
961}
962
963/// **OCaml name**: `Pickles__Reduced_messages_for_next_proof_over_same_field.Wrap.Challenges_vector.Stable.V2`
964///
965/// Gid: `543`
966/// Location: [src/lib/pickles/reduced_messages_for_next_proof_over_same_field.ml:57:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/reduced_messages_for_next_proof_over_same_field.ml#L57)
967///
968///
969/// Gid: `488`
970/// Location: [src/lib/crypto/kimchi_backend/pasta/basic/kimchi_pasta_basic.ml:32:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/crypto/kimchi_backend/pasta/basic/kimchi_pasta_basic.ml#L32)
971/// Args: PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A
972#[derive(
973    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
974)]
975pub struct PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2(
976    pub PaddedSeq<PicklesReducedMessagesForNextProofOverSameFieldWrapChallengesVectorStableV2A, 15>,
977);
978
979/// **OCaml name**: `Mina_base__Verification_key_wire.Stable.V1`
980///
981/// Gid: `544`
982/// Location: [src/lib/pickles/side_loaded_verification_key.ml:170:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/side_loaded_verification_key.ml#L170)
983///
984///
985/// Gid: `519`
986/// Location: [src/lib/pickles_base/side_loaded_verification_key.ml:130:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles_base/side_loaded_verification_key.ml#L130)
987/// Args: (crate :: bigint :: BigInt , crate :: bigint :: BigInt ,)
988#[derive(
989    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
990)]
991pub struct MinaBaseVerificationKeyWireStableV1 {
992    pub max_proofs_verified: PicklesBaseProofsVerifiedStableV1,
993    pub actual_wrap_domain_size: PicklesBaseProofsVerifiedStableV1,
994    pub wrap_index: MinaBaseVerificationKeyWireStableV1WrapIndex,
995}
996
997/// **OCaml name**: `Pickles__Proof.Proofs_verified_2.Repr.Stable.V2`
998///
999/// Gid: `547`
1000/// Location: [src/lib/pickles/proof.ml:342:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/proof.ml#L342)
1001///
1002///
1003/// Gid: `546`
1004/// Location: [src/lib/pickles/proof.ml:47:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/proof.ml#L47)
1005/// Args: PicklesProofProofsVerified2ReprStableV2MessagesForNextWrapProof , PicklesProofProofsVerified2ReprStableV2MessagesForNextStepProof
1006#[derive(
1007    Clone,
1008    Debug,
1009    PartialEq,
1010    Serialize,
1011    Deserialize,
1012    BinProtRead,
1013    BinProtWrite,
1014    SexpOf,
1015    OfSexp,
1016    MallocSizeOf,
1017)]
1018pub struct PicklesProofProofsVerified2ReprStableV2 {
1019    pub statement: PicklesProofProofsVerified2ReprStableV2Statement,
1020    pub prev_evals: PicklesProofProofsVerified2ReprStableV2PrevEvals,
1021    pub proof: PicklesWrapWireProofStableV1,
1022}
1023
1024/// **OCaml name**: `Pickles__Proof.Proofs_verified_max.Stable.V2`
1025///
1026/// Gid: `548`
1027/// Location: [src/lib/pickles/proof.ml:411:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/proof.ml#L411)
1028///
1029///
1030/// Gid: `546`
1031/// Location: [src/lib/pickles/proof.ml:47:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/pickles/proof.ml#L47)
1032/// Args: PicklesProofProofsVerified2ReprStableV2MessagesForNextWrapProof , PicklesProofProofsVerified2ReprStableV2MessagesForNextStepProof
1033#[derive(Clone, Debug, PartialEq, BinProtRead, BinProtWrite, SexpOf, OfSexp, MallocSizeOf)]
1034pub struct PicklesProofProofsVerifiedMaxStableV2 {
1035    pub statement: PicklesProofProofsVerified2ReprStableV2Statement,
1036    pub prev_evals: PicklesProofProofsVerified2ReprStableV2PrevEvals,
1037    pub proof: PicklesWrapWireProofStableV1,
1038}
1039
1040/// **OCaml name**: `Non_zero_curve_point.Uncompressed.Stable.V1`
1041///
1042/// Gid: `558`
1043/// Location: [src/lib/non_zero_curve_point/non_zero_curve_point.ml:46:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/non_zero_curve_point/non_zero_curve_point.ml#L46)
1044///
1045///
1046/// Gid: `552`
1047/// Location: [src/lib/non_zero_curve_point/compressed_poly.ml:13:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/non_zero_curve_point/compressed_poly.ml#L13)
1048/// Args: crate :: bigint :: BigInt , bool
1049#[derive(
1050    Clone,
1051    Debug,
1052    PartialEq,
1053    Eq,
1054    PartialOrd,
1055    Ord,
1056    Serialize,
1057    Deserialize,
1058    BinProtRead,
1059    BinProtWrite,
1060    MallocSizeOf,
1061)]
1062pub struct NonZeroCurvePointUncompressedStableV1 {
1063    pub x: crate::bigint::BigInt,
1064    pub is_odd: bool,
1065}
1066
1067/// **OCaml name**: `Signature_lib__Private_key.Stable.V1`
1068///
1069/// Gid: `570`
1070/// Location: [src/lib/signature_lib/private_key.ml:11:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/signature_lib/private_key.ml#L11)
1071#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
1072pub struct SignatureLibPrivateKeyStableV1(pub crate::bigint::BigInt);
1073
1074/// **OCaml name**: `Unsigned_extended.UInt64.Int64_for_version_tags.Stable.V1`
1075///
1076/// Gid: `576`
1077/// Location: [src/lib/unsigned_extended/unsigned_extended.ml:81:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/unsigned_extended/unsigned_extended.ml#L81)
1078///
1079///
1080/// Gid: `125`
1081/// Location: [src/int64.ml:6:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/int64.ml#L6)
1082#[derive(Clone, Copy, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
1083pub struct UnsignedExtendedUInt64Int64ForVersionTagsStableV1(pub crate::number::UInt64);
1084
1085/// **OCaml name**: `Unsigned_extended.UInt32.Stable.V1`
1086///
1087/// Gid: `580`
1088/// Location: [src/lib/unsigned_extended/unsigned_extended.ml:156:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/unsigned_extended/unsigned_extended.ml#L156)
1089///
1090///
1091/// Gid: `119`
1092/// Location: [src/int32.ml:6:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/int32.ml#L6)
1093#[derive(
1094    Clone,
1095    Copy,
1096    PartialEq,
1097    Serialize,
1098    Deserialize,
1099    BinProtRead,
1100    BinProtWrite,
1101    Deref,
1102    Default,
1103    MallocSizeOf,
1104)]
1105pub struct UnsignedExtendedUInt32StableV1(pub crate::number::UInt32);
1106
1107/// **OCaml name**: `Protocol_version.Make_str.Stable.V2`
1108///
1109/// Gid: `584`
1110/// Location: [src/lib/protocol_version/protocol_version.ml:18:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/protocol_version/protocol_version.ml#L18)
1111#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1112pub struct ProtocolVersionStableV2 {
1113    pub transaction: crate::number::UInt64,
1114    pub network: crate::number::UInt64,
1115    pub patch: crate::number::UInt64,
1116}
1117
1118/// **OCaml name**: `Mina_numbers__Nat.Make32.Stable.V1`
1119///
1120/// Gid: `585`
1121/// Location: [src/lib/mina_numbers/nat.ml:260:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_numbers/nat.ml#L260)
1122#[derive(
1123    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, Default,
1124)]
1125pub struct MinaNumbersNatMake32StableV1(pub UnsignedExtendedUInt32StableV1);
1126
1127/// **OCaml name**: `Mina_numbers__Global_slot_span.Make_str.Stable.V1`
1128///
1129/// Gid: `608`
1130/// Location: [src/lib/mina_numbers/global_slot_span.ml:22:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_numbers/global_slot_span.ml#L22)
1131#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1132pub enum MinaNumbersGlobalSlotSpanStableV1 {
1133    GlobalSlotSpan(UnsignedExtendedUInt32StableV1),
1134}
1135
1136/// **OCaml name**: `Mina_numbers__Global_slot_since_genesis.Make_str.M.Stable.V1`
1137///
1138/// Gid: `614`
1139/// Location: [src/lib/mina_numbers/global_slot_since_genesis.ml:27:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_numbers/global_slot_since_genesis.ml#L27)
1140#[derive(Clone, Debug, PartialEq, Serialize, BinProtRead, BinProtWrite, MallocSizeOf)]
1141#[serde(untagged)]
1142pub enum MinaNumbersGlobalSlotSinceGenesisMStableV1 {
1143    SinceGenesis(UnsignedExtendedUInt32StableV1),
1144}
1145
1146/// **OCaml name**: `Mina_numbers__Global_slot_since_hard_fork.Make_str.M.Stable.V1`
1147///
1148/// Gid: `620`
1149/// Location: [src/lib/mina_numbers/global_slot_since_hard_fork.ml:27:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_numbers/global_slot_since_hard_fork.ml#L27)
1150#[derive(Clone, Debug, PartialEq, Serialize, BinProtRead, BinProtWrite, MallocSizeOf)]
1151#[serde(untagged)]
1152pub enum MinaNumbersGlobalSlotSinceHardForkMStableV1 {
1153    SinceHardFork(UnsignedExtendedUInt32StableV1),
1154}
1155
1156/// **OCaml name**: `Sgn.Stable.V1`
1157///
1158/// Gid: `636`
1159/// Location: [src/lib/sgn/sgn.ml:9:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/sgn/sgn.ml#L9)
1160#[derive(Clone, Debug, PartialEq, BinProtRead, BinProtWrite, MallocSizeOf)]
1161pub enum SgnStableV1 {
1162    Pos,
1163    Neg,
1164}
1165
1166/// Derived name: `Mina_state__Blockchain_state.Value.Stable.V2.signed_amount`
1167///
1168/// Gid: `637`
1169/// Location: [src/lib/currency/signed_poly.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/currency/signed_poly.ml#L6)
1170/// Args: CurrencyAmountStableV1 , SgnStableV1
1171#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1172pub struct MinaStateBlockchainStateValueStableV2SignedAmount {
1173    pub magnitude: CurrencyAmountStableV1,
1174    pub sgn: SgnStableV1,
1175}
1176
1177/// **OCaml name**: `Currency.Make_str.Fee.Stable.V1`
1178///
1179/// Gid: `638`
1180/// Location: [src/lib/currency/currency.ml:947:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/currency/currency.ml#L947)
1181#[derive(Clone, Debug, PartialEq, BinProtRead, BinProtWrite, Deref)]
1182pub struct CurrencyFeeStableV1(pub UnsignedExtendedUInt64Int64ForVersionTagsStableV1);
1183
1184impl MallocSizeOf for CurrencyFeeStableV1 {
1185    fn size_of(&self, _ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
1186        0
1187    }
1188}
1189
1190/// **OCaml name**: `Currency.Make_str.Amount.Make_str.Stable.V1`
1191///
1192/// Gid: `641`
1193/// Location: [src/lib/currency/currency.ml:1094:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/currency/currency.ml#L1094)
1194#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
1195pub struct CurrencyAmountStableV1(pub UnsignedExtendedUInt64Int64ForVersionTagsStableV1);
1196
1197impl MallocSizeOf for CurrencyAmountStableV1 {
1198    fn size_of(&self, _ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
1199        0
1200    }
1201}
1202
1203/// **OCaml name**: `Currency.Make_str.Balance.Stable.V1`
1204///
1205/// Gid: `644`
1206/// Location: [src/lib/currency/currency.ml:1138:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/currency/currency.ml#L1138)
1207#[derive(
1208    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
1209)]
1210pub struct CurrencyBalanceStableV1(pub CurrencyAmountStableV1);
1211
1212/// Derived name: `Mina_base__Zkapp_command.Verifiable.Stable.V1.account_updates.data.a`
1213///
1214/// Gid: `645`
1215/// Location: [src/lib/with_hash/with_hash.ml:8:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/with_hash/with_hash.ml#L8)
1216/// Args: MinaBaseVerificationKeyWireStableV1 , crate :: bigint :: BigInt
1217#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1218pub struct MinaBaseZkappCommandVerifiableStableV1AccountUpdatesDataA {
1219    pub data: MinaBaseVerificationKeyWireStableV1,
1220    pub hash: crate::bigint::BigInt,
1221}
1222
1223/// **OCaml name**: `Data_hash_lib__State_hash.Stable.V1`
1224///
1225/// Gid: `651`
1226/// Location: [src/lib/data_hash_lib/state_hash.ml:44:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/data_hash_lib/state_hash.ml#L44)
1227#[derive(
1228    Clone,
1229    Debug,
1230    PartialEq,
1231    Eq,
1232    PartialOrd,
1233    Ord,
1234    Serialize,
1235    Deserialize,
1236    BinProtRead,
1237    BinProtWrite,
1238    Deref,
1239    MallocSizeOf,
1240)]
1241pub struct DataHashLibStateHashStableV1(pub crate::bigint::BigInt);
1242
1243/// Derived name: `Mina_base__Sparse_ledger_base.Stable.V2.tree`
1244///
1245/// Gid: `660`
1246/// Location: [src/lib/sparse_ledger_lib/sparse_ledger.ml:9:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/sparse_ledger_lib/sparse_ledger.ml#L9)
1247/// Args: LedgerHash , MinaBaseAccountBinableArgStableV2
1248#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1249pub enum MinaBaseSparseLedgerBaseStableV2Tree {
1250    Account(Box<MinaBaseAccountBinableArgStableV2>),
1251    Hash(LedgerHash),
1252    Node(
1253        LedgerHash,
1254        Box<MinaBaseSparseLedgerBaseStableV2Tree>,
1255        Box<MinaBaseSparseLedgerBaseStableV2Tree>,
1256    ),
1257}
1258
1259/// Derived name: `Mina_base__Pending_coinbase.Make_str.Merkle_tree_versioned.Stable.V2.tree`
1260///
1261/// Gid: `660`
1262/// Location: [src/lib/sparse_ledger_lib/sparse_ledger.ml:9:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/sparse_ledger_lib/sparse_ledger.ml#L9)
1263/// Args: PendingCoinbaseHash , MinaBasePendingCoinbaseStackVersionedStableV1
1264#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1265pub enum MinaBasePendingCoinbaseMerkleTreeVersionedStableV2Tree {
1266    Account(MinaBasePendingCoinbaseStackVersionedStableV1),
1267    Hash(PendingCoinbaseHash),
1268    Node(
1269        PendingCoinbaseHash,
1270        Box<MinaBasePendingCoinbaseMerkleTreeVersionedStableV2Tree>,
1271        Box<MinaBasePendingCoinbaseMerkleTreeVersionedStableV2Tree>,
1272    ),
1273}
1274
1275/// **OCaml name**: `Block_time.Make_str.Time.Stable.V1`
1276///
1277/// Gid: `662`
1278/// Location: [src/lib/block_time/block_time.ml:22:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/block_time/block_time.ml#L22)
1279#[derive(
1280    Clone, Copy, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref,
1281)]
1282pub struct BlockTimeTimeStableV1(pub UnsignedExtendedUInt64Int64ForVersionTagsStableV1);
1283
1284/// **OCaml name**: `Mina_base__Account_id.Make_str.Digest.Stable.V1`
1285///
1286/// Gid: `664`
1287/// Location: [src/lib/mina_base/account_id.ml:64:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_id.ml#L64)
1288#[derive(
1289    Clone,
1290    Debug,
1291    PartialEq,
1292    Serialize,
1293    Deserialize,
1294    BinProtRead,
1295    BinProtWrite,
1296    Deref,
1297    PartialOrd,
1298    Ord,
1299    Eq,
1300    MallocSizeOf,
1301)]
1302pub struct MinaBaseAccountIdDigestStableV1(pub crate::bigint::BigInt);
1303
1304/// **OCaml name**: `Mina_base__Account_id.Make_str.Stable.V2`
1305///
1306/// Gid: `669`
1307/// Location: [src/lib/mina_base/account_id.ml:151:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_id.ml#L151)
1308#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1309pub struct MinaBaseAccountIdStableV2(pub NonZeroCurvePoint, pub MinaBaseAccountIdDigestStableV1);
1310
1311/// **OCaml name**: `Mina_base__Account_timing.Stable.V2`
1312///
1313/// Gid: `675`
1314/// Location: [src/lib/mina_base/account_timing.ml:39:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_timing.ml#L39)
1315///
1316///
1317/// Gid: `674`
1318/// Location: [src/lib/mina_base/account_timing.ml:22:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_timing.ml#L22)
1319/// Args: MinaNumbersGlobalSlotSinceGenesisMStableV1 , MinaNumbersGlobalSlotSpanStableV1 , CurrencyBalanceStableV1 , CurrencyAmountStableV1
1320#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1321pub enum MinaBaseAccountTimingStableV2 {
1322    Untimed,
1323    Timed {
1324        initial_minimum_balance: CurrencyBalanceStableV1,
1325        cliff_time: MinaNumbersGlobalSlotSinceGenesisMStableV1,
1326        cliff_amount: CurrencyAmountStableV1,
1327        vesting_period: MinaNumbersGlobalSlotSpanStableV1,
1328        vesting_increment: CurrencyAmountStableV1,
1329    },
1330}
1331
1332/// **OCaml name**: `Mina_base__Signature.Stable.V1`
1333///
1334/// Gid: `679`
1335/// Location: [src/lib/mina_base/signature.ml:23:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signature.ml#L23)
1336///
1337///
1338/// Gid: `676`
1339/// Location: [src/lib/mina_base/signature.ml:12:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signature.ml#L12)
1340/// Args: crate :: bigint :: BigInt , crate :: bigint :: BigInt
1341#[derive(
1342    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1343)]
1344pub struct MinaBaseSignatureStableV1(pub crate::bigint::BigInt, pub crate::bigint::BigInt);
1345
1346/// **OCaml name**: `Mina_base__Control.Stable.V2`
1347///
1348/// Gid: `683`
1349/// Location: [src/lib/mina_base/control.ml:11:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/control.ml#L11)
1350#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1351pub enum MinaBaseControlStableV2 {
1352    Proof(Box<PicklesProofProofsVerifiedMaxStableV2>),
1353    Signature(Signature),
1354    NoneGiven,
1355}
1356
1357/// **OCaml name**: `Mina_base__Token_id.Stable.V2`
1358///
1359/// Gid: `687`
1360/// Location: [src/lib/mina_base/token_id.ml:8:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/token_id.ml#L8)
1361#[derive(
1362    Clone,
1363    Debug,
1364    PartialEq,
1365    Serialize,
1366    Deserialize,
1367    BinProtRead,
1368    BinProtWrite,
1369    Deref,
1370    PartialOrd,
1371    Ord,
1372    Eq,
1373)]
1374pub struct MinaBaseTokenIdStableV2(pub MinaBaseAccountIdDigestStableV1);
1375
1376/// **OCaml name**: `Mina_base__Payment_payload.Stable.V2`
1377///
1378/// Gid: `697`
1379/// Location: [src/lib/mina_base/payment_payload.ml:39:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/payment_payload.ml#L39)
1380///
1381///
1382/// Gid: `693`
1383/// Location: [src/lib/mina_base/payment_payload.ml:14:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/payment_payload.ml#L14)
1384/// Args: NonZeroCurvePoint , CurrencyAmountStableV1
1385#[derive(
1386    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1387)]
1388pub struct MinaBasePaymentPayloadStableV2 {
1389    pub receiver_pk: NonZeroCurvePoint,
1390    pub amount: CurrencyAmountStableV1,
1391}
1392
1393/// **OCaml name**: `Mina_base__Ledger_hash0.Stable.V1`
1394///
1395/// Gid: `703`
1396/// Location: [src/lib/mina_base/ledger_hash0.ml:17:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/ledger_hash0.ml#L17)
1397#[derive(
1398    Clone,
1399    Debug,
1400    PartialEq,
1401    Eq,
1402    PartialOrd,
1403    Ord,
1404    Serialize,
1405    Deserialize,
1406    BinProtRead,
1407    BinProtWrite,
1408    Deref,
1409    MallocSizeOf,
1410)]
1411pub struct MinaBaseLedgerHash0StableV1(pub crate::bigint::BigInt);
1412
1413/// **OCaml name**: `Mina_base__Permissions.Auth_required.Stable.V2`
1414///
1415/// Gid: `706`
1416/// Location: [src/lib/mina_base/permissions.ml:53:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/permissions.ml#L53)
1417#[derive(
1418    Clone,
1419    Debug,
1420    PartialEq,
1421    SerdeYojsonEnum,
1422    BinProtRead,
1423    BinProtWrite,
1424    strum_macros::Display,
1425    strum_macros::EnumString,
1426)]
1427pub enum MinaBasePermissionsAuthRequiredStableV2 {
1428    None,
1429    Either,
1430    Proof,
1431    Signature,
1432    Impossible,
1433}
1434
1435/// **OCaml name**: `Mina_base__Permissions.Stable.V2`
1436///
1437/// Gid: `708`
1438/// Location: [src/lib/mina_base/permissions.ml:399:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/permissions.ml#L399)
1439///
1440///
1441/// Gid: `707`
1442/// Location: [src/lib/mina_base/permissions.ml:357:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/permissions.ml#L357)
1443/// Args: MinaBasePermissionsAuthRequiredStableV2 , UnsignedExtendedUInt32StableV1
1444#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1445pub struct MinaBasePermissionsStableV2 {
1446    pub edit_state: MinaBasePermissionsAuthRequiredStableV2,
1447    pub access: MinaBasePermissionsAuthRequiredStableV2,
1448    pub send: MinaBasePermissionsAuthRequiredStableV2,
1449    pub receive: MinaBasePermissionsAuthRequiredStableV2,
1450    pub set_delegate: MinaBasePermissionsAuthRequiredStableV2,
1451    pub set_permissions: MinaBasePermissionsAuthRequiredStableV2,
1452    pub set_verification_key: (
1453        MinaBasePermissionsAuthRequiredStableV2,
1454        UnsignedExtendedUInt32StableV1,
1455    ),
1456    pub set_zkapp_uri: MinaBasePermissionsAuthRequiredStableV2,
1457    pub edit_action_state: MinaBasePermissionsAuthRequiredStableV2,
1458    pub set_token_symbol: MinaBasePermissionsAuthRequiredStableV2,
1459    pub increment_nonce: MinaBasePermissionsAuthRequiredStableV2,
1460    pub set_voting_for: MinaBasePermissionsAuthRequiredStableV2,
1461    pub set_timing: MinaBasePermissionsAuthRequiredStableV2,
1462}
1463
1464impl MallocSizeOf for MinaBasePermissionsStableV2 {
1465    fn size_of(&self, _ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
1466        0
1467    }
1468}
1469
1470/// **OCaml name**: `Mina_base__Stake_delegation.Stable.V2`
1471///
1472/// Gid: `712`
1473/// Location: [src/lib/mina_base/stake_delegation.ml:11:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/stake_delegation.ml#L11)
1474#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1475pub enum MinaBaseStakeDelegationStableV2 {
1476    SetDelegate { new_delegate: NonZeroCurvePoint },
1477}
1478
1479/// **OCaml name**: `Mina_base__Transaction_status.Failure.Stable.V2`
1480///
1481/// Gid: `718`
1482/// Location: [src/lib/mina_base/transaction_status.ml:9:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/transaction_status.ml#L9)
1483#[derive(
1484    Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, strum_macros::Display,
1485)]
1486pub enum MinaBaseTransactionStatusFailureStableV2 {
1487    Predicate,
1488    SourceNotPresent,
1489    ReceiverNotPresent,
1490    AmountInsufficientToCreateAccount,
1491    CannotPayCreationFeeInToken,
1492    SourceInsufficientBalance,
1493    SourceMinimumBalanceViolation,
1494    ReceiverAlreadyExists,
1495    TokenOwnerNotCaller,
1496    Overflow,
1497    GlobalExcessOverflow,
1498    LocalExcessOverflow,
1499    LocalSupplyIncreaseOverflow,
1500    GlobalSupplyIncreaseOverflow,
1501    SignedCommandOnZkappAccount,
1502    ZkappAccountNotPresent,
1503    UpdateNotPermittedBalance,
1504    UpdateNotPermittedAccess,
1505    UpdateNotPermittedTiming,
1506    UpdateNotPermittedDelegate,
1507    UpdateNotPermittedAppState,
1508    UpdateNotPermittedVerificationKey,
1509    UpdateNotPermittedActionState,
1510    UpdateNotPermittedZkappUri,
1511    UpdateNotPermittedTokenSymbol,
1512    UpdateNotPermittedPermissions,
1513    UpdateNotPermittedNonce,
1514    UpdateNotPermittedVotingFor,
1515    ZkappCommandReplayCheckFailed,
1516    FeePayerNonceMustIncrease,
1517    FeePayerMustBeSigned,
1518    AccountBalancePreconditionUnsatisfied,
1519    AccountNoncePreconditionUnsatisfied,
1520    AccountReceiptChainHashPreconditionUnsatisfied,
1521    AccountDelegatePreconditionUnsatisfied,
1522    AccountActionStatePreconditionUnsatisfied,
1523    AccountAppStatePreconditionUnsatisfied(crate::number::UInt64),
1524    AccountProvedStatePreconditionUnsatisfied,
1525    AccountIsNewPreconditionUnsatisfied,
1526    ProtocolStatePreconditionUnsatisfied,
1527    UnexpectedVerificationKeyHash,
1528    ValidWhilePreconditionUnsatisfied,
1529    IncorrectNonce,
1530    InvalidFeeExcess,
1531    Cancelled,
1532}
1533
1534impl MallocSizeOf for MinaBaseTransactionStatusFailureStableV2 {
1535    fn size_of(&self, _ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
1536        0
1537    }
1538}
1539
1540/// **OCaml name**: `Mina_base__Transaction_status.Failure.Collection.Stable.V1`
1541///
1542/// Gid: `720`
1543/// Location: [src/lib/mina_base/transaction_status.ml:77:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/transaction_status.ml#L77)
1544///
1545///
1546/// Gid: `167`
1547/// Location: [src/std_internal.ml:131:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L131)
1548/// Args: List < MinaBaseTransactionStatusFailureStableV2 >
1549///
1550///
1551/// Gid: `50`
1552/// Location: [src/list0.ml:6:0](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/list0.ml#L6)
1553/// Args: List < MinaBaseTransactionStatusFailureStableV2 >
1554#[derive(
1555    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
1556)]
1557pub struct MinaBaseTransactionStatusFailureCollectionStableV1(
1558    pub List<List<MinaBaseTransactionStatusFailureStableV2>>,
1559);
1560
1561/// **OCaml name**: `Mina_base__Transaction_status.Stable.V2`
1562///
1563/// Gid: `721`
1564/// Location: [src/lib/mina_base/transaction_status.ml:476:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/transaction_status.ml#L476)
1565#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1566pub enum MinaBaseTransactionStatusStableV2 {
1567    Applied,
1568    Failed(MinaBaseTransactionStatusFailureCollectionStableV1),
1569}
1570
1571/// **OCaml name**: `Mina_base__Signed_command_payload.Common.Stable.V2`
1572///
1573/// Gid: `726`
1574/// Location: [src/lib/mina_base/signed_command_payload.ml:76:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signed_command_payload.ml#L76)
1575///
1576///
1577/// Gid: `722`
1578/// Location: [src/lib/mina_base/signed_command_payload.ml:41:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signed_command_payload.ml#L41)
1579/// Args: CurrencyFeeStableV1 , NonZeroCurvePoint , UnsignedExtendedUInt32StableV1 , MinaNumbersGlobalSlotSinceGenesisMStableV1 , MinaBaseSignedCommandMemoStableV1
1580#[derive(
1581    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1582)]
1583pub struct MinaBaseSignedCommandPayloadCommonStableV2 {
1584    pub fee: CurrencyFeeStableV1,
1585    pub fee_payer_pk: NonZeroCurvePoint,
1586    pub nonce: UnsignedExtendedUInt32StableV1,
1587    #[ignore_malloc_size_of = "primitive"]
1588    pub valid_until: MinaNumbersGlobalSlotSinceGenesisMStableV1,
1589    pub memo: MinaBaseSignedCommandMemoStableV1,
1590}
1591
1592/// **OCaml name**: `Mina_base__Signed_command_payload.Body.Stable.V2`
1593///
1594/// Gid: `730`
1595/// Location: [src/lib/mina_base/signed_command_payload.ml:189:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signed_command_payload.ml#L189)
1596#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1597pub enum MinaBaseSignedCommandPayloadBodyStableV2 {
1598    Payment(MinaBasePaymentPayloadStableV2),
1599    StakeDelegation(MinaBaseStakeDelegationStableV2),
1600}
1601
1602/// **OCaml name**: `Mina_base__Signed_command_payload.Stable.V2`
1603///
1604/// Gid: `737`
1605/// Location: [src/lib/mina_base/signed_command_payload.ml:267:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signed_command_payload.ml#L267)
1606///
1607///
1608/// Gid: `734`
1609/// Location: [src/lib/mina_base/signed_command_payload.ml:249:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signed_command_payload.ml#L249)
1610/// Args: MinaBaseSignedCommandPayloadCommonStableV2 , MinaBaseSignedCommandPayloadBodyStableV2
1611#[derive(
1612    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1613)]
1614pub struct MinaBaseSignedCommandPayloadStableV2 {
1615    pub common: MinaBaseSignedCommandPayloadCommonStableV2,
1616    pub body: MinaBaseSignedCommandPayloadBodyStableV2,
1617}
1618
1619/// **OCaml name**: `Mina_base__Signed_command.Make_str.Stable.V2`
1620///
1621/// Gid: `744`
1622/// Location: [src/lib/mina_base/signed_command.ml:52:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signed_command.ml#L52)
1623///
1624///
1625/// Gid: `741`
1626/// Location: [src/lib/mina_base/signed_command.ml:27:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/signed_command.ml#L27)
1627/// Args: MinaBaseSignedCommandPayloadStableV2 , NonZeroCurvePoint , Signature
1628#[derive(
1629    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1630)]
1631pub struct MinaBaseSignedCommandStableV2 {
1632    pub payload: MinaBaseSignedCommandPayloadStableV2,
1633    pub signer: NonZeroCurvePoint,
1634    pub signature: Signature,
1635}
1636
1637/// **OCaml name**: `Mina_base__Receipt.Chain_hash.Stable.V1`
1638///
1639/// Gid: `755`
1640/// Location: [src/lib/mina_base/receipt.ml:31:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/receipt.ml#L31)
1641#[derive(
1642    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
1643)]
1644pub struct MinaBaseReceiptChainHashStableV1(pub crate::bigint::BigInt);
1645
1646/// **OCaml name**: `Mina_base__State_body_hash.Stable.V1`
1647///
1648/// Gid: `760`
1649/// Location: [src/lib/mina_base/state_body_hash.ml:19:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/state_body_hash.ml#L19)
1650#[derive(
1651    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
1652)]
1653pub struct MinaBaseStateBodyHashStableV1(pub crate::bigint::BigInt);
1654
1655/// Derived name: `Mina_base__Account_update.Update.Stable.V1.timing`
1656///
1657/// Gid: `766`
1658/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1659/// Args: MinaBaseAccountUpdateUpdateTimingInfoStableV1
1660#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1661pub enum MinaBaseAccountUpdateUpdateStableV1Timing {
1662    Set(Box<MinaBaseAccountUpdateUpdateTimingInfoStableV1>),
1663    Keep,
1664}
1665
1666/// Derived name: `Mina_base__Account_update.Update.Stable.V1.permissions`
1667///
1668/// Gid: `766`
1669/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1670/// Args: MinaBasePermissionsStableV2
1671#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1672pub enum MinaBaseAccountUpdateUpdateStableV1Permissions {
1673    Set(Box<MinaBasePermissionsStableV2>),
1674    Keep,
1675}
1676
1677/// Derived name: `Mina_base__Account_update.Update.Stable.V1.verification_key`
1678///
1679/// Gid: `766`
1680/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1681/// Args: MinaBaseVerificationKeyWireStableV1
1682#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1683pub enum MinaBaseAccountUpdateUpdateStableV1VerificationKey {
1684    Set(Box<MinaBaseVerificationKeyWireStableV1>),
1685    Keep,
1686}
1687
1688/// Derived name: `Mina_base__Account_update.Update.Stable.V1.delegate`
1689///
1690/// Gid: `766`
1691/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1692/// Args: NonZeroCurvePoint
1693#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1694pub enum MinaBaseAccountUpdateUpdateStableV1Delegate {
1695    Set(NonZeroCurvePoint),
1696    Keep,
1697}
1698
1699/// Derived name: `Mina_base__Account_update.Update.Stable.V1.voting_for`
1700///
1701/// Gid: `766`
1702/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1703/// Args: StateHash
1704#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1705pub enum MinaBaseAccountUpdateUpdateStableV1VotingFor {
1706    Set(StateHash),
1707    Keep,
1708}
1709
1710/// Derived name: `Mina_base__Account_update.Update.Stable.V1.app_state.a`
1711///
1712/// Gid: `766`
1713/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1714/// Args: crate :: bigint :: BigInt
1715#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1716pub enum MinaBaseAccountUpdateUpdateStableV1AppStateA {
1717    Set(crate::bigint::BigInt),
1718    Keep,
1719}
1720
1721/// Derived name: `Mina_base__Account_update.Update.Stable.V1.zkapp_uri`
1722///
1723/// Gid: `766`
1724/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1725/// Args: crate :: string :: ZkAppUri
1726#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1727pub enum MinaBaseAccountUpdateUpdateStableV1ZkappUri {
1728    Set(crate::string::ZkAppUri),
1729    Keep,
1730}
1731
1732/// Derived name: `Mina_base__Account_update.Update.Stable.V1.token_symbol`
1733///
1734/// Gid: `766`
1735/// Location: [src/lib/mina_base/zkapp_basic.ml:100:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L100)
1736/// Args: crate :: string :: TokenSymbol
1737#[derive(
1738    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1739)]
1740pub enum MinaBaseAccountUpdateUpdateStableV1TokenSymbol {
1741    Set(crate::string::TokenSymbol),
1742    Keep,
1743}
1744
1745/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Epoch_data.Stable.V1.epoch_seed`
1746///
1747/// Gid: `767`
1748/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1749/// Args: EpochSeed
1750#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1751pub enum MinaBaseZkappPreconditionProtocolStateEpochDataStableV1EpochSeed {
1752    Check(EpochSeed),
1753    Ignore,
1754}
1755
1756/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1.snarked_ledger_hash`
1757///
1758/// Gid: `767`
1759/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1760/// Args: LedgerHash
1761#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1762pub enum MinaBaseZkappPreconditionProtocolStateStableV1SnarkedLedgerHash {
1763    Check(LedgerHash),
1764    Ignore,
1765}
1766
1767/// Derived name: `Mina_base__Zkapp_precondition.Account.Stable.V2.receipt_chain_hash`
1768///
1769/// Gid: `767`
1770/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1771/// Args: MinaBaseReceiptChainHashStableV1
1772#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1773pub enum MinaBaseZkappPreconditionAccountStableV2ReceiptChainHash {
1774    Check(MinaBaseReceiptChainHashStableV1),
1775    Ignore,
1776}
1777
1778/// Derived name: `Mina_base__Zkapp_precondition.Account.Stable.V2.delegate`
1779///
1780/// Gid: `767`
1781/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1782/// Args: NonZeroCurvePoint
1783#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1784pub enum MinaBaseZkappPreconditionAccountStableV2Delegate {
1785    Check(NonZeroCurvePoint),
1786    Ignore,
1787}
1788
1789/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Epoch_data.Stable.V1.start_checkpoint`
1790///
1791/// Gid: `767`
1792/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1793/// Args: StateHash
1794#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1795pub enum MinaBaseZkappPreconditionProtocolStateEpochDataStableV1StartCheckpoint {
1796    Check(StateHash),
1797    Ignore,
1798}
1799
1800/// Derived name: `Mina_base__Zkapp_precondition.Account.Stable.V2.proved_state`
1801///
1802/// Gid: `767`
1803/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1804/// Args: bool
1805#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1806pub enum MinaBaseZkappPreconditionAccountStableV2ProvedState {
1807    Check(bool),
1808    Ignore,
1809}
1810
1811/// Derived name: `Mina_base__Zkapp_precondition.Account.Stable.V2.state.a`
1812///
1813/// Gid: `767`
1814/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1815/// Args: crate :: bigint :: BigInt
1816#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1817pub enum MinaBaseZkappPreconditionAccountStableV2StateA {
1818    Check(crate::bigint::BigInt),
1819    Ignore,
1820}
1821
1822/// **OCaml name**: `Mina_base__Zkapp_state.Value.Stable.V1`
1823///
1824/// Gid: `770`
1825/// Location: [src/lib/mina_base/zkapp_state.ml:46:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_state.ml#L46)
1826///
1827///
1828/// Gid: `769`
1829/// Location: [src/lib/mina_base/zkapp_state.ml:17:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_state.ml#L17)
1830/// Args: crate :: bigint :: BigInt
1831#[derive(
1832    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, Default,
1833)]
1834pub struct MinaBaseZkappStateValueStableV1(pub PaddedSeq<crate::bigint::BigInt, 8>);
1835
1836/// **OCaml name**: `Mina_base__Zkapp_account.Stable.V2`
1837///
1838/// Gid: `772`
1839/// Location: [src/lib/mina_base/zkapp_account.ml:224:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_account.ml#L224)
1840///
1841///
1842/// Gid: `771`
1843/// Location: [src/lib/mina_base/zkapp_account.ml:194:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_account.ml#L194)
1844/// Args: MinaBaseZkappStateValueStableV1 , Option < MinaBaseVerificationKeyWireStableV1 > , MinaNumbersNatMake32StableV1 , crate :: bigint :: BigInt , MinaNumbersGlobalSlotSinceGenesisMStableV1 , bool , crate :: string :: ByteString
1845#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
1846pub struct MinaBaseZkappAccountStableV2 {
1847    pub app_state: MinaBaseZkappStateValueStableV1,
1848    pub verification_key: Option<MinaBaseVerificationKeyWireStableV1>,
1849    pub zkapp_version: MinaNumbersNatMake32StableV1,
1850    pub action_state: PaddedSeq<crate::bigint::BigInt, 5>,
1851    pub last_action_slot: MinaNumbersGlobalSlotSinceGenesisMStableV1,
1852    pub proved_state: bool,
1853    pub zkapp_uri: crate::string::ZkAppUri,
1854}
1855
1856/// **OCaml name**: `Mina_base__Account.Index.Stable.V1`
1857///
1858/// Gid: `773`
1859/// Location: [src/lib/mina_base/account.ml:18:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account.ml#L18)
1860///
1861///
1862/// Gid: `163`
1863/// Location: [src/std_internal.ml:119:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L119)
1864///
1865///
1866/// Gid: `113`
1867/// Location: [src/int.ml:19:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/int.ml#L19)
1868#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
1869pub struct MinaBaseAccountIndexStableV1(pub crate::number::UInt64);
1870
1871/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Epoch_data.Stable.V1.epoch_ledger`
1872///
1873/// Gid: `781`
1874/// Location: [src/lib/mina_base/epoch_ledger.ml:9:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/epoch_ledger.ml#L9)
1875/// Args: MinaBaseZkappPreconditionProtocolStateStableV1SnarkedLedgerHash , MinaBaseZkappPreconditionProtocolStateStableV1Amount
1876#[derive(
1877    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1878)]
1879pub struct MinaBaseZkappPreconditionProtocolStateEpochDataStableV1EpochLedger {
1880    pub hash: MinaBaseZkappPreconditionProtocolStateStableV1SnarkedLedgerHash,
1881    pub total_currency: MinaBaseZkappPreconditionProtocolStateStableV1Amount,
1882}
1883
1884/// **OCaml name**: `Mina_base__Epoch_ledger.Value.Stable.V1`
1885///
1886/// Gid: `782`
1887/// Location: [src/lib/mina_base/epoch_ledger.ml:23:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/epoch_ledger.ml#L23)
1888///
1889///
1890/// Gid: `781`
1891/// Location: [src/lib/mina_base/epoch_ledger.ml:9:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/epoch_ledger.ml#L9)
1892/// Args: LedgerHash , CurrencyAmountStableV1
1893#[derive(
1894    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1895)]
1896pub struct MinaBaseEpochLedgerValueStableV1 {
1897    pub hash: LedgerHash,
1898    pub total_currency: CurrencyAmountStableV1,
1899}
1900
1901/// **OCaml name**: `Mina_base__Epoch_seed.Stable.V1`
1902///
1903/// Gid: `785`
1904/// Location: [src/lib/mina_base/epoch_seed.ml:14:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/epoch_seed.ml#L14)
1905#[derive(
1906    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
1907)]
1908pub struct MinaBaseEpochSeedStableV1(pub crate::bigint::BigInt);
1909
1910/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1.amount.a`
1911///
1912/// Gid: `790`
1913/// Location: [src/lib/mina_base/zkapp_precondition.ml:23:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L23)
1914/// Args: CurrencyAmountStableV1
1915#[derive(
1916    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1917)]
1918pub struct MinaBaseZkappPreconditionProtocolStateStableV1AmountA {
1919    pub lower: CurrencyAmountStableV1,
1920    pub upper: CurrencyAmountStableV1,
1921}
1922
1923/// Derived name: `Mina_base__Zkapp_precondition.Account.Stable.V2.balance.a`
1924///
1925/// Gid: `790`
1926/// Location: [src/lib/mina_base/zkapp_precondition.ml:23:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L23)
1927/// Args: CurrencyBalanceStableV1
1928#[derive(
1929    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1930)]
1931pub struct MinaBaseZkappPreconditionAccountStableV2BalanceA {
1932    pub lower: CurrencyBalanceStableV1,
1933    pub upper: CurrencyBalanceStableV1,
1934}
1935
1936/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1.global_slot.a`
1937///
1938/// Gid: `790`
1939/// Location: [src/lib/mina_base/zkapp_precondition.ml:23:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L23)
1940/// Args: MinaNumbersGlobalSlotSinceGenesisMStableV1
1941#[derive(
1942    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1943)]
1944pub struct MinaBaseZkappPreconditionProtocolStateStableV1GlobalSlotA {
1945    pub lower: MinaNumbersGlobalSlotSinceGenesisMStableV1,
1946    pub upper: MinaNumbersGlobalSlotSinceGenesisMStableV1,
1947}
1948
1949/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1.length.a`
1950///
1951/// Gid: `790`
1952/// Location: [src/lib/mina_base/zkapp_precondition.ml:23:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L23)
1953/// Args: UnsignedExtendedUInt32StableV1
1954#[derive(
1955    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
1956)]
1957pub struct MinaBaseZkappPreconditionProtocolStateStableV1LengthA {
1958    pub lower: UnsignedExtendedUInt32StableV1,
1959    pub upper: UnsignedExtendedUInt32StableV1,
1960}
1961
1962/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1.amount`
1963///
1964/// Gid: `791`
1965/// Location: [src/lib/mina_base/zkapp_precondition.ml:165:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L165)
1966/// Args: CurrencyAmountStableV1
1967///
1968///
1969/// Gid: `767`
1970/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1971/// Args: MinaBaseZkappPreconditionProtocolStateStableV1AmountA
1972#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1973pub enum MinaBaseZkappPreconditionProtocolStateStableV1Amount {
1974    Check(MinaBaseZkappPreconditionProtocolStateStableV1AmountA),
1975    Ignore,
1976}
1977
1978/// Derived name: `Mina_base__Zkapp_precondition.Account.Stable.V2.balance`
1979///
1980/// Gid: `791`
1981/// Location: [src/lib/mina_base/zkapp_precondition.ml:165:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L165)
1982/// Args: CurrencyBalanceStableV1
1983///
1984///
1985/// Gid: `767`
1986/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
1987/// Args: MinaBaseZkappPreconditionAccountStableV2BalanceA
1988#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
1989pub enum MinaBaseZkappPreconditionAccountStableV2Balance {
1990    Check(MinaBaseZkappPreconditionAccountStableV2BalanceA),
1991    Ignore,
1992}
1993
1994/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1.global_slot`
1995///
1996/// Gid: `791`
1997/// Location: [src/lib/mina_base/zkapp_precondition.ml:165:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L165)
1998/// Args: MinaNumbersGlobalSlotSinceGenesisMStableV1
1999///
2000///
2001/// Gid: `767`
2002/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
2003/// Args: MinaBaseZkappPreconditionProtocolStateStableV1GlobalSlotA
2004#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
2005pub enum MinaBaseZkappPreconditionProtocolStateStableV1GlobalSlot {
2006    Check(MinaBaseZkappPreconditionProtocolStateStableV1GlobalSlotA),
2007    Ignore,
2008}
2009
2010/// Derived name: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1.length`
2011///
2012/// Gid: `791`
2013/// Location: [src/lib/mina_base/zkapp_precondition.ml:165:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L165)
2014/// Args: UnsignedExtendedUInt32StableV1
2015///
2016///
2017/// Gid: `767`
2018/// Location: [src/lib/mina_base/zkapp_basic.ml:232:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_basic.ml#L232)
2019/// Args: MinaBaseZkappPreconditionProtocolStateStableV1LengthA
2020#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite, MallocSizeOf)]
2021pub enum MinaBaseZkappPreconditionProtocolStateStableV1Length {
2022    Check(MinaBaseZkappPreconditionProtocolStateStableV1LengthA),
2023    Ignore,
2024}
2025
2026/// **OCaml name**: `Mina_base__Zkapp_precondition.Account.Stable.V2`
2027///
2028/// Gid: `792`
2029/// Location: [src/lib/mina_base/zkapp_precondition.ml:465:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L465)
2030#[derive(
2031    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2032)]
2033pub struct MinaBaseZkappPreconditionAccountStableV2 {
2034    pub balance: MinaBaseZkappPreconditionAccountStableV2Balance,
2035    pub nonce: MinaBaseZkappPreconditionProtocolStateStableV1Length,
2036    pub receipt_chain_hash: MinaBaseZkappPreconditionAccountStableV2ReceiptChainHash,
2037    pub delegate: MinaBaseZkappPreconditionAccountStableV2Delegate,
2038    pub state: PaddedSeq<MinaBaseZkappPreconditionAccountStableV2StateA, 8>,
2039    pub action_state: MinaBaseZkappPreconditionAccountStableV2StateA,
2040    pub proved_state: MinaBaseZkappPreconditionAccountStableV2ProvedState,
2041    pub is_new: MinaBaseZkappPreconditionAccountStableV2ProvedState,
2042}
2043
2044/// **OCaml name**: `Mina_base__Zkapp_precondition.Protocol_state.Epoch_data.Stable.V1`
2045///
2046/// Gid: `793`
2047/// Location: [src/lib/mina_base/zkapp_precondition.ml:792:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L792)
2048///
2049///
2050/// Gid: `788`
2051/// Location: [src/lib/mina_base/epoch_data.ml:8:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/epoch_data.ml#L8)
2052/// Args: MinaBaseZkappPreconditionProtocolStateEpochDataStableV1EpochLedger , MinaBaseZkappPreconditionProtocolStateEpochDataStableV1EpochSeed , MinaBaseZkappPreconditionProtocolStateEpochDataStableV1StartCheckpoint , MinaBaseZkappPreconditionProtocolStateEpochDataStableV1StartCheckpoint , MinaBaseZkappPreconditionProtocolStateStableV1Length
2053#[derive(
2054    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2055)]
2056pub struct MinaBaseZkappPreconditionProtocolStateEpochDataStableV1 {
2057    pub ledger: MinaBaseZkappPreconditionProtocolStateEpochDataStableV1EpochLedger,
2058    pub seed: MinaBaseZkappPreconditionProtocolStateEpochDataStableV1EpochSeed,
2059    pub start_checkpoint: MinaBaseZkappPreconditionProtocolStateEpochDataStableV1StartCheckpoint,
2060    pub lock_checkpoint: MinaBaseZkappPreconditionProtocolStateEpochDataStableV1StartCheckpoint,
2061    pub epoch_length: MinaBaseZkappPreconditionProtocolStateStableV1Length,
2062}
2063
2064/// **OCaml name**: `Mina_base__Zkapp_precondition.Protocol_state.Stable.V1`
2065///
2066/// Gid: `795`
2067/// Location: [src/lib/mina_base/zkapp_precondition.ml:967:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L967)
2068///
2069///
2070/// Gid: `794`
2071/// Location: [src/lib/mina_base/zkapp_precondition.ml:923:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_precondition.ml#L923)
2072/// Args: MinaBaseZkappPreconditionProtocolStateStableV1SnarkedLedgerHash , MinaBaseZkappPreconditionProtocolStateStableV1Length , MinaBaseZkappPreconditionProtocolStateStableV1GlobalSlot , MinaBaseZkappPreconditionProtocolStateStableV1Amount , MinaBaseZkappPreconditionProtocolStateEpochDataStableV1
2073#[derive(
2074    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2075)]
2076pub struct MinaBaseZkappPreconditionProtocolStateStableV1 {
2077    pub snarked_ledger_hash: MinaBaseZkappPreconditionProtocolStateStableV1SnarkedLedgerHash,
2078    pub blockchain_length: MinaBaseZkappPreconditionProtocolStateStableV1Length,
2079    pub min_window_density: MinaBaseZkappPreconditionProtocolStateStableV1Length,
2080    pub total_currency: MinaBaseZkappPreconditionProtocolStateStableV1Amount,
2081    pub global_slot_since_genesis: MinaBaseZkappPreconditionProtocolStateStableV1GlobalSlot,
2082    pub staking_epoch_data: MinaBaseZkappPreconditionProtocolStateEpochDataStableV1,
2083    pub next_epoch_data: MinaBaseZkappPreconditionProtocolStateEpochDataStableV1,
2084}
2085
2086/// **OCaml name**: `Mina_base__Account_update.Authorization_kind.Stable.V1`
2087///
2088/// Gid: `803`
2089/// Location: [src/lib/mina_base/account_update.ml:28:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L28)
2090#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite)]
2091pub enum MinaBaseAccountUpdateAuthorizationKindStableV1 {
2092    Signature,
2093    Proof(crate::bigint::BigInt),
2094    NoneGiven,
2095}
2096
2097/// **OCaml name**: `Mina_base__Account_update.May_use_token.Stable.V1`
2098///
2099/// Gid: `804`
2100/// Location: [src/lib/mina_base/account_update.ml:161:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L161)
2101#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite)]
2102pub enum MinaBaseAccountUpdateMayUseTokenStableV1 {
2103    No,
2104    ParentsOwnToken,
2105    InheritFromParent,
2106}
2107
2108/// **OCaml name**: `Mina_base__Account_update.Update.Timing_info.Stable.V1`
2109///
2110/// Gid: `805`
2111/// Location: [src/lib/mina_base/account_update.ml:532:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L532)
2112#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2113pub struct MinaBaseAccountUpdateUpdateTimingInfoStableV1 {
2114    pub initial_minimum_balance: CurrencyBalanceStableV1,
2115    pub cliff_time: MinaNumbersGlobalSlotSinceGenesisMStableV1,
2116    pub cliff_amount: CurrencyAmountStableV1,
2117    pub vesting_period: MinaNumbersGlobalSlotSpanStableV1,
2118    pub vesting_increment: CurrencyAmountStableV1,
2119}
2120
2121impl MallocSizeOf for MinaBaseAccountUpdateUpdateTimingInfoStableV1 {
2122    fn size_of(&self, _ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
2123        0
2124    }
2125}
2126
2127/// **OCaml name**: `Mina_base__Account_update.Update.Stable.V1`
2128///
2129/// Gid: `806`
2130/// Location: [src/lib/mina_base/account_update.ml:692:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L692)
2131#[derive(
2132    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2133)]
2134pub struct MinaBaseAccountUpdateUpdateStableV1 {
2135    pub app_state: PaddedSeq<MinaBaseAccountUpdateUpdateStableV1AppStateA, 8>,
2136    pub delegate: MinaBaseAccountUpdateUpdateStableV1Delegate,
2137    pub verification_key: MinaBaseAccountUpdateUpdateStableV1VerificationKey,
2138    pub permissions: MinaBaseAccountUpdateUpdateStableV1Permissions,
2139    pub zkapp_uri: MinaBaseAccountUpdateUpdateStableV1ZkappUri,
2140    pub token_symbol: MinaBaseAccountUpdateUpdateStableV1TokenSymbol,
2141    pub timing: MinaBaseAccountUpdateUpdateStableV1Timing,
2142    pub voting_for: MinaBaseAccountUpdateUpdateStableV1VotingFor,
2143}
2144
2145/// **OCaml name**: `Mina_base__Account_update.Account_precondition.Stable.V1`
2146///
2147/// Gid: `807`
2148/// Location: [src/lib/mina_base/account_update.ml:958:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L958)
2149#[derive(
2150    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
2151)]
2152pub struct MinaBaseAccountUpdateAccountPreconditionStableV1(
2153    pub MinaBaseZkappPreconditionAccountStableV2,
2154);
2155
2156/// **OCaml name**: `Mina_base__Account_update.Preconditions.Stable.V1`
2157///
2158/// Gid: `808`
2159/// Location: [src/lib/mina_base/account_update.ml:1029:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L1029)
2160#[derive(
2161    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2162)]
2163pub struct MinaBaseAccountUpdatePreconditionsStableV1 {
2164    pub network: MinaBaseZkappPreconditionProtocolStateStableV1,
2165    pub account: MinaBaseAccountUpdateAccountPreconditionStableV1,
2166    pub valid_while: MinaBaseZkappPreconditionProtocolStateStableV1GlobalSlot,
2167}
2168
2169/// **OCaml name**: `Mina_base__Account_update.Body.Events'.Stable.V1`
2170///
2171/// Gid: `809`
2172/// Location: [src/lib/mina_base/account_update.ml:1116:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L1116)
2173///
2174///
2175/// Gid: `167`
2176/// Location: [src/std_internal.ml:131:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L131)
2177/// Args: ArrayN16 < crate :: bigint :: BigInt >
2178///
2179///
2180/// Gid: `50`
2181/// Location: [src/list0.ml:6:0](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/list0.ml#L6)
2182/// Args: ArrayN16 < crate :: bigint :: BigInt >
2183#[derive(
2184    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
2185)]
2186pub struct MinaBaseAccountUpdateBodyEventsStableV1(pub List<ArrayN16<crate::bigint::BigInt>>);
2187
2188/// **OCaml name**: `Mina_base__Account_update.Body.Stable.V1`
2189///
2190/// Gid: `812`
2191/// Location: [src/lib/mina_base/account_update.ml:1216:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L1216)
2192#[derive(
2193    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2194)]
2195pub struct MinaBaseAccountUpdateBodyStableV1 {
2196    pub public_key: NonZeroCurvePoint,
2197    pub token_id: TokenIdKeyHash,
2198    pub update: MinaBaseAccountUpdateUpdateStableV1,
2199    #[ignore_malloc_size_of = "primitive"]
2200    pub balance_change: MinaStateBlockchainStateValueStableV2SignedAmount,
2201    pub increment_nonce: bool,
2202    pub events: MinaBaseAccountUpdateBodyEventsStableV1,
2203    pub actions: MinaBaseAccountUpdateBodyEventsStableV1,
2204    pub call_data: crate::bigint::BigInt,
2205    pub preconditions: MinaBaseAccountUpdatePreconditionsStableV1,
2206    pub use_full_commitment: bool,
2207    pub implicit_account_creation_fee: bool,
2208    #[ignore_malloc_size_of = "primitive"]
2209    pub may_use_token: MinaBaseAccountUpdateMayUseTokenStableV1,
2210    #[ignore_malloc_size_of = "primitive"]
2211    pub authorization_kind: MinaBaseAccountUpdateAuthorizationKindStableV1,
2212}
2213
2214/// **OCaml name**: `Mina_base__Account_update.Body.Fee_payer.Stable.V1`
2215///
2216/// Gid: `813`
2217/// Location: [src/lib/mina_base/account_update.ml:1322:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L1322)
2218#[derive(
2219    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2220)]
2221pub struct MinaBaseAccountUpdateBodyFeePayerStableV1 {
2222    pub public_key: NonZeroCurvePoint,
2223    pub fee: CurrencyFeeStableV1,
2224    #[ignore_malloc_size_of = "primitive"]
2225    pub valid_until: Option<MinaNumbersGlobalSlotSinceGenesisMStableV1>,
2226    #[ignore_malloc_size_of = "primitive"]
2227    pub nonce: UnsignedExtendedUInt32StableV1,
2228}
2229
2230/// **OCaml name**: `Mina_base__Account_update.T.Stable.V1`
2231///
2232/// Gid: `816`
2233/// Location: [src/lib/mina_base/account_update.ml:1694:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L1694)
2234#[derive(
2235    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2236)]
2237pub struct MinaBaseAccountUpdateTStableV1 {
2238    pub body: MinaBaseAccountUpdateBodyStableV1,
2239    pub authorization: MinaBaseControlStableV2,
2240}
2241
2242/// **OCaml name**: `Mina_base__Account_update.Fee_payer.Stable.V1`
2243///
2244/// Gid: `817`
2245/// Location: [src/lib/mina_base/account_update.ml:1738:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/account_update.ml#L1738)
2246#[derive(
2247    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2248)]
2249pub struct MinaBaseAccountUpdateFeePayerStableV1 {
2250    pub body: MinaBaseAccountUpdateBodyFeePayerStableV1,
2251    pub authorization: Signature,
2252}
2253
2254/// Derived name: `Mina_base__Zkapp_command.T.Stable.V1.Wire.Stable.V1.account_updates.a.a.calls.a`
2255///
2256/// Gid: `818`
2257/// Location: [src/lib/mina_base/with_stack_hash.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_stack_hash.ml#L6)
2258/// Args: Box < MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesAA > , ()
2259#[derive(
2260    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2261)]
2262pub struct MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesAACallsA {
2263    pub elt: Box<MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesAA>,
2264    #[serde(deserialize_with = "always_unit")]
2265    pub stack_hash: (),
2266}
2267
2268/// Derived name: `Mina_base__Zkapp_command.Verifiable.Stable.V1.account_updates.a.a.calls.a`
2269///
2270/// Gid: `818`
2271/// Location: [src/lib/mina_base/with_stack_hash.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_stack_hash.ml#L6)
2272/// Args: Box < MinaBaseZkappCommandVerifiableStableV1AccountUpdatesAA > , MinaBaseZkappCommandCallForestMakeDigestStrForestStableV1
2273#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2274pub struct MinaBaseZkappCommandVerifiableStableV1AccountUpdatesAACallsA {
2275    pub elt: Box<MinaBaseZkappCommandVerifiableStableV1AccountUpdatesAA>,
2276    pub stack_hash: MinaBaseZkappCommandCallForestMakeDigestStrForestStableV1,
2277}
2278
2279/// Derived name: `Mina_base__Zkapp_command.T.Stable.V1.Wire.Stable.V1.account_updates.a`
2280///
2281/// Gid: `818`
2282/// Location: [src/lib/mina_base/with_stack_hash.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_stack_hash.ml#L6)
2283/// Args: MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesAA , ()
2284#[derive(
2285    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2286)]
2287pub struct MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesA {
2288    pub elt: MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesAA,
2289    #[serde(deserialize_with = "always_unit")]
2290    pub stack_hash: (),
2291}
2292
2293/// Derived name: `Mina_base__Zkapp_command.Verifiable.Stable.V1.account_updates.a`
2294///
2295/// Gid: `818`
2296/// Location: [src/lib/mina_base/with_stack_hash.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_stack_hash.ml#L6)
2297/// Args: MinaBaseZkappCommandVerifiableStableV1AccountUpdatesAA , MinaBaseZkappCommandCallForestMakeDigestStrForestStableV1
2298#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2299pub struct MinaBaseZkappCommandVerifiableStableV1AccountUpdatesA {
2300    pub elt: MinaBaseZkappCommandVerifiableStableV1AccountUpdatesAA,
2301    pub stack_hash: MinaBaseZkappCommandCallForestMakeDigestStrForestStableV1,
2302}
2303
2304/// Derived name: `Mina_transaction_logic.Transaction_applied.Coinbase_applied.Stable.V2.coinbase`
2305///
2306/// Gid: `819`
2307/// Location: [src/lib/mina_base/with_status.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_status.ml#L6)
2308/// Args: MinaBaseCoinbaseStableV1
2309#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2310pub struct MinaTransactionLogicTransactionAppliedCoinbaseAppliedStableV2Coinbase {
2311    pub data: MinaBaseCoinbaseStableV1,
2312    pub status: MinaBaseTransactionStatusStableV2,
2313}
2314
2315/// Derived name: `Mina_transaction_logic.Transaction_applied.Fee_transfer_applied.Stable.V2.fee_transfer`
2316///
2317/// Gid: `819`
2318/// Location: [src/lib/mina_base/with_status.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_status.ml#L6)
2319/// Args: MinaBaseFeeTransferStableV2
2320#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2321pub struct MinaTransactionLogicTransactionAppliedFeeTransferAppliedStableV2FeeTransfer {
2322    pub data: MinaBaseFeeTransferStableV2,
2323    pub status: MinaBaseTransactionStatusStableV2,
2324}
2325
2326/// Derived name: `Mina_transaction_logic.Transaction_applied.Signed_command_applied.Common.Stable.V2.user_command`
2327///
2328/// Gid: `819`
2329/// Location: [src/lib/mina_base/with_status.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_status.ml#L6)
2330/// Args: MinaBaseSignedCommandStableV2
2331#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2332pub struct MinaTransactionLogicTransactionAppliedSignedCommandAppliedCommonStableV2UserCommand {
2333    pub data: MinaBaseSignedCommandStableV2,
2334    pub status: MinaBaseTransactionStatusStableV2,
2335}
2336
2337/// Derived name: `Staged_ledger_diff__Diff.Make_str.Pre_diff_with_at_most_two_coinbase.Stable.V2.b`
2338///
2339/// Gid: `819`
2340/// Location: [src/lib/mina_base/with_status.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_status.ml#L6)
2341/// Args: MinaBaseUserCommandStableV2
2342#[derive(
2343    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2344)]
2345pub struct StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2B {
2346    pub data: MinaBaseUserCommandStableV2,
2347    pub status: MinaBaseTransactionStatusStableV2,
2348}
2349
2350/// Derived name: `Mina_transaction_logic.Transaction_applied.Zkapp_command_applied.Stable.V1.command`
2351///
2352/// Gid: `819`
2353/// Location: [src/lib/mina_base/with_status.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/with_status.ml#L6)
2354/// Args: MinaBaseZkappCommandTStableV1WireStableV1
2355#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2356pub struct MinaTransactionLogicTransactionAppliedZkappCommandAppliedStableV1Command {
2357    pub data: MinaBaseZkappCommandTStableV1WireStableV1,
2358    pub status: MinaBaseTransactionStatusStableV2,
2359}
2360
2361/// Derived name: `Mina_base__Zkapp_command.Verifiable.Stable.V1.account_updates.a.a`
2362///
2363/// Gid: `820`
2364/// Location: [src/lib/mina_base/zkapp_command.ml:11:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_command.ml#L11)
2365/// Args: (MinaBaseAccountUpdateTStableV1 , Option < MinaBaseZkappCommandVerifiableStableV1AccountUpdatesDataA > ,) , MinaBaseZkappCommandCallForestMakeDigestStrAccountUpdateStableV1 , MinaBaseZkappCommandCallForestMakeDigestStrForestStableV1
2366#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2367pub struct MinaBaseZkappCommandVerifiableStableV1AccountUpdatesAA {
2368    pub account_update: (
2369        MinaBaseAccountUpdateTStableV1,
2370        Option<MinaBaseZkappCommandVerifiableStableV1AccountUpdatesDataA>,
2371    ),
2372    pub account_update_digest: MinaBaseZkappCommandCallForestMakeDigestStrAccountUpdateStableV1,
2373    pub calls: List<MinaBaseZkappCommandVerifiableStableV1AccountUpdatesAACallsA>,
2374}
2375
2376/// Derived name: `Mina_base__Zkapp_command.T.Stable.V1.Wire.Stable.V1.account_updates.a.a`
2377///
2378/// Gid: `820`
2379/// Location: [src/lib/mina_base/zkapp_command.ml:11:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_command.ml#L11)
2380/// Args: MinaBaseAccountUpdateTStableV1 , () , ()
2381#[derive(
2382    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2383)]
2384pub struct MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesAA {
2385    pub account_update: MinaBaseAccountUpdateTStableV1,
2386    #[serde(deserialize_with = "always_unit")]
2387    pub account_update_digest: (),
2388    pub calls: List<MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesAACallsA>,
2389}
2390
2391/// **OCaml name**: `Mina_base__Zkapp_command.Call_forest.Make_digest_str.Account_update.Stable.V1`
2392///
2393/// Gid: `821`
2394/// Location: [src/lib/mina_base/zkapp_command.ml:224:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_command.ml#L224)
2395#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
2396pub struct MinaBaseZkappCommandCallForestMakeDigestStrAccountUpdateStableV1(
2397    pub crate::bigint::BigInt,
2398);
2399
2400/// **OCaml name**: `Mina_base__Zkapp_command.Call_forest.Make_digest_str.Forest.Stable.V1`
2401///
2402/// Gid: `822`
2403/// Location: [src/lib/mina_base/zkapp_command.ml:253:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_command.ml#L253)
2404#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
2405pub struct MinaBaseZkappCommandCallForestMakeDigestStrForestStableV1(pub crate::bigint::BigInt);
2406
2407/// **OCaml name**: `Mina_base__Zkapp_command.T.Stable.V1.Wire.Stable.V1`
2408///
2409/// Gid: `829`
2410/// Location: [src/lib/mina_base/zkapp_command.ml:684:12](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_command.ml#L684)
2411#[derive(
2412    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2413)]
2414pub struct MinaBaseZkappCommandTStableV1WireStableV1 {
2415    pub fee_payer: MinaBaseAccountUpdateFeePayerStableV1,
2416    pub account_updates: List<MinaBaseZkappCommandTStableV1WireStableV1AccountUpdatesA>,
2417    pub memo: MinaBaseSignedCommandMemoStableV1,
2418}
2419
2420/// **OCaml name**: `Mina_base__Zkapp_command.Verifiable.Stable.V1`
2421///
2422/// Gid: `832`
2423/// Location: [src/lib/mina_base/zkapp_command.ml:1096:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/zkapp_command.ml#L1096)
2424#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2425pub struct MinaBaseZkappCommandVerifiableStableV1 {
2426    pub fee_payer: MinaBaseAccountUpdateFeePayerStableV1,
2427    pub account_updates: List<MinaBaseZkappCommandVerifiableStableV1AccountUpdatesA>,
2428    pub memo: MinaBaseSignedCommandMemoStableV1,
2429}
2430
2431/// **OCaml name**: `Mina_base__User_command.Stable.V2`
2432///
2433/// Gid: `839`
2434/// Location: [src/lib/mina_base/user_command.ml:79:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/user_command.ml#L79)
2435///
2436///
2437/// Gid: `837`
2438/// Location: [src/lib/mina_base/user_command.ml:7:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/user_command.ml#L7)
2439/// Args: MinaBaseSignedCommandStableV2 , MinaBaseZkappCommandTStableV1WireStableV1
2440#[derive(
2441    Clone,
2442    Debug,
2443    PartialEq,
2444    SerdeYojsonEnum,
2445    BinProtRead,
2446    BinProtWrite,
2447    derive_more::From,
2448    MallocSizeOf,
2449)]
2450pub enum MinaBaseUserCommandStableV2 {
2451    SignedCommand(MinaBaseSignedCommandStableV2),
2452    ZkappCommand(MinaBaseZkappCommandTStableV1WireStableV1),
2453}
2454
2455/// **OCaml name**: `Mina_base__Fee_transfer.Make_str.Single.Stable.V2`
2456///
2457/// Gid: `843`
2458/// Location: [src/lib/mina_base/fee_transfer.ml:19:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/fee_transfer.ml#L19)
2459#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2460pub struct MinaBaseFeeTransferSingleStableV2 {
2461    pub receiver_pk: NonZeroCurvePoint,
2462    pub fee: CurrencyFeeStableV1,
2463    pub fee_token: TokenIdKeyHash,
2464}
2465
2466/// **OCaml name**: `Mina_base__Fee_transfer.Make_str.Stable.V2`
2467///
2468/// Gid: `844`
2469/// Location: [src/lib/mina_base/fee_transfer.ml:69:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/fee_transfer.ml#L69)
2470///
2471///
2472/// Gid: `508`
2473/// Location: [src/lib/one_or_two/one_or_two.ml:7:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/one_or_two/one_or_two.ml#L7)
2474/// Args: MinaBaseFeeTransferSingleStableV2
2475#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2476#[polymorphic_variant]
2477pub enum MinaBaseFeeTransferStableV2 {
2478    #[allow(non_camel_case_types)]
2479    One(MinaBaseFeeTransferSingleStableV2),
2480    #[allow(non_camel_case_types)]
2481    Two(
2482        (
2483            MinaBaseFeeTransferSingleStableV2,
2484            MinaBaseFeeTransferSingleStableV2,
2485        ),
2486    ),
2487}
2488
2489/// **OCaml name**: `Mina_base__Coinbase_fee_transfer.Make_str.Stable.V1`
2490///
2491/// Gid: `845`
2492/// Location: [src/lib/mina_base/coinbase_fee_transfer.ml:15:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/coinbase_fee_transfer.ml#L15)
2493#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2494pub struct MinaBaseCoinbaseFeeTransferStableV1 {
2495    pub receiver_pk: NonZeroCurvePoint,
2496    pub fee: CurrencyFeeStableV1,
2497}
2498
2499/// **OCaml name**: `Mina_base__Coinbase.Make_str.Stable.V1`
2500///
2501/// Gid: `846`
2502/// Location: [src/lib/mina_base/coinbase.ml:17:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/coinbase.ml#L17)
2503#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2504pub struct MinaBaseCoinbaseStableV1 {
2505    pub receiver: NonZeroCurvePoint,
2506    pub amount: CurrencyAmountStableV1,
2507    pub fee_transfer: Option<MinaBaseCoinbaseFeeTransferStableV1>,
2508}
2509
2510/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Stack_id.Stable.V1`
2511///
2512/// Gid: `848`
2513/// Location: [src/lib/mina_base/pending_coinbase.ml:106:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L106)
2514///
2515///
2516/// Gid: `163`
2517/// Location: [src/std_internal.ml:119:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L119)
2518///
2519///
2520/// Gid: `113`
2521/// Location: [src/int.ml:19:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/int.ml#L19)
2522#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
2523pub struct MinaBasePendingCoinbaseStackIdStableV1(pub crate::number::UInt64);
2524
2525/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Coinbase_stack.Stable.V1`
2526///
2527/// Gid: `851`
2528/// Location: [src/lib/mina_base/pending_coinbase.ml:159:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L159)
2529#[derive(
2530    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
2531)]
2532pub struct MinaBasePendingCoinbaseCoinbaseStackStableV1(pub crate::bigint::BigInt);
2533
2534/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Stack_hash.Stable.V1`
2535///
2536/// Gid: `856`
2537/// Location: [src/lib/mina_base/pending_coinbase.ml:219:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L219)
2538#[derive(
2539    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
2540)]
2541pub struct MinaBasePendingCoinbaseStackHashStableV1(pub crate::bigint::BigInt);
2542
2543/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.State_stack.Stable.V1`
2544///
2545/// Gid: `860`
2546/// Location: [src/lib/mina_base/pending_coinbase.ml:255:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L255)
2547///
2548///
2549/// Gid: `859`
2550/// Location: [src/lib/mina_base/pending_coinbase.ml:245:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L245)
2551/// Args: CoinbaseStackHash
2552#[derive(
2553    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2554)]
2555pub struct MinaBasePendingCoinbaseStateStackStableV1 {
2556    pub init: CoinbaseStackHash,
2557    pub curr: CoinbaseStackHash,
2558}
2559
2560/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Hash_builder.Stable.V1`
2561///
2562/// Gid: `863`
2563/// Location: [src/lib/mina_base/pending_coinbase.ml:373:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L373)
2564#[derive(
2565    Clone,
2566    Debug,
2567    PartialEq,
2568    Serialize,
2569    Deserialize,
2570    BinProtRead,
2571    BinProtWrite,
2572    Deref,
2573    PartialOrd,
2574    Ord,
2575    Eq,
2576)]
2577pub struct MinaBasePendingCoinbaseHashBuilderStableV1(pub crate::bigint::BigInt);
2578
2579/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Update.Action.Stable.V1`
2580///
2581/// Gid: `866`
2582/// Location: [src/lib/mina_base/pending_coinbase.ml:407:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L407)
2583#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2584pub enum MinaBasePendingCoinbaseUpdateActionStableV1 {
2585    UpdateNone,
2586    UpdateOne,
2587    UpdateTwoCoinbaseInFirst,
2588    UpdateTwoCoinbaseInSecond,
2589}
2590
2591/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Update.Stable.V1`
2592///
2593/// Gid: `868`
2594/// Location: [src/lib/mina_base/pending_coinbase.ml:473:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L473)
2595///
2596///
2597/// Gid: `867`
2598/// Location: [src/lib/mina_base/pending_coinbase.ml:463:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L463)
2599/// Args: MinaBasePendingCoinbaseUpdateActionStableV1 , CurrencyAmountStableV1
2600#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2601pub struct MinaBasePendingCoinbaseUpdateStableV1 {
2602    pub action: MinaBasePendingCoinbaseUpdateActionStableV1,
2603    pub coinbase_amount: CurrencyAmountStableV1,
2604}
2605
2606/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Stack_versioned.Stable.V1`
2607///
2608/// Gid: `870`
2609/// Location: [src/lib/mina_base/pending_coinbase.ml:522:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L522)
2610///
2611///
2612/// Gid: `869`
2613/// Location: [src/lib/mina_base/pending_coinbase.ml:511:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L511)
2614/// Args: CoinbaseStackData , MinaBasePendingCoinbaseStateStackStableV1
2615#[derive(
2616    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2617)]
2618pub struct MinaBasePendingCoinbaseStackVersionedStableV1 {
2619    pub data: CoinbaseStackData,
2620    pub state: MinaBasePendingCoinbaseStateStackStableV1,
2621}
2622
2623/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Hash_versioned.Stable.V1`
2624///
2625/// Gid: `871`
2626/// Location: [src/lib/mina_base/pending_coinbase.ml:535:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L535)
2627#[derive(
2628    Clone,
2629    Debug,
2630    PartialEq,
2631    Serialize,
2632    Deserialize,
2633    BinProtRead,
2634    BinProtWrite,
2635    Deref,
2636    PartialOrd,
2637    Ord,
2638    Eq,
2639)]
2640pub struct MinaBasePendingCoinbaseHashVersionedStableV1(
2641    pub MinaBasePendingCoinbaseHashBuilderStableV1,
2642);
2643
2644/// **OCaml name**: `Mina_base__Pending_coinbase.Make_str.Merkle_tree_versioned.Stable.V2`
2645///
2646/// Gid: `872`
2647/// Location: [src/lib/mina_base/pending_coinbase.ml:547:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase.ml#L547)
2648///
2649///
2650/// Gid: `661`
2651/// Location: [src/lib/sparse_ledger_lib/sparse_ledger.ml:38:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/sparse_ledger_lib/sparse_ledger.ml#L38)
2652/// Args: PendingCoinbaseHash , MinaBasePendingCoinbaseStackIdStableV1 , MinaBasePendingCoinbaseStackVersionedStableV1
2653#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2654pub struct MinaBasePendingCoinbaseMerkleTreeVersionedStableV2 {
2655    pub indexes: List<(
2656        MinaBasePendingCoinbaseStackIdStableV1,
2657        crate::number::UInt64,
2658    )>,
2659    pub depth: crate::number::UInt64,
2660    pub tree: MinaBasePendingCoinbaseMerkleTreeVersionedStableV2Tree,
2661}
2662
2663/// **OCaml name**: `Mina_base__Staged_ledger_hash.Make_str.Aux_hash.Stable.V1`
2664///
2665/// Gid: `875`
2666/// Location: [src/lib/mina_base/staged_ledger_hash.ml:27:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/staged_ledger_hash.ml#L27)
2667#[derive(
2668    Clone,
2669    Debug,
2670    PartialEq,
2671    Serialize,
2672    Deserialize,
2673    BinProtRead,
2674    BinProtWrite,
2675    Deref,
2676    PartialOrd,
2677    Ord,
2678    Eq,
2679)]
2680pub struct MinaBaseStagedLedgerHashAuxHashStableV1(pub crate::string::ByteString);
2681
2682/// **OCaml name**: `Mina_base__Staged_ledger_hash.Make_str.Pending_coinbase_aux.Stable.V1`
2683///
2684/// Gid: `876`
2685/// Location: [src/lib/mina_base/staged_ledger_hash.ml:111:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/staged_ledger_hash.ml#L111)
2686#[derive(
2687    Clone,
2688    Debug,
2689    PartialEq,
2690    Serialize,
2691    Deserialize,
2692    BinProtRead,
2693    BinProtWrite,
2694    Deref,
2695    PartialOrd,
2696    Ord,
2697    Eq,
2698)]
2699pub struct MinaBaseStagedLedgerHashPendingCoinbaseAuxStableV1(pub crate::string::ByteString);
2700
2701/// **OCaml name**: `Mina_base__Staged_ledger_hash.Make_str.Non_snark.Stable.V1`
2702///
2703/// Gid: `877`
2704/// Location: [src/lib/mina_base/staged_ledger_hash.ml:154:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/staged_ledger_hash.ml#L154)
2705#[derive(
2706    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, PartialOrd, Ord, Eq,
2707)]
2708pub struct MinaBaseStagedLedgerHashNonSnarkStableV1 {
2709    pub ledger_hash: LedgerHash,
2710    pub aux_hash: StagedLedgerHashAuxHash,
2711    pub pending_coinbase_aux: StagedLedgerHashPendingCoinbaseAux,
2712}
2713
2714/// **OCaml name**: `Mina_base__Staged_ledger_hash.Make_str.Stable.V1`
2715///
2716/// Gid: `879`
2717/// Location: [src/lib/mina_base/staged_ledger_hash.ml:261:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/staged_ledger_hash.ml#L261)
2718///
2719///
2720/// Gid: `878`
2721/// Location: [src/lib/mina_base/staged_ledger_hash.ml:243:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/staged_ledger_hash.ml#L243)
2722/// Args: MinaBaseStagedLedgerHashNonSnarkStableV1 , PendingCoinbaseHash
2723#[derive(
2724    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, PartialOrd, Ord, Eq,
2725)]
2726pub struct MinaBaseStagedLedgerHashStableV1 {
2727    pub non_snark: MinaBaseStagedLedgerHashNonSnarkStableV1,
2728    pub pending_coinbase_hash: PendingCoinbaseHash,
2729}
2730
2731/// **OCaml name**: `Mina_base__Stack_frame.Make_str.Stable.V1`
2732///
2733/// Gid: `881`
2734/// Location: [src/lib/mina_base/stack_frame.ml:64:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/stack_frame.ml#L64)
2735#[derive(
2736    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
2737)]
2738pub struct MinaBaseStackFrameStableV1(pub crate::bigint::BigInt);
2739
2740/// **OCaml name**: `Mina_base__Sok_message.Make_str.Stable.V1`
2741///
2742/// Gid: `883`
2743/// Location: [src/lib/mina_base/sok_message.ml:14:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/sok_message.ml#L14)
2744#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2745pub struct MinaBaseSokMessageStableV1 {
2746    pub fee: CurrencyFeeStableV1,
2747    pub prover: NonZeroCurvePoint,
2748}
2749
2750/// **OCaml name**: `Mina_base__Protocol_constants_checked.Value.Stable.V1`
2751///
2752/// Gid: `884`
2753/// Location: [src/lib/mina_base/protocol_constants_checked.ml:22:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/protocol_constants_checked.ml#L22)
2754///
2755///
2756/// Gid: `657`
2757/// Location: [src/lib/genesis_constants/genesis_constants.ml:240:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/genesis_constants/genesis_constants.ml#L240)
2758/// Args: UnsignedExtendedUInt32StableV1 , UnsignedExtendedUInt32StableV1 , BlockTimeTimeStableV1
2759#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2760pub struct MinaBaseProtocolConstantsCheckedValueStableV1 {
2761    pub k: UnsignedExtendedUInt32StableV1,
2762    pub slots_per_epoch: UnsignedExtendedUInt32StableV1,
2763    pub slots_per_sub_window: UnsignedExtendedUInt32StableV1,
2764    pub grace_period_slots: UnsignedExtendedUInt32StableV1,
2765    pub delta: UnsignedExtendedUInt32StableV1,
2766    pub genesis_state_timestamp: BlockTimeTimeStableV1,
2767}
2768
2769/// **OCaml name**: `Mina_base__Proof.Stable.V2`
2770///
2771/// Gid: `885`
2772/// Location: [src/lib/mina_base/proof.ml:12:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/proof.ml#L12)
2773#[derive(
2774    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
2775)]
2776pub struct MinaBaseProofStableV2(pub PicklesProofProofsVerified2ReprStableV2);
2777
2778/// **OCaml name**: `Mina_base__Pending_coinbase_witness.Stable.V2`
2779///
2780/// Gid: `886`
2781/// Location: [src/lib/mina_base/pending_coinbase_witness.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/pending_coinbase_witness.ml#L6)
2782#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2783pub struct MinaBasePendingCoinbaseWitnessStableV2 {
2784    pub pending_coinbases: MinaBasePendingCoinbaseStableV2,
2785    pub is_new_stack: bool,
2786}
2787
2788/// **OCaml name**: `Mina_base__Call_stack_digest.Make_str.Stable.V1`
2789///
2790/// Gid: `887`
2791/// Location: [src/lib/mina_base/call_stack_digest.ml:12:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/call_stack_digest.ml#L12)
2792#[derive(
2793    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
2794)]
2795pub struct MinaBaseCallStackDigestStableV1(pub crate::bigint::BigInt);
2796
2797/// **OCaml name**: `Mina_base__Fee_with_prover.Stable.V1`
2798///
2799/// Gid: `888`
2800/// Location: [src/lib/mina_base/fee_with_prover.ml:7:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/fee_with_prover.ml#L7)
2801#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2802pub struct MinaBaseFeeWithProverStableV1 {
2803    pub fee: CurrencyFeeStableV1,
2804    pub prover: NonZeroCurvePoint,
2805}
2806
2807/// **OCaml name**: `Network_peer__Peer.Id.Stable.V1`
2808///
2809/// Gid: `889`
2810/// Location: [src/lib/network_peer/peer.ml:10:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/network_peer/peer.ml#L10)
2811#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
2812pub struct NetworkPeerPeerIdStableV1(pub crate::string::ByteString);
2813
2814/// **OCaml name**: `Mina_transaction__Transaction.Stable.V2`
2815///
2816/// Gid: `896`
2817/// Location: [src/lib/transaction/transaction.ml:46:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction/transaction.ml#L46)
2818///
2819///
2820/// Gid: `894`
2821/// Location: [src/lib/transaction/transaction.ml:8:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction/transaction.ml#L8)
2822/// Args: MinaBaseUserCommandStableV2
2823#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2824pub enum MinaTransactionTransactionStableV2 {
2825    Command(Box<MinaBaseUserCommandStableV2>),
2826    FeeTransfer(MinaBaseFeeTransferStableV2),
2827    Coinbase(MinaBaseCoinbaseStableV1),
2828}
2829
2830/// **OCaml name**: `Mina_transaction_logic__Zkapp_command_logic.Local_state.Value.Stable.V1`
2831///
2832/// Gid: `906`
2833/// Location: [src/lib/transaction_logic/zkapp_command_logic.ml:255:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/zkapp_command_logic.ml#L255)
2834///
2835///
2836/// Gid: `905`
2837/// Location: [src/lib/transaction_logic/zkapp_command_logic.ml:196:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/zkapp_command_logic.ml#L196)
2838/// Args: MinaBaseStackFrameStableV1 , MinaBaseCallStackDigestStableV1 , SignedAmount , LedgerHash , bool , crate :: bigint :: BigInt , UnsignedExtendedUInt32StableV1 , MinaBaseTransactionStatusFailureCollectionStableV1
2839#[derive(
2840    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
2841)]
2842pub struct MinaTransactionLogicZkappCommandLogicLocalStateValueStableV1 {
2843    pub stack_frame: MinaBaseStackFrameStableV1,
2844    pub call_stack: MinaBaseCallStackDigestStableV1,
2845    pub transaction_commitment: crate::bigint::BigInt,
2846    pub full_transaction_commitment: crate::bigint::BigInt,
2847    pub excess: SignedAmount,
2848    pub supply_increase: SignedAmount,
2849    pub ledger: LedgerHash,
2850    pub success: bool,
2851    #[ignore_malloc_size_of = "primitive"]
2852    pub account_update_index: UnsignedExtendedUInt32StableV1,
2853    pub failure_status_tbl: MinaBaseTransactionStatusFailureCollectionStableV1,
2854    pub will_succeed: bool,
2855}
2856
2857/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Signed_command_applied.Common.Stable.V2`
2858///
2859/// Gid: `908`
2860/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:17:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L17)
2861#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2862pub struct MinaTransactionLogicTransactionAppliedSignedCommandAppliedCommonStableV2 {
2863    pub user_command:
2864        MinaTransactionLogicTransactionAppliedSignedCommandAppliedCommonStableV2UserCommand,
2865}
2866
2867/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Signed_command_applied.Body.Stable.V2`
2868///
2869/// Gid: `909`
2870/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:31:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L31)
2871#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2872pub enum MinaTransactionLogicTransactionAppliedSignedCommandAppliedBodyStableV2 {
2873    Payment {
2874        new_accounts: List<MinaBaseAccountIdStableV2>,
2875    },
2876    StakeDelegation {
2877        previous_delegate: Option<NonZeroCurvePoint>,
2878    },
2879    Failed,
2880}
2881
2882/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Signed_command_applied.Stable.V2`
2883///
2884/// Gid: `910`
2885/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:46:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L46)
2886#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2887pub struct MinaTransactionLogicTransactionAppliedSignedCommandAppliedStableV2 {
2888    pub common: MinaTransactionLogicTransactionAppliedSignedCommandAppliedCommonStableV2,
2889    pub body: MinaTransactionLogicTransactionAppliedSignedCommandAppliedBodyStableV2,
2890}
2891
2892/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Zkapp_command_applied.Stable.V1`
2893///
2894/// Gid: `911`
2895/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:65:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L65)
2896#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2897pub struct MinaTransactionLogicTransactionAppliedZkappCommandAppliedStableV1 {
2898    pub accounts: List<(
2899        MinaBaseAccountIdStableV2,
2900        Option<MinaBaseAccountBinableArgStableV2>,
2901    )>,
2902    pub command: MinaTransactionLogicTransactionAppliedZkappCommandAppliedStableV1Command,
2903    pub new_accounts: List<MinaBaseAccountIdStableV2>,
2904}
2905
2906/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Command_applied.Stable.V2`
2907///
2908/// Gid: `912`
2909/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:82:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L82)
2910#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2911pub enum MinaTransactionLogicTransactionAppliedCommandAppliedStableV2 {
2912    SignedCommand(MinaTransactionLogicTransactionAppliedSignedCommandAppliedStableV2),
2913    ZkappCommand(MinaTransactionLogicTransactionAppliedZkappCommandAppliedStableV1),
2914}
2915
2916/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Fee_transfer_applied.Stable.V2`
2917///
2918/// Gid: `913`
2919/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:96:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L96)
2920#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2921pub struct MinaTransactionLogicTransactionAppliedFeeTransferAppliedStableV2 {
2922    pub fee_transfer: MinaTransactionLogicTransactionAppliedFeeTransferAppliedStableV2FeeTransfer,
2923    pub new_accounts: List<MinaBaseAccountIdStableV2>,
2924    pub burned_tokens: CurrencyAmountStableV1,
2925}
2926
2927/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Coinbase_applied.Stable.V2`
2928///
2929/// Gid: `914`
2930/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:112:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L112)
2931#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2932pub struct MinaTransactionLogicTransactionAppliedCoinbaseAppliedStableV2 {
2933    pub coinbase: MinaTransactionLogicTransactionAppliedCoinbaseAppliedStableV2Coinbase,
2934    pub new_accounts: List<MinaBaseAccountIdStableV2>,
2935    pub burned_tokens: CurrencyAmountStableV1,
2936}
2937
2938/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Varying.Stable.V2`
2939///
2940/// Gid: `915`
2941/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:128:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L128)
2942#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2943pub enum MinaTransactionLogicTransactionAppliedVaryingStableV2 {
2944    Command(MinaTransactionLogicTransactionAppliedCommandAppliedStableV2),
2945    FeeTransfer(MinaTransactionLogicTransactionAppliedFeeTransferAppliedStableV2),
2946    Coinbase(MinaTransactionLogicTransactionAppliedCoinbaseAppliedStableV2),
2947}
2948
2949/// **OCaml name**: `Mina_transaction_logic.Transaction_applied.Stable.V2`
2950///
2951/// Gid: `916`
2952/// Location: [src/lib/transaction_logic/mina_transaction_logic.ml:142:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_logic/mina_transaction_logic.ml#L142)
2953#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2954pub struct MinaTransactionLogicTransactionAppliedStableV2 {
2955    pub previous_hash: LedgerHash,
2956    pub varying: MinaTransactionLogicTransactionAppliedVaryingStableV2,
2957}
2958
2959/// **OCaml name**: `Merkle_address.Binable_arg.Stable.V1`
2960///
2961/// Gid: `917`
2962/// Location: [src/lib/merkle_address/merkle_address.ml:48:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/merkle_address/merkle_address.ml#L48)
2963#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2964pub struct MerkleAddressBinableArgStableV1(
2965    pub crate::number::UInt64,
2966    pub crate::string::ByteString,
2967);
2968
2969/// **OCaml name**: `Trust_system__Banned_status.Stable.V1`
2970///
2971/// Gid: `924`
2972/// Location: [src/lib/trust_system/banned_status.ml:6:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/trust_system/banned_status.ml#L6)
2973#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2974pub enum TrustSystemBannedStatusStableV1 {
2975    Unbanned,
2976    BannedUntil(crate::number::Float64),
2977}
2978
2979/// **OCaml name**: `Consensus_vrf.Output.Truncated.Stable.V1`
2980///
2981/// Gid: `941`
2982/// Location: [src/lib/consensus/vrf/consensus_vrf.ml:168:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/vrf/consensus_vrf.ml#L168)
2983#[derive(Clone, Debug, PartialEq, BinProtRead, BinProtWrite, Deref, MallocSizeOf)]
2984pub struct ConsensusVrfOutputTruncatedStableV1(pub crate::string::ByteString);
2985
2986/// **OCaml name**: `Consensus__Stake_proof.Stable.V2`
2987///
2988/// Gid: `951`
2989/// Location: [src/lib/consensus/stake_proof.ml:10:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/stake_proof.ml#L10)
2990#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
2991pub struct ConsensusStakeProofStableV2 {
2992    pub delegator: MinaBaseAccountIndexStableV1,
2993    pub delegator_pk: NonZeroCurvePoint,
2994    pub coinbase_receiver_pk: NonZeroCurvePoint,
2995    pub ledger: MinaBaseSparseLedgerBaseStableV2,
2996    pub producer_private_key: SignatureLibPrivateKeyStableV1,
2997    pub producer_public_key: NonZeroCurvePoint,
2998}
2999
3000/// **OCaml name**: `Consensus__Body_reference.Stable.V1`
3001///
3002/// Gid: `959`
3003/// Location: [src/lib/consensus/body_reference.ml:17:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/body_reference.ml#L17)
3004#[derive(Clone, Debug, PartialEq, BinProtRead, BinProtWrite, Deref, MallocSizeOf)]
3005pub struct ConsensusBodyReferenceStableV1(pub crate::string::ByteString);
3006
3007/// **OCaml name**: `Consensus__Global_slot.Make_str.Stable.V1`
3008///
3009/// Gid: `966`
3010/// Location: [src/lib/consensus/global_slot.ml:33:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/global_slot.ml#L33)
3011///
3012///
3013/// Gid: `965`
3014/// Location: [src/lib/consensus/global_slot.ml:22:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/global_slot.ml#L22)
3015/// Args: MinaNumbersGlobalSlotSinceHardForkMStableV1 , UnsignedExtendedUInt32StableV1
3016#[derive(
3017    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3018)]
3019pub struct ConsensusGlobalSlotStableV1 {
3020    pub slot_number: MinaNumbersGlobalSlotSinceHardForkMStableV1,
3021    pub slots_per_epoch: UnsignedExtendedUInt32StableV1,
3022}
3023
3024/// **OCaml name**: `Consensus__Proof_of_stake.Make_str.Data.Epoch_data.Staking_value_versioned.Value.Stable.V1`
3025///
3026/// Gid: `981`
3027/// Location: [src/lib/consensus/proof_of_stake.ml:1072:14](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/proof_of_stake.ml#L1072)
3028///
3029///
3030/// Gid: `788`
3031/// Location: [src/lib/mina_base/epoch_data.ml:8:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/epoch_data.ml#L8)
3032/// Args: MinaBaseEpochLedgerValueStableV1 , EpochSeed , StateHash , StateHash , UnsignedExtendedUInt32StableV1
3033#[derive(
3034    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3035)]
3036pub struct ConsensusProofOfStakeDataEpochDataStakingValueVersionedValueStableV1 {
3037    pub ledger: MinaBaseEpochLedgerValueStableV1,
3038    pub seed: EpochSeed,
3039    pub start_checkpoint: StateHash,
3040    pub lock_checkpoint: StateHash,
3041    pub epoch_length: UnsignedExtendedUInt32StableV1,
3042}
3043
3044/// **OCaml name**: `Consensus__Proof_of_stake.Make_str.Data.Epoch_data.Next_value_versioned.Value.Stable.V1`
3045///
3046/// Gid: `982`
3047/// Location: [src/lib/consensus/proof_of_stake.ml:1097:14](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/consensus/proof_of_stake.ml#L1097)
3048///
3049///
3050/// Gid: `788`
3051/// Location: [src/lib/mina_base/epoch_data.ml:8:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_base/epoch_data.ml#L8)
3052/// Args: MinaBaseEpochLedgerValueStableV1 , EpochSeed , StateHash , StateHash , UnsignedExtendedUInt32StableV1
3053#[derive(
3054    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3055)]
3056pub struct ConsensusProofOfStakeDataEpochDataNextValueVersionedValueStableV1 {
3057    pub ledger: MinaBaseEpochLedgerValueStableV1,
3058    pub seed: EpochSeed,
3059    pub start_checkpoint: StateHash,
3060    pub lock_checkpoint: StateHash,
3061    pub epoch_length: UnsignedExtendedUInt32StableV1,
3062}
3063
3064/// Derived name: `Mina_state__Blockchain_state.Value.Stable.V2.ledger_proof_statement.source`
3065///
3066/// Gid: `985`
3067/// Location: [src/lib/mina_state/registers.ml:8:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/registers.ml#L8)
3068/// Args: LedgerHash , MinaBasePendingCoinbaseStackVersionedStableV1 , MinaTransactionLogicZkappCommandLogicLocalStateValueStableV1
3069#[derive(
3070    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3071)]
3072pub struct MinaStateBlockchainStateValueStableV2LedgerProofStatementSource {
3073    pub first_pass_ledger: LedgerHash,
3074    pub second_pass_ledger: LedgerHash,
3075    pub pending_coinbase_stack: MinaBasePendingCoinbaseStackVersionedStableV1,
3076    pub local_state: MinaTransactionLogicZkappCommandLogicLocalStateValueStableV1,
3077}
3078
3079/// **OCaml name**: `Mina_state__Snarked_ledger_state.Make_str.Pending_coinbase_stack_state.Init_stack.Stable.V1`
3080///
3081/// Gid: `986`
3082/// Location: [src/lib/mina_state/snarked_ledger_state.ml:38:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/snarked_ledger_state.ml#L38)
3083#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3084pub enum MinaStateSnarkedLedgerStatePendingCoinbaseStackStateInitStackStableV1 {
3085    Base(MinaBasePendingCoinbaseStackVersionedStableV1),
3086    Merge,
3087}
3088
3089/// Derived name: `Mina_state__Blockchain_state.Value.Stable.V2.ledger_proof_statement`
3090///
3091/// Gid: `991`
3092/// Location: [src/lib/mina_state/snarked_ledger_state.ml:107:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/snarked_ledger_state.ml#L107)
3093/// Args: LedgerHash , MinaStateBlockchainStateValueStableV2SignedAmount , MinaBasePendingCoinbaseStackVersionedStableV1 , MinaBaseFeeExcessStableV1 , () , MinaTransactionLogicZkappCommandLogicLocalStateValueStableV1
3094#[derive(
3095    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3096)]
3097pub struct MinaStateBlockchainStateValueStableV2LedgerProofStatement {
3098    pub source: MinaStateBlockchainStateValueStableV2LedgerProofStatementSource,
3099    pub target: MinaStateBlockchainStateValueStableV2LedgerProofStatementSource,
3100    pub connecting_ledger_left: LedgerHash,
3101    pub connecting_ledger_right: LedgerHash,
3102    #[ignore_malloc_size_of = "primitive"]
3103    pub supply_increase: MinaStateBlockchainStateValueStableV2SignedAmount,
3104    #[ignore_malloc_size_of = "primitive"]
3105    pub fee_excess: MinaBaseFeeExcessStableV1,
3106    #[serde(deserialize_with = "always_unit")]
3107    pub sok_digest: (),
3108}
3109
3110/// **OCaml name**: `Mina_state__Snarked_ledger_state.Make_str.Stable.V2`
3111///
3112/// Gid: `992`
3113/// Location: [src/lib/mina_state/snarked_ledger_state.ml:191:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/snarked_ledger_state.ml#L191)
3114#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
3115pub struct MinaStateSnarkedLedgerStateStableV2(
3116    pub MinaStateBlockchainStateValueStableV2LedgerProofStatement,
3117);
3118
3119/// **OCaml name**: `Mina_state__Snarked_ledger_state.Make_str.With_sok.Stable.V2`
3120///
3121/// Gid: `993`
3122/// Location: [src/lib/mina_state/snarked_ledger_state.ml:345:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/snarked_ledger_state.ml#L345)
3123///
3124///
3125/// Gid: `991`
3126/// Location: [src/lib/mina_state/snarked_ledger_state.ml:107:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/snarked_ledger_state.ml#L107)
3127/// Args: LedgerHash , MinaStateBlockchainStateValueStableV2SignedAmount , MinaBasePendingCoinbaseStackVersionedStableV1 , MinaBaseFeeExcessStableV1 , crate :: string :: ByteString , MinaTransactionLogicZkappCommandLogicLocalStateValueStableV1
3128#[derive(
3129    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3130)]
3131pub struct MinaStateSnarkedLedgerStateWithSokStableV2 {
3132    pub source: MinaStateBlockchainStateValueStableV2LedgerProofStatementSource,
3133    pub target: MinaStateBlockchainStateValueStableV2LedgerProofStatementSource,
3134    pub connecting_ledger_left: LedgerHash,
3135    pub connecting_ledger_right: LedgerHash,
3136    #[ignore_malloc_size_of = "primitive"]
3137    pub supply_increase: MinaStateBlockchainStateValueStableV2SignedAmount,
3138    #[ignore_malloc_size_of = "primitive"]
3139    pub fee_excess: MinaBaseFeeExcessStableV1,
3140    pub sok_digest: crate::string::ByteString,
3141}
3142
3143/// **OCaml name**: `Mina_state__Blockchain_state.Value.Stable.V2`
3144///
3145/// Gid: `997`
3146/// Location: [src/lib/mina_state/blockchain_state.ml:68:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/blockchain_state.ml#L68)
3147///
3148///
3149/// Gid: `996`
3150/// Location: [src/lib/mina_state/blockchain_state.ml:10:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/blockchain_state.ml#L10)
3151/// Args: MinaBaseStagedLedgerHashStableV1 , LedgerHash , MinaTransactionLogicZkappCommandLogicLocalStateValueStableV1 , BlockTimeTimeStableV1 , ConsensusBodyReferenceStableV1 , MinaStateBlockchainStateValueStableV2SignedAmount , MinaBasePendingCoinbaseStackVersionedStableV1 , MinaBaseFeeExcessStableV1 , ()
3152#[derive(
3153    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3154)]
3155pub struct MinaStateBlockchainStateValueStableV2 {
3156    #[ignore_malloc_size_of = "primitive"]
3157    pub staged_ledger_hash: MinaBaseStagedLedgerHashStableV1,
3158    pub genesis_ledger_hash: LedgerHash,
3159    pub ledger_proof_statement: MinaStateBlockchainStateValueStableV2LedgerProofStatement,
3160    #[ignore_malloc_size_of = "primitive"]
3161    pub timestamp: BlockTimeTimeStableV1,
3162    pub body_reference: ConsensusBodyReferenceStableV1,
3163}
3164
3165/// **OCaml name**: `Mina_state__Snark_transition.Value.Stable.V2`
3166///
3167/// Gid: `999`
3168/// Location: [src/lib/mina_state/snark_transition.ml:25:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/snark_transition.ml#L25)
3169///
3170///
3171/// Gid: `998`
3172/// Location: [src/lib/mina_state/snark_transition.ml:8:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/snark_transition.ml#L8)
3173/// Args: MinaStateBlockchainStateValueStableV2 , MinaNumbersGlobalSlotSinceHardForkMStableV1 , MinaBasePendingCoinbaseUpdateStableV1
3174#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3175pub struct MinaStateSnarkTransitionValueStableV2 {
3176    pub blockchain_state: MinaStateBlockchainStateValueStableV2,
3177    pub consensus_transition: MinaNumbersGlobalSlotSinceHardForkMStableV1,
3178    pub pending_coinbase_update: MinaBasePendingCoinbaseUpdateStableV1,
3179}
3180
3181/// **OCaml name**: `Mina_state__Protocol_state.Make_str.Body.Value.Stable.V2`
3182///
3183/// Gid: `1003`
3184/// Location: [src/lib/mina_state/protocol_state.ml:82:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/protocol_state.ml#L82)
3185///
3186///
3187/// Gid: `1001`
3188/// Location: [src/lib/mina_state/protocol_state.ml:62:10](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_state/protocol_state.ml#L62)
3189/// Args: StateHash , MinaStateBlockchainStateValueStableV2 , ConsensusProofOfStakeDataConsensusStateValueStableV2 , MinaBaseProtocolConstantsCheckedValueStableV1
3190#[derive(
3191    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3192)]
3193pub struct MinaStateProtocolStateBodyValueStableV2 {
3194    pub genesis_state_hash: StateHash,
3195    pub blockchain_state: MinaStateBlockchainStateValueStableV2,
3196    pub consensus_state: ConsensusProofOfStakeDataConsensusStateValueStableV2,
3197    #[ignore_malloc_size_of = "primitive"]
3198    pub constants: MinaBaseProtocolConstantsCheckedValueStableV1,
3199}
3200
3201/// **OCaml name**: `Transaction_snark.Make_str.Proof.Stable.V2`
3202///
3203/// Gid: `1011`
3204/// Location: [src/lib/transaction_snark/transaction_snark.ml:69:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_snark/transaction_snark.ml#L69)
3205#[derive(Clone, Debug, PartialEq, BinProtRead, BinProtWrite, Deref, MallocSizeOf)]
3206pub struct TransactionSnarkProofStableV2(pub PicklesProofProofsVerified2ReprStableV2);
3207
3208/// **OCaml name**: `Transaction_snark.Make_str.Stable.V2`
3209///
3210/// Gid: `1012`
3211/// Location: [src/lib/transaction_snark/transaction_snark.ml:80:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_snark/transaction_snark.ml#L80)
3212#[derive(
3213    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3214)]
3215pub struct TransactionSnarkStableV2 {
3216    pub statement: MinaStateSnarkedLedgerStateWithSokStableV2,
3217    pub proof: TransactionSnarkProofStableV2,
3218}
3219
3220/// **OCaml name**: `Ledger_proof.Prod.Stable.V2`
3221///
3222/// Gid: `1014`
3223/// Location: [src/lib/ledger_proof/ledger_proof.ml:10:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/ledger_proof/ledger_proof.ml#L10)
3224#[derive(
3225    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref, MallocSizeOf,
3226)]
3227pub struct LedgerProofProdStableV2(pub TransactionSnarkStableV2);
3228
3229/// **OCaml name**: `Transaction_snark_work.Statement.Stable.V2`
3230///
3231/// Gid: `1016`
3232/// Location: [src/lib/transaction_snark_work/transaction_snark_work.ml:23:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_snark_work/transaction_snark_work.ml#L23)
3233///
3234///
3235/// Gid: `508`
3236/// Location: [src/lib/one_or_two/one_or_two.ml:7:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/one_or_two/one_or_two.ml#L7)
3237/// Args: MinaStateSnarkedLedgerStateStableV2
3238#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3239#[polymorphic_variant]
3240pub enum TransactionSnarkWorkStatementStableV2 {
3241    #[allow(non_camel_case_types)]
3242    One(MinaStateSnarkedLedgerStateStableV2),
3243    #[allow(non_camel_case_types)]
3244    Two(
3245        (
3246            MinaStateSnarkedLedgerStateStableV2,
3247            MinaStateSnarkedLedgerStateStableV2,
3248        ),
3249    ),
3250}
3251
3252/// **OCaml name**: `Transaction_snark_work.T.Stable.V2`
3253///
3254/// Gid: `1024`
3255/// Location: [src/lib/transaction_snark_work/transaction_snark_work.ml:83:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_snark_work/transaction_snark_work.ml#L83)
3256#[derive(
3257    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3258)]
3259pub struct TransactionSnarkWorkTStableV2 {
3260    pub fee: CurrencyFeeStableV1,
3261    pub proofs: TransactionSnarkWorkTStableV2Proofs,
3262    pub prover: NonZeroCurvePoint,
3263}
3264
3265/// Derived name: `Staged_ledger_diff__Diff.Make_str.Pre_diff_with_at_most_two_coinbase.Stable.V2.coinbase`
3266///
3267/// Gid: `1025`
3268/// Location: [src/lib/staged_ledger_diff/diff.ml:28:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L28)
3269/// Args: StagedLedgerDiffDiffFtStableV1
3270#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite)]
3271pub enum StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2Coinbase {
3272    Zero,
3273    One(Option<StagedLedgerDiffDiffFtStableV1>),
3274    Two(
3275        Option<(
3276            StagedLedgerDiffDiffFtStableV1,
3277            Option<StagedLedgerDiffDiffFtStableV1>,
3278        )>,
3279    ),
3280}
3281
3282/// Derived name: `Staged_ledger_diff__Diff.Make_str.Pre_diff_with_at_most_one_coinbase.Stable.V2.coinbase`
3283///
3284/// Gid: `1026`
3285/// Location: [src/lib/staged_ledger_diff/diff.ml:64:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L64)
3286/// Args: StagedLedgerDiffDiffFtStableV1
3287#[derive(Clone, Debug, PartialEq, SerdeYojsonEnum, BinProtRead, BinProtWrite)]
3288pub enum StagedLedgerDiffDiffPreDiffWithAtMostOneCoinbaseStableV2Coinbase {
3289    Zero,
3290    One(Option<StagedLedgerDiffDiffFtStableV1>),
3291}
3292
3293/// **OCaml name**: `Staged_ledger_diff__Diff.Make_str.Ft.Stable.V1`
3294///
3295/// Gid: `1027`
3296/// Location: [src/lib/staged_ledger_diff/diff.ml:88:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L88)
3297#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
3298pub struct StagedLedgerDiffDiffFtStableV1(pub MinaBaseCoinbaseFeeTransferStableV1);
3299
3300/// **OCaml name**: `Staged_ledger_diff__Diff.Make_str.Pre_diff_with_at_most_two_coinbase.Stable.V2`
3301///
3302/// Gid: `1030`
3303/// Location: [src/lib/staged_ledger_diff/diff.ml:168:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L168)
3304///
3305///
3306/// Gid: `1028`
3307/// Location: [src/lib/staged_ledger_diff/diff.ml:104:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L104)
3308/// Args: TransactionSnarkWorkTStableV2 , StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2B
3309#[derive(
3310    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3311)]
3312pub struct StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2 {
3313    pub completed_works: List<TransactionSnarkWorkTStableV2>,
3314    pub commands: List<StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2B>,
3315    #[ignore_malloc_size_of = "primitive"]
3316    pub coinbase: StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2Coinbase,
3317    pub internal_command_statuses: List<MinaBaseTransactionStatusStableV2>,
3318}
3319
3320/// **OCaml name**: `Staged_ledger_diff__Diff.Make_str.Pre_diff_with_at_most_one_coinbase.Stable.V2`
3321///
3322/// Gid: `1031`
3323/// Location: [src/lib/staged_ledger_diff/diff.ml:187:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L187)
3324///
3325///
3326/// Gid: `1029`
3327/// Location: [src/lib/staged_ledger_diff/diff.ml:136:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L136)
3328/// Args: TransactionSnarkWorkTStableV2 , StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2B
3329#[derive(
3330    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3331)]
3332pub struct StagedLedgerDiffDiffPreDiffWithAtMostOneCoinbaseStableV2 {
3333    pub completed_works: List<TransactionSnarkWorkTStableV2>,
3334    pub commands: List<StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2B>,
3335    #[ignore_malloc_size_of = "primitive"]
3336    pub coinbase: StagedLedgerDiffDiffPreDiffWithAtMostOneCoinbaseStableV2Coinbase,
3337    pub internal_command_statuses: List<MinaBaseTransactionStatusStableV2>,
3338}
3339
3340/// **OCaml name**: `Staged_ledger_diff__Diff.Make_str.Diff.Stable.V2`
3341///
3342/// Gid: `1032`
3343/// Location: [src/lib/staged_ledger_diff/diff.ml:206:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L206)
3344#[derive(
3345    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3346)]
3347pub struct StagedLedgerDiffDiffDiffStableV2(
3348    pub StagedLedgerDiffDiffPreDiffWithAtMostTwoCoinbaseStableV2,
3349    pub Option<StagedLedgerDiffDiffPreDiffWithAtMostOneCoinbaseStableV2>,
3350);
3351
3352/// **OCaml name**: `Staged_ledger_diff__Diff.Make_str.Stable.V2`
3353///
3354/// Gid: `1033`
3355/// Location: [src/lib/staged_ledger_diff/diff.ml:223:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/diff.ml#L223)
3356#[derive(
3357    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3358)]
3359pub struct StagedLedgerDiffDiffStableV2 {
3360    pub diff: StagedLedgerDiffDiffDiffStableV2,
3361}
3362
3363/// **OCaml name**: `Staged_ledger_diff__Body.Make_str.Stable.V1`
3364///
3365/// Gid: `1034`
3366/// Location: [src/lib/staged_ledger_diff/body.ml:18:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/staged_ledger_diff/body.ml#L18)
3367#[derive(
3368    Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, MallocSizeOf,
3369)]
3370pub struct StagedLedgerDiffBodyStableV1 {
3371    pub staged_ledger_diff: StagedLedgerDiffDiffStableV2,
3372}
3373
3374/// Derived name: `Snark_worker.Worker.Rpcs_versioned.Get_work.V2.T.response.a.0.single`
3375///
3376/// Gid: `1038`
3377/// Location: [src/lib/snark_work_lib/work.ml:12:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/snark_work_lib/work.ml#L12)
3378/// Args: TransactionWitnessStableV2 , LedgerProofProdStableV2
3379#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3380pub enum SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Single {
3381    Transition(
3382        MinaStateSnarkedLedgerStateStableV2,
3383        TransactionWitnessStableV2,
3384    ),
3385    Merge(
3386        Box<(
3387            MinaStateSnarkedLedgerStateStableV2,
3388            LedgerProofProdStableV2,
3389            LedgerProofProdStableV2,
3390        )>,
3391    ),
3392}
3393
3394/// Derived name: `Snark_worker.Worker.Rpcs_versioned.Get_work.V2.T.response.a.0`
3395///
3396/// Gid: `1039`
3397/// Location: [src/lib/snark_work_lib/work.ml:61:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/snark_work_lib/work.ml#L61)
3398/// Args: SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Single
3399#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3400pub struct SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0 {
3401    pub instances: SnarkWorkerWorkerRpcsVersionedGetWorkV2TResponseA0Instances,
3402    pub fee: CurrencyFeeStableV1,
3403}
3404
3405/// **OCaml name**: `Parallel_scan.Sequence_number.Stable.V1`
3406///
3407/// Gid: `1041`
3408/// Location: [src/lib/parallel_scan/parallel_scan.ml:22:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L22)
3409///
3410///
3411/// Gid: `163`
3412/// Location: [src/std_internal.ml:119:2](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/std_internal.ml#L119)
3413///
3414///
3415/// Gid: `113`
3416/// Location: [src/int.ml:19:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/int.ml#L19)
3417#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite, Deref)]
3418pub struct ParallelScanSequenceNumberStableV1(pub crate::number::UInt64);
3419
3420/// **OCaml name**: `Parallel_scan.Job_status.Stable.V1`
3421///
3422/// Gid: `1042`
3423/// Location: [src/lib/parallel_scan/parallel_scan.ml:35:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L35)
3424#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3425pub enum ParallelScanJobStatusStableV1 {
3426    Todo,
3427    Done,
3428}
3429
3430/// **OCaml name**: `Parallel_scan.Weight.Stable.V1`
3431///
3432/// Gid: `1043`
3433/// Location: [src/lib/parallel_scan/parallel_scan.ml:53:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L53)
3434#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3435pub struct ParallelScanWeightStableV1 {
3436    pub base: crate::number::UInt64,
3437    pub merge: crate::number::UInt64,
3438}
3439
3440/// Derived name: `Transaction_snark_scan_state.Stable.V2.scan_state.trees.a.base_t.1.Full`
3441///
3442/// Gid: `1044`
3443/// Location: [src/lib/parallel_scan/parallel_scan.ml:68:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L68)
3444/// Args: TransactionSnarkScanStateTransactionWithWitnessStableV2
3445#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3446pub struct TransactionSnarkScanStateStableV2ScanStateTreesABaseT1Full {
3447    pub job: TransactionSnarkScanStateTransactionWithWitnessStableV2,
3448    pub seq_no: ParallelScanSequenceNumberStableV1,
3449    pub status: ParallelScanJobStatusStableV1,
3450}
3451
3452/// Derived name: `Transaction_snark_scan_state.Stable.V2.scan_state.trees.a.base_t.1`
3453///
3454/// Gid: `1045`
3455/// Location: [src/lib/parallel_scan/parallel_scan.ml:84:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L84)
3456/// Args: TransactionSnarkScanStateTransactionWithWitnessStableV2
3457#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3458pub enum TransactionSnarkScanStateStableV2ScanStateTreesABaseT1 {
3459    Empty,
3460    Full(Box<TransactionSnarkScanStateStableV2ScanStateTreesABaseT1Full>),
3461}
3462
3463/// Derived name: `Transaction_snark_scan_state.Stable.V2.scan_state.trees.a.merge_t.1.Full`
3464///
3465/// Gid: `1047`
3466/// Location: [src/lib/parallel_scan/parallel_scan.ml:112:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L112)
3467/// Args: TransactionSnarkScanStateLedgerProofWithSokMessageStableV2
3468#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3469pub struct TransactionSnarkScanStateStableV2ScanStateTreesAMergeT1Full {
3470    pub left: TransactionSnarkScanStateLedgerProofWithSokMessageStableV2,
3471    pub right: TransactionSnarkScanStateLedgerProofWithSokMessageStableV2,
3472    pub seq_no: ParallelScanSequenceNumberStableV1,
3473    pub status: ParallelScanJobStatusStableV1,
3474}
3475
3476/// Derived name: `Transaction_snark_scan_state.Stable.V2.scan_state.trees.a.merge_t.1`
3477///
3478/// Gid: `1048`
3479/// Location: [src/lib/parallel_scan/parallel_scan.ml:130:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L130)
3480/// Args: TransactionSnarkScanStateLedgerProofWithSokMessageStableV2
3481#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3482pub enum TransactionSnarkScanStateStableV2ScanStateTreesAMergeT1 {
3483    Empty,
3484    Part(Box<TransactionSnarkScanStateLedgerProofWithSokMessageStableV2>),
3485    Full(Box<TransactionSnarkScanStateStableV2ScanStateTreesAMergeT1Full>),
3486}
3487
3488/// Derived name: `Transaction_snark_scan_state.Stable.V2.scan_state`
3489///
3490/// Gid: `1055`
3491/// Location: [src/lib/parallel_scan/parallel_scan.ml:803:8](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/parallel_scan/parallel_scan.ml#L803)
3492/// Args: TransactionSnarkScanStateLedgerProofWithSokMessageStableV2 , TransactionSnarkScanStateTransactionWithWitnessStableV2
3493#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3494pub struct TransactionSnarkScanStateStableV2ScanState {
3495    pub trees: (
3496        TransactionSnarkScanStateStableV2ScanStateTreesA,
3497        List<TransactionSnarkScanStateStableV2ScanStateTreesA>,
3498    ),
3499    pub acc: Option<(
3500        TransactionSnarkScanStateLedgerProofWithSokMessageStableV2,
3501        List<TransactionSnarkScanStateTransactionWithWitnessStableV2>,
3502    )>,
3503    pub curr_job_seq_no: crate::number::UInt64,
3504    pub max_base_jobs: crate::number::UInt64,
3505    pub delay: crate::number::UInt64,
3506}
3507
3508/// **OCaml name**: `Transaction_snark_scan_state.Transaction_with_witness.Stable.V2`
3509///
3510/// Gid: `1056`
3511/// Location: [src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml:40:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml#L40)
3512#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3513pub struct TransactionSnarkScanStateTransactionWithWitnessStableV2 {
3514    pub transaction_with_info: MinaTransactionLogicTransactionAppliedStableV2,
3515    pub state_hash: (StateHash, StateBodyHash),
3516    pub statement: MinaStateSnarkedLedgerStateStableV2,
3517    pub init_stack: MinaStateSnarkedLedgerStatePendingCoinbaseStackStateInitStackStableV1,
3518    pub first_pass_ledger_witness: MinaBaseSparseLedgerBaseStableV2,
3519    pub second_pass_ledger_witness: MinaBaseSparseLedgerBaseStableV2,
3520    pub block_global_slot: MinaNumbersGlobalSlotSinceGenesisMStableV1,
3521}
3522
3523/// **OCaml name**: `Transaction_snark_scan_state.Ledger_proof_with_sok_message.Stable.V2`
3524///
3525/// Gid: `1057`
3526/// Location: [src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml:65:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/transaction_snark_scan_state/transaction_snark_scan_state.ml#L65)
3527#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3528pub struct TransactionSnarkScanStateLedgerProofWithSokMessageStableV2(
3529    pub LedgerProofProdStableV2,
3530    pub MinaBaseSokMessageStableV1,
3531);
3532
3533/// **OCaml name**: `Mina_block__Header.Make_str.Stable.V2`
3534///
3535/// Gid: `1101`
3536/// Location: [src/lib/mina_block/header.ml:21:6](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/mina_block/header.ml#L21)
3537#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3538pub struct MinaBlockHeaderStableV2 {
3539    pub protocol_state: MinaStateProtocolStateValueStableV2,
3540    pub protocol_state_proof: Arc<MinaBaseProofStableV2>,
3541    pub delta_block_chain_proof: (StateHash, List<StateBodyHash>),
3542    pub current_protocol_version: ProtocolVersionStableV2,
3543    pub proposed_protocol_version_opt: Option<ProtocolVersionStableV2>,
3544}
3545
3546impl MallocSizeOf for MinaBlockHeaderStableV2 {
3547    fn size_of(&self, ops: &mut malloc_size_of::MallocSizeOfOps) -> usize {
3548        let factor = usize::from(!ops.have_seen_ptr(Arc::as_ptr(&self.protocol_state_proof)));
3549        self.protocol_state_proof.size_of(ops) * factor
3550            + self.protocol_state.size_of(ops)
3551            + self.delta_block_chain_proof.1.size_of(ops)
3552    }
3553}
3554
3555/// Derived name: `Network_pool__Snark_pool.Diff_versioned.Stable.V2.Add_solved_work.1`
3556///
3557/// Gid: `1121`
3558/// Location: [src/lib/network_pool/priced_proof.ml:9:4](https://github.com/MinaProtocol/mina/blob/1551e2faaa/src/lib/network_pool/priced_proof.ml#L9)
3559/// Args: TransactionSnarkWorkTStableV2Proofs
3560#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3561pub struct NetworkPoolSnarkPoolDiffVersionedStableV2AddSolvedWork1 {
3562    pub proof: TransactionSnarkWorkTStableV2Proofs,
3563    pub fee: MinaBaseFeeWithProverStableV1,
3564}
3565
3566/// Derived name: `Snark_worker.Worker.Rpcs_versioned.Submit_work.V2.T.query.metrics.a.1`
3567#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3568#[polymorphic_variant]
3569pub enum SnarkWorkerWorkerRpcsVersionedSubmitWorkV2TQueryMetricsA1 {
3570    #[allow(non_camel_case_types)]
3571    Transition,
3572    #[allow(non_camel_case_types)]
3573    Merge,
3574}
3575
3576/// Derived name: `Transaction_snark_scan_state.Stable.V2.previous_incomplete_zkapp_updates.1`
3577#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, BinProtRead, BinProtWrite)]
3578#[polymorphic_variant]
3579pub enum TransactionSnarkScanStateStableV2PreviousIncompleteZkappUpdates1 {
3580    #[allow(non_camel_case_types)]
3581    Border_block_continued_in_the_next_tree(bool),
3582}
3583
3584// Utils
3585
3586// FIXME: This workaround ignores values in the JSON that correspond to `()` in the target type.
3587// The proper solution would involve defining a composite type that accurately reflects
3588// the structure of the data, including fields with actual values instead of unit (`()`).
3589fn always_unit<'de, D>(deserializer: D) -> Result<(), D::Error>
3590where
3591    D: serde::de::Deserializer<'de>,
3592{
3593    if deserializer.is_human_readable() {
3594        let _ = serde_json::Value::deserialize(deserializer)?;
3595        Ok(())
3596    } else {
3597        <()>::deserialize(deserializer)
3598    }
3599}