@proto-kit/protocol 0.1.1-develop.1316 → 0.1.1-develop.1347

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/hooks/AccountStateHook.d.ts +3 -3
  2. package/dist/hooks/AccountStateHook.d.ts.map +1 -1
  3. package/dist/hooks/AccountStateHook.js +6 -2
  4. package/dist/hooks/AccountStateHook.js.map +1 -1
  5. package/dist/hooks/LastStateRootBlockHook.d.ts +3 -4
  6. package/dist/hooks/LastStateRootBlockHook.d.ts.map +1 -1
  7. package/dist/hooks/LastStateRootBlockHook.js +4 -4
  8. package/dist/hooks/LastStateRootBlockHook.js.map +1 -1
  9. package/dist/hooks/NoopBlockHook.d.ts +3 -4
  10. package/dist/hooks/NoopBlockHook.d.ts.map +1 -1
  11. package/dist/hooks/NoopBlockHook.js +1 -1
  12. package/dist/hooks/NoopBlockHook.js.map +1 -1
  13. package/dist/hooks/NoopTransactionHook.d.ts +2 -2
  14. package/dist/hooks/NoopTransactionHook.d.ts.map +1 -1
  15. package/dist/hooks/NoopTransactionHook.js +4 -1
  16. package/dist/hooks/NoopTransactionHook.js.map +1 -1
  17. package/dist/index.d.ts +6 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +6 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/model/AppliedStateTransitionBatch.d.ts +114 -0
  22. package/dist/model/AppliedStateTransitionBatch.d.ts.map +1 -0
  23. package/dist/model/AppliedStateTransitionBatch.js +16 -0
  24. package/dist/model/AppliedStateTransitionBatch.js.map +1 -0
  25. package/dist/model/StateTransition.d.ts +1 -0
  26. package/dist/model/StateTransition.d.ts.map +1 -1
  27. package/dist/model/StateTransition.js +5 -0
  28. package/dist/model/StateTransition.js.map +1 -1
  29. package/dist/model/StateTransitionProvableBatch.d.ts +249 -97
  30. package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -1
  31. package/dist/model/StateTransitionProvableBatch.js +72 -65
  32. package/dist/model/StateTransitionProvableBatch.js.map +1 -1
  33. package/dist/model/transaction/RuntimeTransaction.d.ts +1 -0
  34. package/dist/model/transaction/RuntimeTransaction.d.ts.map +1 -1
  35. package/dist/model/transaction/RuntimeTransaction.js +3 -0
  36. package/dist/model/transaction/RuntimeTransaction.js.map +1 -1
  37. package/dist/protocol/ProvableBlockHook.d.ts +13 -3
  38. package/dist/protocol/ProvableBlockHook.d.ts.map +1 -1
  39. package/dist/protocol/ProvableBlockHook.js +16 -0
  40. package/dist/protocol/ProvableBlockHook.js.map +1 -1
  41. package/dist/protocol/ProvableTransactionHook.d.ts +29 -2
  42. package/dist/protocol/ProvableTransactionHook.d.ts.map +1 -1
  43. package/dist/protocol/ProvableTransactionHook.js +9 -0
  44. package/dist/protocol/ProvableTransactionHook.js.map +1 -1
  45. package/dist/prover/accumulators/AppliedBatchHashList.d.ts +18 -0
  46. package/dist/prover/accumulators/AppliedBatchHashList.d.ts.map +1 -0
  47. package/dist/prover/accumulators/AppliedBatchHashList.js +25 -0
  48. package/dist/prover/accumulators/AppliedBatchHashList.js.map +1 -0
  49. package/dist/{utils → prover/accumulators}/StateTransitionReductionList.d.ts +3 -2
  50. package/dist/prover/accumulators/StateTransitionReductionList.d.ts.map +1 -0
  51. package/dist/{utils → prover/accumulators}/StateTransitionReductionList.js +6 -3
  52. package/dist/prover/accumulators/StateTransitionReductionList.js.map +1 -0
  53. package/dist/prover/accumulators/TransactionHashList.d.ts +6 -0
  54. package/dist/prover/accumulators/TransactionHashList.d.ts.map +1 -0
  55. package/dist/prover/accumulators/TransactionHashList.js +8 -0
  56. package/dist/prover/accumulators/TransactionHashList.js.map +1 -0
  57. package/dist/prover/accumulators/WitnessedRootHashList.d.ts +137 -0
  58. package/dist/prover/accumulators/WitnessedRootHashList.d.ts.map +1 -0
  59. package/dist/prover/accumulators/WitnessedRootHashList.js +50 -0
  60. package/dist/prover/accumulators/WitnessedRootHashList.js.map +1 -0
  61. package/dist/prover/block/BlockProvable.d.ts +579 -35
  62. package/dist/prover/block/BlockProvable.d.ts.map +1 -1
  63. package/dist/prover/block/BlockProvable.js +55 -3
  64. package/dist/prover/block/BlockProvable.js.map +1 -1
  65. package/dist/prover/block/BlockProver.d.ts +52 -50
  66. package/dist/prover/block/BlockProver.d.ts.map +1 -1
  67. package/dist/prover/block/BlockProver.js +289 -209
  68. package/dist/prover/block/BlockProver.js.map +1 -1
  69. package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts +55 -13
  70. package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts.map +1 -1
  71. package/dist/prover/block/accummulators/BlockHashMerkleTree.js +11 -3
  72. package/dist/prover/block/accummulators/BlockHashMerkleTree.js.map +1 -1
  73. package/dist/prover/statetransition/StateTransitionProvable.d.ts +107 -106
  74. package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -1
  75. package/dist/prover/statetransition/StateTransitionProvable.js +8 -8
  76. package/dist/prover/statetransition/StateTransitionProvable.js.map +1 -1
  77. package/dist/prover/statetransition/StateTransitionProver.d.ts +14 -11
  78. package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -1
  79. package/dist/prover/statetransition/StateTransitionProver.js +116 -62
  80. package/dist/prover/statetransition/StateTransitionProver.js.map +1 -1
  81. package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts +1 -1
  82. package/dist/settlement/contracts/DispatchSmartContract.d.ts +1 -1
  83. package/dist/settlement/contracts/SettlementSmartContract.d.ts.map +1 -1
  84. package/dist/settlement/contracts/SettlementSmartContract.js +1 -0
  85. package/dist/settlement/contracts/SettlementSmartContract.js.map +1 -1
  86. package/dist/state/assert/assert.d.ts.map +1 -1
  87. package/dist/state/assert/assert.js +5 -3
  88. package/dist/state/assert/assert.js.map +1 -1
  89. package/dist/state/context/RuntimeMethodExecutionContext.d.ts +3 -3
  90. package/dist/state/context/RuntimeMethodExecutionContext.d.ts.map +1 -1
  91. package/dist/state/context/RuntimeMethodExecutionContext.js +7 -4
  92. package/dist/state/context/RuntimeMethodExecutionContext.js.map +1 -1
  93. package/dist/utils/FieldOptions.d.ts +62 -0
  94. package/dist/utils/FieldOptions.d.ts.map +1 -0
  95. package/dist/utils/FieldOptions.js +13 -0
  96. package/dist/utils/FieldOptions.js.map +1 -0
  97. package/dist/utils/ProvableHashList.d.ts +21 -2
  98. package/dist/utils/ProvableHashList.d.ts.map +1 -1
  99. package/dist/utils/ProvableHashList.js +37 -2
  100. package/dist/utils/ProvableHashList.js.map +1 -1
  101. package/dist/utils/ProvableReductionHashList.d.ts +7 -3
  102. package/dist/utils/ProvableReductionHashList.d.ts.map +1 -1
  103. package/dist/utils/ProvableReductionHashList.js +8 -5
  104. package/dist/utils/ProvableReductionHashList.js.map +1 -1
  105. package/dist/utils/utils.d.ts +10 -1
  106. package/dist/utils/utils.d.ts.map +1 -1
  107. package/dist/utils/utils.js +6 -0
  108. package/dist/utils/utils.js.map +1 -1
  109. package/package.json +2 -2
  110. package/src/hooks/AccountStateHook.ts +12 -3
  111. package/src/hooks/LastStateRootBlockHook.ts +7 -8
  112. package/src/hooks/NoopBlockHook.ts +7 -4
  113. package/src/hooks/NoopTransactionHook.ts +5 -2
  114. package/src/index.ts +6 -1
  115. package/src/model/AppliedStateTransitionBatch.ts +16 -0
  116. package/src/model/StateTransition.ts +6 -0
  117. package/src/model/StateTransitionProvableBatch.ts +94 -105
  118. package/src/model/transaction/RuntimeTransaction.ts +4 -0
  119. package/src/protocol/ProvableBlockHook.ts +51 -3
  120. package/src/protocol/ProvableTransactionHook.ts +67 -3
  121. package/src/prover/accumulators/AppliedBatchHashList.ts +32 -0
  122. package/src/{utils → prover/accumulators}/StateTransitionReductionList.ts +7 -4
  123. package/src/prover/accumulators/TransactionHashList.ts +9 -0
  124. package/src/prover/accumulators/WitnessedRootHashList.ts +61 -0
  125. package/src/prover/block/BlockProvable.ts +128 -9
  126. package/src/prover/block/BlockProver.ts +531 -383
  127. package/src/prover/block/accummulators/BlockHashMerkleTree.ts +11 -3
  128. package/src/prover/statetransition/StateTransitionProvable.ts +17 -11
  129. package/src/prover/statetransition/StateTransitionProver.ts +219 -144
  130. package/src/settlement/contracts/SettlementSmartContract.ts +4 -0
  131. package/src/state/assert/assert.ts +6 -3
  132. package/src/state/context/RuntimeMethodExecutionContext.ts +15 -7
  133. package/src/utils/FieldOptions.ts +13 -0
  134. package/src/utils/ProvableHashList.ts +77 -2
  135. package/src/utils/ProvableReductionHashList.ts +12 -3
  136. package/src/utils/utils.ts +18 -1
  137. package/test/BlockProver.test.ts +2 -0
  138. package/test/TestingProtocol.ts +5 -0
  139. package/test/model/StateTransitionProvableBatch.test.ts +137 -0
  140. package/test/prover/block/BlockProver.test.ts +18 -0
  141. package/test/prover/statetransition/StateTransitionProver.test.ts +240 -0
  142. package/test/utils/ProvableHashList.test.ts +44 -0
  143. package/test/utils/ProvableReductionHashList.test.ts +1 -1
  144. package/dist/utils/StateTransitionReductionList.d.ts.map +0 -1
  145. package/dist/utils/StateTransitionReductionList.js.map +0 -1
