@proto-kit/protocol 0.1.1-develop.267 → 0.1.1-develop.299

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 (120) hide show
  1. package/dist/blockmodules/AccountStateModule.d.ts +5 -5
  2. package/dist/blockmodules/AccountStateModule.d.ts.map +1 -1
  3. package/dist/blockmodules/AccountStateModule.js +1 -1
  4. package/dist/blockmodules/NoopTransactionHook.d.ts +1 -1
  5. package/dist/blockmodules/NoopTransactionHook.d.ts.map +1 -1
  6. package/dist/model/MethodPublicOutput.d.ts +27 -27
  7. package/dist/model/MethodPublicOutput.js +1 -1
  8. package/dist/model/Option.d.ts +19 -19
  9. package/dist/model/Option.d.ts.map +1 -1
  10. package/dist/model/Option.js +1 -1
  11. package/dist/model/Path.d.ts +2 -2
  12. package/dist/model/Path.d.ts.map +1 -1
  13. package/dist/model/Path.js +1 -1
  14. package/dist/model/StateTransition.d.ts +12 -12
  15. package/dist/model/StateTransition.d.ts.map +1 -1
  16. package/dist/model/StateTransition.js +1 -1
  17. package/dist/model/StateTransitionProvableBatch.d.ts +13 -13
  18. package/dist/model/StateTransitionProvableBatch.d.ts.map +1 -1
  19. package/dist/model/StateTransitionProvableBatch.js +1 -1
  20. package/dist/model/network/NetworkState.d.ts +7 -7
  21. package/dist/model/network/NetworkState.d.ts.map +1 -1
  22. package/dist/model/network/NetworkState.js +1 -1
  23. package/dist/model/transaction/ProtocolTransaction.d.ts +16 -16
  24. package/dist/model/transaction/ProtocolTransaction.d.ts.map +1 -1
  25. package/dist/model/transaction/ProtocolTransaction.js +1 -1
  26. package/dist/model/transaction/RuntimeTransaction.d.ts +16 -16
  27. package/dist/model/transaction/RuntimeTransaction.d.ts.map +1 -1
  28. package/dist/model/transaction/RuntimeTransaction.js +1 -1
  29. package/dist/protocol/Protocol.d.ts +17 -10
  30. package/dist/protocol/Protocol.d.ts.map +1 -1
  31. package/dist/protocol/Protocol.js +30 -32
  32. package/dist/protocol/ProtocolEnvironment.d.ts +9 -0
  33. package/dist/protocol/ProtocolEnvironment.d.ts.map +1 -0
  34. package/dist/protocol/ProtocolEnvironment.js +1 -0
  35. package/dist/protocol/ProtocolModule.d.ts +5 -5
  36. package/dist/protocol/ProtocolModule.d.ts.map +1 -1
  37. package/dist/protocol/ProtocolModule.js +7 -5
  38. package/dist/protocol/ProvableTransactionHook.d.ts +1 -1
  39. package/dist/protocol/ProvableTransactionHook.d.ts.map +1 -1
  40. package/dist/protocol/TransitioningProtocolModule.d.ts +1 -1
  41. package/dist/protocol/TransitioningProtocolModule.d.ts.map +1 -1
  42. package/dist/prover/block/BlockProvable.d.ts +40 -40
  43. package/dist/prover/block/BlockProvable.d.ts.map +1 -1
  44. package/dist/prover/block/BlockProvable.js +1 -1
  45. package/dist/prover/block/BlockProver.d.ts +4 -4
  46. package/dist/prover/block/BlockProver.d.ts.map +1 -1
  47. package/dist/prover/block/BlockProver.js +1 -1
  48. package/dist/prover/statetransition/StateTransitionProvable.d.ts +55 -55
  49. package/dist/prover/statetransition/StateTransitionProvable.d.ts.map +1 -1
  50. package/dist/prover/statetransition/StateTransitionProvable.js +1 -1
  51. package/dist/prover/statetransition/StateTransitionProver.d.ts +2 -2
  52. package/dist/prover/statetransition/StateTransitionProver.d.ts.map +1 -1
  53. package/dist/prover/statetransition/StateTransitionProver.js +1 -6
  54. package/dist/prover/statetransition/StateTransitionWitnessProvider.d.ts +1 -1
  55. package/dist/prover/statetransition/StateTransitionWitnessProvider.d.ts.map +1 -1
  56. package/dist/state/State.d.ts +1 -1
  57. package/dist/state/State.d.ts.map +1 -1
  58. package/dist/state/State.js +1 -1
  59. package/dist/state/StateMap.d.ts +1 -1
  60. package/dist/state/StateMap.d.ts.map +1 -1
  61. package/dist/state/StateService.d.ts +1 -1
  62. package/dist/state/StateService.d.ts.map +1 -1
  63. package/dist/state/assert/assert.d.ts +1 -1
  64. package/dist/state/assert/assert.d.ts.map +1 -1
  65. package/dist/state/context/RuntimeMethodExecutionContext.d.ts +1 -1
  66. package/dist/state/context/RuntimeMethodExecutionContext.d.ts.map +1 -1
  67. package/dist/state/context/RuntimeMethodExecutionContext.js +2 -2
  68. package/dist/state/protocol/ProtocolState.d.ts +1 -1
  69. package/dist/state/protocol/ProtocolState.d.ts.map +1 -1
  70. package/dist/utils/PrefixedProvableHashList.d.ts +1 -1
  71. package/dist/utils/PrefixedProvableHashList.d.ts.map +1 -1
  72. package/dist/utils/PrefixedProvableHashList.js +1 -1
  73. package/dist/utils/ProvableHashList.d.ts +2 -2
  74. package/dist/utils/ProvableHashList.d.ts.map +1 -1
  75. package/dist/utils/ProvableHashList.js +1 -1
  76. package/dist/utils/merkletree/RollupMerkleTree.d.ts +16 -16
  77. package/dist/utils/merkletree/RollupMerkleTree.d.ts.map +1 -1
  78. package/dist/utils/merkletree/RollupMerkleTree.js +1 -1
  79. package/dist/utils/utils.d.ts +2 -3
  80. package/dist/utils/utils.d.ts.map +1 -1
  81. package/dist/utils/utils.js +2 -3
  82. package/package.json +3 -3
  83. package/src/blockmodules/AccountStateModule.ts +2 -2
  84. package/src/blockmodules/NoopTransactionHook.ts +1 -1
  85. package/src/model/MethodPublicOutput.ts +1 -1
  86. package/src/model/Option.test.ts +1 -1
  87. package/src/model/Option.ts +1 -1
  88. package/src/model/Path.ts +1 -1
  89. package/src/model/StateTransition.ts +1 -1
  90. package/src/model/StateTransitionProvableBatch.ts +1 -1
  91. package/src/model/Transaction.ts +1 -1
  92. package/src/model/network/NetworkState.ts +1 -1
  93. package/src/model/transaction/ProtocolTransaction.ts +1 -1
  94. package/src/model/transaction/RuntimeTransaction.ts +1 -1
  95. package/src/protocol/Protocol.ts +72 -63
  96. package/src/protocol/ProtocolEnvironment.ts +9 -0
  97. package/src/protocol/ProtocolModule.ts +14 -11
  98. package/src/protocol/ProvableTransactionHook.ts +1 -1
  99. package/src/protocol/TransitioningProtocolModule.ts +3 -1
  100. package/src/prover/block/BlockProvable.ts +1 -1
  101. package/src/prover/block/BlockProver.ts +4 -4
  102. package/src/prover/statetransition/StateTransitionProvable.ts +1 -1
  103. package/src/prover/statetransition/StateTransitionProver.ts +2 -8
  104. package/src/prover/statetransition/StateTransitionWitnessProvider.ts +1 -1
  105. package/src/state/State.ts +1 -1
  106. package/src/state/StateMap.ts +1 -1
  107. package/src/state/StateService.ts +2 -2
  108. package/src/state/assert/assert.test.ts +1 -1
  109. package/src/state/assert/assert.ts +1 -1
  110. package/src/state/context/RuntimeMethodExecutionContext.ts +5 -2
  111. package/src/state/protocol/ProtocolState.ts +3 -1
  112. package/src/utils/PrefixedProvableHashList.ts +1 -1
  113. package/src/utils/ProvableHashList.ts +1 -1
  114. package/src/utils/merkletree/RollupMerkleTree.ts +1 -1
  115. package/src/utils/utils.ts +2 -4
  116. package/test/BlockProver.test.ts +9 -12
  117. package/test/State.test.ts +1 -1
  118. package/test/StateTransition.test.ts +4 -2
  119. package/test/utils/MerkleTree.test.ts +1 -1
  120. package/test/utils.test.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeTransaction.d.ts","sourceRoot":"","sources":["../../../src/model/transaction/RuntimeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,SAAS,EAAU,MAAM,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5D;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,uBAKtC;WACc,uBAAuB,CAAC,EACpC,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE,mBAAmB,GAAG,kBAAkB;IASpC,IAAI,IAAI,KAAK;CAQrB"}
