@proto-kit/protocol 0.1.1-develop.600 → 0.1.1-develop.833

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 (285) hide show
  1. package/LICENSE.md +201 -201
  2. package/dist/blockmodules/AccountStateModule.d.ts +37 -37
  3. package/dist/blockmodules/AccountStateModule.js +43 -43
  4. package/dist/blockmodules/BlockHeightHook.d.ts +6 -6
  5. package/dist/blockmodules/BlockHeightHook.js +15 -15
  6. package/dist/blockmodules/LastStateRootBlockHook.d.ts +7 -7
  7. package/dist/blockmodules/LastStateRootBlockHook.js +15 -15
  8. package/dist/blockmodules/NoopBlockHook.d.ts +8 -8
  9. package/dist/blockmodules/NoopBlockHook.js +9 -9
  10. package/dist/blockmodules/NoopSettlementHook.d.ts +5 -5
  11. package/dist/blockmodules/NoopSettlementHook.d.ts.map +1 -1
  12. package/dist/blockmodules/NoopSettlementHook.js +18 -18
  13. package/dist/blockmodules/NoopTransactionHook.d.ts +5 -5
  14. package/dist/blockmodules/NoopTransactionHook.js +4 -4
  15. package/dist/hooks/AccountStateHook.d.ts +19 -5
  16. package/dist/hooks/AccountStateHook.d.ts.map +1 -1
  17. package/dist/hooks/AccountStateHook.js +15 -9
  18. package/dist/hooks/BlockHeightHook.d.ts +3 -3
  19. package/dist/hooks/BlockHeightHook.d.ts.map +1 -1
  20. package/dist/hooks/BlockHeightHook.js +5 -4
  21. package/dist/hooks/LastStateRootBlockHook.d.ts +8 -0
  22. package/dist/hooks/LastStateRootBlockHook.d.ts.map +1 -0
  23. package/dist/hooks/LastStateRootBlockHook.js +15 -0
  24. package/dist/hooks/NoopBlockHook.d.ts +6 -4
  25. package/dist/hooks/NoopBlockHook.d.ts.map +1 -1
  26. package/dist/hooks/NoopBlockHook.js +4 -4
  27. package/dist/hooks/NoopSettlementHook.d.ts +6 -0
  28. package/dist/hooks/NoopSettlementHook.d.ts.map +1 -0
  29. package/dist/hooks/NoopSettlementHook.js +17 -0
  30. package/dist/hooks/NoopTransactionHook.d.ts +1 -1
  31. package/dist/hooks/NoopTransactionHook.d.ts.map +1 -1
  32. package/dist/hooks/NoopTransactionHook.js +4 -1
  33. package/dist/index.d.ts +18 -8
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +18 -8
  36. package/dist/model/MethodPublicOutput.d.ts +68 -34
  37. package/dist/model/MethodPublicOutput.d.ts.map +1 -1
  38. package/dist/model/Option.d.ts +39 -19
  39. package/dist/model/Option.d.ts.map +1 -1
  40. package/dist/model/Option.js +6 -0
  41. package/dist/model/Path.d.ts +1 -1
  42. package/dist/model/Path.d.ts.map +1 -1
  43. package/dist/model/Path.js +0 -2
  44. package/dist/model/RuntimeLike.d.ts +11 -0
  45. package/dist/model/RuntimeLike.d.ts.map +1 -0
  46. package/dist/model/RuntimeLike.js +1 -0
  47. package/dist/model/StateTransition.d.ts +51 -14
  48. package/dist/model/StateTransition.d.ts.map +1 -1
  49. package/dist/model/StateTransition.js +3 -0
  50. package/dist/model/StateTransitionProvableBatch.d.ts +71 -14
  51. package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -1
  52. package/dist/model/StateTransitionReduction.d.ts +3 -0
  53. package/dist/model/StateTransitionReduction.d.ts.map +1 -0
  54. package/dist/model/StateTransitionReduction.js +26 -0
  55. package/dist/model/network/NetworkState.d.ts +73 -18
  56. package/dist/model/network/NetworkState.d.ts.map +1 -1
  57. package/dist/model/network/NetworkState.js +2 -2
  58. package/dist/model/transaction/ProtocolTransaction.d.ts +69 -69
  59. package/dist/model/transaction/ProtocolTransaction.js +18 -18
  60. package/dist/model/transaction/RuntimeTransaction.d.ts +50 -16
  61. package/dist/model/transaction/RuntimeTransaction.d.ts.map +1 -1
  62. package/dist/model/transaction/RuntimeTransaction.js +4 -4
  63. package/dist/model/transaction/SignedTransaction.d.ts +39 -3
  64. package/dist/model/transaction/SignedTransaction.d.ts.map +1 -1
  65. package/dist/model/transaction/SignedTransaction.js +1 -1
  66. package/dist/model/transaction/ValueOption.d.ts +86 -32
  67. package/dist/model/transaction/ValueOption.d.ts.map +1 -1
  68. package/dist/model/transaction/ValueOption.js +1 -1
  69. package/dist/protocol/Protocol.d.ts +14 -20
  70. package/dist/protocol/Protocol.d.ts.map +1 -1
  71. package/dist/protocol/Protocol.js +13 -27
  72. package/dist/protocol/ProtocolEnvironment.d.ts +3 -3
  73. package/dist/protocol/ProtocolEnvironment.d.ts.map +1 -1
  74. package/dist/protocol/ProtocolModule.d.ts +1 -0
  75. package/dist/protocol/ProtocolModule.d.ts.map +1 -1
  76. package/dist/protocol/ProtocolModule.js +4 -2
  77. package/dist/protocol/ProvableBlockHook.d.ts +2 -2
  78. package/dist/protocol/ProvableBlockHook.d.ts.map +1 -1
  79. package/dist/protocol/ProvableTransactionHook.d.ts +1 -1
  80. package/dist/protocol/ProvableTransactionHook.d.ts.map +1 -1
  81. package/dist/prover/block/BlockProvable.d.ts +240 -98
  82. package/dist/prover/block/BlockProvable.d.ts.map +1 -1
  83. package/dist/prover/block/BlockProver.d.ts +8 -8
  84. package/dist/prover/block/BlockProver.d.ts.map +1 -1
  85. package/dist/prover/block/BlockProver.js +55 -45
  86. package/dist/prover/block/BlockTransactionPosition.d.ts +35 -35
  87. package/dist/prover/block/BlockTransactionPosition.js +25 -25
  88. package/dist/prover/block/BundleTransactionPosition.d.ts +36 -0
  89. package/dist/prover/block/BundleTransactionPosition.d.ts.map +1 -0
  90. package/dist/prover/block/BundleTransactionPosition.js +25 -0
  91. package/dist/prover/block/SplitPrefilledStateService.d.ts +11 -0
  92. package/dist/prover/block/SplitPrefilledStateService.d.ts.map +1 -0
  93. package/dist/prover/block/SplitPrefilledStateService.js +1 -0
  94. package/dist/prover/block/SplitStateService.d.ts +11 -0
  95. package/dist/prover/block/SplitStateService.d.ts.map +1 -0
  96. package/dist/prover/block/SplitStateService.js +1 -0
  97. package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts +35 -16
  98. package/dist/prover/block/accummulators/BlockHashMerkleTree.d.ts.map +1 -1
  99. package/dist/prover/block/accummulators/BlockHashMerkleTree.js +1 -1
  100. package/dist/prover/block/acummulators/BlockHashMerkleTree.d.ts +45 -0
  101. package/dist/prover/block/acummulators/BlockHashMerkleTree.d.ts.map +1 -0
  102. package/dist/prover/block/acummulators/BlockHashMerkleTree.js +16 -0
  103. package/dist/prover/statetransition/StateTransitionProvable.d.ts +116 -58
  104. package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -1
  105. package/dist/prover/statetransition/StateTransitionProver.d.ts +10 -9
  106. package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -1
  107. package/dist/prover/statetransition/StateTransitionProver.js +18 -22
  108. package/dist/prover/statetransition/StateTransitionWitnessProvider.js +1 -2
  109. package/dist/prover/statetransition/StateTransitionWitnessProviderReference.js +1 -2
  110. package/dist/settlement/ContractModule.d.ts +15 -0
  111. package/dist/settlement/ContractModule.d.ts.map +1 -0
  112. package/dist/settlement/ContractModule.js +11 -0
  113. package/dist/settlement/DispatchContract.d.ts +20 -0
  114. package/dist/settlement/DispatchContract.d.ts.map +1 -0
  115. package/dist/settlement/DispatchContract.js +112 -0
  116. package/dist/settlement/OutgoingMessageArgument.d.ts +109 -0
  117. package/dist/settlement/OutgoingMessageArgument.d.ts.map +1 -0
  118. package/dist/settlement/OutgoingMessageArgument.js +32 -0
  119. package/dist/settlement/ProvableSettlementHook.d.ts +25 -25
  120. package/dist/settlement/ProvableSettlementHook.js +3 -3
  121. package/dist/settlement/SettlementContract.d.ts +229 -229
  122. package/dist/settlement/SettlementContract.js +346 -346
  123. package/dist/settlement/SettlementContractModule.d.ts +40 -0
  124. package/dist/settlement/SettlementContractModule.d.ts.map +1 -0
  125. package/dist/settlement/SettlementContractModule.js +71 -0
  126. package/dist/settlement/contracts/DispatchContract.d.ts +21 -0
  127. package/dist/settlement/contracts/DispatchContract.d.ts.map +1 -0
  128. package/dist/settlement/contracts/DispatchContract.js +111 -0
  129. package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts +12 -0
  130. package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts.map +1 -0
  131. package/dist/{hooks/TransactionFeeHook.js → settlement/contracts/DispatchContractProtocolModule.js} +17 -21
  132. package/dist/settlement/contracts/DispatchSmartContract.d.ts +22 -0
  133. package/dist/settlement/contracts/DispatchSmartContract.d.ts.map +1 -0
  134. package/dist/settlement/contracts/DispatchSmartContract.js +110 -0
  135. package/dist/settlement/contracts/SettlementContract.d.ts +19 -0
  136. package/dist/settlement/contracts/SettlementContract.d.ts.map +1 -0
  137. package/dist/settlement/contracts/SettlementContract.js +43 -0
  138. package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts +19 -0
  139. package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts.map +1 -0
  140. package/dist/settlement/contracts/SettlementContractProtocolModule.js +44 -0
  141. package/dist/settlement/contracts/SettlementSmartContract.d.ts +42 -0
  142. package/dist/settlement/contracts/SettlementSmartContract.d.ts.map +1 -0
  143. package/dist/settlement/contracts/SettlementSmartContract.js +246 -0
  144. package/dist/settlement/messages/Deposit.d.ts +64 -0
  145. package/dist/settlement/messages/Deposit.d.ts.map +1 -0
  146. package/dist/settlement/messages/Deposit.js +6 -0
  147. package/dist/settlement/messages/OutgoingMessageArgument.d.ts +189 -0
  148. package/dist/settlement/messages/OutgoingMessageArgument.d.ts.map +1 -0
  149. package/dist/settlement/messages/OutgoingMessageArgument.js +32 -0
  150. package/dist/settlement/messages/Withdrawal.d.ts +65 -0
  151. package/dist/settlement/messages/Withdrawal.d.ts.map +1 -0
  152. package/dist/settlement/messages/Withdrawal.js +13 -0
  153. package/dist/settlement/modularity/ProvableSettlementHook.d.ts +24 -0
  154. package/dist/settlement/modularity/ProvableSettlementHook.d.ts.map +1 -0
  155. package/dist/settlement/modularity/ProvableSettlementHook.js +3 -0
  156. package/dist/settlement/modules/NetworkStateSettlementModule.d.ts +3 -3
  157. package/dist/settlement/modules/NetworkStateSettlementModule.d.ts.map +1 -1
  158. package/dist/settlement/modules/NetworkStateSettlementModule.js +4 -2
  159. package/dist/state/State.d.ts +4 -3
  160. package/dist/state/State.d.ts.map +1 -1
  161. package/dist/state/State.js +18 -12
  162. package/dist/state/StateMap.d.ts +3 -3
  163. package/dist/state/StateMap.d.ts.map +1 -1
  164. package/dist/state/StateMap.js +4 -5
  165. package/dist/state/StateService.d.ts +3 -3
  166. package/dist/state/StateService.d.ts.map +1 -1
  167. package/dist/state/StateServiceProvider.d.ts +3 -3
  168. package/dist/state/StateServiceProvider.d.ts.map +1 -1
  169. package/dist/state/StateServiceProvider.js +1 -3
  170. package/dist/state/assert/assert.d.ts +1 -1
  171. package/dist/state/assert/assert.d.ts.map +1 -1
  172. package/dist/state/assert/assert.js +11 -5
  173. package/dist/state/context/ProtocolMethodExecutionContext.d.ts +1 -1
  174. package/dist/state/context/ProtocolMethodExecutionContext.d.ts.map +1 -1
  175. package/dist/state/context/ProtocolMethodExecutionContext.js +1 -1
  176. package/dist/state/context/RuntimeMethodExecutionContext.d.ts +55 -4
  177. package/dist/state/context/RuntimeMethodExecutionContext.d.ts.map +1 -1
  178. package/dist/state/context/RuntimeMethodExecutionContext.js +6 -6
  179. package/dist/state/context/TransitionMethodExecutionContext.d.ts.map +1 -1
  180. package/dist/state/context/TransitionMethodExecutionContext.js +0 -1
  181. package/dist/state/context/contextExecution.d.ts +14 -0
  182. package/dist/state/context/contextExecution.d.ts.map +1 -0
  183. package/dist/state/context/contextExecution.js +30 -0
  184. package/dist/state/protocol/ProtocolState.d.ts.map +1 -1
  185. package/dist/state/protocol/ProtocolState.js +0 -3
  186. package/dist/utils/AppliedBatchHashList.d.ts +17 -0
  187. package/dist/utils/AppliedBatchHashList.d.ts.map +1 -0
  188. package/dist/utils/AppliedBatchHashList.js +24 -0
  189. package/dist/utils/MinaPrefixedProvableHashList.d.ts +2 -2
  190. package/dist/utils/MinaPrefixedProvableHashList.d.ts.map +1 -1
  191. package/dist/utils/MinaPrefixedProvableHashList.js +1 -0
  192. package/dist/utils/PrefixedProvableHashList.d.ts +2 -2
  193. package/dist/utils/PrefixedProvableHashList.d.ts.map +1 -1
  194. package/dist/utils/ProvableHashList.d.ts +4 -4
  195. package/dist/utils/ProvableHashList.d.ts.map +1 -1
  196. package/dist/utils/ProvableReductionHashList.d.ts +14 -0
  197. package/dist/utils/ProvableReductionHashList.d.ts.map +1 -0
  198. package/dist/utils/ProvableReductionHashList.js +50 -0
  199. package/dist/utils/StateTransitionReductionList.d.ts +11 -0
  200. package/dist/utils/StateTransitionReductionList.d.ts.map +1 -0
  201. package/dist/utils/StateTransitionReductionList.js +60 -0
  202. package/dist/utils/merkletree/InMemoryMerkleTreeStorage.d.ts +11 -0
  203. package/dist/utils/merkletree/InMemoryMerkleTreeStorage.d.ts.map +1 -0
  204. package/dist/utils/merkletree/InMemoryMerkleTreeStorage.js +12 -0
  205. package/dist/utils/merkletree/MerkleTreeStore.d.ts +5 -0
  206. package/dist/utils/merkletree/MerkleTreeStore.d.ts.map +1 -0
  207. package/dist/utils/merkletree/MerkleTreeStore.js +1 -0
  208. package/dist/utils/merkletree/RollupMerkleTree.d.ts +133 -0
  209. package/dist/utils/merkletree/RollupMerkleTree.d.ts.map +1 -0
  210. package/dist/utils/merkletree/RollupMerkleTree.js +255 -0
  211. package/dist/utils/utils.d.ts +1 -1
  212. package/dist/utils/utils.d.ts.map +1 -1
  213. package/dist/utils/utils.js +5 -10
  214. package/package.json +5 -5
  215. package/src/{blockmodules/AccountStateModule.ts → hooks/AccountStateHook.ts} +13 -9
  216. package/src/{blockmodules → hooks}/BlockHeightHook.ts +3 -4
  217. package/src/{blockmodules → hooks}/LastStateRootBlockHook.ts +4 -4
  218. package/src/{blockmodules → hooks}/NoopBlockHook.ts +6 -5
  219. package/src/{blockmodules → hooks}/NoopSettlementHook.ts +3 -4
  220. package/src/{blockmodules → hooks}/NoopTransactionHook.ts +5 -1
  221. package/src/index.ts +18 -8
  222. package/src/model/MethodPublicOutput.ts +2 -2
  223. package/src/model/Option.ts +21 -1
  224. package/src/model/Path.ts +1 -3
  225. package/src/model/RuntimeLike.ts +12 -0
  226. package/src/model/StateTransition.ts +9 -1
  227. package/src/model/Transaction.ts +2 -0
  228. package/src/model/network/NetworkState.ts +2 -2
  229. package/src/model/transaction/RuntimeTransaction.ts +5 -12
  230. package/src/model/transaction/SignedTransaction.ts +1 -8
  231. package/src/model/transaction/ValueOption.ts +1 -1
  232. package/src/protocol/Protocol.ts +34 -48
  233. package/src/protocol/ProtocolEnvironment.ts +7 -6
  234. package/src/protocol/ProtocolModule.ts +8 -4
  235. package/src/protocol/ProvableBlockHook.ts +3 -3
  236. package/src/protocol/ProvableTransactionHook.ts +4 -2
  237. package/src/protocol/TransitioningProtocolModule.ts +1 -1
  238. package/src/prover/block/BlockProvable.ts +3 -3
  239. package/src/prover/block/BlockProver.ts +98 -63
  240. package/src/prover/block/accummulators/BlockHashMerkleTree.ts +2 -2
  241. package/src/prover/statetransition/StateTransitionProvable.ts +3 -3
  242. package/src/prover/statetransition/StateTransitionProver.ts +26 -28
  243. package/src/settlement/ContractModule.ts +24 -0
  244. package/src/settlement/SettlementContractModule.ts +132 -0
  245. package/src/settlement/contracts/DispatchContractProtocolModule.ts +39 -0
  246. package/src/settlement/contracts/DispatchSmartContract.ts +136 -0
  247. package/src/settlement/contracts/SettlementContractProtocolModule.ts +67 -0
  248. package/src/settlement/contracts/SettlementSmartContract.ts +350 -0
  249. package/src/settlement/messages/Deposit.ts +6 -0
  250. package/src/settlement/messages/OutgoingMessageArgument.ts +42 -0
  251. package/src/settlement/messages/Withdrawal.ts +14 -0
  252. package/src/settlement/{ProvableSettlementHook.ts → modularity/ProvableSettlementHook.ts} +9 -13
  253. package/src/settlement/modules/NetworkStateSettlementModule.ts +8 -5
  254. package/src/state/State.ts +21 -13
  255. package/src/state/StateMap.ts +4 -5
  256. package/src/state/StateService.ts +3 -3
  257. package/src/state/StateServiceProvider.ts +6 -7
  258. package/src/state/assert/assert.ts +13 -7
  259. package/src/state/context/RuntimeMethodExecutionContext.ts +13 -7
  260. package/src/state/context/TransitionMethodExecutionContext.ts +0 -1
  261. package/src/state/protocol/ProtocolState.ts +1 -4
  262. package/src/utils/MinaPrefixedProvableHashList.ts +4 -3
  263. package/src/utils/PrefixedProvableHashList.ts +2 -2
  264. package/src/utils/ProvableHashList.ts +2 -2
  265. package/src/utils/ProvableReductionHashList.ts +68 -0
  266. package/src/utils/StateTransitionReductionList.ts +89 -0
  267. package/src/utils/utils.ts +4 -9
  268. package/test/BlockProver.test.ts +110 -128
  269. package/test/Protocol.test.ts +14 -21
  270. package/test/State.test.ts +8 -8
  271. package/test/StateTransition.test.ts +56 -66
  272. package/test/TestingProtocol.ts +48 -0
  273. package/test/model/Option.test.ts +72 -0
  274. package/{src → test}/state/assert/assert.test.ts +4 -4
  275. package/test/tsconfig.json +7 -0
  276. package/test/utils/ProvableReductionHashList.test.ts +117 -0
  277. package/test/utils.test.ts +0 -3
  278. package/dist/hooks/TransactionFeeHook.d.ts +0 -16
  279. package/dist/hooks/TransactionFeeHook.d.ts.map +0 -1
  280. package/src/blockmodules/SequenceStateTransactionModule.ts +0 -25
  281. package/src/model/Option.test.ts +0 -21
  282. package/src/settlement/SettlementContract.ts +0 -444
  283. package/src/state/context/ProtocolMethodExecutionContext.ts +0 -36
  284. package/test/Option.test.ts +0 -64
  285. package/tsconfig.test.json +0 -9