@@ -1,14 +1,51 @@
1
- import { Bool, DynamicProof, Proof, Signature, Void } from "o1js";
1
+ import { Bool, DynamicProof, Field, Proof, Signature, Void } from "o1js";
2
2
  import { WithZkProgrammable, CompilableModule } from "@proto-kit/common";
3
3
  import { StateTransitionProof } from "../statetransition/StateTransitionProvable";
4
4
  import { MethodPublicOutput } from "../../model/MethodPublicOutput";
5
5
  import { RuntimeTransaction } from "../../model/transaction/RuntimeTransaction";
6
6
  import { NetworkState } from "../../model/network/NetworkState";
7
+ import { TransactionHashList } from "../accumulators/TransactionHashList";
8
+ import { MinaActionsHashList } from "../../utils/MinaPrefixedProvableHashList";
9
+ import { AppliedBatchHashList } from "../accumulators/AppliedBatchHashList";
10
+ import { WitnessedRootHashList, WitnessedRootWitness } from "../accumulators/WitnessedRootHashList";
7
11
  import { BlockHashMerkleTreeWitness } from "./accummulators/BlockHashMerkleTree";
8
12
  import { RuntimeVerificationKeyAttestation } from "./accummulators/RuntimeVerificationKeyTree";
9
- declare const BlockProverPublicInput_base: (new (value: {
13
+ export interface BlockProverState {
14
+ /**
15
+ * The current state root of the block prover
16
+ */
17
+ stateRoot: Field;
18
+ /**
19
+ * The current commitment of the transaction-list which
20
+ * will at the end equal the bundle hash
21
+ */
22
+ transactionList: TransactionHashList;
23
+ /**
24
+ * The network state which gives access to values such as blockHeight
25
+ * This value is the same for the whole batch (L2 block)
26
+ */
27
+ networkState: NetworkState;
28
+ /**
29
+ * The root of the merkle tree encoding all block hashes,
30
+ * see `BlockHashMerkleTree`
31
+ */
32
+ blockHashRoot: Field;
33
+ /**
34
+ * A variant of the transactionsHash that is never reset.
35
+ * Thought for usage in the sequence state mempool.
36
+ * In comparison, transactionsHash restarts at 0 for every new block
37
+ */
38
+ eternalTransactionsList: TransactionHashList;
39
+ pendingSTBatches: AppliedBatchHashList;
40
+ incomingMessages: MinaActionsHashList;
41
+ witnessedRoots: WitnessedRootHashList;
42
+ blockNumber: Field;
43
+ }
44
+ declare const BlockProverStateCommitments_base: (new (value: {
10
45
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
11
46
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
47
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
48
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
12
49
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
13
50
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
14
51
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -17,6 +54,8 @@ declare const BlockProverPublicInput_base: (new (value: {
17
54
  }) => {
18
55
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
19
56
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
57
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
58
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
20
59
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
21
60
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
22
61
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -27,6 +66,8 @@ declare const BlockProverPublicInput_base: (new (value: {
27
66
  } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
28
67
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
29
68
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
69
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
70
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
30
71
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
31
72
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
32
73
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -35,6 +76,8 @@ declare const BlockProverPublicInput_base: (new (value: {
35
76
  }, {
36
77
  transactionsHash: bigint;
37
78
  stateRoot: bigint;
79
+ pendingSTBatchesHash: bigint;
80
+ witnessedRootsHash: bigint;
38
81
  networkStateHash: bigint;
39
82
  blockHashRoot: bigint;
40
83
  eternalTransactionsHash: bigint;
@@ -44,6 +87,8 @@ declare const BlockProverPublicInput_base: (new (value: {
44
87
  fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
45
88
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
46
89
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
90
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
91
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
47
92
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
48
93
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
49
94
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -54,6 +99,8 @@ declare const BlockProverPublicInput_base: (new (value: {
54
99
  fromValue: (value: {
55
100
  transactionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
56
101
  stateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
102
+ pendingSTBatchesHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
103
+ witnessedRootsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
57
104
  networkStateHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
58
105
  blockHashRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
59
106
  eternalTransactionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
@@ -62,6 +109,8 @@ declare const BlockProverPublicInput_base: (new (value: {
62
109
  }) => {
63
110
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
64
111
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
112
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
113
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
65
114
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
66
115
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
67
116
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -71,6 +120,8 @@ declare const BlockProverPublicInput_base: (new (value: {
71
120
  toInput: (x: {
72
121
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
73
122
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
123
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
124
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
74
125
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
75
126
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
76
127
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -83,6 +134,8 @@ declare const BlockProverPublicInput_base: (new (value: {
83
134
  toJSON: (x: {
84
135
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
85
136
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
137
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
138
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
86
139
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
87
140
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
88
141
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -91,6 +144,8 @@ declare const BlockProverPublicInput_base: (new (value: {
91
144
  }) => {
92
145
  transactionsHash: string;
93
146
  stateRoot: string;
147
+ pendingSTBatchesHash: string;
148
+ witnessedRootsHash: string;
94
149
  networkStateHash: string;
95
150
  blockHashRoot: string;
96
151
  eternalTransactionsHash: string;
@@ -100,6 +155,8 @@ declare const BlockProverPublicInput_base: (new (value: {
100
155
  fromJSON: (x: {
101
156
  transactionsHash: string;
102
157
  stateRoot: string;
158
+ pendingSTBatchesHash: string;
159
+ witnessedRootsHash: string;
103
160
  networkStateHash: string;
104
161
  blockHashRoot: string;
105
162
  eternalTransactionsHash: string;
@@ -108,6 +165,8 @@ declare const BlockProverPublicInput_base: (new (value: {
108
165
  }) => {
109
166
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
110
167
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
168
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
169
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
111
170
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
112
171
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
113
172
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -117,6 +176,8 @@ declare const BlockProverPublicInput_base: (new (value: {
117
176
  empty: () => {
118
177
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
119
178
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
179
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
180
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
120
181
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
121
182
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
122
183
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -124,11 +185,17 @@ declare const BlockProverPublicInput_base: (new (value: {
124
185
  blockNumber: import("o1js/dist/node/lib/provable/field").Field;
125
186
  };
126
187
  };
127
- export declare class BlockProverPublicInput extends BlockProverPublicInput_base {
188
+ export declare class BlockProverStateCommitments extends BlockProverStateCommitments_base {
189
+ static fromBlockProverState(state: BlockProverState): BlockProverStateCommitments;
190
+ static toBlockProverState(publicInput: BlockProverStateCommitments, networkState: NetworkState): BlockProverState;
191
+ }
192
+ export declare class BlockProverPublicInput extends BlockProverStateCommitments {
128
193
  }
129
194
  declare const BlockProverPublicOutput_base: (new (value: {
130
195
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
131
196
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
197
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
198
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
132
199
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
133
200
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
134
201
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -138,6 +205,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
138
205
  }) => {
139
206
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
140
207
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
208
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
209
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
141
210
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
142
211
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
143
212
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -149,6 +218,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
149
218
  } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
150
219
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
151
220
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
221
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
222
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
152
223
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
153
224
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
154
225
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -158,6 +229,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
158
229
  }, {
159
230
  transactionsHash: bigint;
160
231
  stateRoot: bigint;
232
+ pendingSTBatchesHash: bigint;
233
+ witnessedRootsHash: bigint;
161
234
  networkStateHash: bigint;
162
235
  blockHashRoot: bigint;
163
236
  eternalTransactionsHash: bigint;
@@ -168,6 +241,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
168
241
  fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
169
242
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
170
243
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
244
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
245
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
171
246
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
172
247
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
173
248
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -179,6 +254,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
179
254
  fromValue: (value: {
180
255
  transactionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
181
256
  stateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
257
+ pendingSTBatchesHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
258
+ witnessedRootsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
182
259
  networkStateHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
183
260
  blockHashRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
184
261
  eternalTransactionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
@@ -188,6 +265,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
188
265
  }) => {
189
266
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
190
267
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
268
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
269
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
191
270
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
192
271
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
193
272
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -198,6 +277,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
198
277
  toInput: (x: {
199
278
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
200
279
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
280
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
281
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
201
282
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
202
283
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
203
284
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -211,6 +292,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
211
292
  toJSON: (x: {
212
293
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
213
294
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
295
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
296
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
214
297
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
215
298
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
216
299
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -220,6 +303,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
220
303
  }) => {
221
304
  transactionsHash: string;
222
305
  stateRoot: string;
306
+ pendingSTBatchesHash: string;
307
+ witnessedRootsHash: string;
223
308
  networkStateHash: string;
224
309
  blockHashRoot: string;
225
310
  eternalTransactionsHash: string;
@@ -230,6 +315,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
230
315
  fromJSON: (x: {
231
316
  transactionsHash: string;
232
317
  stateRoot: string;
318
+ pendingSTBatchesHash: string;
319
+ witnessedRootsHash: string;
233
320
  networkStateHash: string;
234
321
  blockHashRoot: string;
235
322
  eternalTransactionsHash: string;
@@ -239,6 +326,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
239
326
  }) => {
240
327
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
241
328
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
329
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
330
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
242
331
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
243
332
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
244
333
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -249,6 +338,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
249
338
  empty: () => {
250
339
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
251
340
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
341
+ pendingSTBatchesHash: import("o1js/dist/node/lib/provable/field").Field;
342
+ witnessedRootsHash: import("o1js/dist/node/lib/provable/field").Field;
252
343
  networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
253
344
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
254
345
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -261,20 +352,20 @@ export declare class BlockProverPublicOutput extends BlockProverPublicOutput_bas
261
352
  equals(input: BlockProverPublicInput, closed: Bool): Bool;
262
353
  }
263
354
  export type BlockProverProof = Proof<BlockProverPublicInput, BlockProverPublicOutput>;
264
- declare const BlockProverExecutionData_base: (new (value: {
355
+ declare const BlockProverTransactionArguments_base: (new (value: {
265
356
  transaction: RuntimeTransaction;
266
357
  signature: Signature;
267
- networkState: NetworkState;
358
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
268
359
  }) => {
269
360
  transaction: RuntimeTransaction;
270
361
  signature: Signature;
271
- networkState: NetworkState;
362
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
272
363
  }) & {
273
364
  _isStruct: true;
274
365
  } & import("o1js/dist/node/lib/provable/provable").Provable<{
275
366
  transaction: RuntimeTransaction;
276
367
  signature: Signature;
277
- networkState: NetworkState;
368
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
278
369
  }, {
279
370
  transaction: {
280
371
  methodId: bigint;
@@ -289,12 +380,14 @@ declare const BlockProverExecutionData_base: (new (value: {
289
380
  };
290
381
  };
291
382
  signature: any;
292
- networkState: {
293
- block: {
294
- height: bigint;
383
+ verificationKeyAttestation: {
384
+ verificationKey: {
385
+ data: string;
386
+ hash: bigint;
295
387
  };
296
- previous: {
297
- rootHash: bigint;
388
+ witness: {
389
+ path: bigint[];
390
+ isLeft: boolean[];
298
391
  };
299
392
  };
300
393
  }> & {
@@ -312,23 +405,28 @@ declare const BlockProverExecutionData_base: (new (value: {
312
405
  };
313
406
  };
314
407
  signature: any;
315
- networkState: NetworkState | {
316
- block: import("../../model/network/NetworkState").CurrentBlock | {
317
- height: bigint | import("o1js/dist/node/lib/provable/int").UInt64;
318
- };
319
- previous: import("../../model/network/NetworkState").PreviousBlock | {
320
- rootHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
408
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation | {
409
+ verificationKey: import("o1js/dist/node/lib/proof-system/zkprogram").VerificationKey | {
410
+ data: string;
411
+ hash: import("o1js/dist/node/lib/provable/field").Field;
412
+ } | {
413
+ data: string;
414
+ hash: bigint;
321
415
  };
416
+ witness: {
417
+ path: import("o1js/dist/node/lib/provable/field").Field[] | bigint[];
418
+ isLeft: import("o1js/dist/node/lib/provable/bool").Bool[] | boolean[];
419
+ } | import("./accummulators/RuntimeVerificationKeyTree").VKTreeWitness;
322
420
  };
323
421
  }) => {
324
422
  transaction: RuntimeTransaction;
325
423
  signature: Signature;
326
- networkState: NetworkState;
424
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
327
425
  };
328
426
  toInput: (x: {
329
427
  transaction: RuntimeTransaction;
330
428
  signature: Signature;
331
- networkState: NetworkState;
429
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
332
430
  }) => {
333
431
  fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
334
432
  packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
@@ -336,7 +434,7 @@ declare const BlockProverExecutionData_base: (new (value: {
336
434
  toJSON: (x: {
337
435
  transaction: RuntimeTransaction;
338
436
  signature: Signature;
339
- networkState: NetworkState;
437
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
340
438
  }) => {
341
439
  transaction: {
342
440
  methodId: string;
@@ -351,6 +449,173 @@ declare const BlockProverExecutionData_base: (new (value: {
351
449
  };
352
450
  };
353
451
  signature: any;
452
+ verificationKeyAttestation: {
453
+ verificationKey: string;
454
+ witness: {
455
+ path: string[];
456
+ isLeft: boolean[];
457
+ };
458
+ };
459
+ };
460
+ fromJSON: (x: {
461
+ transaction: {
462
+ methodId: string;
463
+ argsHash: string;
464
+ nonce: {
465
+ isSome: boolean;
466
+ value: any;
467
+ };
468
+ sender: {
469
+ isSome: boolean;
470
+ value: any;
471
+ };
472
+ };
473
+ signature: any;
474
+ verificationKeyAttestation: {
475
+ verificationKey: string;
476
+ witness: {
477
+ path: string[];
478
+ isLeft: boolean[];
479
+ };
480
+ };
481
+ }) => {
482
+ transaction: RuntimeTransaction;
483
+ signature: Signature;
484
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
485
+ };
486
+ empty: () => {
487
+ transaction: RuntimeTransaction;
488
+ signature: Signature;
489
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation;
490
+ };
491
+ };
492
+ export declare class BlockProverTransactionArguments extends BlockProverTransactionArguments_base {
493
+ }
494
+ export declare class DynamicRuntimeProof extends DynamicProof<Void, MethodPublicOutput> {
495
+ static publicInputType: import("o1js/dist/node/lib/provable/types/struct").ProvablePureExtended<void, void, null>;
496
+ static publicOutputType: typeof MethodPublicOutput;
497
+ static maxProofsVerified: 0;
498
+ }
499
+ declare const BlockProverSingleTransactionExecutionData_base: (new (value: {
500
+ transaction: BlockProverTransactionArguments;
501
+ networkState: NetworkState;
502
+ }) => {
503
+ transaction: BlockProverTransactionArguments;
504
+ networkState: NetworkState;
505
+ }) & {
506
+ _isStruct: true;
507
+ } & import("o1js/dist/node/lib/provable/provable").Provable<{
508
+ transaction: BlockProverTransactionArguments;
509
+ networkState: NetworkState;
510
+ }, {
511
+ transaction: {
512
+ transaction: {
513
+ methodId: bigint;
514
+ argsHash: bigint;
515
+ nonce: {
516
+ isSome: boolean;
517
+ value: any;
518
+ };
519
+ sender: {
520
+ isSome: boolean;
521
+ value: any;
522
+ };
523
+ };
524
+ signature: any;
525
+ verificationKeyAttestation: {
526
+ verificationKey: {
527
+ data: string;
528
+ hash: bigint;
529
+ };
530
+ witness: {
531
+ path: bigint[];
532
+ isLeft: boolean[];
533
+ };
534
+ };
535
+ };
536
+ networkState: {
537
+ block: {
538
+ height: bigint;
539
+ };
540
+ previous: {
541
+ rootHash: bigint;
542
+ };
543
+ };
544
+ }> & {
545
+ fromValue: (value: {
546
+ transaction: BlockProverTransactionArguments | {
547
+ transaction: RuntimeTransaction | {
548
+ methodId: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
549
+ argsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
550
+ nonce: import("../..").UInt64Option | {
551
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
552
+ value: any;
553
+ };
554
+ sender: import("../..").PublicKeyOption | {
555
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
556
+ value: any;
557
+ };
558
+ };
559
+ signature: any;
560
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation | {
561
+ verificationKey: import("o1js/dist/node/lib/proof-system/zkprogram").VerificationKey | {
562
+ data: string;
563
+ hash: import("o1js/dist/node/lib/provable/field").Field;
564
+ } | {
565
+ data: string;
566
+ hash: bigint;
567
+ };
568
+ witness: {
569
+ path: import("o1js/dist/node/lib/provable/field").Field[] | bigint[];
570
+ isLeft: import("o1js/dist/node/lib/provable/bool").Bool[] | boolean[];
571
+ } | import("./accummulators/RuntimeVerificationKeyTree").VKTreeWitness;
572
+ };
573
+ };
574
+ networkState: NetworkState | {
575
+ block: import("../../model/network/NetworkState").CurrentBlock | {
576
+ height: bigint | import("o1js/dist/node/lib/provable/int").UInt64;
577
+ };
578
+ previous: import("../../model/network/NetworkState").PreviousBlock | {
579
+ rootHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
580
+ };
581
+ };
582
+ }) => {
583
+ transaction: BlockProverTransactionArguments;
584
+ networkState: NetworkState;
585
+ };
586
+ toInput: (x: {
587
+ transaction: BlockProverTransactionArguments;
588
+ networkState: NetworkState;
589
+ }) => {
590
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
591
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
592
+ };
593
+ toJSON: (x: {
594
+ transaction: BlockProverTransactionArguments;
595
+ networkState: NetworkState;
596
+ }) => {
597
+ transaction: {
598
+ transaction: {
599
+ methodId: string;
600
+ argsHash: string;
601
+ nonce: {
602
+ isSome: boolean;
603
+ value: any;
604
+ };
605
+ sender: {
606
+ isSome: boolean;
607
+ value: any;
608
+ };
609
+ };
610
+ signature: any;
611
+ verificationKeyAttestation: {
612
+ verificationKey: string;
613
+ witness: {
614
+ path: string[];
615
+ isLeft: boolean[];
616
+ };
617
+ };
618
+ };
354
619
  networkState: {
355
620
  block: {
356
621
  height: string;
@@ -362,8 +627,65 @@ declare const BlockProverExecutionData_base: (new (value: {
362
627
  };
363
628
  fromJSON: (x: {
364
629
  transaction: {
365
- methodId: string;
366
- argsHash: string;
630
+ transaction: {
631
+ methodId: string;
632
+ argsHash: string;
633
+ nonce: {
634
+ isSome: boolean;
635
+ value: any;
636
+ };
637
+ sender: {
638
+ isSome: boolean;
639
+ value: any;
640
+ };
641
+ };
642
+ signature: any;
643
+ verificationKeyAttestation: {
644
+ verificationKey: string;
645
+ witness: {
646
+ path: string[];
647
+ isLeft: boolean[];
648
+ };
649
+ };
650
+ };
651
+ networkState: {
652
+ block: {
653
+ height: string;
654
+ };
655
+ previous: {
656
+ rootHash: string;
657
+ };
658
+ };
659
+ }) => {
660
+ transaction: BlockProverTransactionArguments;
661
+ networkState: NetworkState;
662
+ };
663
+ empty: () => {
664
+ transaction: BlockProverTransactionArguments;
665
+ networkState: NetworkState;
666
+ };
667
+ };
668
+ export declare class BlockProverSingleTransactionExecutionData extends BlockProverSingleTransactionExecutionData_base {
669
+ }
670
+ declare const BlockProverMultiTransactionExecutionData_base: (new (value: {
671
+ transaction1: BlockProverTransactionArguments;
672
+ transaction2: BlockProverTransactionArguments;
673
+ networkState: NetworkState;
674
+ }) => {
675
+ transaction1: BlockProverTransactionArguments;
676
+ transaction2: BlockProverTransactionArguments;
677
+ networkState: NetworkState;
678
+ }) & {
679
+ _isStruct: true;
680
+ } & import("o1js/dist/node/lib/provable/provable").Provable<{
681
+ transaction1: BlockProverTransactionArguments;
682
+ transaction2: BlockProverTransactionArguments;
683
+ networkState: NetworkState;
684
+ }, {
685
+ transaction1: {
686
+ transaction: {
687
+ methodId: bigint;
688
+ argsHash: bigint;
367
689
  nonce: {
368
690
  isSome: boolean;
369
691
  value: any;
@@ -374,6 +696,232 @@ declare const BlockProverExecutionData_base: (new (value: {
374
696
  };
375
697
  };
376
698
  signature: any;
699
+ verificationKeyAttestation: {
700
+ verificationKey: {
701
+ data: string;
702
+ hash: bigint;
703
+ };
704
+ witness: {
705
+ path: bigint[];
706
+ isLeft: boolean[];
707
+ };
708
+ };
709
+ };
710
+ transaction2: {
711
+ transaction: {
712
+ methodId: bigint;
713
+ argsHash: bigint;
714
+ nonce: {
715
+ isSome: boolean;
716
+ value: any;
717
+ };
718
+ sender: {
719
+ isSome: boolean;
720
+ value: any;
721
+ };
722
+ };
723
+ signature: any;
724
+ verificationKeyAttestation: {
725
+ verificationKey: {
726
+ data: string;
727
+ hash: bigint;
728
+ };
729
+ witness: {
730
+ path: bigint[];
731
+ isLeft: boolean[];
732
+ };
733
+ };
734
+ };
735
+ networkState: {
736
+ block: {
737
+ height: bigint;
738
+ };
739
+ previous: {
740
+ rootHash: bigint;
741
+ };
742
+ };
743
+ }> & {
744
+ fromValue: (value: {
745
+ transaction1: BlockProverTransactionArguments | {
746
+ transaction: RuntimeTransaction | {
747
+ methodId: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
748
+ argsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
749
+ nonce: import("../..").UInt64Option | {
750
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
751
+ value: any;
752
+ };
753
+ sender: import("../..").PublicKeyOption | {
754
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
755
+ value: any;
756
+ };
757
+ };
758
+ signature: any;
759
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation | {
760
+ verificationKey: import("o1js/dist/node/lib/proof-system/zkprogram").VerificationKey | {
761
+ data: string;
762
+ hash: import("o1js/dist/node/lib/provable/field").Field;
763
+ } | {
764
+ data: string;
765
+ hash: bigint;
766
+ };
767
+ witness: {
768
+ path: import("o1js/dist/node/lib/provable/field").Field[] | bigint[];
769
+ isLeft: import("o1js/dist/node/lib/provable/bool").Bool[] | boolean[];
770
+ } | import("./accummulators/RuntimeVerificationKeyTree").VKTreeWitness;
771
+ };
772
+ };
773
+ transaction2: BlockProverTransactionArguments | {
774
+ transaction: RuntimeTransaction | {
775
+ methodId: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
776
+ argsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
777
+ nonce: import("../..").UInt64Option | {
778
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
779
+ value: any;
780
+ };
781
+ sender: import("../..").PublicKeyOption | {
782
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
783
+ value: any;
784
+ };
785
+ };
786
+ signature: any;
787
+ verificationKeyAttestation: RuntimeVerificationKeyAttestation | {
788
+ verificationKey: import("o1js/dist/node/lib/proof-system/zkprogram").VerificationKey | {
789
+ data: string;
790
+ hash: import("o1js/dist/node/lib/provable/field").Field;
791
+ } | {
792
+ data: string;
793
+ hash: bigint;
794
+ };
795
+ witness: {
796
+ path: import("o1js/dist/node/lib/provable/field").Field[] | bigint[];
797
+ isLeft: import("o1js/dist/node/lib/provable/bool").Bool[] | boolean[];
798
+ } | import("./accummulators/RuntimeVerificationKeyTree").VKTreeWitness;
799
+ };
800
+ };
801
+ networkState: NetworkState | {
802
+ block: import("../../model/network/NetworkState").CurrentBlock | {
803
+ height: bigint | import("o1js/dist/node/lib/provable/int").UInt64;
804
+ };
805
+ previous: import("../../model/network/NetworkState").PreviousBlock | {
806
+ rootHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
807
+ };
808
+ };
809
+ }) => {
810
+ transaction1: BlockProverTransactionArguments;
811
+ transaction2: BlockProverTransactionArguments;
812
+ networkState: NetworkState;
813
+ };
814
+ toInput: (x: {
815
+ transaction1: BlockProverTransactionArguments;
816
+ transaction2: BlockProverTransactionArguments;
817
+ networkState: NetworkState;
818
+ }) => {
819
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
820
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
821
+ };
822
+ toJSON: (x: {
823
+ transaction1: BlockProverTransactionArguments;
824
+ transaction2: BlockProverTransactionArguments;
825
+ networkState: NetworkState;
826
+ }) => {
827
+ transaction1: {
828
+ transaction: {
829
+ methodId: string;
830
+ argsHash: string;
831
+ nonce: {
832
+ isSome: boolean;
833
+ value: any;
834
+ };
835
+ sender: {
836
+ isSome: boolean;
837
+ value: any;
838
+ };
839
+ };
840
+ signature: any;
841
+ verificationKeyAttestation: {
842
+ verificationKey: string;
843
+ witness: {
844
+ path: string[];
845
+ isLeft: boolean[];
846
+ };
847
+ };
848
+ };
849
+ transaction2: {
850
+ transaction: {
851
+ methodId: string;
852
+ argsHash: string;
853
+ nonce: {
854
+ isSome: boolean;
855
+ value: any;
856
+ };
857
+ sender: {
858
+ isSome: boolean;
859
+ value: any;
860
+ };
861
+ };
862
+ signature: any;
863
+ verificationKeyAttestation: {
864
+ verificationKey: string;
865
+ witness: {
866
+ path: string[];
867
+ isLeft: boolean[];
868
+ };
869
+ };
870
+ };
871
+ networkState: {
872
+ block: {
873
+ height: string;
874
+ };
875
+ previous: {
876
+ rootHash: string;
877
+ };
878
+ };
879
+ };
880
+ fromJSON: (x: {
881
+ transaction1: {
882
+ transaction: {
883
+ methodId: string;
884
+ argsHash: string;
885
+ nonce: {
886
+ isSome: boolean;
887
+ value: any;
888
+ };
889
+ sender: {
890
+ isSome: boolean;
891
+ value: any;
892
+ };
893
+ };
894
+ signature: any;
895
+ verificationKeyAttestation: {
896
+ verificationKey: string;
897
+ witness: {
898
+ path: string[];
899
+ isLeft: boolean[];
900
+ };
901
+ };
902
+ };
903
+ transaction2: {
904
+ transaction: {
905
+ methodId: string;
906
+ argsHash: string;
907
+ nonce: {
908
+ isSome: boolean;
909
+ value: any;
910
+ };
911
+ sender: {
912
+ isSome: boolean;
913
+ value: any;
914
+ };
915
+ };
916
+ signature: any;
917
+ verificationKeyAttestation: {
918
+ verificationKey: string;
919
+ witness: {
920
+ path: string[];
921
+ isLeft: boolean[];
922
+ };
923
+ };
924
+ };
377
925
  networkState: {
378
926
  block: {
379
927
  height: string;
@@ -383,26 +931,22 @@ declare const BlockProverExecutionData_base: (new (value: {
383
931
  };
384
932
  };
385
933
  }) => {
386
- transaction: RuntimeTransaction;
387
- signature: Signature;
934
+ transaction1: BlockProverTransactionArguments;
935
+ transaction2: BlockProverTransactionArguments;
388
936
  networkState: NetworkState;
389
937
  };
390
938
  empty: () => {
391
- transaction: RuntimeTransaction;
392
- signature: Signature;
939
+ transaction1: BlockProverTransactionArguments;
940
+ transaction2: BlockProverTransactionArguments;
393
941
  networkState: NetworkState;
394
942
  };
395
943
  };
396
- export declare class BlockProverExecutionData extends BlockProverExecutionData_base {
397
- }
398
- export declare class DynamicRuntimeProof extends DynamicProof<Void, MethodPublicOutput> {
399
- static publicInputType: import("o1js/dist/node/lib/provable/types/struct").ProvablePureExtended<void, void, null>;
400
- static publicOutputType: typeof MethodPublicOutput;
401
- static maxProofsVerified: 0;
944
+ export declare class BlockProverMultiTransactionExecutionData extends BlockProverMultiTransactionExecutionData_base {
402
945
  }
403
946
  export interface BlockProvable extends WithZkProgrammable<BlockProverPublicInput, BlockProverPublicOutput>, CompilableModule {
404
- proveTransaction: (publicInput: BlockProverPublicInput, stateProof: StateTransitionProof, appProof: DynamicRuntimeProof, executionData: BlockProverExecutionData, verificationKeyAttestation: RuntimeVerificationKeyAttestation) => Promise<BlockProverPublicOutput>;
405
- proveBlock: (publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, transactionProof: BlockProverProof) => Promise<BlockProverPublicOutput>;
947
+ proveTransaction: (publicInput: BlockProverPublicInput, runtimeProof: DynamicRuntimeProof, executionData: BlockProverSingleTransactionExecutionData) => Promise<BlockProverPublicOutput>;
948
+ proveTransactions: (publicInput: BlockProverPublicInput, runtimeProof1: DynamicRuntimeProof, runtimeProof2: DynamicRuntimeProof, executionData: BlockProverMultiTransactionExecutionData) => Promise<BlockProverPublicOutput>;
949
+ proveBlock: (publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, stateTransitionProof: StateTransitionProof, deferSTs: Bool, afterBlockRootWitness: WitnessedRootWitness, transactionProof: BlockProverProof) => Promise<BlockProverPublicOutput>;
406
950
  merge: (publicInput: BlockProverPublicInput, proof1: BlockProverProof, proof2: BlockProverProof) => Promise<BlockProverPublicOutput>;
407
951
  }
408
952
  export {};