1
+ {"version":3,"file":"RuntimeTransaction.d.ts","sourceRoot":"","sources":["../../../src/model/transaction/RuntimeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,SAAS,EAAU,MAAM,EAAE,MAAM,MAAM,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5D;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,uBAKtC;WACc,uBAAuB,CAAC,EACpC,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE,mBAAmB,GAAG,kBAAkB;IASpC,IAAI,IAAI,KAAK;CAQrB"}
@@ -1,4 +1,4 @@
1
- import { Field, Poseidon, PublicKey, Struct, UInt64 } from "snarkyjs";
1
+ import { Field, Poseidon, PublicKey, Struct, UInt64 } from "o1js";
2
2
  /**
3
3
  * This struct is used to expose transaction information to the runtime method
4
4
  * execution. This class has not all data included in transactions on purpose.
@@ -1,4 +1,4 @@
1
- import { ModuleContainer, ModulesRecord, StringKeyOf, TypedClass } from "@proto-kit/common";
1
+ import { AreProofsEnabled, ChildContainerProvider, ModuleContainer, ModulesConfig, ModulesRecord, StringKeyOf, TypedClass } from "@proto-kit/common";
2
2
  import { DependencyContainer } from "tsyringe";
3
3
  import { BlockProvable } from "../prover/block/BlockProvable";
4
4
  import { StateTransitionProver } from "../prover/statetransition/StateTransitionProver";
@@ -7,10 +7,11 @@ import { BlockProver } from "../prover/block/BlockProver";
7
7
  import { StateServiceProvider } from "../state/StateServiceProvider";
8
8
  import { StateService } from "../state/StateService";
9
9
  import { ProtocolModule } from "./ProtocolModule";
10
- export type GenericProtocolModuleRecord = ModulesRecord<TypedClass<ProtocolModule>>;
11
- interface BlockProverType extends ProtocolModule, BlockProvable {
10
+ import { ProtocolEnvironment } from "./ProtocolEnvironment";
11
+ export type GenericProtocolModuleRecord = ModulesRecord<TypedClass<ProtocolModule<unknown>>>;
12
+ interface BlockProverType extends ProtocolModule<object>, BlockProvable {
12
13
  }
13
- interface StateTransitionProverType extends ProtocolModule, StateTransitionProvable {
14
+ interface StateTransitionProverType extends ProtocolModule<object>, StateTransitionProvable {
14
15
  }
15
16
  export interface ProtocolCustomModulesRecord {
16
17
  BlockProver: TypedClass<BlockProverType>;
@@ -24,9 +25,10 @@ export interface ProtocolDefinition<Modules extends ProtocolModulesRecord> {
24
25
  * @deprecated
25
26
  */
26
27
  state?: StateService;
28
+ config?: ModulesConfig<Modules>;
27
29
  }
