@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockHashMerkleTree.d.ts","sourceRoot":"","sources":["../../../../src/prover/block/acummulators/BlockHashMerkleTree.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,EAA8B,MAAM,MAAM,CAAC;;AAE/D,qBAAa,mBAAoB,SAAQ,wBAAmB;CAAG;AAC/D,qBAAa,0BAA2B,SAAQ,mBAAmB,CAAC,OAAO;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9E,qBAAa,kBAAmB,SAAQ,uBAKtC;IACO,IAAI,IAAI,KAAK;CAGrB"}
@@ -0,0 +1,16 @@
1
+ import { createMerkleTree } from "@proto-kit/common";
2
+ import { Bool, Field, Poseidon, Struct } from "o1js";
3
+ export class BlockHashMerkleTree extends createMerkleTree(8) {
4
+ }
5
+ export class BlockHashMerkleTreeWitness extends BlockHashMerkleTree.WITNESS {
6
+ }
7
+ export class BlockHashTreeEntry extends Struct({
8
+ transactionsHash: Field,
9
+ closed: Bool,
10
+ // TODO We could add startingEternalTransactionsHash here to offer
11
+ // a more trivial connection to the sequence state
12
+ }) {
13
+ hash() {
14
+ return Poseidon.hash([this.transactionsHash, ...this.closed.toFields()]);
15
+ }
16
+ }
@@ -3,37 +3,60 @@ import { WithZkProgrammable } from "@proto-kit/common";
3
3
  import { StateTransitionProvableBatch } from "../../model/StateTransitionProvableBatch";
4
4
  import { StateTransitionWitnessProviderReference } from "./StateTransitionWitnessProviderReference";