@@ -1,40 +1,67 @@
1
1
  declare const MethodPublicOutput_base: (new (value: {
2
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
3
- status: import("o1js/dist/node/lib/bool").Bool;
4
- transactionHash: import("o1js/dist/node/lib/field").Field;
5
- networkStateHash: import("o1js/dist/node/lib/field").Field;
6
- isMessage: import("o1js/dist/node/lib/bool").Bool;
2
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
3
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
4
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
5
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
6
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
7
7
  }) => {
8
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
9
- status: import("o1js/dist/node/lib/bool").Bool;
10
- transactionHash: import("o1js/dist/node/lib/field").Field;
11
- networkStateHash: import("o1js/dist/node/lib/field").Field;
12
- isMessage: import("o1js/dist/node/lib/bool").Bool;
8
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
9
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
10
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
11
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
12
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
13
13
  }) & {
14
14
  _isStruct: true;
15
- } & import("o1js/dist/node/snarky").ProvablePure<{
16
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
17
- status: import("o1js/dist/node/lib/bool").Bool;
18
- transactionHash: import("o1js/dist/node/lib/field").Field;
19
- networkStateHash: import("o1js/dist/node/lib/field").Field;
20
- isMessage: import("o1js/dist/node/lib/bool").Bool;
21
- }> & {
15
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
16
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
17
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
18
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
19
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
20
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
21
+ }, {
22
+ stateTransitionsHash: bigint;
23
+ status: boolean;
24
+ transactionHash: bigint;
25
+ networkStateHash: bigint;
26
+ isMessage: boolean;
27
+ }>, "fromFields"> & {
28
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
29
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
30
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
31
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
32
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
33
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
34
+ };
35
+ } & {
36
+ fromValue: (value: {
37
+ stateTransitionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
38
+ status: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
39
+ transactionHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
40
+ networkStateHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
41
+ isMessage: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
42
+ }) => {
43
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
44
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
45
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
46
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
47
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
48
+ };
22
49
  toInput: (x: {
23
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
24
- status: import("o1js/dist/node/lib/bool").Bool;
25
- transactionHash: import("o1js/dist/node/lib/field").Field;
26
- networkStateHash: import("o1js/dist/node/lib/field").Field;
27
- isMessage: import("o1js/dist/node/lib/bool").Bool;
50
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
51
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
52
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
53
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
54
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
28
55
  }) => {
29
- fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
30
- packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
56
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
57
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
31
58
  };
32
59
  toJSON: (x: {
33
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
34
- status: import("o1js/dist/node/lib/bool").Bool;
35
- transactionHash: import("o1js/dist/node/lib/field").Field;
36
- networkStateHash: import("o1js/dist/node/lib/field").Field;
37
- isMessage: import("o1js/dist/node/lib/bool").Bool;
60
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
61
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
62
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
63
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
64
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
38
65
  }) => {
39
66
  stateTransitionsHash: string;
40
67
  status: boolean;
@@ -49,11 +76,18 @@ declare const MethodPublicOutput_base: (new (value: {
49
76
  networkStateHash: string;
50
77
  isMessage: boolean;
51
78
  }) => {
52
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
53
- status: import("o1js/dist/node/lib/bool").Bool;
54
- transactionHash: import("o1js/dist/node/lib/field").Field;
55
- networkStateHash: import("o1js/dist/node/lib/field").Field;
56
- isMessage: import("o1js/dist/node/lib/bool").Bool;
79
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
80
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
81
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
82
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
83
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
84
+ };
85
+ empty: () => {
86
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
87
+ status: import("o1js/dist/node/lib/provable/bool").Bool;
88
+ transactionHash: import("o1js/dist/node/lib/provable/field").Field;
89
+ networkStateHash: import("o1js/dist/node/lib/provable/field").Field;
90
+ isMessage: import("o1js/dist/node/lib/provable/bool").Bool;
57
91
  };
58
92
  };
59
93
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MethodPublicOutput.d.ts","sourceRoot":"","sources":["../../src/model/MethodPublicOutput.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAMtC;CAAG"}
1
+ {"version":3,"file":"MethodPublicOutput.d.ts","sourceRoot":"","sources":["../../src/model/MethodPublicOutput.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAMtC;CAAG"}
@@ -1,26 +1,41 @@
1
1
  import { Bool, Field, type FlexibleProvablePure } from "o1js";
2
2
  declare const ProvableOption_base: (new (value: {
3
- isSome: import("o1js/dist/node/lib/bool").Bool;
4
- value: import("o1js/dist/node/lib/field").Field;
3
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
4
+ value: import("o1js/dist/node/lib/provable/field").Field;
5
5
  }) => {
6
- isSome: import("o1js/dist/node/lib/bool").Bool;
7
- value: import("o1js/dist/node/lib/field").Field;
6
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
7
+ value: import("o1js/dist/node/lib/provable/field").Field;
8
8
  }) & {
9
9
  _isStruct: true;
10
- } & import("o1js/dist/node/snarky").ProvablePure<{
11
- isSome: import("o1js/dist/node/lib/bool").Bool;
12
- value: import("o1js/dist/node/lib/field").Field;
13
- }> & {
10
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
11
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
12
+ value: import("o1js/dist/node/lib/provable/field").Field;
13
+ }, {
14
+ isSome: boolean;
15
+ value: bigint;
16
+ }>, "fromFields"> & {
17
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
18
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
19
+ value: import("o1js/dist/node/lib/provable/field").Field;
20
+ };
21
+ } & {
22
+ fromValue: (value: {
23
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
24
+ value: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
25
+ }) => {
26
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
27
+ value: import("o1js/dist/node/lib/provable/field").Field;
28
+ };
14
29
  toInput: (x: {
15
- isSome: import("o1js/dist/node/lib/bool").Bool;
16
- value: import("o1js/dist/node/lib/field").Field;
30
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
31
+ value: import("o1js/dist/node/lib/provable/field").Field;
17
32
  }) => {
18
- fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
19
- packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
33
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
34
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
20
35
  };
21
36
  toJSON: (x: {
22
- isSome: import("o1js/dist/node/lib/bool").Bool;
23
- value: import("o1js/dist/node/lib/field").Field;
37
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
38
+ value: import("o1js/dist/node/lib/provable/field").Field;
24
39
  }) => {
25
40
  isSome: boolean;
26
41
  value: string;
@@ -29,8 +44,12 @@ declare const ProvableOption_base: (new (value: {
29
44
  isSome: boolean;
30
45
  value: string;
31
46
  }) => {
32
- isSome: import("o1js/dist/node/lib/bool").Bool;
33
- value: import("o1js/dist/node/lib/field").Field;
47
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
48
+ value: import("o1js/dist/node/lib/provable/field").Field;
49
+ };
50
+ empty: () => {
51
+ isSome: import("o1js/dist/node/lib/provable/bool").Bool;
52
+ value: import("o1js/dist/node/lib/provable/field").Field;
34
53
  };
35
54
  };
36
55
  export declare class ProvableOption extends ProvableOption_base {
@@ -45,7 +64,7 @@ export declare abstract class OptionBase {
45
64
  /**
46
65
  * @returns Tree representation of the current value
47
66
  */
48
- get treeValue(): import("o1js/dist/node/lib/field").Field;
67
+ get treeValue(): import("o1js/dist/node/lib/provable/field").Field;
49
68
  forceSome(): void;
50
69
  /**
51
70
  * Returns the `to`-value as decoded as a list of fields
@@ -88,8 +107,8 @@ export declare class Option<Value> extends OptionBase {
88
107
  /**
89
108
  * @returns Empty / none option
90
109
  */
91
- static none(): Option<import("o1js/dist/node/lib/field").Field>;
92
- constructor(isSome: Bool, value: Value, valueType: FlexibleProvablePure<Value>, isForcedSome?: import("o1js/dist/node/lib/bool").Bool);
110
+ static none(): Option<import("o1js/dist/node/lib/provable/field").Field>;
111
+ constructor(isSome: Bool, value: Value, valueType: FlexibleProvablePure<Value>, isForcedSome?: import("o1js/dist/node/lib/provable/bool").Bool);
93
112
  encodeValueToFields(): Field[];
94
113
  clone(): Option<Value>;
95
114
  /**
@@ -97,6 +116,7 @@ export declare class Option<Value> extends OptionBase {
97
116
  * otherwise returns the given defaultValue
98
117
  */
99
118
  orElse(defaultValue: Value): Value;
119
+ toConstant(): Option<Value>;
100
120
  }
101
121
  export {};
102
122
  //# sourceMappingURL=Option.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../src/model/Option.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,oBAAoB,EAI1B,MAAM,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,qBAAa,cAAe,SAAQ,mBAGlC;IACO,MAAM;CAId;AAED,8BAAsB,UAAU;IACD,MAAM,EAAE,IAAI;IAAS,YAAY,EAAE,IAAI;IAApE,SAAS,aAAoB,MAAM,EAAE,IAAI,EAAS,YAAY,EAAE,IAAI;IAEpE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,KAAK,EAAE;IAEjD,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,UAAU;IAEtC;;OAEG;IACH,IAAW,SAAS,6CAQnB;IAEM,SAAS;IAKhB;;;OAGG;IACI,QAAQ,IAAI,KAAK,EAAE;IAO1B;;OAEG;IACI,UAAU;IAOV,MAAM;;;;;CASd;AAED;;GAEG;AACH,qBAAa,MAAM,CAAC,KAAK,CAAE,SAAQ,UAAU;IAwClC,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAxC/C;;;;;;;OAOG;WACW,IAAI,CAAC,KAAK,EACtB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAKxC;;;;;;OAMG;WACW,SAAS,CAAC,KAAK,EAC3B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAKxC;;OAEG;WACW,IAAI;gBAKhB,MAAM,EAAE,IAAI,EACL,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAC7C,YAAY,yCAAc;IAKrB,mBAAmB,IAAI,KAAK,EAAE;IAI9B,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAS7B;;;OAGG;IACI,MAAM,CAAC,YAAY,EAAE,KAAK,GAAG,KAAK;CAQ1C"}
1
+ {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../src/model/Option.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,oBAAoB,EAK1B,MAAM,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,qBAAa,cAAe,SAAQ,mBAGlC;IACO,MAAM;CAId;AAED,8BAAsB,UAAU;IAErB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;IAF3B,SAAS,aACA,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,IAAI;IAG3B,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,KAAK,EAAE;IAEjD,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,UAAU;IAEtC;;OAEG;IACH,IAAW,SAAS,sDAQnB;IAEM,SAAS;IAKhB;;;OAGG;IACI,QAAQ,IAAI,KAAK,EAAE;IAO1B;;OAEG;IACI,UAAU;IAOV,MAAM;;;;;CASd;AAED;;GAEG;AACH,qBAAa,MAAM,CAAC,KAAK,CAAE,SAAQ,UAAU;IAwClC,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAxC/C;;;;;;;OAOG;WACW,IAAI,CAAC,KAAK,EACtB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAKxC;;;;;;OAMG;WACW,SAAS,CAAC,KAAK,EAC3B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAKxC;;OAEG;WACW,IAAI;gBAKhB,MAAM,EAAE,IAAI,EACL,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAC7C,YAAY,kDAAc;IAKrB,mBAAmB,IAAI,KAAK,EAAE;IAI9B,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAS7B;;;OAGG;IACI,MAAM,CAAC,YAAY,EAAE,KAAK,GAAG,KAAK;IASlC,UAAU;CAelB"}
@@ -101,4 +101,10 @@ export class Option extends OptionBase {
101
101
  orElse(defaultValue) {
102
102
  return Provable.if(this.isSome, this.valueType, this.value, defaultValue);
103
103
  }
104
+ toConstant() {
105
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
106
+ const valueConstant = this.valueType.fromFields(this.valueType.toFields(this.value).map((field) => field.toConstant()));
107
+ const boolConstant = (bool) => Bool.fromFields([bool.toField().toConstant()]);
108
+ return new Option(boolConstant(this.isSome), valueConstant, this.valueType, boolConstant(this.isForcedSome));
109
+ }
104
110
  }
@@ -9,7 +9,7 @@ export declare class Path {
9
9
  * @param value
10
10
  * @returns Field representation of the provided value
11
11
  */
12
- static toField(value: string): import("o1js/dist/node/lib/field").Field;
12
+ static toField(value: string): import("o1js/dist/node/lib/provable/field").Field;
13
13
  /**
14
14
  * Encodes a class name and its property name into a Field
15
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,oBAAoB,EAAsB,MAAM,MAAM,CAAC;AAI5E;;GAEG;AACH,qBAAa,IAAI;IACf;;;;;OAKG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM;IAInC;;;;;;OAMG;WACW,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK;IAQzE;;;;;;;OAOG;WACW,OAAO,CAAC,OAAO,EAC3B,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACtC,GAAG,EAAE,OAAO,GACX,KAAK;CAIT"}
1
+ {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/model/Path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,oBAAoB,EAAY,MAAM,MAAM,CAAC;AAIlE;;GAEG;AACH,qBAAa,IAAI;IACf;;;;;OAKG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM;IAInC;;;;;;OAMG;WACW,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK;IAQzE;;;;;;;OAOG;WACW,OAAO,CAAC,OAAO,EAC3B,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EACtC,GAAG,EAAE,OAAO,GACX,KAAK;CAIT"}
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-extraneous-class */
2
- /* eslint-disable @shopify/no-fully-static-classes */
3
1
  import { Field, Poseidon } from "o1js";
4
2
  import { stringToField } from "../utils/utils";
5
3
  /**
@@ -0,0 +1,11 @@
1
+ export type RuntimeMethodInvocationType = "INCOMING_MESSAGE" | "SIGNATURE";
2
+ export type RuntimeMethodIdMapping = Record<`${string}.${string}`, {
3
+ methodId: bigint;
4
+ type: RuntimeMethodInvocationType;
5
+ }>;
6
+ export interface RuntimeLike {
7
+ get methodIdResolver(): {
8
+ methodIdMap: () => RuntimeMethodIdMapping;
9
+ };
10
+ }
11
+ //# sourceMappingURL=RuntimeLike.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeLike.d.ts","sourceRoot":"","sources":["../../src/model/RuntimeLike.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,GAAG,WAAW,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC,GAAG,MAAM,IAAI,MAAM,EAAE,EACrB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,2BAA2B,CAAA;CAAE,CACxD,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,gBAAgB,IAAI;QACtB,WAAW,EAAE,MAAM,sBAAsB,CAAC;KAC3C,CAAC;CACH"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,30 +1,61 @@
1
1
  import { Field } from "o1js";
2
2
  import { Option, ProvableOption } from "./Option";
3
3
  declare const ProvableStateTransition_base: (new (value: {
4
- path: import("o1js/dist/node/lib/field").Field;
4
+ path: import("o1js/dist/node/lib/provable/field").Field;
5
5
  from: ProvableOption;
6
6
  to: ProvableOption;
7
7
  }) => {
8
- path: import("o1js/dist/node/lib/field").Field;
8
+ path: import("o1js/dist/node/lib/provable/field").Field;
9
9
  from: ProvableOption;
10
10
  to: ProvableOption;
11
11
  }) & {
12
12
  _isStruct: true;
13
- } & import("o1js/dist/node/snarky").ProvablePure<{
14
- path: import("o1js/dist/node/lib/field").Field;
13
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
14
+ path: import("o1js/dist/node/lib/provable/field").Field;
15
15
  from: ProvableOption;
16
16
  to: ProvableOption;
17
- }> & {
17
+ }, {
18
+ path: bigint;
19
+ from: {
20
+ isSome: boolean;
21
+ value: bigint;
22
+ };
23
+ to: {
24
+ isSome: boolean;
25
+ value: bigint;
26
+ };
27
+ }>, "fromFields"> & {
28
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
29
+ path: import("o1js/dist/node/lib/provable/field").Field;
30
+ from: ProvableOption;
31
+ to: ProvableOption;
32
+ };
33
+ } & {
34
+ fromValue: (value: {
35
+ path: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
36
+ from: ProvableOption | {
37
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
38
+ value: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
39
+ };
40
+ to: ProvableOption | {
41
+ isSome: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
42
+ value: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
43
+ };
44
+ }) => {
45
+ path: import("o1js/dist/node/lib/provable/field").Field;
46
+ from: ProvableOption;
47
+ to: ProvableOption;
48
+ };
18
49
  toInput: (x: {
19
- path: import("o1js/dist/node/lib/field").Field;
50
+ path: import("o1js/dist/node/lib/provable/field").Field;
20
51
  from: ProvableOption;
21
52
  to: ProvableOption;
22
53
  }) => {
23
- fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
24
- packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
54
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
55
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
25
56
  };
26
57
  toJSON: (x: {
27
- path: import("o1js/dist/node/lib/field").Field;
58
+ path: import("o1js/dist/node/lib/provable/field").Field;
28
59
  from: ProvableOption;
29
60
  to: ProvableOption;
30
61
  }) => {
@@ -49,7 +80,12 @@ declare const ProvableStateTransition_base: (new (value: {
49
80
  value: string;
50
81
  };
51
82
  }) => {
52
- path: import("o1js/dist/node/lib/field").Field;
83
+ path: import("o1js/dist/node/lib/provable/field").Field;
84
+ from: ProvableOption;
85
+ to: ProvableOption;
86
+ };
87
+ empty: () => {
88
+ path: import("o1js/dist/node/lib/provable/field").Field;
53
89
  from: ProvableOption;
54
90
  to: ProvableOption;
55
91
  };
@@ -68,13 +104,13 @@ export declare class ProvableStateTransition extends ProvableStateTransition_bas
68
104
  */
69
105
  export declare class StateTransition<Value> {
70
106
  path: Field;
71
- fromValue: Option<Field> | Option<Value>;
107
+ fromValue: Option<Value>;
72
108
  toValue: Option<Field> | Option<Value>;
73
109
  static from<Value>(path: Field, fromValue: Option<Value>): StateTransition<Value>;
74
110
  static fromTo<Value>(path: Field, fromValue: Option<Value>, toValue: Option<Value>): StateTransition<Value>;
75
- constructor(path: Field, fromValue: Option<Field> | Option<Value>, toValue: Option<Field> | Option<Value>);
76
- get from(): Option<import("o1js/dist/node/lib/field").Field> | Option<Value>;
77
- get to(): Option<import("o1js/dist/node/lib/field").Field> | Option<Value>;
111
+ constructor(path: Field, fromValue: Option<Value>, toValue: Option<Field> | Option<Value>);
112
+ get from(): Option<Value>;
113
+ get to(): Option<import("o1js/dist/node/lib/provable/field").Field> | Option<Value>;
78
114
  /**
79
115
  * Converts a StateTransition to a ProvableStateTransition,
80
116
  * while enforcing the 'from' property to be 'Some' in all cases.
@@ -93,6 +129,7 @@ export declare class StateTransition<Value> {
93
129
  value: string[];
94
130
  };
95
131
  };
132
+ toConstant(): StateTransition<Value>;
96
133
  }
97
134
  export {};
98
135
  //# sourceMappingURL=StateTransition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateTransition.d.ts","sourceRoot":"","sources":["../../src/model/StateTransition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAU,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,4BAQ3C;WACc,KAAK,IAAI,uBAAuB;CAO/C;AAED;;;GAGG;AACH,qBAAa,eAAe,CAAC,KAAK;IAcvB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;WAfjC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC;WAIjD,MAAM,CAAC,KAAK,EACxB,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EACxB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;gBAMf,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EACxC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IAG/C,IAAW,IAAI,qEAId;IAED,IAAW,EAAE,qEAEZ;IAED;;;OAGG;IACI,UAAU,IAAI,uBAAuB;IAQrC,MAAM;;;;;;;;;;;;;CAOd"}
1
+ {"version":3,"file":"StateTransition.d.ts","sourceRoot":"","sources":["../../src/model/StateTransition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAU,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,4BAQ3C;WACc,KAAK,IAAI,uBAAuB;CAO/C;AAED;;;GAGG;AACH,qBAAa,eAAe,CAAC,KAAK;IAcvB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;WAfjC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC;WAIjD,MAAM,CAAC,KAAK,EACxB,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EACxB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;gBAMf,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EACxB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IAG/C,IAAW,IAAI,kBAId;IAED,IAAW,EAAE,8EAEZ;IAED;;;OAGG;IACI,UAAU,IAAI,uBAAuB;IAQrC,MAAM;;;;;;;;;;;;;IAQN,UAAU,IAAI,eAAe,CAAC,KAAK,CAAC;CAO5C"}
@@ -62,4 +62,7 @@ export class StateTransition {
62
62
  to: this.toValue.toJSON(),
63
63
  };
64
64
  }
65
+ toConstant() {
66
+ return new StateTransition(this.path.toConstant(), this.fromValue.toConstant(), this.toValue.toConstant());
67
+ }
65
68
  }
@@ -7,29 +7,43 @@ export declare class StateTransitionType {
7
7
  static isProtocol(type: boolean): boolean;
8
8
  }
9
9
  declare const ProvableStateTransitionType_base: (new (value: {
10
- type: import("o1js/dist/node/lib/bool").Bool;
10
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
11
11
  }) => {
12
- type: import("o1js/dist/node/lib/bool").Bool;
12
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
13
13
  }) & {
14
14
  _isStruct: true;
15
- } & import("o1js/dist/node/snarky").ProvablePure<{
16
- type: import("o1js/dist/node/lib/bool").Bool;
17
- }> & {
15
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
16
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
17
+ }, {
18
+ type: boolean;
19
+ }>, "fromFields"> & {
20
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
21
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
22
+ };
23
+ } & {
24
+ fromValue: (value: {
25
+ type: boolean | import("o1js/dist/node/lib/provable/bool").Bool;
26
+ }) => {
27
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
28
+ };
18
29
  toInput: (x: {
19
- type: import("o1js/dist/node/lib/bool").Bool;
30
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
20
31
  }) => {
21
- fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
22
- packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
32
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
33
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
23
34
  };
24
35
  toJSON: (x: {
25
- type: import("o1js/dist/node/lib/bool").Bool;
36
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
26
37
  }) => {
27
38
  type: boolean;
28
39
  };
29
40
  fromJSON: (x: {
30
41
  type: boolean;
31
42
  }) => {
32
- type: import("o1js/dist/node/lib/bool").Bool;
43
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
44
+ };
45
+ empty: () => {
46
+ type: import("o1js/dist/node/lib/provable/bool").Bool;
33
47
  };
34
48
  };
35
49
  export declare class ProvableStateTransitionType extends ProvableStateTransitionType_base {
@@ -46,16 +60,55 @@ declare const StateTransitionProvableBatch_base: (new (value: {
46
60
  transitionTypes: ProvableStateTransitionType[];
47
61
  }) & {
48
62
  _isStruct: true;
49
- } & import("o1js/dist/node/snarky").ProvablePure<{
63
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
50
64
  batch: ProvableStateTransition[];
51
65
  transitionTypes: ProvableStateTransitionType[];
52
- }> & {
66
+ }, {
67
+ batch: {
68
+ path: bigint;
69
+ from: {
70
+ isSome: boolean;
71
+ value: bigint;
72
+ };
73
+ to: {
74
+ isSome: boolean;
75
+ value: bigint;
76
+ };
77
+ }[];
78
+ transitionTypes: {
79
+ type: boolean;
80
+ }[];
81
+ }>, "fromFields"> & {
82
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
83
+ batch: ProvableStateTransition[];
84
+ transitionTypes: ProvableStateTransitionType[];
85
+ };
86
+ } & {
87
+ fromValue: (value: {
88
+ batch: ProvableStateTransition[] | {
89
+ path: bigint;
90
+ from: {
91
+ isSome: boolean;
92
+ value: bigint;
93
+ };
94
+ to: {
95
+ isSome: boolean;
96
+ value: bigint;
97
+ };
98
+ }[];
99
+ transitionTypes: ProvableStateTransitionType[] | {
100
+ type: boolean;
101
+ }[];
102
+ }) => {
103
+ batch: ProvableStateTransition[];
104
+ transitionTypes: ProvableStateTransitionType[];
105
+ };
53
106
  toInput: (x: {
54
107
  batch: ProvableStateTransition[];
55
108
  transitionTypes: ProvableStateTransitionType[];
56
109
  }) => {
57
- fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
58
- packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
110
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
111
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
59
112
  };
60
113
  toJSON: (x: {
61
114
  batch: ProvableStateTransition[];
@@ -95,6 +148,10 @@ declare const StateTransitionProvableBatch_base: (new (value: {
95
148
  batch: ProvableStateTransition[];
96
149
  transitionTypes: ProvableStateTransitionType[];
97
150
  };
151
+ empty: () => {
152
+ batch: ProvableStateTransition[];
153
+ transitionTypes: ProvableStateTransitionType[];
154
+ };
98
155
  };
99
156
  /**
100
157
  * A Batch of StateTransitions to be consumed by the StateTransitionProver
@@ -1 +1 @@
1
- {"version":3,"file":"StateTransitionProvableBatch.d.ts","sourceRoot":"","sources":["../../src/model/StateTransitionProvableBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,MAAM,CAAC;AAK9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,mBAAmB;IAC9B,gBAAuB,MAAM,QAAQ;IAErC,gBAAuB,QAAQ,SAAS;WAE1B,QAAQ,CAAC,IAAI,EAAE,OAAO;WAItB,UAAU,CAAC,IAAI,EAAE,OAAO;CAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,2BAA4B,SAAQ,gCAE/C;IACA,WAAkB,MAAM,IAAI,2BAA2B,CAItD;IAED,WAAkB,QAAQ,IAAI,2BAA2B,CAIxD;IAEM,QAAQ,IAAI,IAAI;IAIhB,UAAU,IAAI,IAAI;CAG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,iCAUhD;WACc,YAAY,CACxB,WAAW,EAAE;QACX,UAAU,EAAE,uBAAuB,CAAC;QACpC,IAAI,EAAE,2BAA2B,CAAC;KACnC,EAAE,GACF,4BAA4B;WAyBjB,eAAe,CAC3B,WAAW,EAAE,uBAAuB,EAAE,EACtC,mBAAmB,EAAE,uBAAuB,EAAE,GAC7C,4BAA4B;IAsB/B,OAAO;CAMR"}
1
+ {"version":3,"file":"StateTransitionProvableBatch.d.ts","sourceRoot":"","sources":["../../src/model/StateTransitionProvableBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,MAAM,CAAC;AAK9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,mBAAmB;IAC9B,gBAAuB,MAAM,QAAQ;IAErC,gBAAuB,QAAQ,SAAS;WAE1B,QAAQ,CAAC,IAAI,EAAE,OAAO;WAItB,UAAU,CAAC,IAAI,EAAE,OAAO;CAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,2BAA4B,SAAQ,gCAE/C;IACA,WAAkB,MAAM,IAAI,2BAA2B,CAItD;IAED,WAAkB,QAAQ,IAAI,2BAA2B,CAIxD;IAEM,QAAQ,IAAI,IAAI;IAIhB,UAAU,IAAI,IAAI;CAG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,iCAUhD;WACc,YAAY,CACxB,WAAW,EAAE;QACX,UAAU,EAAE,uBAAuB,CAAC;QACpC,IAAI,EAAE,2BAA2B,CAAC;KACnC,EAAE,GACF,4BAA4B;WAyBjB,eAAe,CAC3B,WAAW,EAAE,uBAAuB,EAAE,EACtC,mBAAmB,EAAE,uBAAuB,EAAE,GAC7C,4BAA4B;IAsB/B,OAAO;CAMR"}
@@ -0,0 +1,3 @@
1
+ import { StateTransition } from "./StateTransition";
2
+ export declare function reduceStateTransitions(transitions: StateTransition<unknown>[]): StateTransition<unknown>[];
3
+ //# sourceMappingURL=StateTransitionReduction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateTransitionReduction.d.ts","sourceRoot":"","sources":["../../src/model/StateTransitionReduction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,GACtC,eAAe,CAAC,OAAO,CAAC,EAAE,CA0B5B"}
@@ -0,0 +1,26 @@
1
+ import { StateTransition } from "./StateTransition";
2
+ export function reduceStateTransitions(transitions) {
3
+ const reduced = [];
4
+ for (const st of transitions) {
5
+ if (reduced.length === 0) {
6
+ reduced.push(st);
7
+ continue;
8
+ }
9
+ const last = reduced.at(-1);
10
+ if (last.path.equals(st.path).toBoolean()) {
11
+ if (st.toValue.isSome.toBoolean()) {
12
+ reduced.pop();
13
+ reduced.push(new StateTransition(st.path, last.fromValue, st.toValue));
14
+ }
15
+ else {
16
+ // Do nothing, because we discard that ST
17
+ // { from: 5, to: 10 }, { from: 10, to: none }
18
+ // cancel the 2nd
19
+ }
20
+ }
21
+ else {
22
+ reduced.push(st);
23
+ }
24
+ }
25
+ return reduced;
26
+ }