@proto-kit/common 0.1.1-develop.211 → 0.1.1-develop.2137

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 (258) hide show
  1. package/dist/cache/CacheManifest.d.ts +11 -0
  2. package/dist/cache/CacheManifest.d.ts.map +1 -0
  3. package/dist/cache/CacheManifest.js +56 -0
  4. package/dist/cache/CacheManifest.js.map +1 -0
  5. package/dist/cache/ProxyCache.d.ts +13 -0
  6. package/dist/cache/ProxyCache.d.ts.map +1 -0
  7. package/dist/cache/ProxyCache.js +24 -0
  8. package/dist/cache/ProxyCache.js.map +1 -0
  9. package/dist/cache/RemoteCache.d.ts +8 -0
  10. package/dist/cache/RemoteCache.d.ts.map +1 -0
  11. package/dist/cache/RemoteCache.js +2 -0
  12. package/dist/cache/RemoteCache.js.map +1 -0
  13. package/dist/cache/RemoteCacheCompiler.d.ts +16 -0
  14. package/dist/cache/RemoteCacheCompiler.d.ts.map +1 -0
  15. package/dist/cache/RemoteCacheCompiler.js +104 -0
  16. package/dist/cache/RemoteCacheCompiler.js.map +1 -0
  17. package/dist/compiling/AtomicCompileHelper.d.ts +15 -0
  18. package/dist/compiling/AtomicCompileHelper.d.ts.map +1 -0
  19. package/dist/compiling/AtomicCompileHelper.js +61 -0
  20. package/dist/compiling/AtomicCompileHelper.js.map +1 -0
  21. package/dist/compiling/CompilableModule.d.ts +6 -0
  22. package/dist/compiling/CompilableModule.d.ts.map +1 -0
  23. package/dist/compiling/CompilableModule.js +2 -0
  24. package/dist/compiling/CompilableModule.js.map +1 -0
  25. package/dist/compiling/CompileRegistry.d.ts +25 -0
  26. package/dist/compiling/CompileRegistry.d.ts.map +1 -0
  27. package/dist/compiling/CompileRegistry.js +62 -0
  28. package/dist/compiling/CompileRegistry.js.map +1 -0
  29. package/dist/compiling/services/ChildVerificationKeyService.d.ts +10 -0
  30. package/dist/compiling/services/ChildVerificationKeyService.d.ts.map +1 -0
  31. package/dist/compiling/services/ChildVerificationKeyService.js +27 -0
  32. package/dist/compiling/services/ChildVerificationKeyService.js.map +1 -0
  33. package/dist/config/ChildContainerCreatable.d.ts +5 -0
  34. package/dist/config/ChildContainerCreatable.d.ts.map +1 -0
  35. package/dist/config/ChildContainerCreatable.js +2 -0
  36. package/dist/config/ChildContainerCreatable.js.map +1 -0
  37. package/dist/config/ChildContainerProvider.d.ts +5 -0
  38. package/dist/config/ChildContainerProvider.d.ts.map +1 -0
  39. package/dist/config/ChildContainerProvider.js +2 -0
  40. package/dist/config/ChildContainerProvider.js.map +1 -0
  41. package/dist/config/ConfigurableModule.d.ts +6 -2
  42. package/dist/config/ConfigurableModule.d.ts.map +1 -1
  43. package/dist/config/ConfigurableModule.js +5 -0
  44. package/dist/config/ConfigurableModule.js.map +1 -0
  45. package/dist/config/ModuleContainer.d.ts +70 -23
  46. package/dist/config/ModuleContainer.d.ts.map +1 -1
  47. package/dist/config/ModuleContainer.js +164 -31
  48. package/dist/config/ModuleContainer.js.map +1 -0
  49. package/dist/config/Startable.d.ts +4 -0
  50. package/dist/config/Startable.d.ts.map +1 -0
  51. package/dist/config/Startable.js +2 -0
  52. package/dist/config/Startable.js.map +1 -0
  53. package/dist/config/injectAlias.d.ts +18 -0
  54. package/dist/config/injectAlias.d.ts.map +1 -0
  55. package/dist/config/injectAlias.js +47 -0
  56. package/dist/config/injectAlias.js.map +1 -0
  57. package/dist/dependencyFactory/DependencyFactory.d.ts +14 -9
  58. package/dist/dependencyFactory/DependencyFactory.d.ts.map +1 -1
  59. package/dist/dependencyFactory/DependencyFactory.js +2 -96
  60. package/dist/dependencyFactory/DependencyFactory.js.map +1 -0
  61. package/dist/dependencyFactory/injectOptional.d.ts +16 -0
  62. package/dist/dependencyFactory/injectOptional.d.ts.map +1 -0
  63. package/dist/dependencyFactory/injectOptional.js +40 -0
  64. package/dist/dependencyFactory/injectOptional.js.map +1 -0
  65. package/dist/dummyVerificationKey.d.ts +3 -0
  66. package/dist/dummyVerificationKey.d.ts.map +1 -0
  67. package/dist/dummyVerificationKey.js +8 -0
  68. package/dist/dummyVerificationKey.js.map +1 -0
  69. package/dist/events/EventEmitter.d.ts +19 -0
  70. package/dist/events/EventEmitter.d.ts.map +1 -0
  71. package/dist/events/EventEmitter.js +35 -0
  72. package/dist/events/EventEmitter.js.map +1 -0
  73. package/dist/events/EventEmitterProxy.d.ts +18 -0
  74. package/dist/events/EventEmitterProxy.d.ts.map +1 -0
  75. package/dist/events/EventEmitterProxy.js +35 -0
  76. package/dist/events/EventEmitterProxy.js.map +1 -0
  77. package/dist/events/EventEmittingComponent.d.ts +9 -0
  78. package/dist/events/EventEmittingComponent.d.ts.map +1 -0
  79. package/dist/events/EventEmittingComponent.js +2 -0
  80. package/dist/events/EventEmittingComponent.js.map +1 -0
  81. package/dist/events/ReplayingSingleUseEventEmitter.d.ts +17 -0
  82. package/dist/events/ReplayingSingleUseEventEmitter.d.ts.map +1 -0
  83. package/dist/events/ReplayingSingleUseEventEmitter.js +34 -0
  84. package/dist/events/ReplayingSingleUseEventEmitter.js.map +1 -0
  85. package/dist/index.d.ts +27 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +28 -2
  88. package/dist/index.js.map +1 -0
  89. package/dist/log.d.ts +37 -0
  90. package/dist/log.d.ts.map +1 -0
  91. package/dist/log.js +117 -0
  92. package/dist/log.js.map +1 -0
  93. package/dist/trees/InMemoryLinkedLeafStore.d.ts +21 -0
  94. package/dist/trees/InMemoryLinkedLeafStore.d.ts.map +1 -0
  95. package/dist/trees/InMemoryLinkedLeafStore.js +26 -0
  96. package/dist/trees/InMemoryLinkedLeafStore.js.map +1 -0
  97. package/dist/trees/InMemoryLinkedMerkleLeafStore.d.ts +7 -0
  98. package/dist/trees/InMemoryLinkedMerkleLeafStore.d.ts.map +1 -0
  99. package/dist/trees/InMemoryLinkedMerkleLeafStore.js +6 -0
  100. package/dist/trees/InMemoryLinkedMerkleLeafStore.js.map +1 -0
  101. package/dist/trees/InMemoryMerkleTreeStorage.d.ts +11 -0
  102. package/dist/trees/InMemoryMerkleTreeStorage.d.ts.map +1 -0
  103. package/dist/trees/InMemoryMerkleTreeStorage.js +13 -0
  104. package/dist/trees/InMemoryMerkleTreeStorage.js.map +1 -0
  105. package/dist/trees/LinkedMerkleTree.d.ts +345 -0
  106. package/dist/trees/LinkedMerkleTree.d.ts.map +1 -0
  107. package/dist/trees/LinkedMerkleTree.js +337 -0
  108. package/dist/trees/LinkedMerkleTree.js.map +1 -0
  109. package/dist/trees/LinkedMerkleTreeStore.d.ts +24 -0
  110. package/dist/trees/LinkedMerkleTreeStore.d.ts.map +1 -0
  111. package/dist/trees/LinkedMerkleTreeStore.js +2 -0
  112. package/dist/trees/LinkedMerkleTreeStore.js.map +1 -0
  113. package/dist/trees/MerkleTreeStore.d.ts +5 -0
  114. package/dist/trees/MerkleTreeStore.d.ts.map +1 -0
  115. package/dist/trees/MerkleTreeStore.js +2 -0
  116. package/dist/trees/MerkleTreeStore.js.map +1 -0
  117. package/dist/trees/MockAsyncMerkleStore.d.ts +9 -0
  118. package/dist/trees/MockAsyncMerkleStore.d.ts.map +1 -0
  119. package/dist/trees/MockAsyncMerkleStore.js +20 -0
  120. package/dist/trees/MockAsyncMerkleStore.js.map +1 -0
  121. package/dist/trees/RollupMerkleTree.d.ts +147 -0
  122. package/dist/trees/RollupMerkleTree.d.ts.map +1 -0
  123. package/dist/trees/RollupMerkleTree.js +218 -0
  124. package/dist/trees/RollupMerkleTree.js.map +1 -0
  125. package/dist/trees/VirtualMerkleTreeStore.d.ts +13 -0
  126. package/dist/trees/VirtualMerkleTreeStore.d.ts.map +1 -0
  127. package/dist/trees/VirtualMerkleTreeStore.js +18 -0
  128. package/dist/trees/VirtualMerkleTreeStore.js.map +1 -0
  129. package/dist/trees/lmt/AbstractLinkedMerkleTree.d.ts +288 -0
  130. package/dist/trees/lmt/AbstractLinkedMerkleTree.d.ts.map +1 -0
  131. package/dist/trees/lmt/AbstractLinkedMerkleTree.js +22 -0
  132. package/dist/trees/lmt/AbstractLinkedMerkleTree.js.map +1 -0
  133. package/dist/trees/lmt/InMemoryLinkedLeafStore.d.ts +21 -0
  134. package/dist/trees/lmt/InMemoryLinkedLeafStore.d.ts.map +1 -0
  135. package/dist/trees/lmt/InMemoryLinkedLeafStore.js +26 -0
  136. package/dist/trees/lmt/InMemoryLinkedLeafStore.js.map +1 -0
  137. package/dist/trees/lmt/InMemoryLinkedMerkleLeafStore.d.ts +7 -0
  138. package/dist/trees/lmt/InMemoryLinkedMerkleLeafStore.d.ts.map +1 -0
  139. package/dist/trees/lmt/InMemoryLinkedMerkleLeafStore.js +6 -0
  140. package/dist/trees/lmt/InMemoryLinkedMerkleLeafStore.js.map +1 -0
  141. package/dist/trees/lmt/LinkedLeafStore.d.ts +16 -0
  142. package/dist/trees/lmt/LinkedLeafStore.d.ts.map +1 -0
  143. package/dist/trees/lmt/LinkedLeafStore.js +2 -0
  144. package/dist/trees/lmt/LinkedLeafStore.js.map +1 -0
  145. package/dist/trees/lmt/LinkedLinkedStore.d.ts +16 -0
  146. package/dist/trees/lmt/LinkedLinkedStore.d.ts.map +1 -0
  147. package/dist/trees/lmt/LinkedLinkedStore.js +2 -0
  148. package/dist/trees/lmt/LinkedLinkedStore.js.map +1 -0
  149. package/dist/trees/lmt/LinkedMerkleTree.d.ts +11 -0
  150. package/dist/trees/lmt/LinkedMerkleTree.d.ts.map +1 -0
  151. package/dist/trees/lmt/LinkedMerkleTree.js +241 -0
  152. package/dist/trees/lmt/LinkedMerkleTree.js.map +1 -0
  153. package/dist/trees/lmt/LinkedMerkleTreeCircuitOps.d.ts +113 -0
  154. package/dist/trees/lmt/LinkedMerkleTreeCircuitOps.d.ts.map +1 -0
  155. package/dist/trees/lmt/LinkedMerkleTreeCircuitOps.js +113 -0
  156. package/dist/trees/lmt/LinkedMerkleTreeCircuitOps.js.map +1 -0
  157. package/dist/trees/lmt/LinkedMerkleTreeDatabase.d.ts +7 -0
  158. package/dist/trees/lmt/LinkedMerkleTreeDatabase.d.ts.map +1 -0
  159. package/dist/trees/lmt/LinkedMerkleTreeDatabase.js +2 -0
  160. package/dist/trees/lmt/LinkedMerkleTreeDatabase.js.map +1 -0
  161. package/dist/trees/lmt/LinkedMerkleTreeStore.d.ts +16 -0
  162. package/dist/trees/lmt/LinkedMerkleTreeStore.d.ts.map +1 -0
  163. package/dist/trees/lmt/LinkedMerkleTreeStore.js +2 -0
  164. package/dist/trees/lmt/LinkedMerkleTreeStore.js.map +1 -0
  165. package/dist/trees/lmt/LinkedMerkleTreeTypes.d.ts +74 -0
  166. package/dist/trees/lmt/LinkedMerkleTreeTypes.d.ts.map +1 -0
  167. package/dist/trees/lmt/LinkedMerkleTreeTypes.js +50 -0
  168. package/dist/trees/lmt/LinkedMerkleTreeTypes.js.map +1 -0
  169. package/dist/trees/sparse/InMemoryMerkleTreeStorage.d.ts +11 -0
  170. package/dist/trees/sparse/InMemoryMerkleTreeStorage.d.ts.map +1 -0
  171. package/dist/trees/sparse/InMemoryMerkleTreeStorage.js +13 -0
  172. package/dist/trees/sparse/InMemoryMerkleTreeStorage.js.map +1 -0
  173. package/dist/trees/sparse/MerkleTreeStore.d.ts +5 -0
  174. package/dist/trees/sparse/MerkleTreeStore.d.ts.map +1 -0
  175. package/dist/trees/sparse/MerkleTreeStore.js +2 -0
  176. package/dist/trees/sparse/MerkleTreeStore.js.map +1 -0
  177. package/dist/trees/sparse/MockAsyncMerkleStore.d.ts +9 -0
  178. package/dist/trees/sparse/MockAsyncMerkleStore.d.ts.map +1 -0
  179. package/dist/trees/sparse/MockAsyncMerkleStore.js +20 -0
  180. package/dist/trees/sparse/MockAsyncMerkleStore.js.map +1 -0
  181. package/dist/trees/sparse/RollupMerkleTree.d.ts +158 -0
  182. package/dist/trees/sparse/RollupMerkleTree.d.ts.map +1 -0
  183. package/dist/trees/sparse/RollupMerkleTree.js +330 -0
  184. package/dist/trees/sparse/RollupMerkleTree.js.map +1 -0
  185. package/dist/types.d.ts +62 -0
  186. package/dist/types.d.ts.map +1 -1
  187. package/dist/types.js +14 -1
  188. package/dist/types.js.map +1 -0
  189. package/dist/union/union.d.ts +177 -0
  190. package/dist/union/union.d.ts.map +1 -0
  191. package/dist/union/union.js +35 -0
  192. package/dist/union/union.js.map +1 -0
  193. package/dist/utils.d.ts +57 -2
  194. package/dist/utils.d.ts.map +1 -1
  195. package/dist/utils.js +153 -4
  196. package/dist/utils.js.map +1 -0
  197. package/dist/zkProgrammable/ProvableMethodExecutionContext.d.ts +4 -3
  198. package/dist/zkProgrammable/ProvableMethodExecutionContext.d.ts.map +1 -1
  199. package/dist/zkProgrammable/ProvableMethodExecutionContext.js +2 -3
  200. package/dist/zkProgrammable/ProvableMethodExecutionContext.js.map +1 -0
  201. package/dist/zkProgrammable/ZkProgrammable.d.ts +32 -11
  202. package/dist/zkProgrammable/ZkProgrammable.d.ts.map +1 -1
  203. package/dist/zkProgrammable/ZkProgrammable.js +36 -17
  204. package/dist/zkProgrammable/ZkProgrammable.js.map +1 -0
  205. package/dist/zkProgrammable/provableMethod.d.ts +7 -4
  206. package/dist/zkProgrammable/provableMethod.d.ts.map +1 -1
  207. package/dist/zkProgrammable/provableMethod.js +30 -14
  208. package/dist/zkProgrammable/provableMethod.js.map +1 -0
  209. package/jest.config.cjs +12 -1
  210. package/package.json +9 -7
  211. package/src/cache/CacheManifest.ts +57 -0
  212. package/src/cache/ProxyCache.ts +30 -0
  213. package/src/cache/RemoteCache.ts +9 -0
  214. package/src/cache/RemoteCacheCompiler.ts +131 -0
  215. package/src/compiling/AtomicCompileHelper.ts +71 -0
  216. package/src/compiling/CompilableModule.ts +6 -0
  217. package/src/compiling/CompileRegistry.ts +64 -0
  218. package/src/compiling/services/ChildVerificationKeyService.ts +26 -0
  219. package/src/config/ChildContainerCreatable.ts +5 -0
  220. package/src/config/ChildContainerProvider.ts +5 -0
  221. package/src/config/ConfigurableModule.ts +15 -2
  222. package/src/config/ModuleContainer.ts +286 -58
  223. package/src/config/Startable.ts +3 -0
  224. package/src/config/injectAlias.ts +70 -0
  225. package/src/dependencyFactory/DependencyFactory.ts +34 -109
  226. package/src/dummyVerificationKey.ts +10 -0
  227. package/src/events/EventEmitter.ts +61 -0
  228. package/src/events/EventEmitterProxy.ts +81 -0
  229. package/src/events/EventEmittingComponent.ts +11 -0
  230. package/src/events/ReplayingSingleUseEventEmitter.ts +42 -0
  231. package/src/index.ts +27 -2
  232. package/src/log.ts +145 -0
  233. package/src/trees/lmt/AbstractLinkedMerkleTree.ts +102 -0
  234. package/src/trees/lmt/InMemoryLinkedLeafStore.ts +42 -0
  235. package/src/trees/lmt/LinkedLeafStore.ts +13 -0
  236. package/src/trees/lmt/LinkedMerkleTree.ts +335 -0
  237. package/src/trees/lmt/LinkedMerkleTreeCircuitOps.ts +188 -0
  238. package/src/trees/lmt/LinkedMerkleTreeTypes.ts +53 -0
  239. package/src/trees/sparse/InMemoryMerkleTreeStorage.ts +17 -0
  240. package/src/trees/sparse/MerkleTreeStore.ts +5 -0
  241. package/src/trees/sparse/MockAsyncMerkleStore.ts +30 -0
  242. package/src/trees/sparse/RollupMerkleTree.ts +512 -0
  243. package/src/types.ts +53 -2
  244. package/src/utils.ts +281 -5
  245. package/src/zkProgrammable/ProvableMethodExecutionContext.ts +6 -6
  246. package/src/zkProgrammable/ZkProgrammable.ts +90 -35
  247. package/src/zkProgrammable/provableMethod.ts +50 -23
  248. package/test/config/ContainerEvents.test.ts +65 -0
  249. package/test/config/ModuleContainer.test.ts +146 -15
  250. package/test/config/injectAlias.test.ts +28 -0
  251. package/test/trees/LinkedMerkleTree.test.ts +124 -0
  252. package/test/trees/LinkedMerkleTreeCircuitOps.test.ts +147 -0
  253. package/test/trees/MerkleTree.test.ts +251 -0
  254. package/test/tsconfig.json +5 -2
  255. package/test/zkProgrammable/ZkProgrammable.test.ts +145 -119
  256. package/tsconfig.json +1 -1
  257. package/LICENSE.md +0 -201
  258. package/tsconfig.test.json +0 -9
