mina_p2p_messages/v2/
generated.rs

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