28
- export declare class Protocol<Modules extends ProtocolModulesRecord> extends ModuleContainer<Modules> {
29
- static from<Modules extends ProtocolModulesRecord>(modules: ProtocolDefinition<Modules>): Protocol<Modules>;
30
+ export declare class Protocol<Modules extends ProtocolModulesRecord> extends ModuleContainer<Modules> implements ProtocolEnvironment {
31
+ static from<Modules extends ProtocolModulesRecord>(modules: ProtocolDefinition<Modules>): TypedClass<Protocol<Modules>>;
30
32
  definition: ProtocolDefinition<Modules>;
31
33
  private readonly stateServiceProviderInstance;
32
34
  constructor(definition: ProtocolDefinition<Modules>);
@@ -37,16 +39,21 @@ export declare class Protocol<Modules extends ProtocolModulesRecord> extends Mod
37
39
  private isModule;
38
40
  get blockProver(): BlockProvable;
39
41
  get stateTransitionProver(): StateTransitionProvable;
42
+ getAreProofsEnabled(): AreProofsEnabled;
43
+ create(childContainerProvider: ChildContainerProvider): void;
40
44
  }
41
45
  export declare const VanillaProtocol: {
42
- create(stateService?: StateService): Protocol<{
46
+ create(stateService?: StateService): TypedClass<Protocol<{
43
47
  StateTransitionProver: typeof StateTransitionProver;
44
48
  BlockProver: typeof BlockProver;
45
- }>;
46
- from<AdditonalModules extends GenericProtocolModuleRecord>(additionalModules: AdditonalModules, stateService?: StateService): Protocol<AdditonalModules & {
49
+ }>>;
50
+ from<AdditonalModules extends GenericProtocolModuleRecord>(additionalModules: AdditonalModules, config: ModulesConfig<AdditonalModules & {
47
51
  StateTransitionProver: typeof StateTransitionProver;
48
52
  BlockProver: typeof BlockProver;
49
- }>;
53
+ }>, stateService?: StateService): TypedClass<Protocol<AdditonalModules & {
54
+ StateTransitionProver: typeof StateTransitionProver;
55
+ BlockProver: typeof BlockProver;
56
+ }>>;
50
57
  };
51
58
  export {};
52
59
  //# sourceMappingURL=Protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Protocol.d.ts","sourceRoot":"","sources":["../../src/protocol/Protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEf,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAa,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,MAAM,2BAA2B,GAAG,aAAa,CACrD,UAAU,CAAC,cAAc,CAAC,CAC3B,CAAC;AAEF,UAAU,eAAgB,SAAQ,cAAc,EAAE,aAAa;CAAG;AAElE,UAAU,yBACR,SAAQ,cAAc,EACpB,uBAAuB;CAAG;AAE9B,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACzC,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,qBACf,SAAQ,2BAA2B,EACjC,2BAA2B;CAAG;AAElC,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,qBAAqB;IACvE,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CAEtB;AAED,qBAAa,QAAQ,CACnB,OAAO,SAAS,qBAAqB,CACrC,SAAQ,eAAe,CAAC,OAAO,CAAC;WAElB,IAAI,CAAC,OAAO,SAAS,qBAAqB,EACtD,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;IAsB/B,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAG3C;gBAEiB,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;IA+B1D,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,oBAAoB,IAAI,oBAAoB,CAEtD;IAEM,cAAc,CACnB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,EAChC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAgB9D,IAAW,mBAAmB,IAAI,mBAAmB,CAEpD;IAED,OAAO,CAAC,QAAQ;IAMhB,IAAW,WAAW,IAAI,aAAa,CAMtC;IAED,IAAW,qBAAqB,IAAI,uBAAuB,CAI1D;CACF;AAED,eAAO,MAAM,eAAe;0BACJ,YAAY;+BASP,4BAA4B;qBACtC,kBAAkB;;mHAJlB,YAAY;+BAGF,4BAA4B;qBACtC,kBAAkB;;CAYpC,CAAC"}
1
+ {"version":3,"file":"Protocol.d.ts","sourceRoot":"","sources":["../../src/protocol/Protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EAEtB,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAa,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,2BAA2B,GAAG,aAAa,CACrD,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CACpC,CAAC;AAEF,UAAU,eAAgB,SAAQ,cAAc,CAAC,MAAM,CAAC,EAAE,aAAa;CAAG;AAE1E,UAAU,yBACR,SAAQ,cAAc,CAAC,MAAM,CAAC,EAC5B,uBAAuB;CAAG;AAE9B,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACzC,qBAAqB,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,qBACf,SAAQ,2BAA2B,EACjC,2BAA2B;CAAG;AAElC,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,qBAAqB;IACvE,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,qBAAa,QAAQ,CAAC,OAAO,SAAS,qBAAqB,CACzD,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,mBAAmB;WAGhB,IAAI,CAAC,OAAO,SAAS,qBAAqB,EACtD,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GACnC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAQzB,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAG3C;gBAEiB,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;IAK1D,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,oBAAoB,IAAI,oBAAoB,CAEtD;IAEM,cAAc,CACnB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,EAChC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAY9D,IAAW,mBAAmB,IAAI,mBAAmB,CAEpD;IAED,OAAO,CAAC,QAAQ;IAMhB,IAAW,WAAW,IAAI,aAAa,CAMtC;IAED,IAAW,qBAAqB,IAAI,uBAAuB,CAI1D;IAEM,mBAAmB,IAAI,gBAAgB;IAIvC,MAAM,CAAC,sBAAsB,EAAE,sBAAsB;CA0B7D;AAED,eAAO,MAAM,eAAe;0BACJ,YAAY;+BAuBL,4BAA4B;qBACtC,kBAAkB;;;+BATR,4BAA4B;qBACtC,kBAAkB;uBAGpB,YAAY;+BAIA,4BAA4B;qBACtC,kBAAkB;;CAetC,CAAC"}
@@ -8,19 +8,11 @@ import { NoopTransactionHook } from "../blockmodules/NoopTransactionHook";
8
8
  export class Protocol extends ModuleContainer {
9
9
  // .from() to create Protocol
10
10
  static from(modules) {
11
- const protocol = new Protocol(modules);
12
- // Set empty config for all modules, since we don't have that feature yet
13
- // eslint-disable-next-line max-len
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment
15
- const emptyConfig = Object.keys(modules.modules).reduce((agg, item) => {
16
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
17
- agg[item] = {};
18
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
19
- return agg;
20
- }, {});
21
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
22
- protocol.configure(emptyConfig);
23
- return protocol;
11
+ return class ScopedProtocol extends Protocol {
12
+ constructor() {
13
+ super(modules);
14
+ }
15
+ };
24
16
  }
25
17
  constructor(definition) {
26
18
  super(definition);
@@ -28,22 +20,6 @@ export class Protocol extends ModuleContainer {
28
20
  // eslint-disable-next-line etc/no-deprecated
29
21
  this.definition.state);
30
22
  this.definition = definition;
31
- // Register the BlockModules seperately since we need to
32
- // inject them differently later
33
- let atLeastOneTransactionHookRegistered = false;
34
- Object.entries(definition.modules).forEach(([key, value]) => {
35
- if (Object.prototype.isPrototypeOf.call(ProvableTransactionHook, value)) {
36
- this.container.register("ProvableTransactionHook", { useToken: key }, { lifecycle: Lifecycle.ContainerScoped });
37
- atLeastOneTransactionHookRegistered = true;
38
- }
39
- });
40
- // We need this so that tsyringe doesn't throw when no hooks are registered
41
- if (!atLeastOneTransactionHookRegistered) {
42
- this.container.register("ProvableTransactionHook", { useClass: NoopTransactionHook }, { lifecycle: Lifecycle.ContainerScoped });
43
- }
44
- // this.container.afterResolution<ProvableTransactionHook>("ProvableTransactionHook", (token, result) => {
45
- // if ()
46
- // })
47
23
  }
48
24
  get stateService() {
49
25
  return this.stateServiceProviderInstance.stateService;
@@ -54,7 +30,6 @@ export class Protocol extends ModuleContainer {
54
30
  decorateModule(moduleName, containedModule) {
55
31
  log.debug(`Decorated ${moduleName}`);
56
32
  containedModule.protocol = this;
57
- log.debug("Is instanceof:", containedModule instanceof ProvableTransactionHook);
58
33
  if (containedModule instanceof ProvableTransactionHook) {
59
34
  containedModule.name = moduleName;
60
35
  }
@@ -74,18 +49,41 @@ export class Protocol extends ModuleContainer {
74
49
  get stateTransitionProver() {
75
50
  return this.container.resolve("StateTransitionProver");
76
51
  }
52
+ getAreProofsEnabled() {
53
+ return this.container.resolve("AreProofsEnabled");
54
+ }
55
+ create(childContainerProvider) {
56
+ super.create(childContainerProvider);
57
+ // Register the BlockModules seperately since we need to
58
+ // inject them differently later
59
+ let atLeastOneTransactionHookRegistered = false;
60
+ Object.entries(this.definition.modules).forEach(([key, value]) => {
61
+ if (Object.prototype.isPrototypeOf.call(ProvableTransactionHook, value)) {
62
+ this.container.register("ProvableTransactionHook", { useToken: key }, { lifecycle: Lifecycle.ContainerScoped });
63
+ atLeastOneTransactionHookRegistered = true;
64
+ }
65
+ });
66
+ // We need this so that tsyringe doesn't throw when no hooks are registered
67
+ if (!atLeastOneTransactionHookRegistered) {
68
+ this.container.register("ProvableTransactionHook", { useClass: NoopTransactionHook }, { lifecycle: Lifecycle.ContainerScoped });
69
+ }
70
+ }
77
71
  }
78
72
  export const VanillaProtocol = {
79
73
  create(stateService) {
80
- return VanillaProtocol.from({}, stateService);
74
+ return VanillaProtocol.from({}, {
75
+ BlockProver: {},
76
+ StateTransitionProver: {},
77
+ }, stateService);
81
78
  },
82
- from(additionalModules, stateService) {
79
+ from(additionalModules, config, stateService) {
83
80
  return Protocol.from({
84
81
  modules: {
85
82
  StateTransitionProver,
86
83
  BlockProver,
87
84
  ...additionalModules,
88
85
  },
86
+ config,
89
87
  state: stateService,
90
88
  });
91
89
  },
@@ -0,0 +1,9 @@
1
+ import { StateService } from "../state/StateService";
2
+ import { StateServiceProvider } from "../state/StateServiceProvider";
3
+ import { AreProofsEnabled } from "@proto-kit/common";
4
+ export interface ProtocolEnvironment {
5
+ get stateService(): StateService;
6
+ get stateServiceProvider(): StateServiceProvider;
7
+ getAreProofsEnabled(): AreProofsEnabled;
8
+ }
9
+ //# sourceMappingURL=ProtocolEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtocolEnvironment.d.ts","sourceRoot":"","sources":["../../src/protocol/ProtocolEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,IAAI,YAAY,IAAI,YAAY,CAAA;IAChC,IAAI,oBAAoB,IAAI,oBAAoB,CAAA;IAChD,mBAAmB,IAAI,gBAAgB,CAAA;CACxC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,8 @@
1
- import { AreProofsEnabled, Configurable } from "@proto-kit/common";
2
- import type { Protocol, ProtocolModulesRecord } from "./Protocol";
3
- export declare abstract class ProtocolModule implements Configurable<unknown> {
4
- config: {};
5
- protocol?: Protocol<ProtocolModulesRecord>;
1
+ import { AreProofsEnabled, ChildContainerProvider, ConfigurableModule } from "@proto-kit/common";
2
+ import { ProtocolEnvironment } from "./ProtocolEnvironment";
3
+ export declare abstract class ProtocolModule<Config> extends ConfigurableModule<Config> {
4
+ protocol?: ProtocolEnvironment;
6
5
  get appChain(): AreProofsEnabled | undefined;
6
+ create(childContainerProvider: ChildContainerProvider): void;
7
7
  }
8
8
  //# sourceMappingURL=ProtocolModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolModule.d.ts","sourceRoot":"","sources":["../../src/protocol/ProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAElE,8BAAsB,cACpB,YAAW,YAAY,CAAC,OAAO,CAAC;IAEzB,MAAM,KAAM;IAEZ,QAAQ,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAElD,IAAW,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAIlD;CACF"}
1
+ {"version":3,"file":"ProtocolModule.d.ts","sourceRoot":"","sources":["../../src/protocol/ProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,8BAAsB,cAAc,CAClC,MAAM,CACN,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAEtC,IAAW,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAElD;IAGM,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI;CAGpE"}
@@ -1,8 +1,10 @@
1
- export class ProtocolModule {
2
- constructor() {
3
- this.config = {};
4
- }
1
+ import { ConfigurableModule, noop, } from "@proto-kit/common";
2
+ export class ProtocolModule extends ConfigurableModule {
5
3
  get appChain() {
6
- return this.protocol?.dependencyContainer.resolve("AppChain");
4
+ return this.protocol?.getAreProofsEnabled();
5
+ }
6
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
+ create(childContainerProvider) {
8
+ noop();
7
9
  }
8
10
  }
@@ -1,6 +1,6 @@
1
1
  import { BlockProverExecutionData } from "../prover/block/BlockProvable";
2
2
  import { TransitioningProtocolModule } from "./TransitioningProtocolModule";
3
- export declare abstract class ProvableTransactionHook extends TransitioningProtocolModule {
3
+ export declare abstract class ProvableTransactionHook<Config> extends TransitioningProtocolModule<Config> {
4
4
  abstract onTransaction(executionData: BlockProverExecutionData): void;
5
5
  }
6
6
  //# sourceMappingURL=ProvableTransactionHook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProvableTransactionHook.d.ts","sourceRoot":"","sources":["../../src/protocol/ProvableTransactionHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,8BAAsB,uBAAwB,SAAQ,2BAA2B;aAC/D,aAAa,CAAC,aAAa,EAAE,wBAAwB,GAAG,IAAI;CAC7E"}
1
+ {"version":3,"file":"ProvableTransactionHook.d.ts","sourceRoot":"","sources":["../../src/protocol/ProvableTransactionHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,8BAAsB,uBAAuB,CAAC,MAAM,CAAE,SAAQ,2BAA2B,CAAC,MAAM,CAAC;aAC/E,aAAa,CAAC,aAAa,EAAE,wBAAwB,GAAG,IAAI;CAC7E"}
@@ -1,5 +1,5 @@
1
1
  import { ProtocolModule } from "./ProtocolModule";
2
- export declare abstract class TransitioningProtocolModule extends ProtocolModule {
2
+ export declare abstract class TransitioningProtocolModule<Config> extends ProtocolModule<Config> {
3
3
  name?: string;
4
4
  }
5
5
  //# sourceMappingURL=TransitioningProtocolModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransitioningProtocolModule.d.ts","sourceRoot":"","sources":["../../src/protocol/TransitioningProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,8BAAsB,2BAA4B,SAAQ,cAAc;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"TransitioningProtocolModule.d.ts","sourceRoot":"","sources":["../../src/protocol/TransitioningProtocolModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,8BAAsB,2BAA2B,CAC/C,MAAM,CACN,SAAQ,cAAc,CAAC,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -1,36 +1,36 @@
1
- import { Proof } from "snarkyjs";
1
+ import { Proof } from "o1js";
2
2
  import { WithZkProgrammable } from "@proto-kit/common";
3
3
  import { StateTransitionProof } from "../statetransition/StateTransitionProvable";
4
4
  import { MethodPublicOutput } from "../../model/MethodPublicOutput";
5
5
  import { ProtocolTransaction } from "../../model/transaction/ProtocolTransaction";
6
6
  import { NetworkState } from "../../model/network/NetworkState";
7
7
  declare const BlockProverPublicInput_base: (new (value: {
8
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
9
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
10
- networkStateHash: import("snarkyjs/dist/node/lib/field").Field;
8
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
9
+ stateRoot: import("o1js/dist/node/lib/field").Field;
10
+ networkStateHash: import("o1js/dist/node/lib/field").Field;
11
11
  }) => {
12
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
13
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
14
- networkStateHash: import("snarkyjs/dist/node/lib/field").Field;
12
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
13
+ stateRoot: import("o1js/dist/node/lib/field").Field;
14
+ networkStateHash: import("o1js/dist/node/lib/field").Field;
15
15
  }) & {
16
16
  _isStruct: true;
17
- } & import("snarkyjs/dist/node/snarky").ProvablePure<{
18
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
19
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
20
- networkStateHash: import("snarkyjs/dist/node/lib/field").Field;
17
+ } & import("o1js/dist/node/snarky").ProvablePure<{
18
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
19
+ stateRoot: import("o1js/dist/node/lib/field").Field;
20
+ networkStateHash: import("o1js/dist/node/lib/field").Field;
21
21
  }> & {
22
22
  toInput: (x: {
23
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
24
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
25
- networkStateHash: import("snarkyjs/dist/node/lib/field").Field;
23
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
24
+ stateRoot: import("o1js/dist/node/lib/field").Field;
25
+ networkStateHash: import("o1js/dist/node/lib/field").Field;
26
26
  }) => {
27
- fields?: import("snarkyjs/dist/node/lib/field").Field[] | undefined;
28
- packed?: [import("snarkyjs/dist/node/lib/field").Field, number][] | undefined;
27
+ fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
28
+ packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
29
29
  };
30
30
  toJSON: (x: {
31
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
32
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
33
- networkStateHash: import("snarkyjs/dist/node/lib/field").Field;
31
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
32
+ stateRoot: import("o1js/dist/node/lib/field").Field;
33
+ networkStateHash: import("o1js/dist/node/lib/field").Field;
34
34
  }) => {
35
35
  transactionsHash: string;
36
36
  stateRoot: string;
@@ -41,35 +41,35 @@ declare const BlockProverPublicInput_base: (new (value: {
41
41
  stateRoot: string;
42
42
  networkStateHash: string;
43
43
  }) => {
44
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
45
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
46
- networkStateHash: import("snarkyjs/dist/node/lib/field").Field;
44
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
45
+ stateRoot: import("o1js/dist/node/lib/field").Field;
46
+ networkStateHash: import("o1js/dist/node/lib/field").Field;
47
47
  };
48
48
  };
49
49
  export declare class BlockProverPublicInput extends BlockProverPublicInput_base {
50
50
  }
51
51
  declare const BlockProverPublicOutput_base: (new (value: {
52
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
53
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
52
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
53
+ stateRoot: import("o1js/dist/node/lib/field").Field;
54
54
  }) => {
55
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
56
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
55
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
56
+ stateRoot: import("o1js/dist/node/lib/field").Field;
57
57
  }) & {
58
58
  _isStruct: true;
59
- } & import("snarkyjs/dist/node/snarky").ProvablePure<{
60
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
61
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
59
+ } & import("o1js/dist/node/snarky").ProvablePure<{
60
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
61
+ stateRoot: import("o1js/dist/node/lib/field").Field;
62
62
  }> & {
63
63
  toInput: (x: {
64
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
65
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
64
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
65
+ stateRoot: import("o1js/dist/node/lib/field").Field;
66
66
  }) => {
67
- fields?: import("snarkyjs/dist/node/lib/field").Field[] | undefined;
68
- packed?: [import("snarkyjs/dist/node/lib/field").Field, number][] | undefined;
67
+ fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
68
+ packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
69
69
  };
70
70
  toJSON: (x: {
71
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
72
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
71
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
72
+ stateRoot: import("o1js/dist/node/lib/field").Field;
73
73
  }) => {
74
74
  transactionsHash: string;
75
75
  stateRoot: string;
@@ -78,8 +78,8 @@ declare const BlockProverPublicOutput_base: (new (value: {
78
78
  transactionsHash: string;
79
79
  stateRoot: string;
80
80
  }) => {
81
- transactionsHash: import("snarkyjs/dist/node/lib/field").Field;
82
- stateRoot: import("snarkyjs/dist/node/lib/field").Field;
81
+ transactionsHash: import("o1js/dist/node/lib/field").Field;
82
+ stateRoot: import("o1js/dist/node/lib/field").Field;
83
83
  };
84
84
  };
85
85
  export declare class BlockProverPublicOutput extends BlockProverPublicOutput_base {
@@ -93,7 +93,7 @@ declare const BlockProverExecutionData_base: (new (value: {
93
93
  networkState: NetworkState;
94
94
  }) & {
95
95
  _isStruct: true;
96
- } & import("snarkyjs/dist/node/snarky").ProvablePure<{
96
+ } & import("o1js/dist/node/snarky").ProvablePure<{
97
97
  transaction: ProtocolTransaction;
98
98
  networkState: NetworkState;
99
99
  }> & {
@@ -101,8 +101,8 @@ declare const BlockProverExecutionData_base: (new (value: {
101
101
  transaction: ProtocolTransaction;
102
102
  networkState: NetworkState;
103
103
  }) => {
104
- fields?: import("snarkyjs/dist/node/lib/field").Field[] | undefined;
105
- packed?: [import("snarkyjs/dist/node/lib/field").Field, number][] | undefined;
104
+ fields?: import("o1js/dist/node/lib/field").Field[] | undefined;
105
+ packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined;
106
106
  };
107
107
  toJSON: (x: {
108
108
  transaction: ProtocolTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"BlockProvable.d.ts","sourceRoot":"","sources":["../../../src/prover/block/BlockProvable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAU,MAAM,UAAU,CAAC;AAChD,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,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhE,qBAAa,sBAAuB,SAAQ,2BAI1C;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAG3C;CAAG;AAEL,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAClC,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;AAEL,MAAM,WAAW,aACf,SAAQ,kBAAkB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAC3E,gBAAgB,EAAE,CAChB,WAAW,EAAE,sBAAsB,EACnC,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,EACzC,aAAa,EAAE,wBAAwB,KACpC,uBAAuB,CAAC;IAE7B,KAAK,EAAE,CACL,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,KACrB,uBAAuB,CAAC;CAC9B"}
1
+ {"version":3,"file":"BlockProvable.d.ts","sourceRoot":"","sources":["../../../src/prover/block/BlockProvable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAU,MAAM,MAAM,CAAC;AAC5C,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,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhE,qBAAa,sBAAuB,SAAQ,2BAI1C;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAG3C;CAAG;AAEL,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAClC,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;AAEL,MAAM,WAAW,aACf,SAAQ,kBAAkB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAC3E,gBAAgB,EAAE,CAChB,WAAW,EAAE,sBAAsB,EACnC,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,EACzC,aAAa,EAAE,wBAAwB,KACpC,uBAAuB,CAAC;IAE7B,KAAK,EAAE,CACL,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,KACrB,uBAAuB,CAAC;CAC9B"}
@@ -1,4 +1,4 @@
1
- import { Field, Struct } from "snarkyjs";
1
+ import { Field, Struct } from "o1js";
2
2
  import { ProtocolTransaction } from "../../model/transaction/ProtocolTransaction";
3
3
  import { NetworkState } from "../../model/network/NetworkState";
4
4
  export class BlockProverPublicInput extends Struct({
@@ -1,4 +1,4 @@
1
- import { Field, type Proof } from "snarkyjs";
1
+ import { Field, type Proof } from "o1js";
2
2
  import { AreProofsEnabled, PlainZkProgram, WithZkProgrammable, ZkProgrammable } from "@proto-kit/common";
3
3
  import { MethodPublicOutput } from "../../model/MethodPublicOutput";
4
4
  import { ProtocolModule } from "../../protocol/ProtocolModule";
@@ -23,7 +23,7 @@ export declare class BlockProverProgrammable extends ZkProgrammable<BlockProverP
23
23
  readonly stateTransitionProver: ZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>;
24
24
  readonly runtime: ZkProgrammable<undefined, MethodPublicOutput>;
25
25
  private readonly blockModules;
26
- constructor(prover: BlockProver, stateTransitionProver: ZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>, runtime: ZkProgrammable<undefined, MethodPublicOutput>, blockModules: ProvableTransactionHook[]);
26
+ constructor(prover: BlockProver, stateTransitionProver: ZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>, runtime: ZkProgrammable<undefined, MethodPublicOutput>, blockModules: ProvableTransactionHook<unknown>[]);
27
27
  get appChain(): AreProofsEnabled | undefined;
28
28
  /**
29
29
  * Applies and checks the two proofs and applies the corresponding state
@@ -51,11 +51,11 @@ export declare class BlockProverProgrammable extends ZkProgrammable<BlockProverP
51
51
  * a StateTransitionProof into a single BlockProof, that can
52
52
  * then be merged to be committed to the base-layer contract
53
53
  */
54
- export declare class BlockProver extends ProtocolModule implements BlockProvable {
54
+ export declare class BlockProver extends ProtocolModule<object> implements BlockProvable {
55
55
  readonly stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>;
56
56
  readonly runtime: WithZkProgrammable<undefined, MethodPublicOutput>;
57
57
  zkProgrammable: BlockProverProgrammable;
58
- constructor(stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>, runtime: WithZkProgrammable<undefined, MethodPublicOutput>, transactionHooks: ProvableTransactionHook[]);
58
+ constructor(stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput>, runtime: WithZkProgrammable<undefined, MethodPublicOutput>, transactionHooks: ProvableTransactionHook<unknown>[]);
59
59
  merge(publicInput: BlockProverPublicInput, proof1: BlockProverProof, proof2: BlockProverProof): BlockProverPublicOutput;
60
60
  proveTransaction(publicInput: BlockProverPublicInput, stateProof: StateTransitionProof, appProof: Proof<void, MethodPublicOutput>, executionData: BlockProverExecutionData): BlockProverPublicOutput;
61
61
  }
@@ -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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"}
@@ -11,7 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  /* eslint-disable max-lines */
14
- import { Experimental, Field, Provable, SelfProof } from "snarkyjs";
14
+ import { Experimental, Field, Provable, SelfProof } from "o1js";
15
15
  import { container, inject, injectable, injectAll } from "tsyringe";
16
16
  import { provableMethod, ZkProgrammable, } from "@proto-kit/common";
17
17
  import { DefaultProvableHashList } from "../../utils/ProvableHashList";