@@ -1,96 +1,2 @@
1
- import { injectable, Lifecycle } from "tsyringe";
2
- const errors = {
3
- descriptorUndefined: () => new Error("Descriptor of that dependency is undefined!"),
4
- dependencyFactoryCalledDirectly: () => new Error("You cannot access the depdendency method directly, use container.resolve"),
5
- };
6
- const globalFactoryDependencies = new Map();
7
- /**
8
- * This is an abstract class for creating DependencyFactories, a pattern
9
- * to bundle multiple smaller services into one and register them into the
10
- * injection context.
11
- *
12
- * This can for example be a StorageDependencyFactory that creates dependencies
13
- * like StateService, MerkleWitnessService, etc. So in general, services that
14
- * are not ConfigurableModules, but still are their own logical unit.
15
- *
16
- * DependencyFactories are designed to only be used statically for sets of
17
- * deps that are necessary for the sequencer to work.
18
- *
19
- * Every Factory need the @dependencyFactory annotation (which basically
20
- * proxies @injectable()) and every method that returns a dependency has to be
21
- * of the format `() => Dependency` and be annotated with @dependency.
22
- */
23
- export class DependencyFactory {
24
- initDependencies(container) {
25
- const dependencies = globalFactoryDependencies.get(this.constructor.name) ?? {};
26
- globalFactoryDependencies.delete(this.constructor.name);
27
- for (const [key, useFactory] of Object.entries(dependencies)) {
28
- container.register(`${key}_singleton-prototype`, {
29
- useFactory: useFactory.bind(this),
30
- });
31
- const upperCaseKey = key.charAt(0).toUpperCase() + key.slice(1);
32
- container.register(upperCaseKey, {
33
- useToken: `${key}_singleton-prototype`,
34
- }, { lifecycle: Lifecycle.ContainerScoped });
35
- }
36
- }
37
- }
38
- // type DTypes = { [key: string]: TypedClass<unknown> }
39
- // type Factories<T extends DTypes> = {
40
- // [key in keyof T]: T[key] extends TypedClass<infer R> ? () => R : never
41
- // }
42
- //
43
- // export abstract class DF2<Types extends DTypes> {
44
- // public constructor(private factories: Factories<Types>) {
45
- //
46
- // }
47
- // generateDependencies(): Types {
48
- // let x = this.factories;
49
- // return {} as Types;
50
- // }
51
- // }
52
- // export function DF2C<T extends Types>(object: Factories<T>): T {
53
- // const c = class C extends DF2<T>{
54
- // generateDependencies(): T {
55
- // return undefined;
56
- // }
57
- // }
58
- // return new c();
59
- // }
60
- // class DF2I extends DF2<{x: typeof ConfigurableModule}> {
61
- // constructor() {
62
- // super({
63
- // x: this.x
64
- // });
65
- // }
66
- //
67
- // x(): ConfigurableModule<any> {
68
- // return {} as ConfigurableModule<any>;
69
- // }
70
- //
71
- // }
72
- export function dependency() {
73
- return function decorator(target, key, descriptor) {
74
- if (descriptor.value !== undefined) {
75
- const className = target.constructor.name;
76
- if (!globalFactoryDependencies.has(className)) {
77
- globalFactoryDependencies.set(className, {});
78
- }
79
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
80
- globalFactoryDependencies.get(target.constructor.name)[key] =
81
- descriptor.value;
82
- descriptor.value = () => {
83
- throw errors.dependencyFactoryCalledDirectly();
84
- };
85
- }
86
- else {
87
- throw errors.descriptorUndefined();
88
- }
89
- return descriptor;
90
- };
91
- }
92
- export function dependencyFactory() {
93
- return function decorator(target) {
94
- injectable()(target);
95
- };
96
- }
1
+ export {};
2
+ //# sourceMappingURL=DependencyFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DependencyFactory.js","sourceRoot":"","sources":["../../src/dependencyFactory/DependencyFactory.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This function injects a dependency only if it has been registered, otherwise
3
+ * injects undefined. This can be useful for having optional dependencies, where
4
+ * tsyringe would normally error out and not be able to resolve. With this
5
+ * decorator, we can now do this.
6
+ *
7
+ * The strategy we employ here is that we inject a dummy into the global
8
+ * container that is of type UndefinedDisguise. We can't inject undefined
9
+ * directly, therefore we use this object to disguise itself as undefined.
10
+ * Then a child container registers something under the same token, it by
11
+ * default resolves that new dependency. If that doesn't happen, the
12
+ * resolution hits our disguise, which we then convert into undefined
13
+ * using the Transform
14
+ */
15
+ export declare function injectOptional<T>(token: string): (target: any, propertyKey: string | symbol | undefined, parameterIndex: number) => any;
16
+ //# sourceMappingURL=injectOptional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectOptional.d.ts","sourceRoot":"","sources":["../../src/dependencyFactory/injectOptional.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,0FAG9C"}
@@ -0,0 +1,40 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { container, injectable, injectWithTransform, Lifecycle, scoped, } from "tsyringe";
8
+ let UndefinedDisguise = class UndefinedDisguise {
9
+ };
10
+ UndefinedDisguise = __decorate([
11
+ injectable(),
12
+ scoped(Lifecycle.ResolutionScoped)
13
+ ], UndefinedDisguise);
14
+ class UndefinedTransform {
15
+ transform(incoming) {
16
+ if (incoming instanceof UndefinedDisguise) {
17
+ return undefined;
18
+ }
19
+ return incoming;
20
+ }
21
+ }
22
+ /**
23
+ * This function injects a dependency only if it has been registered, otherwise
24
+ * injects undefined. This can be useful for having optional dependencies, where
25
+ * tsyringe would normally error out and not be able to resolve. With this
26
+ * decorator, we can now do this.
27
+ *
28
+ * The strategy we employ here is that we inject a dummy into the global
29
+ * container that is of type UndefinedDisguise. We can't inject undefined
30
+ * directly, therefore we use this object to disguise itself as undefined.
31
+ * Then a child container registers something under the same token, it by
32
+ * default resolves that new dependency. If that doesn't happen, the
33
+ * resolution hits our disguise, which we then convert into undefined
34
+ * using the Transform
35
+ */
36
+ export function injectOptional(token) {
37
+ container.register(token, { useClass: UndefinedDisguise });
38
+ return injectWithTransform(token, (UndefinedTransform));
39
+ }
40
+ //# sourceMappingURL=injectOptional.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectOptional.js","sourceRoot":"","sources":["../../src/dependencyFactory/injectOptional.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,MAAM,GACP,MAAM,UAAU,CAAC;AAIlB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAFtB,UAAU,EAAE;IACZ,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;GAC7B,iBAAiB,CAAG;AAE1B,MAAM,kBAAkB;IACf,SAAS,CACd,QAAwC;QAExC,IAAI,QAAQ,YAAY,iBAAiB,EAAE;YACzC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAI,KAAa;IAC7C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3D,OAAO,mBAAmB,CAAC,KAAK,EAAE,CAAA,kBAAqB,CAAA,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { VerificationKey } from "o1js";
2
+ export declare function dummyVerificationKey(): VerificationKey;
3
+ //# sourceMappingURL=dummyVerificationKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummyVerificationKey.d.ts","sourceRoot":"","sources":["../src/dummyVerificationKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,eAAe,EAAE,MAAM,MAAM,CAAC;AAE9C,wBAAgB,oBAAoB,oBAOnC"}
@@ -0,0 +1,8 @@
1
+ import { Field, VerificationKey } from "o1js";
2
+ export function dummyVerificationKey() {
3
+ return new VerificationKey({
4
+ hash: Field("3392518251768960475377392625298437850623664973002200885669375116181514017494"),
5
+ data: "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",
6
+ });
7
+ }
8
+ //# sourceMappingURL=dummyVerificationKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummyVerificationKey.js","sourceRoot":"","sources":["../src/dummyVerificationKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE9C,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,eAAe,CAAC;QACzB,IAAI,EAAE,KAAK,CACT,8EAA8E,CAC/E;QACD,IAAI,EAAE,81EAA81E;KACr2E,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { EventsRecord } from "./EventEmittingComponent";
2
+ type ListenersHolder<Events extends EventsRecord> = {
3
+ [key in keyof Events]?: ((...args: Events[key]) => void)[];
4
+ };
5
+ export declare class EventEmitter<Events extends EventsRecord> {
6
+ protected readonly listeners: ListenersHolder<Events>;
7
+ protected readonly wildcardListeners: ((event: keyof Events, args: Events[keyof Events]) => void)[];
8
+ emit<Key extends keyof Events>(event: Key, ...parameters: Events[Key]): void;
9
+ onAll(listener: (event: keyof Events, args: unknown[]) => void): void;
10
+ on<Key extends keyof Events>(event: Key, listener: (...args: Events[Key]) => void): void;
11
+ /**
12
+ * Primitive .off() with identity comparison for now.
13
+ * Could be replaced by returning an id in .on() and using that.
14
+ */
15
+ off<Key extends keyof Events>(event: Key, listener: (...args: Events[Key]) => void): void;
16
+ }
17
+ export type EventListenable<Events extends EventsRecord> = Pick<EventEmitter<Events>, "on" | "onAll" | "off">;
18
+ export {};
19
+ //# sourceMappingURL=EventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../src/events/EventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,KAAK,eAAe,CAAC,MAAM,SAAS,YAAY,IAAI;KACjD,GAAG,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;CAC3D,CAAC;AAEF,qBAAa,YAAY,CAAC,MAAM,SAAS,YAAY;IACnD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAM;IAE3D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CACrC,KAAK,EAAE,MAAM,MAAM,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,MAAM,CAAC,KACvB,IAAI,CAAC,EAAE,CAAM;IAEX,IAAI,CAAC,GAAG,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,GAAG,EACV,GAAG,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;IAarB,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAIrE,EAAE,CAAC,GAAG,SAAS,MAAM,MAAM,EAChC,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;IAK1C;;;OAGG;IACI,GAAG,CAAC,GAAG,SAAS,MAAM,MAAM,EACjC,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;CAS3C;AAED,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,YAAY,IAAI,IAAI,CAC7D,YAAY,CAAC,MAAM,CAAC,EACpB,IAAI,GAAG,OAAO,GAAG,KAAK,CACvB,CAAC"}
@@ -0,0 +1,35 @@
1
+ export class EventEmitter {
2
+ constructor() {
3
+ this.listeners = {};
4
+ this.wildcardListeners = [];
5
+ }
6
+ emit(event, ...parameters) {
7
+ const listeners = this.listeners[event];
8
+ if (listeners !== undefined) {
9
+ listeners.forEach((listener) => {
10
+ listener(...parameters);
11
+ });
12
+ }
13
+ this.wildcardListeners.forEach((wildcardListener) => {
14
+ wildcardListener(event, parameters);
15
+ });
16
+ }
17
+ onAll(listener) {
18
+ this.wildcardListeners.push(listener);
19
+ }
20
+ on(event, listener) {
21
+ var _a;
22
+ ((_a = this.listeners)[event] ?? (_a[event] = [])).push(listener);
23
+ }
24
+ /**
25
+ * Primitive .off() with identity comparison for now.
26
+ * Could be replaced by returning an id in .on() and using that.
27
+ */
28
+ off(event, listener) {
29
+ const events = this.listeners[event];
30
+ if (events !== undefined) {
31
+ this.listeners[event] = events.filter((candidate) => candidate !== listener);
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=EventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../src/events/EventEmitter.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,YAAY;IAAzB;QACqB,cAAS,GAA4B,EAAE,CAAC;QAExC,sBAAiB,GAGrB,EAAE,CAAC;IA2CpB,CAAC;IAzCQ,IAAI,CACT,KAAU,EACV,GAAG,UAAuB;QAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7B,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAClD,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,QAAwD;QACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEM,EAAE,CACP,KAAU,EACV,QAAwC;;QAExC,OAAC,IAAI,CAAC,SAAS,EAAC,KAAK,SAAL,KAAK,IAAM,EAAE,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,GAAG,CACR,KAAU,EACV,QAAwC;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CACnC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,QAAQ,CACtC,CAAC;SACH;IACH,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import type { BaseModuleType, ModuleContainer, ModulesRecord } from "../config/ModuleContainer";
2
+ import { StringKeyOf, UnionToIntersection } from "../types";
3
+ import { EventEmitter } from "./EventEmitter";
4
+ import { EventEmittingComponent, EventsRecord } from "./EventEmittingComponent";
5
+ export type CastToEventsRecord<Record> = Record extends EventsRecord ? Record : {};
6
+ export type ModuleEvents<ModuleType extends BaseModuleType> = InstanceType<ModuleType> extends EventEmittingComponent<infer Events> ? Events : InstanceType<ModuleType> extends ModuleContainer<infer NestedModules> ? CastToEventsRecord<ContainerEvents<NestedModules>> : EventsRecord;
7
+ export type ContainerEvents<Modules extends ModulesRecord> = {
8
+ [Key in StringKeyOf<Modules>]: ModuleEvents<Modules[Key]>;
9
+ };
10
+ export type FlattenObject<Target extends Record<string, EventsRecord>> = UnionToIntersection<Target[keyof Target]>;
11
+ export type FlattenedContainerEvents<Modules extends ModulesRecord> = FlattenObject<ContainerEvents<Modules>>;
12
+ export declare class EventEmitterProxy<Modules extends ModulesRecord> extends EventEmitter<CastToEventsRecord<FlattenedContainerEvents<Modules>>> {
13
+ private readonly container;
14
+ constructor(container: ModuleContainer<Modules>);
15
+ private isEventEmittingContainer;
16
+ private isEventEmitter;
17
+ }
18
+ //# sourceMappingURL=EventEmitterProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitterProxy.d.ts","sourceRoot":"","sources":["../../src/events/EventEmitterProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,sBAAsB,EAEtB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI,MAAM,SAAS,YAAY,GAChE,MAAM,GACN,EAAE,CAAC;AAEP,MAAM,MAAM,YAAY,CAAC,UAAU,SAAS,cAAc,IACxD,YAAY,CAAC,UAAU,CAAC,SAAS,sBAAsB,CAAC,MAAM,MAAM,CAAC,GACjE,MAAM,GACN,YAAY,CAAC,UAAU,CAAC,SAAS,eAAe,CAAC,MAAM,aAAa,CAAC,GACnE,kBAAkB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAOlD,YAAY,CAAC;AAErB,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,aAAa,IAAI;KAC1D,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IACnE,mBAAmB,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;AAE5C,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,aAAa,IAChE,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1C,qBAAa,iBAAiB,CAC5B,OAAO,SAAS,aAAa,CAC7B,SAAQ,YAAY,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC;IAqBvE,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,cAAc;CAOvB"}
@@ -0,0 +1,35 @@
1
+ import { EventEmitter } from "./EventEmitter";
2
+ export class EventEmitterProxy extends EventEmitter {
3
+ constructor(container) {
4
+ super();
5
+ this.container = container;
6
+ container.moduleNames.forEach((moduleName) => {
7
+ if (container.isValidModuleName(container.definition, moduleName)) {
8
+ const module = container.resolve(moduleName);
9
+ if (this.isEventEmitter(module)) {
10
+ module.events.onAll((events, args) => {
11
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
12
+ this.emit(events, ...args);
13
+ });
14
+ }
15
+ if (this.isEventEmittingContainer(module)) {
16
+ module.containerEvents.onAll((events, args) => {
17
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
18
+ this.emit(events, ...args);
19
+ });
20
+ }
21
+ }
22
+ });
23
+ }
24
+ isEventEmittingContainer(module) {
25
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
26
+ const emitter = module.containerEvents;
27
+ return emitter !== undefined && emitter instanceof EventEmitter;
28
+ }
29
+ isEventEmitter(module) {
30
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
31
+ const emitter = module.events;
32
+ return emitter !== undefined && emitter instanceof EventEmitter;
33
+ }
34
+ }
35
+ //# sourceMappingURL=EventEmitterProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmitterProxy.js","sourceRoot":"","sources":["../../src/events/EventEmitterProxy.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkC9C,MAAM,OAAO,iBAEX,SAAQ,YAAmE;IAC3E,YAAoC,SAAmC;QACrE,KAAK,EAAE,CAAC;QAD0B,cAAS,GAAT,SAAS,CAA0B;QAErE,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC3C,IAAI,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;gBACjE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;oBAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAW,EAAE,IAAW,EAAE,EAAE;wBAC/C,iEAAiE;wBACjE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC;iBACJ;gBACD,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;oBACzC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,MAAW,EAAE,IAAW,EAAE,EAAE;wBACxD,iEAAiE;wBACjE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAC9B,MAAW;QAEX,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;QACvC,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,YAAY,YAAY,CAAC;IAClE,CAAC;IAEO,cAAc,CACpB,MAAW;QAEX,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,YAAY,YAAY,CAAC;IAClE,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { EventEmitter } from "./EventEmitter";
2
+ export type EventsRecord = Record<string, unknown[]>;
3
+ export interface EventEmittingComponent<Events extends EventsRecord> {
4
+ events: EventEmitter<Events>;
5
+ }
6
+ export interface EventEmittingContainer<Events extends EventsRecord> {
7
+ containerEvents: EventEmitter<Events>;
8
+ }
9
+ //# sourceMappingURL=EventEmittingComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmittingComponent.d.ts","sourceRoot":"","sources":["../../src/events/EventEmittingComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAErD,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS,YAAY;IACjE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS,YAAY;IACjE,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EventEmittingComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmittingComponent.js","sourceRoot":"","sources":["../../src/events/EventEmittingComponent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { EventsRecord } from "./EventEmittingComponent";
2
+ import { EventEmitter } from "./EventEmitter";
3
+ /**
4
+ * Event Emitter variant that emits a certain event only once to a registered listener.
5
+ * Additionally, if a listener registers to a event that has already been emitted, it
6
+ * re-emits it to said listener.
7
+ * This pattern is especially useful for listening for inclusions of transactions.
8
+ * Those events will only occur once, and listeners could come too late to the party,
9
+ * so we need to make sure they get notified as well in those cases.
10
+ */
11
+ export declare class ReplayingSingleUseEventEmitter<Events extends EventsRecord> extends EventEmitter<Events> {
12
+ emitted: Partial<Events>;
13
+ emit<Key extends keyof Events>(event: Key, ...parameters: Events[Key]): void;
14
+ onAll(listener: (event: keyof Events, args: unknown[]) => void): void;
15
+ on<Key extends keyof Events>(event: Key, listener: (...args: Events[Key]) => void): void;
16
+ }
17
+ //# sourceMappingURL=ReplayingSingleUseEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplayingSingleUseEventEmitter.d.ts","sourceRoot":"","sources":["../../src/events/ReplayingSingleUseEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,qBAAa,8BAA8B,CACzC,MAAM,SAAS,YAAY,CAC3B,SAAQ,YAAY,CAAC,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAM;IAE9B,IAAI,CAAC,GAAG,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,GAAG,EACV,GAAG,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;IAOrB,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;IAO9D,EAAE,CAAC,GAAG,SAAS,MAAM,MAAM,EAChC,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;CAO3C"}
@@ -0,0 +1,34 @@
1
+ import { EventEmitter } from "./EventEmitter";
2
+ /**
3
+ * Event Emitter variant that emits a certain event only once to a registered listener.
4
+ * Additionally, if a listener registers to a event that has already been emitted, it
5
+ * re-emits it to said listener.
6
+ * This pattern is especially useful for listening for inclusions of transactions.
7
+ * Those events will only occur once, and listeners could come too late to the party,
8
+ * so we need to make sure they get notified as well in those cases.
9
+ */
10
+ export class ReplayingSingleUseEventEmitter extends EventEmitter {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.emitted = {};
14
+ }
15
+ emit(event, ...parameters) {
16
+ super.emit(event, ...parameters);
17
+ this.emitted[event] = parameters;
18
+ this.listeners[event] = [];
19
+ }
20
+ onAll(listener) {
21
+ Object.entries(this.emitted).forEach(([key, params]) => {
22
+ if (params !== undefined)
23
+ listener(key, params);
24
+ });
25
+ super.onAll(listener);
26
+ }
27
+ on(event, listener) {
28
+ if (this.emitted[event] !== undefined) {
29
+ listener(...this.emitted[event]);
30
+ }
31
+ super.on(event, listener);
32
+ }
33
+ }
34
+ //# sourceMappingURL=ReplayingSingleUseEventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplayingSingleUseEventEmitter.js","sourceRoot":"","sources":["../../src/events/ReplayingSingleUseEventEmitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,OAAO,8BAEX,SAAQ,YAAoB;IAF9B;;QAGS,YAAO,GAAoB,EAAE,CAAC;IA2BvC,CAAC;IAzBQ,IAAI,CACT,KAAU,EACV,GAAG,UAAuB;QAE1B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,QAAwD;QACnE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;YACrD,IAAI,MAAM,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAEM,EAAE,CACP,KAAU,EACV,QAAwC;QAExC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YACrC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,CAAC;SACnC;QACD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,36 @@
1
1
  export * from "./config/ModuleContainer";
2
2
  export * from "./config/ConfigurableModule";
3
+ export * from "./config/ChildContainerProvider";
4
+ export * from "./config/ChildContainerCreatable";
5
+ export * from "./config/injectAlias";
6
+ export * from "./config/Startable";
3
7
  export * from "./types";
4
8
  export * from "./zkProgrammable/ZkProgrammable";
5
9
  export * from "./zkProgrammable/ProvableMethodExecutionContext";
6
10
  export * from "./zkProgrammable/provableMethod";
7
11
  export * from "./utils";
8
12
  export * from "./dependencyFactory/DependencyFactory";
9
- export { default as log } from "loglevel";
13
+ export * from "./log";
14
+ export * from "./events/EventEmittingComponent";
15
+ export * from "./events/EventEmitter";
16
+ export * from "./trees/sparse/MerkleTreeStore";
17
+ export * from "./trees/sparse/InMemoryMerkleTreeStorage";
18
+ export * from "./trees/sparse/RollupMerkleTree";
19
+ export * from "./trees/lmt/LinkedLeafStore";
20
+ export * from "./trees/lmt/LinkedMerkleTree";
21
+ export * from "./trees/lmt/InMemoryLinkedLeafStore";
22
+ export * from "./trees/lmt/LinkedMerkleTreeCircuitOps";
23
+ export * from "./trees/lmt/AbstractLinkedMerkleTree";
24
+ export * from "./trees/lmt/LinkedMerkleTreeTypes";
25
+ export * from "./events/EventEmitterProxy";
26
+ export * from "./events/ReplayingSingleUseEventEmitter";
27
+ export * from "./trees/sparse/MockAsyncMerkleStore";
28
+ export * from "./compiling/AtomicCompileHelper";
29
+ export * from "./compiling/CompileRegistry";
30
+ export * from "./compiling/CompilableModule";
31
+ export * from "./compiling/services/ChildVerificationKeyService";
32
+ export * from "./cache/RemoteCache";
33
+ export * from "./cache/RemoteCacheCompiler";
34
+ export * from "./cache/CacheManifest";
35
+ export * from "./cache/ProxyCache";
10
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iCAAiC,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,cAAc,uCAAuC,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iCAAiC,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,cAAc,uCAAuC,CAAC;AACtD,cAAc,OAAO,CAAC;AACtB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,36 @@
1
1
  export * from "./config/ModuleContainer";
2
2
  export * from "./config/ConfigurableModule";
3
+ export * from "./config/ChildContainerProvider";
4
+ export * from "./config/ChildContainerCreatable";
5
+ export * from "./config/injectAlias";
6
+ export * from "./config/Startable";
3
7
  export * from "./types";
4
8
  export * from "./zkProgrammable/ZkProgrammable";
5
9
  export * from "./zkProgrammable/ProvableMethodExecutionContext";
6
10
  export * from "./zkProgrammable/provableMethod";
7
11
  export * from "./utils";
8
12
  export * from "./dependencyFactory/DependencyFactory";
9
- // eslint-disable-next-line import/no-unused-modules
10
- export { default as log } from "loglevel";
13
+ export * from "./log";
14
+ export * from "./events/EventEmittingComponent";
15
+ export * from "./events/EventEmitter";
16
+ export * from "./trees/sparse/MerkleTreeStore";
17
+ export * from "./trees/sparse/InMemoryMerkleTreeStorage";
18
+ export * from "./trees/sparse/RollupMerkleTree";
19
+ export * from "./trees/lmt/LinkedLeafStore";
20
+ export * from "./trees/lmt/LinkedMerkleTree";
21
+ export * from "./trees/lmt/InMemoryLinkedLeafStore";
22
+ export * from "./trees/lmt/LinkedMerkleTreeCircuitOps";
23
+ export * from "./trees/lmt/AbstractLinkedMerkleTree";
24
+ export * from "./trees/lmt/LinkedMerkleTreeTypes";
25
+ export * from "./events/EventEmitterProxy";
26
+ export * from "./events/ReplayingSingleUseEventEmitter";
27
+ export * from "./trees/sparse/MockAsyncMerkleStore";
28
+ export * from "./compiling/AtomicCompileHelper";
29
+ export * from "./compiling/CompileRegistry";
30
+ export * from "./compiling/CompilableModule";
31
+ export * from "./compiling/services/ChildVerificationKeyService";
32
+ export * from "./cache/RemoteCache";
33
+ export * from "./cache/RemoteCacheCompiler";
34
+ export * from "./cache/CacheManifest";
35
+ export * from "./cache/ProxyCache";
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iCAAiC,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,cAAc,uCAAuC,CAAC;AACtD,cAAc,OAAO,CAAC;AACtB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kDAAkD,CAAC;AACjE,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
package/dist/log.d.ts ADDED
@@ -0,0 +1,37 @@
1
+ import loglevel, { LogLevelDesc, LogLevelNames } from "loglevel";
2
+ declare function time(label?: string): void;
3
+ export declare const log: {
4
+ provable: {
5
+ info: (...args: unknown[]) => void;
6
+ debug: (...args: unknown[]) => void;
7
+ error: (...args: unknown[]) => void;
8
+ trace: (...args: unknown[]) => void;
9
+ warn: (...args: unknown[]) => void;
10
+ };
11
+ time: typeof time;
12
+ timeLog: {
13
+ info: (label?: string) => void;
14
+ debug: (label?: string) => void;
15
+ error: (label?: string) => void;
16
+ trace: (label?: string) => void;
17
+ warn: (label?: string) => void;
18
+ };
19
+ timeEnd: {
20
+ info: (label?: string) => void;
21
+ debug: (label?: string) => void;
22
+ error: (label?: string) => void;
23
+ trace: (label?: string) => void;
24
+ warn: (label?: string) => void;
25
+ };
26
+ info: (...args: unknown[]) => void;
27
+ debug: (...args: unknown[]) => void;
28
+ error: (...args: unknown[]) => void;
29
+ trace: (...args: unknown[]) => void;
30
+ warn: (...args: unknown[]) => void;
31
+ setLevel: (level: LogLevelDesc) => void;
32
+ readonly levels: loglevel.LogLevel;
33
+ getLevel: () => 0 | 2 | 3 | 1 | 4 | 5;
34
+ };
35
+ export declare function assertValidTextLogLevel(level: string | number): asserts level is LogLevelNames;
36
+ export {};
37
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAoCjE,iBAAS,IAAI,CAAC,KAAK,SAAS,QAE3B;AAgBD,eAAO,MAAM,GAAG;;wBAEI,OAAO,EAAE;yBAIR,OAAO,EAAE;yBAIT,OAAO,EAAE;yBAIT,OAAO,EAAE;wBAIV,OAAO,EAAE;;;;uBAQV,MAAM;wBACL,MAAM;wBACN,MAAM;wBACN,MAAM;uBACP,MAAM;;;uBAIN,MAAM;wBACL,MAAM;wBACN,MAAM;wBACN,MAAM;uBACP,MAAM;;oBAGP,OAAO,EAAE;qBAIR,OAAO,EAAE;qBAIT,OAAO,EAAE;qBAIT,OAAO,EAAE;oBAQV,OAAO,EAAE;sBAIP,YAAY;;;CAY/B,CAAC;AAIF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,OAAO,CAAC,KAAK,IAAI,aAAa,CAOhC"}