5
5
  declare const StateTransitionProverPublicInput_base: (new (value: {
6
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
7
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
8
- stateRoot: import("o1js/dist/node/lib/field").Field;
9
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
6
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
7
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
8
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
9
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
10
10
  }) => {
11
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
12
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
13
- stateRoot: import("o1js/dist/node/lib/field").Field;
14
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
11
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
12
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
13
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
14
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
15
15
  }) & {
16
16
  _isStruct: true;
17
- } & import("o1js/dist/node/snarky").ProvablePure<{
18
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
19
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
20
- stateRoot: import("o1js/dist/node/lib/field").Field;
21
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
22
- }> & {
17
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
18
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
19
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
20
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
21
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
22
+ }, {
23
+ stateTransitionsHash: bigint;
24
+ protocolTransitionsHash: bigint;
25
+ stateRoot: bigint;
26
+ protocolStateRoot: bigint;
27
+ }>, "fromFields"> & {
28
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
29
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
30
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
31
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
32
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
33
+ };
34
+ } & {
35
+ fromValue: (value: {
36
+ stateTransitionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
37
+ protocolTransitionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
38
+ stateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
39
+ protocolStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
40
+ }) => {
41
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
42
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
43
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
44
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
45
+ };
23
46
  toInput: (x: {
24
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
25
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
26
- stateRoot: import("o1js/dist/node/lib/field").Field;
27
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
47
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
48
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
49
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
50
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
28
51
  }) => {
29
- fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
30
- packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
52
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
53
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
31
54
  };
32
55
  toJSON: (x: {
33
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
34
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
35
- stateRoot: import("o1js/dist/node/lib/field").Field;
36
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
56
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
57
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
58
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
59
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
37
60
  }) => {
38
61
  stateTransitionsHash: string;
39
62
  protocolTransitionsHash: string;
@@ -46,46 +69,75 @@ declare const StateTransitionProverPublicInput_base: (new (value: {
46
69
  stateRoot: string;
47
70
  protocolStateRoot: string;
48
71
  }) => {
49
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
50
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
51
- stateRoot: import("o1js/dist/node/lib/field").Field;
52
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
72
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
73
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
74
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
75
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
76
+ };
77
+ empty: () => {
78
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
79
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
80
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
81
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
53
82
  };
54
83
  };
55
84
  export declare class StateTransitionProverPublicInput extends StateTransitionProverPublicInput_base {
56
85
  }
57
86
  declare const StateTransitionProverPublicOutput_base: (new (value: {
58
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
59
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
60
- stateRoot: import("o1js/dist/node/lib/field").Field;
61
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
87
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
88
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
89
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
90
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
62
91
  }) => {
63
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
64
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
65
- stateRoot: import("o1js/dist/node/lib/field").Field;
66
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
92
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
93
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
94
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
95
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
67
96
  }) & {
68
97
  _isStruct: true;
69
- } & import("o1js/dist/node/snarky").ProvablePure<{
70
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
71
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
72
- stateRoot: import("o1js/dist/node/lib/field").Field;
73
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
74
- }> & {
98
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
99
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
100
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
101
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
102
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
103
+ }, {
104
+ stateTransitionsHash: bigint;
105
+ protocolTransitionsHash: bigint;
106
+ stateRoot: bigint;
107
+ protocolStateRoot: bigint;
108
+ }>, "fromFields"> & {
109
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
110
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
111
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
112
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
113
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
114
+ };
115
+ } & {
116
+ fromValue: (value: {
117
+ stateTransitionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
118
+ protocolTransitionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
119
+ stateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
120
+ protocolStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
121
+ }) => {
122
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
123
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
124
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
125
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
126
+ };
75
127
  toInput: (x: {
76
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
77
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
78
- stateRoot: import("o1js/dist/node/lib/field").Field;
79
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
128
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
129
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
130
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
131
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
80
132
  }) => {
81
- fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
82
- packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
133
+ fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
134
+ packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
83
135
  };
84
136
  toJSON: (x: {
85
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
86
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
87
- stateRoot: import("o1js/dist/node/lib/field").Field;
88
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
137
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
138
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
139
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
140
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
89
141
  }) => {
90
142
  stateTransitionsHash: string;
91
143
  protocolTransitionsHash: string;
@@ -98,10 +150,16 @@ declare const StateTransitionProverPublicOutput_base: (new (value: {
98
150
  stateRoot: string;
99
151
  protocolStateRoot: string;
100
152
  }) => {
101
- stateTransitionsHash: import("o1js/dist/node/lib/field").Field;
102
- protocolTransitionsHash: import("o1js/dist/node/lib/field").Field;
103
- stateRoot: import("o1js/dist/node/lib/field").Field;
104
- protocolStateRoot: import("o1js/dist/node/lib/field").Field;
153
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
154
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
155
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
156
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
157
+ };
158
+ empty: () => {
159
+ stateTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
160
+ protocolTransitionsHash: import("o1js/dist/node/lib/provable/field").Field;
161
+ stateRoot: import("o1js/dist/node/lib/provable/field").Field;
162
+ protocolStateRoot: import("o1js/dist/node/lib/provable/field").Field;
105
163
  };
106
164
  };
107
165
  export declare class StateTransitionProverPublicOutput extends StateTransitionProverPublicOutput_base {
@@ -109,8 +167,8 @@ export declare class StateTransitionProverPublicOutput extends StateTransitionPr
109
167
  export type StateTransitionProof = Proof<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>;
110
168
  export interface StateTransitionProvable extends WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput> {
111
169
  witnessProviderReference: StateTransitionWitnessProviderReference;
112
- runBatch: (publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch) => StateTransitionProverPublicOutput;
113
- merge: (publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof) => StateTransitionProverPublicOutput;
170
+ runBatch: (publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch) => Promise<StateTransitionProverPublicOutput>;
171
+ merge: (publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof) => Promise<StateTransitionProverPublicOutput>;
114
172
  }
115
173
  export {};
116
174
  //# sourceMappingURL=StateTransitionProvable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateTransitionProvable.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProvable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAU,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAkB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAExF,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpG,qBAAa,gCAAiC,SAAQ,qCAKpD;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,iCAAkC,SAAQ,sCAKrD;CAAG;AAEL,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,gCAAgC,EAChC,iCAAiC,CAClC,CAAC;AAEF,MAAM,WAAW,uBACf,SAAQ,kBAAkB,CACxB,gCAAgC,EAChC,iCAAiC,CAClC;IACD,wBAAwB,EAAE,uCAAuC,CAAC;IAElE,QAAQ,EAAE,CACR,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,KAChC,iCAAiC,CAAC;IAEvC,KAAK,EAAE,CACL,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,KACzB,iCAAiC,CAAC;CACxC"}
1
+ {"version":3,"file":"StateTransitionProvable.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProvable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAU,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAExF,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpG,qBAAa,gCAAiC,SAAQ,qCAKpD;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,iCAAkC,SAAQ,sCAKrD;CAAG;AAEL,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,gCAAgC,EAChC,iCAAiC,CAClC,CAAC;AAEF,MAAM,WAAW,uBACf,SAAQ,kBAAkB,CACxB,gCAAgC,EAChC,iCAAiC,CAClC;IACD,wBAAwB,EAAE,uCAAuC,CAAC;IAElE,QAAQ,EAAE,CACR,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,KAChC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAEhD,KAAK,EAAE,CACL,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,KACzB,OAAO,CAAC,iCAAiC,CAAC,CAAC;CACjD"}
@@ -1,10 +1,11 @@
1
- import { Field } from "o1js";
2
1
  import { AreProofsEnabled, PlainZkProgram, ZkProgrammable } from "@proto-kit/common";
3
- import { ProvableHashList } from "../../utils/ProvableHashList";
2
+ import { Field } from "o1js";
4
3
  import { ProvableStateTransition } from "../../model/StateTransition";
5
4
  import { ProvableStateTransitionType, StateTransitionProvableBatch } from "../../model/StateTransitionProvableBatch";
5
+ import { StateTransitionProverType } from "../../protocol/Protocol";
6
6
  import { ProtocolModule } from "../../protocol/ProtocolModule";
7
- import { StateTransitionProvable, StateTransitionProverPublicInput, StateTransitionProof, StateTransitionProverPublicOutput } from "./StateTransitionProvable";
7
+ import { ProvableHashList } from "../../utils/ProvableHashList";
8
+ import { StateTransitionProof, StateTransitionProvable, StateTransitionProverPublicInput, StateTransitionProverPublicOutput } from "./StateTransitionProvable";
8
9
  import { StateTransitionWitnessProviderReference } from "./StateTransitionWitnessProviderReference";
9
10
  interface StateTransitionProverExecutionState {
10
11
  stateRoot: Field;
@@ -36,15 +37,15 @@ export declare class StateTransitionProverProgrammable extends ZkProgrammable<St
36
37
  /**
37
38
  * Applies a whole batch of StateTransitions at once
38
39
  */
39
- runBatch(publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch): StateTransitionProverPublicOutput;
40
- merge(publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof): StateTransitionProverPublicOutput;
40
+ runBatch(publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch): Promise<StateTransitionProverPublicOutput>;
41
+ merge(publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof): Promise<StateTransitionProverPublicOutput>;
41
42
  }
42
- export declare class StateTransitionProver extends ProtocolModule implements StateTransitionProvable {
43
+ export declare class StateTransitionProver extends ProtocolModule implements StateTransitionProvable, StateTransitionProverType {
43
44
  readonly witnessProviderReference: StateTransitionWitnessProviderReference;
44
- readonly zkProgrammable: StateTransitionProverProgrammable;
45
+ zkProgrammable: StateTransitionProverProgrammable;
45
46
  constructor(witnessProviderReference: StateTransitionWitnessProviderReference);
46
- runBatch(publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch): StateTransitionProverPublicOutput;
47
- merge(publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof): StateTransitionProverPublicOutput;
47
+ runBatch(publicInput: StateTransitionProverPublicInput, batch: StateTransitionProvableBatch): Promise<StateTransitionProverPublicOutput>;
48
+ merge(publicInput: StateTransitionProverPublicInput, proof1: StateTransitionProof, proof2: StateTransitionProof): Promise<StateTransitionProverPublicOutput>;
48
49
  }
49
50
  export {};
50
51
  //# sourceMappingURL=StateTransitionProver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateTransitionProver.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProver.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,EAAuB,MAAM,MAAM,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAEhB,cAAc,EAGd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,oBAAoB,EACpB,iCAAiC,EAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AAepG,UAAU,mCAAmC;IAC3C,SAAS,EAAE,KAAK,CAAC;IACjB,iBAAiB,EAAE,KAAK,CAAC;IACzB,mBAAmB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC/D,sBAAsB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;CACnE;AAOD;;;GAGG;AACH,qBAAa,iCAAkC,SAAQ,cAAc,CACnE,gCAAgC,EAChC,iCAAiC,CAClC;IAGG,OAAO,CAAC,QAAQ,CAAC,qBAAqB;aACtB,wBAAwB,EAAE,uCAAuC;gBADhE,qBAAqB,EAAE,qBAAqB,EAC7C,wBAAwB,EAAE,uCAAuC;IAKnF,IAAW,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAElD;IAEM,gBAAgB,IAAI,cAAc,CACvC,gCAAgC,EAChC,iCAAiC,CAClC;IAqDD,OAAO,KAAK,eAAe,GAM1B;IAED;;;OAGG;IACI,gBAAgB,CACrB,SAAS,EAAE,KAAK,EAChB,iBAAiB,EAAE,KAAK,EACxB,6BAA6B,EAAE,KAAK,EACpC,gCAAgC,EAAE,KAAK,EACvC,eAAe,EAAE,4BAA4B,GAC5C,mCAAmC;IA6BtC;;;OAGG;IACI,eAAe,CACpB,KAAK,EAAE,mCAAmC,EAC1C,UAAU,EAAE,uBAAuB,EACnC,IAAI,EAAE,2BAA2B,EACjC,KAAK,SAAI;IAiDX;;OAEG;IAEI,QAAQ,CACb,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,GAClC,iCAAiC;IAkB7B,KAAK,CACV,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,iCAAiC;CAqErC;AAED,qBACa,qBACX,SAAQ,cACR,YAAW,uBAAuB;aAMhB,wBAAwB,EAAE,uCAAuC;IAJnF,SAAgB,cAAc,EAAE,iCAAiC,CAAC;gBAIhD,wBAAwB,EAAE,uCAAuC;IAS5E,QAAQ,CACb,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,GAClC,iCAAiC;IAI7B,KAAK,CACV,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,iCAAiC;CAGrC"}
1
+ {"version":3,"file":"StateTransitionProver.d.ts","sourceRoot":"","sources":["../../../src/prover/statetransition/StateTransitionProver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EAGd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAkC,MAAM,MAAM,CAAC;AAI7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAEL,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AAepG,UAAU,mCAAmC;IAC3C,SAAS,EAAE,KAAK,CAAC;IACjB,iBAAiB,EAAE,KAAK,CAAC;IACzB,mBAAmB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC/D,sBAAsB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;CACnE;AAOD;;;GAGG;AACH,qBAAa,iCAAkC,SAAQ,cAAc,CACnE,gCAAgC,EAChC,iCAAiC,CAClC;IAEG,OAAO,CAAC,QAAQ,CAAC,qBAAqB;aACtB,wBAAwB,EAAE,uCAAuC;gBADhE,qBAAqB,EAAE,qBAAqB,EAC7C,wBAAwB,EAAE,uCAAuC;IAKnF,IAAW,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAElD;IAEM,gBAAgB,IAAI,cAAc,CACvC,gCAAgC,EAChC,iCAAiC,CAClC;IAqDD,OAAO,KAAK,eAAe,GAM1B;IAED;;;OAGG;IACI,gBAAgB,CACrB,SAAS,EAAE,KAAK,EAChB,iBAAiB,EAAE,KAAK,EACxB,6BAA6B,EAAE,KAAK,EACpC,gCAAgC,EAAE,KAAK,EACvC,eAAe,EAAE,4BAA4B,GAC5C,mCAAmC;IA6BtC;;;OAGG;IACI,eAAe,CACpB,KAAK,EAAE,mCAAmC,EAC1C,UAAU,EAAE,uBAAuB,EACnC,IAAI,EAAE,2BAA2B,EACjC,KAAK,SAAI;IAiDX;;OAEG;IAEU,QAAQ,CACnB,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,iCAAiC,CAAC;IAkBhC,KAAK,CAChB,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,iCAAiC,CAAC;CAqE9C;AAED,qBACa,qBACX,SAAQ,cACR,YAAW,uBAAuB,EAAE,yBAAyB;aAM3C,wBAAwB,EAAE,uCAAuC;IAJ5E,cAAc,EAAE,iCAAiC,CAAC;gBAIvC,wBAAwB,EAAE,uCAAuC;IAS5E,QAAQ,CACb,WAAW,EAAE,gCAAgC,EAC7C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,iCAAiC,CAAC;IAItC,KAAK,CACV,WAAW,EAAE,gCAAgC,EAC7C,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,iCAAiC,CAAC;CAG9C"}
@@ -7,15 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- /* eslint-disable max-lines */
11
- import { Experimental, Field, Provable, SelfProof } from "o1js";
12
- import { injectable } from "tsyringe";
13
10
  import { provableMethod, RollupMerkleTreeWitness, ZkProgrammable, } from "@proto-kit/common";
14
- import { DefaultProvableHashList, } from "../../utils/ProvableHashList";
11
+ import { Field, Provable, SelfProof, ZkProgram } from "o1js";
12
+ import { injectable } from "tsyringe";
13
+ import { constants } from "../../Constants";
15
14
  import { ProvableStateTransition } from "../../model/StateTransition";
16
15
  import { StateTransitionProvableBatch, } from "../../model/StateTransitionProvableBatch";
17
- import { constants } from "../../Constants";
18
16
  import { ProtocolModule } from "../../protocol/ProtocolModule";
17
+ import { DefaultProvableHashList, } from "../../utils/ProvableHashList";
19
18
  import { StateTransitionProverPublicInput, StateTransitionProverPublicOutput, } from "./StateTransitionProvable";
20
19
  import { StateTransitionWitnessProviderReference } from "./StateTransitionWitnessProviderReference";
21
20
  const errors = {
@@ -29,9 +28,7 @@ const StateTransitionSelfProofClass = (SelfProof);
29
28
  * transitions and checks and updates their merkle-tree entries
30
29
  */
31
30
  export class StateTransitionProverProgrammable extends ZkProgrammable {
32
- constructor(
33
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
34
- stateTransitionProver, witnessProviderReference) {
31
+ constructor(stateTransitionProver, witnessProviderReference) {
35
32
  super();
36
33
  this.stateTransitionProver = stateTransitionProver;
37
34
  this.witnessProviderReference = witnessProviderReference;
@@ -40,17 +37,16 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
40
37
  return this.stateTransitionProver.appChain;
41
38
  }
42
39
  zkProgramFactory() {
43
- // eslint-disable-next-line max-len
44
- // eslint-disable-next-line @typescript-eslint/no-this-alias,consistent-this,unicorn/no-this-assignment
45
40
  const instance = this;
46
- const program = Experimental.ZkProgram({
41
+ const program = ZkProgram({
42
+ name: "StateTransitionProver",
47
43
  publicInput: StateTransitionProverPublicInput,
48
44
  publicOutput: StateTransitionProverPublicOutput,
49
45
  methods: {
50
46
  proveBatch: {
51
47
  privateInputs: [StateTransitionProvableBatch],
52
- method(publicInput, batch) {
53
- return instance.runBatch(publicInput, batch);
48
+ async method(publicInput, batch) {
49
+ return await instance.runBatch(publicInput, batch);
54
50
  },
55
51
  },
56
52
  merge: {
@@ -58,8 +54,8 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
58
54
  StateTransitionSelfProofClass,
59
55
  StateTransitionSelfProofClass,
60
56
  ],
61
- method(publicInput, proof1, proof2) {
62
- return instance.merge(publicInput, proof1, proof2);
57
+ async method(publicInput, proof1, proof2) {
58
+ return await instance.merge(publicInput, proof1, proof2);
63
59
  },
64
60
  },
65
61
  },
@@ -68,10 +64,11 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
68
64
  proveBatch: program.proveBatch.bind(program),
69
65
  merge: program.merge.bind(program),
70
66
  };
71
- const SelfProofClass = Experimental.ZkProgram.Proof(program);
67
+ const SelfProofClass = ZkProgram.Proof(program);
72
68
  return {
73
69
  compile: program.compile.bind(program),
74
70
  verify: program.verify.bind(program),
71
+ analyzeMethods: program.analyzeMethods.bind(program),
75
72
  Proof: SelfProofClass,
76
73
  methods,
77
74
  };
@@ -123,7 +120,7 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
123
120
  /**
124
121
  * Applies a whole batch of StateTransitions at once
125
122
  */
126
- runBatch(publicInput, batch) {
123
+ async runBatch(publicInput, batch) {
127
124
  const result = this.applyTransitions(publicInput.stateRoot, publicInput.protocolStateRoot, publicInput.stateTransitionsHash, publicInput.protocolTransitionsHash, batch);
128
125
  return new StateTransitionProverPublicOutput({
129
126
  stateRoot: result.stateRoot,
@@ -132,7 +129,7 @@ export class StateTransitionProverProgrammable extends ZkProgrammable {
132
129
  protocolStateRoot: result.protocolStateRoot,
133
130
  });
134
131
  }
135
- merge(publicInput, proof1, proof2) {
132
+ async merge(publicInput, proof1, proof2) {
136
133
  proof1.verify();
137
134
  proof2.verify();
138
135
  // Check state
@@ -160,15 +157,15 @@ __decorate([
160
157
  __metadata("design:type", Function),
161
158
  __metadata("design:paramtypes", [StateTransitionProverPublicInput,
162
159
  StateTransitionProvableBatch]),
163
- __metadata("design:returntype", StateTransitionProverPublicOutput)
160
+ __metadata("design:returntype", Promise)
164
161
  ], StateTransitionProverProgrammable.prototype, "runBatch", null);
165
162
  __decorate([
166
163
  provableMethod(),
167
164
  __metadata("design:type", Function),
168
165
  __metadata("design:paramtypes", [StateTransitionProverPublicInput, Object, Object]),
169
- __metadata("design:returntype", StateTransitionProverPublicOutput)
166
+ __metadata("design:returntype", Promise)
170
167
  ], StateTransitionProverProgrammable.prototype, "merge", null);
171
- let StateTransitionProver = class StateTransitionProver extends ProtocolModule {
168
+ export let StateTransitionProver = class StateTransitionProver extends ProtocolModule {
172
169
  constructor(
173
170
  // Injected
174
171
  witnessProviderReference) {
@@ -187,4 +184,3 @@ StateTransitionProver = __decorate([
187
184
  injectable(),
188
185
  __metadata("design:paramtypes", [StateTransitionWitnessProviderReference])
189
186
  ], StateTransitionProver);
190
- export { StateTransitionProver };
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { injectable } from "tsyringe";
8
8
  import { RollupMerkleTreeWitness } from "@proto-kit/common";
9
- let NoOpStateTransitionWitnessProvider = class NoOpStateTransitionWitnessProvider {
9
+ export let NoOpStateTransitionWitnessProvider = class NoOpStateTransitionWitnessProvider {
10
10
  getWitness() {
11
11
  return new RollupMerkleTreeWitness({ path: [], isLeft: [] });
12
12
  }
@@ -14,4 +14,3 @@ let NoOpStateTransitionWitnessProvider = class NoOpStateTransitionWitnessProvide
14
14
  NoOpStateTransitionWitnessProvider = __decorate([
15
15
  injectable()
16
16
  ], NoOpStateTransitionWitnessProvider);
17
- export { NoOpStateTransitionWitnessProvider };
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { injectable, Lifecycle, scoped } from "tsyringe";
8
- let StateTransitionWitnessProviderReference = class StateTransitionWitnessProviderReference {
8
+ export let StateTransitionWitnessProviderReference = class StateTransitionWitnessProviderReference {
9
9
  setWitnessProvider(provider) {
10
10
  this.witnessProvider = provider;
11
11
  }
@@ -17,4 +17,3 @@ StateTransitionWitnessProviderReference = __decorate([
17
17
  injectable(),
18
18
  scoped(Lifecycle.ContainerScoped)
19
19
  ], StateTransitionWitnessProviderReference);
20
- export { StateTransitionWitnessProviderReference };
@@ -0,0 +1,15 @@
1
+ import { ConfigurableModule, NoConfig, TypedClass } from "@proto-kit/common";
2
+ import { SmartContract } from "o1js";
3
+ export type SmartContractClassFromInterface<Type> = typeof SmartContract & TypedClass<Type>;
4
+ /**
5
+ * This module type is used to define a contract module that can be used to
6
+ * construct and inject smart contract instances.
7
+ * It defines a method contractFactory, whose arguments can be configured via
8
+ * the Argument generic. It returns a smart contract class that is a subclass
9
+ * of SmartContract and implements a certain interface as specified by the
10
+ * ContractType generic.
11
+ */
12
+ export declare abstract class ContractModule<ContractType, Arguments = undefined, Config = NoConfig> extends ConfigurableModule<Config> {
13
+ abstract contractFactory(args: Arguments): SmartContractClassFromInterface<ContractType>;
14
+ }
15
+ //# sourceMappingURL=ContractModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractModule.d.ts","sourceRoot":"","sources":["../../src/settlement/ContractModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,MAAM,+BAA+B,CAAC,IAAI,IAAI,OAAO,aAAa,GACtE,UAAU,CAAC,IAAI,CAAC,CAAC;AAEnB;;;;;;;GAOG;AACH,8BAAsB,cAAc,CAClC,YAAY,EAEZ,SAAS,GAAG,SAAS,EACrB,MAAM,GAAG,QAAQ,CACjB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;aAClB,eAAe,CAC7B,IAAI,EAAE,SAAS,GACd,+BAA+B,CAAC,YAAY,CAAC;CACjD"}
@@ -0,0 +1,11 @@
1
+ import { ConfigurableModule } from "@proto-kit/common";
2
+ /**
3
+ * This module type is used to define a contract module that can be used to
4
+ * construct and inject smart contract instances.
5
+ * It defines a method contractFactory, whose arguments can be configured via
6
+ * the Argument generic. It returns a smart contract class that is a subclass
7
+ * of SmartContract and implements a certain interface as specified by the
8
+ * ContractType generic.
9
+ */
10
+ export class ContractModule extends ConfigurableModule {
11
+ }
@@ -0,0 +1,20 @@
1
+ import { Field, PublicKey, SmartContract, State, UInt64 } from "o1js";
2
+ export declare const ACTIONS_EMPTY_HASH: import("o1js/dist/node/lib/field").Field;
3
+ export interface DispatchContractType {
4
+ updateMessagesHash: (executedMessagesHash: Field, newPromisedMessagesHash: Field) => void;
5
+ initialize: (settlementContract: PublicKey) => void;
6
+ promisedMessagesHash: State<Field>;
7
+ }
8
+ export declare class DispatchContract extends SmartContract implements DispatchContractType {
9
+ private readonly methodIdMappings;
10
+ private readonly incomingMessagesPaths;
11
+ promisedMessagesHash: State<import("o1js/dist/node/lib/field").Field>;
12
+ honoredMessagesHash: State<import("o1js/dist/node/lib/field").Field>;
13
+ settlementContract: State<PublicKey>;
14
+ constructor(address: PublicKey, methodIdMappings: Record<string, bigint>, incomingMessagesPaths: Record<string, `${string}.${string}`>);
15
+ updateMessagesHash(executedMessagesHash: Field, newPromisedMessagesHash: Field): void;
16
+ initialize(settlementContract: PublicKey): void;
17
+ private dispatchMessage;
18
+ deposit(amount: UInt64): void;
19
+ }
20
+ //# sourceMappingURL=DispatchContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DispatchContract.d.ts","sourceRoot":"","sources":["../../src/settlement/DispatchContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAIL,SAAS,EAET,aAAa,EACb,KAAK,EAEL,MAAM,EACP,MAAM,MAAM,CAAC;AAOd,eAAO,MAAM,kBAAkB,0CAA6B,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,CAClB,oBAAoB,EAAE,KAAK,EAC3B,uBAAuB,EAAE,KAAK,KAC3B,IAAI,CAAC;IACV,UAAU,EAAE,CAAC,kBAAkB,EAAE,SAAS,KAAK,IAAI,CAAC;IAEpD,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;CACpC;AAED,qBAAa,gBACX,SAAQ,aACR,YAAW,oBAAoB;IAU7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IATnB,oBAAoB,kDAAkB;IAEtC,mBAAmB,kDAAkB;IAEjC,kBAAkB,mBAAsB;gBAG/D,OAAO,EAAE,SAAS,EACD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,qBAAqB,EAAE,MAAM,CAC5C,MAAM,EACN,GAAG,MAAM,IAAI,MAAM,EAAE,CACtB;IAMI,kBAAkB,CACvB,oBAAoB,EAAE,KAAK,EAC3B,uBAAuB,EAAE,KAAK;IAiBzB,UAAU,CAAC,kBAAkB,EAAE,SAAS;IAY/C,OAAO,CAAC,eAAe;IA8BhB,OAAO,CAAC,MAAM,EAAE,MAAM;CAqB9B"}
@@ -0,0 +1,112 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { AccountUpdate, Field, method, Poseidon, PublicKey, Reducer, SmartContract, State, state, UInt64, } from "o1js";
11
+ import { RuntimeTransaction } from "../model/transaction/RuntimeTransaction";
12
+ import { MinaActions, MinaEvents } from "../utils/MinaPrefixedProvableHashList";
13
+ import { Deposit } from "./messages/Deposit";
14
+ export const ACTIONS_EMPTY_HASH = Reducer.initialActionState;
15
+ export class DispatchContract extends SmartContract {
16
+ constructor(address, methodIdMappings, incomingMessagesPaths) {
17
+ super(address);
18
+ this.methodIdMappings = methodIdMappings;
19
+ this.incomingMessagesPaths = incomingMessagesPaths;
20
+ this.promisedMessagesHash = State();
21
+ this.honoredMessagesHash = State();
22
+ this.settlementContract = State();
23
+ }
24
+ updateMessagesHash(executedMessagesHash, newPromisedMessagesHash) {
25
+ const promisedMessagesHash = this.promisedMessagesHash.getAndAssertEquals();
26
+ this.honoredMessagesHash.getAndAssertEquals();
27
+ executedMessagesHash.assertEquals(promisedMessagesHash);
28
+ this.honoredMessagesHash.set(executedMessagesHash);
29
+ this.self.account.isNew;
30
+ // Assert and apply new promisedMessagesHash
31
+ this.self.account.actionState.assertEquals(newPromisedMessagesHash);
32
+ this.promisedMessagesHash.set(newPromisedMessagesHash);
33
+ }
34
+ initialize(settlementContract) {
35
+ this.promisedMessagesHash.getAndAssertEquals().assertEquals(Field(0));
36
+ this.honoredMessagesHash.getAndAssertEquals().assertEquals(Field(0));
37
+ this.settlementContract
38
+ .getAndAssertEquals()
39
+ .assertEquals(PublicKey.empty());
40
+ this.promisedMessagesHash.set(ACTIONS_EMPTY_HASH);
41
+ this.honoredMessagesHash.set(ACTIONS_EMPTY_HASH);
42
+ this.settlementContract.set(settlementContract);
43
+ }
44
+ dispatchMessage(methodId, value, valueType) {
45
+ const args = valueType.toFields(value);
46
+ // Should be the same as RuntimeTransaction.hash
47
+ const argsHash = Poseidon.hash(args);
48
+ const runtimeTransaction = RuntimeTransaction.fromMessage({
49
+ methodId,
50
+ argsHash,
51
+ });
52
+ // Append tx to incomingMessagesHash
53
+ const actionData = runtimeTransaction.hashData();
54
+ const actionHash = MinaActions.actionHash(actionData);
55
+ this.self.body.actions = {
56
+ hash: actionHash,
57
+ data: [actionData],
58
+ };
59
+ const eventHash = MinaEvents.eventHash(args);
60
+ this.self.body.events = {
61
+ hash: eventHash,
62
+ data: [args],
63
+ };
64
+ }
65
+ deposit(amount) {
66
+ // Save this, since otherwise it would be a second witness later,
67
+ // which could be a different values than the first
68
+ const { sender } = this;
69
+ const settlementContract = this.settlementContract.getAndAssertEquals();
70
+ // Credit the amount to the settlement contract
71
+ const balanceAU = AccountUpdate.create(settlementContract);
72
+ balanceAU.balance.addInPlace(amount);
73
+ this.self.approve(balanceAU);
74
+ const action = new Deposit({
75
+ address: sender,
76
+ amount,
77
+ });
78
+ const methodId = Field(this.methodIdMappings[this.incomingMessagesPaths.deposit]);
79
+ this.dispatchMessage(methodId.toConstant(), action, Deposit);
80
+ }
81
+ }
82
+ __decorate([
83
+ state(Field),
84
+ __metadata("design:type", Object)
85
+ ], DispatchContract.prototype, "promisedMessagesHash", void 0);
86
+ __decorate([
87
+ state(Field),
88
+ __metadata("design:type", Object)
89
+ ], DispatchContract.prototype, "honoredMessagesHash", void 0);
90
+ __decorate([
91
+ state(PublicKey),
92
+ __metadata("design:type", Object)
93
+ ], DispatchContract.prototype, "settlementContract", void 0);
94
+ __decorate([
95
+ method,
96
+ __metadata("design:type", Function),
97
+ __metadata("design:paramtypes", [Field,
98
+ Field]),
99
+ __metadata("design:returntype", void 0)
100
+ ], DispatchContract.prototype, "updateMessagesHash", null);
101
+ __decorate([
102
+ method,
103
+ __metadata("design:type", Function),
104
+ __metadata("design:paramtypes", [PublicKey]),
105
+ __metadata("design:returntype", void 0)
106
+ ], DispatchContract.prototype, "initialize", null);
107
+ __decorate([
108
+ method,
109
+ __metadata("design:type", Function),
110
+ __metadata("design:paramtypes", [UInt64]),
111
+ __metadata("design:returntype", void 0)
112
+ ], DispatchContract.prototype, "deposit", null);