@proto-kit/protocol 0.1.1-develop.1088 → 0.1.1-develop.1309

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 (211) hide show
  1. package/dist/Constants.js +1 -0
  2. package/dist/Constants.js.map +1 -0
  3. package/dist/hooks/AccountStateHook.js +1 -0
  4. package/dist/hooks/AccountStateHook.js.map +1 -0
  5. package/dist/hooks/BlockHeightHook.js +1 -0
  6. package/dist/hooks/BlockHeightHook.js.map +1 -0
  7. package/dist/hooks/LastStateRootBlockHook.js +1 -0
  8. package/dist/hooks/LastStateRootBlockHook.js.map +1 -0
  9. package/dist/hooks/NoopBlockHook.js +1 -0
  10. package/dist/hooks/NoopBlockHook.js.map +1 -0
  11. package/dist/hooks/NoopSettlementHook.d.ts +2 -2
  12. package/dist/hooks/NoopSettlementHook.d.ts.map +1 -1
  13. package/dist/hooks/NoopSettlementHook.js +1 -0
  14. package/dist/hooks/NoopSettlementHook.js.map +1 -0
  15. package/dist/hooks/NoopTransactionHook.js +1 -0
  16. package/dist/hooks/NoopTransactionHook.js.map +1 -0
  17. package/dist/index.d.ts +6 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -2
  20. package/dist/index.js.map +1 -0
  21. package/dist/model/MethodPublicOutput.js +1 -0
  22. package/dist/model/MethodPublicOutput.js.map +1 -0
  23. package/dist/model/Option.js +1 -0
  24. package/dist/model/Option.js.map +1 -0
  25. package/dist/model/Path.js +1 -0
  26. package/dist/model/Path.js.map +1 -0
  27. package/dist/model/RuntimeLike.js +1 -0
  28. package/dist/model/RuntimeLike.js.map +1 -0
  29. package/dist/model/StateTransition.js +1 -0
  30. package/dist/model/StateTransition.js.map +1 -0
  31. package/dist/model/StateTransitionProvableBatch.d.ts +28 -2
  32. package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -1
  33. package/dist/model/StateTransitionProvableBatch.js +9 -3
  34. package/dist/model/StateTransitionProvableBatch.js.map +1 -0
  35. package/dist/model/network/NetworkState.js +1 -0
  36. package/dist/model/network/NetworkState.js.map +1 -0
  37. package/dist/model/transaction/RuntimeTransaction.js +1 -0
  38. package/dist/model/transaction/RuntimeTransaction.js.map +1 -0
  39. package/dist/model/transaction/SignedTransaction.js +1 -0
  40. package/dist/model/transaction/SignedTransaction.js.map +1 -0
  41. package/dist/model/transaction/ValueOption.js +1 -0
  42. package/dist/model/transaction/ValueOption.js.map +1 -0
  43. package/dist/protocol/Protocol.d.ts.map +1 -1
  44. package/dist/protocol/Protocol.js +31 -6
  45. package/dist/protocol/Protocol.js.map +1 -0
  46. package/dist/protocol/ProtocolEnvironment.js +1 -0
  47. package/dist/protocol/ProtocolEnvironment.js.map +1 -0
  48. package/dist/protocol/ProtocolModule.d.ts +1 -1
  49. package/dist/protocol/ProtocolModule.d.ts.map +1 -1
  50. package/dist/protocol/ProtocolModule.js +2 -1
  51. package/dist/protocol/ProtocolModule.js.map +1 -0
  52. package/dist/protocol/ProvableBlockHook.js +1 -0
  53. package/dist/protocol/ProvableBlockHook.js.map +1 -0
  54. package/dist/protocol/ProvableTransactionHook.js +1 -0
  55. package/dist/protocol/ProvableTransactionHook.js.map +1 -0
  56. package/dist/protocol/TransitioningProtocolModule.js +1 -0
  57. package/dist/protocol/TransitioningProtocolModule.js.map +1 -0
  58. package/dist/prover/block/BlockProvable.d.ts +19 -5
  59. package/dist/prover/block/BlockProvable.d.ts.map +1 -1
  60. package/dist/prover/block/BlockProvable.js +5 -2
  61. package/dist/prover/block/BlockProvable.js.map +1 -0
  62. package/dist/prover/block/BlockProver.d.ts +11 -9
  63. package/dist/prover/block/BlockProver.d.ts.map +1 -1
  64. package/dist/prover/block/BlockProver.js +79 -41
  65. package/dist/prover/block/BlockProver.js.map +1 -0
  66. package/dist/prover/block/accummulators/BlockHashMerkleTree.js +1 -0
  67. package/dist/prover/block/accummulators/BlockHashMerkleTree.js.map +1 -0
  68. package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.d.ts +2 -2
  69. package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.js +1 -0
  70. package/dist/prover/block/accummulators/RuntimeVerificationKeyTree.js.map +1 -0
  71. package/dist/prover/block/services/RuntimeVerificationKeyRootService.js +1 -0
  72. package/dist/prover/block/services/RuntimeVerificationKeyRootService.js.map +1 -0
  73. package/dist/prover/statetransition/StateTransitionProvable.d.ts +2 -4
  74. package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -1
  75. package/dist/prover/statetransition/StateTransitionProvable.js +1 -0
  76. package/dist/prover/statetransition/StateTransitionProvable.js.map +1 -0
  77. package/dist/prover/statetransition/StateTransitionProver.d.ts +7 -10
  78. package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -1
  79. package/dist/prover/statetransition/StateTransitionProver.js +27 -28
  80. package/dist/prover/statetransition/StateTransitionProver.js.map +1 -0
  81. package/dist/settlement/ContractModule.d.ts +4 -3
  82. package/dist/settlement/ContractModule.d.ts.map +1 -1
  83. package/dist/settlement/ContractModule.js +2 -1
  84. package/dist/settlement/ContractModule.js.map +1 -0
  85. package/dist/settlement/SettlementContractModule.d.ts +25 -12
  86. package/dist/settlement/SettlementContractModule.d.ts.map +1 -1
  87. package/dist/settlement/SettlementContractModule.js +29 -20
  88. package/dist/settlement/SettlementContractModule.js.map +1 -0
  89. package/dist/settlement/contracts/BridgeContract.d.ts +97 -0
  90. package/dist/settlement/contracts/BridgeContract.d.ts.map +1 -0
  91. package/dist/settlement/contracts/BridgeContract.js +164 -0
  92. package/dist/settlement/contracts/BridgeContract.js.map +1 -0
  93. package/dist/settlement/contracts/BridgeContractProtocolModule.d.ts +14 -0
  94. package/dist/settlement/contracts/BridgeContractProtocolModule.d.ts.map +1 -0
  95. package/dist/settlement/contracts/BridgeContractProtocolModule.js +30 -0
  96. package/dist/settlement/contracts/BridgeContractProtocolModule.js.map +1 -0
  97. package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts +10 -1
  98. package/dist/settlement/contracts/DispatchContractProtocolModule.d.ts.map +1 -1
  99. package/dist/settlement/contracts/DispatchContractProtocolModule.js +24 -2
  100. package/dist/settlement/contracts/DispatchContractProtocolModule.js.map +1 -0
  101. package/dist/settlement/contracts/DispatchSmartContract.d.ts +26 -4
  102. package/dist/settlement/contracts/DispatchSmartContract.d.ts.map +1 -1
  103. package/dist/settlement/contracts/DispatchSmartContract.js +139 -19
  104. package/dist/settlement/contracts/DispatchSmartContract.js.map +1 -0
  105. package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts +10 -8
  106. package/dist/settlement/contracts/SettlementContractProtocolModule.d.ts.map +1 -1
  107. package/dist/settlement/contracts/SettlementContractProtocolModule.js +47 -9
  108. package/dist/settlement/contracts/SettlementContractProtocolModule.js.map +1 -0
  109. package/dist/settlement/contracts/SettlementSmartContract.d.ts +98 -17
  110. package/dist/settlement/contracts/SettlementSmartContract.d.ts.map +1 -1
  111. package/dist/settlement/contracts/SettlementSmartContract.js +147 -79
  112. package/dist/settlement/contracts/SettlementSmartContract.js.map +1 -0
  113. package/dist/settlement/contracts/TokenBridgeTree.d.ts +228 -0
  114. package/dist/settlement/contracts/TokenBridgeTree.d.ts.map +1 -0
  115. package/dist/settlement/contracts/TokenBridgeTree.js +60 -0
  116. package/dist/settlement/contracts/TokenBridgeTree.js.map +1 -0
  117. package/dist/settlement/contracts/authorizations/ContractAuthorization.d.ts +10 -0
  118. package/dist/settlement/contracts/authorizations/ContractAuthorization.d.ts.map +1 -0
  119. package/dist/settlement/contracts/authorizations/ContractAuthorization.js +2 -0
  120. package/dist/settlement/contracts/authorizations/ContractAuthorization.js.map +1 -0
  121. package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.d.ts +85 -0
  122. package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.d.ts.map +1 -0
  123. package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.js +11 -0
  124. package/dist/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.js.map +1 -0
  125. package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.d.ts +79 -0
  126. package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.d.ts.map +1 -0
  127. package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.js +11 -0
  128. package/dist/settlement/contracts/authorizations/UpdateMessagesHashAuth.js.map +1 -0
  129. package/dist/settlement/messages/Deposit.d.ts +13 -0
  130. package/dist/settlement/messages/Deposit.d.ts.map +1 -1
  131. package/dist/settlement/messages/Deposit.js +3 -1
  132. package/dist/settlement/messages/Deposit.js.map +1 -0
  133. package/dist/settlement/messages/OutgoingMessageArgument.d.ts +8 -0
  134. package/dist/settlement/messages/OutgoingMessageArgument.d.ts.map +1 -1
  135. package/dist/settlement/messages/OutgoingMessageArgument.js +1 -0
  136. package/dist/settlement/messages/OutgoingMessageArgument.js.map +1 -0
  137. package/dist/settlement/messages/Withdrawal.d.ts +13 -0
  138. package/dist/settlement/messages/Withdrawal.d.ts.map +1 -1
  139. package/dist/settlement/messages/Withdrawal.js +4 -1
  140. package/dist/settlement/messages/Withdrawal.js.map +1 -0
  141. package/dist/settlement/modularity/ProvableSettlementHook.d.ts +5 -3
  142. package/dist/settlement/modularity/ProvableSettlementHook.d.ts.map +1 -1
  143. package/dist/settlement/modularity/ProvableSettlementHook.js +1 -0
  144. package/dist/settlement/modularity/ProvableSettlementHook.js.map +1 -0
  145. package/dist/settlement/modularity/types.d.ts +8 -0
  146. package/dist/settlement/modularity/types.d.ts.map +1 -0
  147. package/dist/settlement/modularity/types.js +2 -0
  148. package/dist/settlement/modularity/types.js.map +1 -0
  149. package/dist/settlement/modules/NetworkStateSettlementModule.js +1 -0
  150. package/dist/settlement/modules/NetworkStateSettlementModule.js.map +1 -0
  151. package/dist/state/State.js +1 -0
  152. package/dist/state/State.js.map +1 -0
  153. package/dist/state/StateMap.js +1 -0
  154. package/dist/state/StateMap.js.map +1 -0
  155. package/dist/state/StateService.js +1 -0
  156. package/dist/state/StateService.js.map +1 -0
  157. package/dist/state/StateServiceProvider.js +1 -0
  158. package/dist/state/StateServiceProvider.js.map +1 -0
  159. package/dist/state/assert/assert.js +1 -0
  160. package/dist/state/assert/assert.js.map +1 -0
  161. package/dist/state/context/RuntimeMethodExecutionContext.js +1 -0
  162. package/dist/state/context/RuntimeMethodExecutionContext.js.map +1 -0
  163. package/dist/state/context/TransitionMethodExecutionContext.js +1 -0
  164. package/dist/state/context/TransitionMethodExecutionContext.js.map +1 -0
  165. package/dist/state/protocol/ProtocolState.js +1 -0
  166. package/dist/state/protocol/ProtocolState.js.map +1 -0
  167. package/dist/utils/MinaPrefixedProvableHashList.js +1 -0
  168. package/dist/utils/MinaPrefixedProvableHashList.js.map +1 -0
  169. package/dist/utils/PrefixedProvableHashList.js +1 -0
  170. package/dist/utils/PrefixedProvableHashList.js.map +1 -0
  171. package/dist/utils/ProvableHashList.js +1 -0
  172. package/dist/utils/ProvableHashList.js.map +1 -0
  173. package/dist/utils/ProvableReductionHashList.js +1 -0
  174. package/dist/utils/ProvableReductionHashList.js.map +1 -0
  175. package/dist/utils/StateTransitionReductionList.js +1 -0
  176. package/dist/utils/StateTransitionReductionList.js.map +1 -0
  177. package/dist/utils/utils.js +1 -0
  178. package/dist/utils/utils.js.map +1 -0
  179. package/jest.config.cjs +12 -1
  180. package/package.json +4 -4
  181. package/src/hooks/NoopSettlementHook.ts +2 -2
  182. package/src/index.ts +6 -2
  183. package/src/model/StateTransitionProvableBatch.ts +24 -4
  184. package/src/protocol/Protocol.ts +36 -7
  185. package/src/protocol/ProtocolModule.ts +1 -1
  186. package/src/prover/block/BlockProvable.ts +9 -9
  187. package/src/prover/block/BlockProver.ts +94 -58
  188. package/src/prover/statetransition/StateTransitionProvable.ts +5 -8
  189. package/src/prover/statetransition/StateTransitionProver.ts +46 -40
  190. package/src/settlement/ContractModule.ts +17 -10
  191. package/src/settlement/SettlementContractModule.ts +54 -41
  192. package/src/settlement/contracts/BridgeContract.ts +237 -0
  193. package/src/settlement/contracts/BridgeContractProtocolModule.ts +43 -0
  194. package/src/settlement/contracts/DispatchContractProtocolModule.ts +37 -3
  195. package/src/settlement/contracts/DispatchSmartContract.ts +213 -23
  196. package/src/settlement/contracts/SettlementContractProtocolModule.ts +61 -20
  197. package/src/settlement/contracts/SettlementSmartContract.ts +261 -107
  198. package/src/settlement/contracts/TokenBridgeTree.ts +73 -0
  199. package/src/settlement/contracts/authorizations/ContractAuthorization.ts +11 -0
  200. package/src/settlement/contracts/authorizations/TokenBridgeDeploymentAuth.ts +16 -0
  201. package/src/settlement/contracts/authorizations/UpdateMessagesHashAuth.ts +16 -0
  202. package/src/settlement/messages/Deposit.ts +2 -1
  203. package/src/settlement/messages/Withdrawal.ts +3 -1
  204. package/src/settlement/modularity/ProvableSettlementHook.ts +6 -3
  205. package/src/settlement/modularity/types.ts +22 -0
  206. package/test/BlockProver.test.ts +2 -1
  207. package/test/TestingProtocol.ts +17 -12
  208. package/test/compiling/types.ts +28 -0
  209. package/test/modularity/types.ts +35 -0
  210. package/src/prover/statetransition/StateTransitionWitnessProvider.ts +0 -23
  211. package/src/prover/statetransition/StateTransitionWitnessProviderReference.ts +0 -17
@@ -6,3 +6,4 @@ import { ProtocolModule } from "./ProtocolModule";
6
6
  */
7
7
  export class TransitioningProtocolModule extends ProtocolModule {
8
8
  }
9
+ //# sourceMappingURL=TransitioningProtocolModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitioningProtocolModule.js","sourceRoot":"","sources":["../../src/protocol/TransitioningProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,MAAM,OAAgB,2BAEpB,SAAQ,cAAsB;CAE/B"}
@@ -1,5 +1,5 @@
1
- import { Bool, DynamicProof, Field, Proof, Signature, Void } from "o1js";
2
- import { WithZkProgrammable } from "@proto-kit/common";
1
+ import { Bool, DynamicProof, Proof, Signature, Void } from "o1js";
2
+ import { WithZkProgrammable, CompilableModule } from "@proto-kit/common";
3
3
  import { StateTransitionProof } from "../statetransition/StateTransitionProvable";
4
4
  import { MethodPublicOutput } from "../../model/MethodPublicOutput";
5
5
  import { RuntimeTransaction } from "../../model/transaction/RuntimeTransaction";
@@ -13,6 +13,7 @@ declare const BlockProverPublicInput_base: (new (value: {
13
13
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
14
14
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
15
15
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
16
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
16
17
  }) => {
17
18
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
18
19
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
@@ -20,6 +21,7 @@ declare const BlockProverPublicInput_base: (new (value: {
20
21
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
21
22
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
22
23
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
24
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
23
25
  }) & {
24
26
  _isStruct: true;
25
27
  } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
@@ -29,6 +31,7 @@ declare const BlockProverPublicInput_base: (new (value: {
29
31
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
30
32
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
31
33
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
34
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
32
35
  }, {
33
36
  transactionsHash: bigint;
34
37
  stateRoot: bigint;
@@ -36,6 +39,7 @@ declare const BlockProverPublicInput_base: (new (value: {
36
39
  blockHashRoot: bigint;
37
40
  eternalTransactionsHash: bigint;
38
41
  incomingMessagesHash: bigint;
42
+ blockNumber: bigint;
39
43
  }>, "fromFields"> & {
40
44
  fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
41
45
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -44,6 +48,7 @@ declare const BlockProverPublicInput_base: (new (value: {
44
48
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
45
49
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
46
50
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
51
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
47
52
  };
48
53
  } & {
49
54
  fromValue: (value: {
@@ -53,6 +58,7 @@ declare const BlockProverPublicInput_base: (new (value: {
53
58
  blockHashRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
54
59
  eternalTransactionsHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
55
60
  incomingMessagesHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
61
+ blockNumber: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
56
62
  }) => {
57
63
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
58
64
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
@@ -60,6 +66,7 @@ declare const BlockProverPublicInput_base: (new (value: {
60
66
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
61
67
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
62
68
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
69
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
63
70
  };
64
71
  toInput: (x: {
65
72
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -68,6 +75,7 @@ declare const BlockProverPublicInput_base: (new (value: {
68
75
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
69
76
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
70
77
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
78
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
71
79
  }) => {
72
80
  fields?: import("o1js/dist/node/lib/provable/field").Field[] | undefined;
73
81
  packed?: [import("o1js/dist/node/lib/provable/field").Field, number][] | undefined;
@@ -79,6 +87,7 @@ declare const BlockProverPublicInput_base: (new (value: {
79
87
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
80
88
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
81
89
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
90
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
82
91
  }) => {
83
92
  transactionsHash: string;
84
93
  stateRoot: string;
@@ -86,6 +95,7 @@ declare const BlockProverPublicInput_base: (new (value: {
86
95
  blockHashRoot: string;
87
96
  eternalTransactionsHash: string;
88
97
  incomingMessagesHash: string;
98
+ blockNumber: string;
89
99
  };
90
100
  fromJSON: (x: {
91
101
  transactionsHash: string;
@@ -94,6 +104,7 @@ declare const BlockProverPublicInput_base: (new (value: {
94
104
  blockHashRoot: string;
95
105
  eternalTransactionsHash: string;
96
106
  incomingMessagesHash: string;
107
+ blockNumber: string;
97
108
  }) => {
98
109
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
99
110
  stateRoot: import("o1js/dist/node/lib/provable/field").Field;
@@ -101,6 +112,7 @@ declare const BlockProverPublicInput_base: (new (value: {
101
112
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
102
113
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
103
114
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
115
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
104
116
  };
105
117
  empty: () => {
106
118
  transactionsHash: import("o1js/dist/node/lib/provable/field").Field;
@@ -109,6 +121,7 @@ declare const BlockProverPublicInput_base: (new (value: {
109
121
  blockHashRoot: import("o1js/dist/node/lib/provable/field").Field;
110
122
  eternalTransactionsHash: import("o1js/dist/node/lib/provable/field").Field;
111
123
  incomingMessagesHash: import("o1js/dist/node/lib/provable/field").Field;
124
+ blockNumber: import("o1js/dist/node/lib/provable/field").Field;
112
125
  };
113
126
  };
114
127
  export declare class BlockProverPublicInput extends BlockProverPublicInput_base {
@@ -245,7 +258,7 @@ declare const BlockProverPublicOutput_base: (new (value: {
245
258
  };
246
259
  };
247
260
  export declare class BlockProverPublicOutput extends BlockProverPublicOutput_base {
248
- equals(input: BlockProverPublicInput, closed: Bool, blockNumber: Field): Bool;
261
+ equals(input: BlockProverPublicInput, closed: Bool): Bool;
249
262
  }
250
263
  export type BlockProverProof = Proof<BlockProverPublicInput, BlockProverPublicOutput>;
251
264
  declare const BlockProverExecutionData_base: (new (value: {
@@ -385,10 +398,11 @@ export declare class BlockProverExecutionData extends BlockProverExecutionData_b
385
398
  export declare class DynamicRuntimeProof extends DynamicProof<Void, MethodPublicOutput> {
386
399
  static publicInputType: import("o1js/dist/node/lib/provable/types/struct").ProvablePureExtended<void, void, null>;
387
400
  static publicOutputType: typeof MethodPublicOutput;
401
+ static maxProofsVerified: 0;
388
402
  }
389
- export interface BlockProvable extends WithZkProgrammable<BlockProverPublicInput, BlockProverPublicOutput> {
403
+ export interface BlockProvable extends WithZkProgrammable<BlockProverPublicInput, BlockProverPublicOutput>, CompilableModule {
390
404
  proveTransaction: (publicInput: BlockProverPublicInput, stateProof: StateTransitionProof, appProof: DynamicRuntimeProof, executionData: BlockProverExecutionData, verificationKeyAttestation: RuntimeVerificationKeyAttestation) => Promise<BlockProverPublicOutput>;
391
- proveBlock: (publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, stateTransitionProof: StateTransitionProof, transactionProof: BlockProverProof) => Promise<BlockProverPublicOutput>;
405
+ proveBlock: (publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, transactionProof: BlockProverProof) => Promise<BlockProverPublicOutput>;
392
406
  merge: (publicInput: BlockProverPublicInput, proof1: BlockProverProof, proof2: BlockProverProof) => Promise<BlockProverPublicOutput>;
393
407
  }
394
408
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"BlockProvable.d.ts","sourceRoot":"","sources":["../../../src/prover/block/BlockProvable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,KAAK,EACL,SAAS,EAET,IAAI,EACL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/F,qBAAa,sBAAuB,SAAQ,2BAO1C;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAS3C;IACO,MAAM,CACX,KAAK,EAAE,sBAAsB,EAC7B,MAAM,EAAE,IAAI,EACZ,WAAW,EAAE,KAAK,GACjB,IAAI;CAWR;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAClC,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;AAEL,qBAAa,mBAAoB,SAAQ,YAAY,CACnD,IAAI,EACJ,kBAAkB,CACnB;IACC,MAAM,CAAC,eAAe,4FAAQ;IAE9B,MAAM,CAAC,gBAAgB,4BAAsB;CAC9C;AAED,MAAM,WAAW,aACf,SAAQ,kBAAkB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAC3E,gBAAgB,EAAE,CAChB,WAAW,EAAE,sBAAsB,EACnC,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,wBAAwB,EACvC,0BAA0B,EAAE,iCAAiC,KAC1D,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEtC,UAAU,EAAE,CACV,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,0BAA0B,EACxC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEtC,KAAK,EAAE,CACL,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,KACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"BlockProvable.d.ts","sourceRoot":"","sources":["../../../src/prover/block/BlockProvable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,YAAY,EAEZ,KAAK,EACL,SAAS,EAET,IAAI,EACL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/F,qBAAa,sBAAuB,SAAQ,2BAQ1C;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAS3C;IACO,MAAM,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI;CAUjE;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAClC,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;AAEL,qBAAa,mBAAoB,SAAQ,YAAY,CACnD,IAAI,EACJ,kBAAkB,CACnB;IACC,MAAM,CAAC,eAAe,4FAAQ;IAE9B,MAAM,CAAC,gBAAgB,4BAAsB;IAG7C,MAAM,CAAC,iBAAiB,IAAc;CACvC;AAED,MAAM,WAAW,aACf,SAAQ,kBAAkB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,EACzE,gBAAgB;IAClB,gBAAgB,EAAE,CAChB,WAAW,EAAE,sBAAsB,EACnC,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,wBAAwB,EACvC,0BAA0B,EAAE,iCAAiC,KAC1D,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEtC,UAAU,EAAE,CACV,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,0BAA0B,EAExC,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEtC,KAAK,EAAE,CACL,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,KACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACvC"}
@@ -9,6 +9,7 @@ export class BlockProverPublicInput extends Struct({
9
9
  blockHashRoot: Field,
10
10
  eternalTransactionsHash: Field,
11
11
  incomingMessagesHash: Field,
12
+ blockNumber: Field,
12
13
  }) {
13
14
  }
14
15
  export class BlockProverPublicOutput extends Struct({
@@ -21,11 +22,10 @@ export class BlockProverPublicOutput extends Struct({
21
22
  closed: Bool,
22
23
  blockNumber: Field,
23
24
  }) {
24
- equals(input, closed, blockNumber) {
25
+ equals(input, closed) {
25
26
  const output2 = BlockProverPublicOutput.toFields({
26
27
  ...input,
27
28
  closed,
28
- blockNumber,
29
29
  });
30
30
  const output1 = BlockProverPublicOutput.toFields(this);
31
31
  return output1
@@ -43,3 +43,6 @@ export class DynamicRuntimeProof extends DynamicProof {
43
43
  }
44
44
  DynamicRuntimeProof.publicInputType = Void;
45
45
  DynamicRuntimeProof.publicOutputType = MethodPublicOutput;
46
+ // TODO this won't be 0 for proofs-as-args
47
+ DynamicRuntimeProof.maxProofsVerified = 0;
48
+ //# sourceMappingURL=BlockProvable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockProvable.js","sourceRoot":"","sources":["../../../src/prover/block/BlockProvable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,KAAK,EAEL,SAAS,EACT,MAAM,EACN,IAAI,GACL,MAAM,MAAM,CAAC;AAId,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAKhE,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC;IACjD,gBAAgB,EAAE,KAAK;IACvB,SAAS,EAAE,KAAK;IAChB,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,KAAK;IAC9B,oBAAoB,EAAE,KAAK;IAC3B,WAAW,EAAE,KAAK;CACnB,CAAC;CAAG;AAEL,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC;IAClD,gBAAgB,EAAE,KAAK;IACvB,SAAS,EAAE,KAAK;IAChB,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,KAAK;IAC9B,oBAAoB,EAAE,KAAK;IAC3B,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,KAAK;CACnB,CAAC;IACO,MAAM,CAAC,KAA6B,EAAE,MAAY;QACvD,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC;YAC/C,GAAG,KAAK;YACR,MAAM;SACP,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aACrD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;CACF;AAOD,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC;IACnD,WAAW,EAAE,kBAAkB;IAC/B,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,YAAY;CAC3B,CAAC;CAAG;AAEL,MAAM,OAAO,mBAAoB,SAAQ,YAGxC;;AACQ,mCAAe,GAAG,IAAI,CAAC;AAEvB,oCAAgB,GAAG,kBAAkB,CAAC;AAE7C,0CAA0C;AACnC,qCAAiB,GAAG,CAAU,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { DynamicProof, Field, Proof, VerificationKey } from "o1js";
2
- import { AreProofsEnabled, PlainZkProgram, WithZkProgrammable, ZkProgrammable } from "@proto-kit/common";
2
+ import { AreProofsEnabled, CompilableModule, CompileArtifact, CompileRegistry, PlainZkProgram, WithZkProgrammable, ZkProgrammable } from "@proto-kit/common";
3
3
  import { MethodPublicOutput } from "../../model/MethodPublicOutput";
4
4
  import { ProtocolModule } from "../../protocol/ProtocolModule";
5
- import { StateTransitionProof, StateTransitionProverPublicInput, StateTransitionProverPublicOutput } from "../statetransition/StateTransitionProvable";
5
+ import { StateTransitionProof, StateTransitionProvable, StateTransitionProverPublicInput, StateTransitionProverPublicOutput } from "../statetransition/StateTransitionProvable";
6
6
  import { ProvableTransactionHook } from "../../protocol/ProvableTransactionHook";
7
7
  import { ProvableBlockHook } from "../../protocol/ProvableBlockHook";
8
8
  import { NetworkState } from "../../model/network/NetworkState";
@@ -48,7 +48,8 @@ export declare class BlockProverProgrammable extends ZkProgrammable<BlockProverP
48
48
  private readonly blockHooks;
49
49
  private readonly verificationKeyService;
50
50
  constructor(prover: BlockProver, stateTransitionProver: ZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>, runtime: ZkProgrammable<undefined, MethodPublicOutput>, transactionHooks: ProvableTransactionHook<unknown>[], blockHooks: ProvableBlockHook<unknown>[], verificationKeyService: MinimalVKTreeService);
51
- get appChain(): AreProofsEnabled | undefined;
51
+ name: string;
52
+ get areProofsEnabled(): AreProofsEnabled | undefined;
52
53
  /**
53
54
  * Applies and checks the two proofs and applies the corresponding state
54
55
  * changes to the given state
@@ -66,7 +67,7 @@ export declare class BlockProverProgrammable extends ZkProgrammable<BlockProverP
66
67
  private addTransactionToBundle;
67
68
  proveTransaction(publicInput: BlockProverPublicInput, stateProof: StateTransitionProof, runtimeProof: DynamicRuntimeProof, executionData: BlockProverExecutionData, verificationKeyWitness: RuntimeVerificationKeyAttestation): Promise<BlockProverPublicOutput>;
68
69
  private assertSTProofInput;
69
- proveBlock(publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, stateTransitionProof: StateTransitionProof, transactionProof: BlockProverProof): Promise<BlockProverPublicOutput>;
70
+ proveBlock(publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, transactionProof: BlockProverProof): Promise<BlockProverPublicOutput>;
70
71
  merge(publicInput: BlockProverPublicInput, proof1: BlockProverProof, proof2: BlockProverProof): Promise<BlockProverPublicOutput>;
71
72
  /**
72
73
  * Creates the BlockProver ZkProgram.
@@ -80,13 +81,14 @@ export declare class BlockProverProgrammable extends ZkProgrammable<BlockProverP
80
81
  * a StateTransitionProof into a single BlockProof, that can
81
82
  * then be merged to be committed to the base-layer contract
82
83
  */
83
- export declare class BlockProver extends ProtocolModule implements BlockProvable {
84
- readonly stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>;
85
- readonly runtime: WithZkProgrammable<undefined, MethodPublicOutput>;
84
+ export declare class BlockProver extends ProtocolModule implements BlockProvable, CompilableModule {
85
+ readonly stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput> & StateTransitionProvable;
86
+ readonly runtime: WithZkProgrammable<undefined, MethodPublicOutput> & CompilableModule;
86
87
  zkProgrammable: BlockProverProgrammable;
87
- constructor(stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>, runtime: WithZkProgrammable<undefined, MethodPublicOutput>, transactionHooks: ProvableTransactionHook<unknown>[], blockHooks: ProvableBlockHook<unknown>[], verificationKeyService: RuntimeVerificationKeyRootService);
88
+ constructor(stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput> & StateTransitionProvable, runtime: WithZkProgrammable<undefined, MethodPublicOutput> & CompilableModule, transactionHooks: ProvableTransactionHook<unknown>[], blockHooks: ProvableBlockHook<unknown>[], verificationKeyService: RuntimeVerificationKeyRootService);
89
+ compile(registry: CompileRegistry): Promise<Record<string, CompileArtifact> | undefined>;
88
90
  proveTransaction(publicInput: BlockProverPublicInput, stateProof: StateTransitionProof, appProof: DynamicRuntimeProof, executionData: BlockProverExecutionData, verificationKeyAttestation: RuntimeVerificationKeyAttestation): Promise<BlockProverPublicOutput>;
89
- proveBlock(publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, stateTransitionProof: StateTransitionProof, transactionProof: BlockProverProof): Promise<BlockProverPublicOutput>;
91
+ proveBlock(publicInput: BlockProverPublicInput, networkState: NetworkState, blockWitness: BlockHashMerkleTreeWitness, transactionProof: BlockProverProof): Promise<BlockProverPublicOutput>;
90
92
  merge(publicInput: BlockProverPublicInput, proof1: BlockProverProof, proof2: BlockProverProof): Promise<BlockProverPublicOutput>;
91
93
  }
92
94
  //# sourceMappingURL=BlockProver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockProver.d.ts","sourceRoot":"","sources":["../../../src/prover/block/BlockProver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockProver.d.ts","sourceRoot":"","sources":["../../../src/prover/block/BlockProver.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import { Bool, Field, Poseidon, Provable, SelfProof, ZkProgram, } from "o1js";
14
14
  import { container, inject, injectable, injectAll } from "tsyringe";
15
- import { provableMethod, ZkProgrammable, } from "@proto-kit/common";
15
+ import { MAX_FIELD, provableMethod, ZkProgrammable, } from "@proto-kit/common";
16
16
  import { DefaultProvableHashList } from "../../utils/ProvableHashList";
17
17
  import { ProtocolModule } from "../../protocol/ProtocolModule";
18
18
  import { RuntimeTransaction } from "../../model/transaction/RuntimeTransaction";
@@ -37,9 +37,6 @@ const errors = {
37
37
  invalidZkProgramTreeRoot: () => "Root hash of the provided zkProgram config witness is invalid",
38
38
  invalidZkProgramConfigMethodId: () => "Method id of the provided zkProgram config does not match the executed transaction method id",
39
39
  };
40
- function maxField() {
41
- return Field(Field.ORDER - 1n);
42
- }
43
40
  export class BlockProverProgrammable extends ZkProgrammable {
44
41
  constructor(prover, stateTransitionProver, runtime, transactionHooks, blockHooks, verificationKeyService) {
45
42
  super();
@@ -49,9 +46,10 @@ export class BlockProverProgrammable extends ZkProgrammable {
49
46
  this.transactionHooks = transactionHooks;
50
47
  this.blockHooks = blockHooks;
51
48
  this.verificationKeyService = verificationKeyService;
49
+ this.name = "BlockProver";
52
50
  }
53
- get appChain() {
54
- return this.prover.appChain;
51
+ get areProofsEnabled() {
52
+ return this.prover.areProofsEnabled;
55
53
  }
56
54
  /**
57
55
  * Applies and checks the two proofs and applies the corresponding state
@@ -182,6 +180,7 @@ export class BlockProverProgrammable extends ZkProgrammable {
182
180
  ...publicInput,
183
181
  };
184
182
  state.networkStateHash.assertEquals(executionData.networkState.hash(), "ExecutionData Networkstate doesn't equal public input hash");
183
+ publicInput.blockNumber.assertEquals(MAX_FIELD, "blockNumber has to be MAX for transaction proofs");
185
184
  // Verify the [methodId, vk] tuple against the baked-in vk tree root
186
185
  const { verificationKey, witness: verificationKeyTreeWitness } = verificationKeyWitness;
187
186
  const root = Field(this.verificationKeyService.getRoot());
@@ -194,7 +193,7 @@ export class BlockProverProgrammable extends ZkProgrammable {
194
193
  const stateTo = await this.applyTransaction(bundleInclusionState, stateProof, runtimeProof, executionData, verificationKey);
195
194
  return new BlockProverPublicOutput({
196
195
  ...stateTo,
197
- blockNumber: maxField(),
196
+ blockNumber: publicInput.blockNumber,
198
197
  closed: Bool(false),
199
198
  });
200
199
  }
@@ -204,7 +203,9 @@ export class BlockProverProgrammable extends ZkProgrammable {
204
203
  // Assert from state roots
205
204
  stateRoot.assertEquals(stateTransitionProof.publicInput.stateRoot, errors.propertyNotMatching("from state root"));
206
205
  }
207
- async proveBlock(publicInput, networkState, blockWitness, stateTransitionProof, transactionProof) {
206
+ async proveBlock(publicInput, networkState, blockWitness,
207
+ // stateTransitionProof: StateTransitionProof,
208
+ transactionProof) {
208
209
  const state = {
209
210
  ...publicInput,
210
211
  };
@@ -217,25 +218,32 @@ export class BlockProverProgrammable extends ZkProgrammable {
217
218
  transactionProof.publicInput.networkStateHash.assertEquals(transactionProof.publicOutput.networkStateHash, "TransactionProof cannot alter the network state");
218
219
  transactionProof.publicInput.eternalTransactionsHash.assertEquals(state.eternalTransactionsHash, "TransactionProof starting eternalTransactionHash not matching");
219
220
  transactionProof.publicInput.incomingMessagesHash.assertEquals(state.incomingMessagesHash, "TransactionProof starting incomingMessagesHash not matching");
221
+ // TODO Reintroduce ST Proofs
220
222
  // Verify ST Proof only if STs have been emitted,
221
223
  // otherwise we can input a dummy proof
222
- const stsEmitted = stateTransitionProof.publicOutput.stateTransitionsHash
223
- .equals(0)
224
- .and(stateTransitionProof.publicOutput.protocolTransitionsHash.equals(0))
225
- .not();
226
- stateTransitionProof.verifyIf(stsEmitted);
227
- // Verify Transaction proof if it has at least 1 tx
224
+ // const stsEmitted = stateTransitionProof.publicOutput.stateTransitionsHash
225
+ // .equals(0)
226
+ // .and(stateTransitionProof.publicOutput.protocolTransitionsHash.equals(0))
227
+ // .not();
228
+ // Provable.log("VerifyIf 1", stsEmitted);
229
+ // stateTransitionProof.verifyIf(Bool(false));
230
+ // stateTransitionProof.verifyIf(stsEmitted);
231
+ // Verify Transaction proof if it has at least 1 tx - i.e. the
232
+ // input and output doesn't match fully
228
233
  // We have to compare the whole input and output because we can make no
229
234
  // assumptions about the values, since it can be an arbitrary dummy-proof
230
235
  const txProofOutput = transactionProof.publicOutput;
231
- const verifyTransactionProof = txProofOutput.equals(transactionProof.publicInput, txProofOutput.closed, txProofOutput.blockNumber);
232
- transactionProof.verifyIf(verifyTransactionProof);
236
+ const isEmptyTransition = txProofOutput.equals(transactionProof.publicInput, txProofOutput.closed);
237
+ Provable.log("VerifyIf 2", isEmptyTransition.not());
238
+ transactionProof.verifyIf(isEmptyTransition.not());
233
239
  // 2. Execute beforeBlock hooks
234
240
  const beforeBlockResult = await this.executeBlockHooks(state, networkState, "beforeBlock");
235
- const beforeBlockHashList = new StateTransitionReductionList(ProvableStateTransition);
236
- beforeBlockResult.stateTransitions.forEach((st) => {
237
- beforeBlockHashList.push(st.toProvable());
238
- });
241
+ // const beforeBlockHashList = new StateTransitionReductionList(
242
+ // ProvableStateTransition
243
+ // );
244
+ // beforeBlockResult.stateTransitions.forEach((st) => {
245
+ // beforeBlockHashList.push(st.toProvable());
246
+ // });
239
247
  // We are reusing protocolSTs here as beforeBlock STs
240
248
  // TODO Not possible atm bcs we can't have a seperation between protocol/runtime state roots,
241
249
  // which we would for both before and after to be able to emit STs
@@ -244,7 +252,10 @@ export class BlockProverProgrammable extends ZkProgrammable {
244
252
  // );
245
253
  // state.stateRoot = stateTransitionProof.publicInput.protocolStateRoot;
246
254
  // TODO Only for now
247
- beforeBlockHashList.commitment.assertEquals(Field(0), "beforeBlock() cannot emit state transitions yet");
255
+ // beforeBlockHashList.commitment.assertEquals(
256
+ // Field(0),
257
+ // "beforeBlock() cannot emit state transitions yet"
258
+ // );
248
259
  // 4. Apply TX-type BlockProof
249
260
  transactionProof.publicInput.networkStateHash.assertEquals(beforeBlockResult.networkState.hash(), "TransactionProof networkstate hash not matching beforeBlock hook result");
250
261
  transactionProof.publicInput.stateRoot.assertEquals(state.stateRoot, "TransactionProof input state root not matching blockprover state root");
@@ -255,7 +266,7 @@ export class BlockProverProgrammable extends ZkProgrammable {
255
266
  state.incomingMessagesHash =
256
267
  transactionProof.publicOutput.incomingMessagesHash;
257
268
  // 5. Execute afterBlock hooks
258
- this.assertSTProofInput(stateTransitionProof, state.stateRoot);
269
+ // this.assertSTProofInput(stateTransitionProof, state.stateRoot);
259
270
  const afterBlockResult = await this.executeBlockHooks(state, beforeBlockResult.networkState, "afterBlock");
260
271
  const afterBlockHashList = new StateTransitionReductionList(ProvableStateTransition);
261
272
  afterBlockResult.stateTransitions.forEach((st) => {
@@ -263,11 +274,19 @@ export class BlockProverProgrammable extends ZkProgrammable {
263
274
  });
264
275
  state.networkStateHash = afterBlockResult.networkState.hash();
265
276
  // We are reusing runtime STs here as afterBlock STs
266
- stateTransitionProof.publicInput.stateTransitionsHash.assertEquals(afterBlockHashList.commitment, "STProof from-ST-hash not matching generated ST-hash from afterBlock hooks");
267
- state.stateRoot = Provable.if(stsEmitted, stateTransitionProof.publicOutput.stateRoot, state.stateRoot);
277
+ // stateTransitionProof.publicInput.protocolTransitionsHash.assertEquals(
278
+ // afterBlockHashList.commitment,
279
+ // "STProof from-ST-hash not matching generated ST-hash from afterBlock hooks"
280
+ // );
281
+ // state.stateRoot = Provable.if(
282
+ // stsEmitted,
283
+ // stateTransitionProof.publicOutput.stateRoot,
284
+ // state.stateRoot
285
+ // );
268
286
  // 6. Close block
269
287
  // Calculate the new block index
270
288
  const blockIndex = blockWitness.calculateIndex();
289
+ blockIndex.assertEquals(publicInput.blockNumber);
271
290
  blockWitness
272
291
  .calculateRoot(Field(0))
273
292
  .assertEquals(publicInput.blockHashRoot, "Supplied block hash witness not matching state root");
@@ -278,7 +297,7 @@ export class BlockProverProgrammable extends ZkProgrammable {
278
297
  }).hash());
279
298
  return new BlockProverPublicOutput({
280
299
  ...state,
281
- blockNumber: blockIndex,
300
+ blockNumber: blockIndex.add(1),
282
301
  closed: Bool(true),
283
302
  });
284
303
  }
@@ -326,17 +345,20 @@ export class BlockProverProgrammable extends ZkProgrammable {
326
345
  // }else if(proof1.closed || proof2.closed{
327
346
  // assert proof1.height == proof2.height
328
347
  // }
329
- const proof1Height = proof1.publicOutput.blockNumber;
330
348
  const proof1Closed = proof1.publicOutput.closed;
331
- const proof2Height = proof2.publicOutput.blockNumber;
332
349
  const proof2Closed = proof2.publicOutput.closed;
333
- const isValidTransactionMerge = proof1Height
334
- .equals(maxField())
335
- .and(proof2Height.equals(proof1Height))
350
+ const blockNumberProgressionValid = publicInput.blockNumber
351
+ .equals(proof1.publicInput.blockNumber)
352
+ .and(proof1.publicOutput.blockNumber.equals(proof2.publicInput.blockNumber));
353
+ // For tx proofs, we check that the progression starts and end with MAX
354
+ // in addition to that both proofs are non-closed
355
+ const isValidTransactionMerge = publicInput.blockNumber
356
+ .equals(MAX_FIELD)
357
+ .and(blockNumberProgressionValid)
336
358
  .and(proof1Closed.or(proof2Closed).not());
337
359
  const isValidClosedMerge = proof1Closed
338
360
  .and(proof2Closed)
339
- .and(proof1Height.add(1).equals(proof2Height));
361
+ .and(blockNumberProgressionValid);
340
362
  isValidTransactionMerge
341
363
  .or(isValidClosedMerge)
342
364
  .assertTrue("Invalid BlockProof merge");
@@ -347,9 +369,8 @@ export class BlockProverProgrammable extends ZkProgrammable {
347
369
  blockHashRoot: proof2.publicOutput.blockHashRoot,
348
370
  eternalTransactionsHash: proof2.publicOutput.eternalTransactionsHash,
349
371
  incomingMessagesHash: proof2.publicOutput.incomingMessagesHash,
350
- // Provable.if(isValidClosedMerge, Bool(true), Bool(false));
351
372
  closed: isValidClosedMerge,
352
- blockNumber: proof2Height,
373
+ blockNumber: proof2.publicOutput.blockNumber,
353
374
  });
354
375
  }
355
376
  /**
@@ -360,7 +381,6 @@ export class BlockProverProgrammable extends ZkProgrammable {
360
381
  zkProgramFactory() {
361
382
  const { prover, stateTransitionProver } = this;
362
383
  const StateTransitionProofClass = stateTransitionProver.zkProgram[0].Proof;
363
- const RuntimeProofClass = DynamicRuntimeProof;
364
384
  const proveTransaction = prover.proveTransaction.bind(prover);
365
385
  const proveBlock = prover.proveBlock.bind(prover);
366
386
  const merge = prover.merge.bind(prover);
@@ -372,7 +392,7 @@ export class BlockProverProgrammable extends ZkProgrammable {
372
392
  proveTransaction: {
373
393
  privateInputs: [
374
394
  StateTransitionProofClass,
375
- RuntimeProofClass,
395
+ DynamicRuntimeProof,
376
396
  BlockProverExecutionData,
377
397
  RuntimeVerificationKeyAttestation,
378
398
  ],
@@ -384,11 +404,15 @@ export class BlockProverProgrammable extends ZkProgrammable {
384
404
  privateInputs: [
385
405
  NetworkState,
386
406
  BlockHashMerkleTreeWitness,
387
- StateTransitionProofClass,
407
+ // StateTransitionProofClass,
388
408
  (SelfProof),
389
409
  ],
390
- async method(publicInput, networkState, blockWitness, stateTransitionProof, transactionProof) {
391
- return await proveBlock(publicInput, networkState, blockWitness, stateTransitionProof, transactionProof);
410
+ async method(publicInput, networkState, blockWitness,
411
+ // stateTransitionProof: StateTransitionProof,
412
+ transactionProof) {
413
+ return await proveBlock(publicInput, networkState, blockWitness,
414
+ // stateTransitionProof,
415
+ transactionProof);
392
416
  },
393
417
  },
394
418
  merge: {
@@ -404,11 +428,13 @@ export class BlockProverProgrammable extends ZkProgrammable {
404
428
  });
405
429
  const methods = {
406
430
  proveTransaction: program.proveTransaction,
431
+ proveBlock: program.proveBlock,
407
432
  merge: program.merge,
408
433
  };
409
434
  const SelfProofClass = ZkProgram.Proof(program);
410
435
  return [
411
436
  {
437
+ name: program.name,
412
438
  compile: program.compile.bind(program),
413
439
  verify: program.verify.bind(program),
414
440
  analyzeMethods: program.analyzeMethods.bind(program),
@@ -431,7 +457,7 @@ __decorate([
431
457
  __metadata("design:type", Function),
432
458
  __metadata("design:paramtypes", [BlockProverPublicInput,
433
459
  NetworkState,
434
- BlockHashMerkleTreeWitness, Object, Object]),
460
+ BlockHashMerkleTreeWitness, Object]),
435
461
  __metadata("design:returntype", Promise)
436
462
  ], BlockProverProgrammable.prototype, "proveBlock", null);
437
463
  __decorate([
@@ -452,11 +478,22 @@ export let BlockProver = class BlockProver extends ProtocolModule {
452
478
  this.runtime = runtime;
453
479
  this.zkProgrammable = new BlockProverProgrammable(this, stateTransitionProver.zkProgrammable, runtime.zkProgrammable, transactionHooks, blockHooks, verificationKeyService);
454
480
  }
481
+ async compile(registry) {
482
+ await registry.forceProverExists(async () => {
483
+ await this.stateTransitionProver.compile(registry);
484
+ await this.runtime.compile(registry);
485
+ });
486
+ return await this.zkProgrammable.compile(registry);
487
+ }
455
488
  proveTransaction(publicInput, stateProof, appProof, executionData, verificationKeyAttestation) {
456
489
  return this.zkProgrammable.proveTransaction(publicInput, stateProof, appProof, executionData, verificationKeyAttestation);
457
490
  }
458
- proveBlock(publicInput, networkState, blockWitness, stateTransitionProof, transactionProof) {
459
- return this.zkProgrammable.proveBlock(publicInput, networkState, blockWitness, stateTransitionProof, transactionProof);
491
+ proveBlock(publicInput, networkState, blockWitness,
492
+ // stateTransitionProof: StateTransitionProof,
493
+ transactionProof) {
494
+ return this.zkProgrammable.proveBlock(publicInput, networkState, blockWitness,
495
+ // stateTransitionProof,
496
+ transactionProof);
460
497
  }
461
498
  merge(publicInput, proof1, proof2) {
462
499
  return this.zkProgrammable.merge(publicInput, proof1, proof2);
@@ -470,3 +507,4 @@ BlockProver = __decorate([
470
507
  __param(3, injectAll("ProvableBlockHook")),
471
508
  __metadata("design:paramtypes", [Object, Object, Array, Array, RuntimeVerificationKeyRootService])
472
509
  ], BlockProver);
510
+ //# sourceMappingURL=BlockProver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockProver.js","sourceRoot":"","sources":["../../../src/prover/block/BlockProver.ts"],"names":[],"mappings":"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"}
@@ -14,3 +14,4 @@ export class BlockHashTreeEntry extends Struct({
14
14
  return Poseidon.hash([this.blockHash, ...this.closed.toFields()]);
15
15
  }
16
16
  }
17
+ //# sourceMappingURL=BlockHashMerkleTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockHashMerkleTree.js","sourceRoot":"","sources":["../../../../src/prover/block/accummulators/BlockHashMerkleTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAErD,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB,CAAC,EAAE,CAAC;CAAG;AAChE,MAAM,OAAO,0BAA2B,SAAQ,mBAAmB,CAAC,OAAO;CAAG;AAE9E,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC;IAC7C,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,IAAI;IACZ,kEAAkE;IAClE,kDAAkD;CACnD,CAAC;IACO,IAAI;QACT,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -34,10 +34,10 @@ declare const RuntimeVerificationKeyAttestation_base: (new (value: {
34
34
  data: string;
35
35
  hash: bigint;
36
36
  };
37
- witness: VKTreeWitness | {
37
+ witness: {
38
38
  path: import("o1js/dist/node/lib/provable/field").Field[] | bigint[];
39
39
  isLeft: import("o1js/dist/node/lib/provable/bool").Bool[] | boolean[];
40
- };
40
+ } | VKTreeWitness;
41
41
  }) => {
42
42
  verificationKey: VerificationKey;
43
43
  witness: VKTreeWitness;
@@ -18,3 +18,4 @@ export class MethodVKConfigData extends Struct({
18
18
  return Poseidon.hash(MethodVKConfigData.toFields(this));
19
19
  }
20
20
  }
21
+ //# sourceMappingURL=RuntimeVerificationKeyTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeVerificationKeyTree.js","sourceRoot":"","sources":["../../../../src/prover/block/accummulators/RuntimeVerificationKeyTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,OAAO,MAAO,SAAQ,gBAAgB,CAAC,aAAa,CAAC;CAAG;AAC9D,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,OAAO;CAAG;AAEpD,MAAM,OAAO,iCAAkC,SAAQ,MAAM,CAAC;IAC5D,eAAe,EAAE,eAAe;IAChC,OAAO,EAAE,aAAa;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC;IAC7C,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,KAAK;CACd,CAAC;IACO,IAAI;QACT,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -20,3 +20,4 @@ RuntimeVerificationKeyRootService = __decorate([
20
20
  injectable(),
21
21
  scoped(Lifecycle.ContainerScoped)
22
22
  ], RuntimeVerificationKeyRootService);
23
+ //# sourceMappingURL=RuntimeVerificationKeyRootService.js.map