@aztec/prover-node 0.0.1-commit.b655e406 → 0.0.1-commit.b8a057fa

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 (84) hide show
  1. package/README.md +518 -0
  2. package/dest/actions/download-epoch-proving-job.d.ts +4 -4
  3. package/dest/actions/download-epoch-proving-job.js +1 -1
  4. package/dest/actions/index.d.ts +1 -1
  5. package/dest/actions/rerun-epoch-proving-job.d.ts +6 -4
  6. package/dest/actions/rerun-epoch-proving-job.d.ts.map +1 -1
  7. package/dest/actions/rerun-epoch-proving-job.js +191 -28
  8. package/dest/actions/upload-epoch-proof-failure.d.ts +2 -2
  9. package/dest/actions/upload-epoch-proof-failure.d.ts.map +1 -1
  10. package/dest/bin/run-failed-epoch.d.ts +1 -1
  11. package/dest/bin/run-failed-epoch.js +6 -5
  12. package/dest/checkpoint-store.d.ts +87 -0
  13. package/dest/checkpoint-store.d.ts.map +1 -0
  14. package/dest/checkpoint-store.js +186 -0
  15. package/dest/config.d.ts +10 -10
  16. package/dest/config.d.ts.map +1 -1
  17. package/dest/config.js +27 -22
  18. package/dest/factory.d.ts +23 -16
  19. package/dest/factory.d.ts.map +1 -1
  20. package/dest/factory.js +49 -68
  21. package/dest/index.d.ts +3 -1
  22. package/dest/index.d.ts.map +1 -1
  23. package/dest/index.js +2 -0
  24. package/dest/job/checkpoint-prover.d.ts +134 -0
  25. package/dest/job/checkpoint-prover.d.ts.map +1 -0
  26. package/dest/job/checkpoint-prover.js +353 -0
  27. package/dest/job/epoch-proving-job-data.d.ts +8 -6
  28. package/dest/job/epoch-proving-job-data.d.ts.map +1 -1
  29. package/dest/job/epoch-proving-job-data.js +25 -18
  30. package/dest/job/epoch-session.d.ts +146 -0
  31. package/dest/job/epoch-session.d.ts.map +1 -0
  32. package/dest/job/epoch-session.js +720 -0
  33. package/dest/job/top-tree-job.d.ts +82 -0
  34. package/dest/job/top-tree-job.d.ts.map +1 -0
  35. package/dest/job/top-tree-job.js +152 -0
  36. package/dest/metrics.d.ts +42 -4
  37. package/dest/metrics.d.ts.map +1 -1
  38. package/dest/metrics.js +128 -99
  39. package/dest/monitors/epoch-monitor.d.ts +3 -2
  40. package/dest/monitors/epoch-monitor.d.ts.map +1 -1
  41. package/dest/monitors/epoch-monitor.js +14 -20
  42. package/dest/monitors/index.d.ts +1 -1
  43. package/dest/proof-publishing-service.d.ts +161 -0
  44. package/dest/proof-publishing-service.d.ts.map +1 -0
  45. package/dest/proof-publishing-service.js +335 -0
  46. package/dest/prover-node-publisher.d.ts +36 -23
  47. package/dest/prover-node-publisher.d.ts.map +1 -1
  48. package/dest/prover-node-publisher.js +244 -98
  49. package/dest/prover-node.d.ts +122 -71
  50. package/dest/prover-node.d.ts.map +1 -1
  51. package/dest/prover-node.js +872 -226
  52. package/dest/prover-publisher-factory.d.ts +12 -6
  53. package/dest/prover-publisher-factory.d.ts.map +1 -1
  54. package/dest/prover-publisher-factory.js +8 -5
  55. package/dest/session-manager.d.ts +158 -0
  56. package/dest/session-manager.d.ts.map +1 -0
  57. package/dest/session-manager.js +452 -0
  58. package/dest/test/index.d.ts +7 -6
  59. package/dest/test/index.d.ts.map +1 -1
  60. package/package.json +28 -25
  61. package/src/actions/download-epoch-proving-job.ts +1 -1
  62. package/src/actions/rerun-epoch-proving-job.ts +120 -30
  63. package/src/actions/upload-epoch-proof-failure.ts +1 -1
  64. package/src/bin/run-failed-epoch.ts +5 -3
  65. package/src/checkpoint-store.ts +218 -0
  66. package/src/config.ts +39 -34
  67. package/src/factory.ts +86 -111
  68. package/src/index.ts +2 -0
  69. package/src/job/checkpoint-prover.ts +468 -0
  70. package/src/job/epoch-proving-job-data.ts +31 -25
  71. package/src/job/epoch-session.ts +436 -0
  72. package/src/job/top-tree-job.ts +227 -0
  73. package/src/metrics.ts +146 -84
  74. package/src/monitors/epoch-monitor.ts +10 -17
  75. package/src/proof-publishing-service.ts +427 -0
  76. package/src/prover-node-publisher.ts +300 -129
  77. package/src/prover-node.ts +569 -254
  78. package/src/prover-publisher-factory.ts +22 -11
  79. package/src/session-manager.ts +552 -0
  80. package/src/test/index.ts +6 -6
  81. package/dest/job/epoch-proving-job.d.ts +0 -69
  82. package/dest/job/epoch-proving-job.d.ts.map +0 -1
  83. package/dest/job/epoch-proving-job.js +0 -354
  84. package/src/job/epoch-proving-job.ts +0 -420
@@ -1,106 +1,157 @@
1
- import type { RollupContract } from '@aztec/ethereum';
2
- import type { DataStoreConfig } from '@aztec/kv-store/config';
3
- import type { P2PClient } from '@aztec/p2p';
4
- import { PublicProcessorFactory } from '@aztec/simulator/server';
5
- import type { L2BlockSource } from '@aztec/stdlib/block';
1
+ import type { RollupContract } from '@aztec/ethereum/contracts';
2
+ import type { Delayer } from '@aztec/ethereum/l1-tx-utils';
3
+ import { BlockNumber, CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
4
+ import { DateProvider } from '@aztec/foundation/timer';
5
+ import type { EpochProverFactory } from '@aztec/prover-client';
6
+ import { ChonkCache } from '@aztec/prover-client/orchestrator';
7
+ import { type AvmSimulator } from '@aztec/simulator/server';
8
+ import { type L2BlockSource, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
6
9
  import type { ChainConfig } from '@aztec/stdlib/config';
7
10
  import type { ContractDataSource } from '@aztec/stdlib/contract';
8
- import { type EpochProverManager, type ProverNodeApi, type Service, type WorldStateSyncStatus, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
+ import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
12
+ import { type EpochProverManager, type EpochProvingJobState, EpochProvingJobTerminalState, type ITxProvider, type ProverNodeApi, type Service, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
13
+ import type { DataStoreConfig } from '@aztec/stdlib/kv-store';
9
14
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
10
- import type { P2PClientType } from '@aztec/stdlib/p2p';
11
15
  import { L1Metrics, type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
16
+ import { CheckpointStore } from './checkpoint-store.js';
12
17
  import type { SpecificProverNodeConfig } from './config.js';
13
- import type { EpochProvingJobData } from './job/epoch-proving-job-data.js';
14
- import { EpochProvingJob, type EpochProvingJobState } from './job/epoch-proving-job.js';
15
- import type { EpochMonitor, EpochMonitorHandler } from './monitors/epoch-monitor.js';
16
- import type { ProverNodePublisher } from './prover-node-publisher.js';
18
+ import type { EpochSession, EpochSessionHooks } from './job/epoch-session.js';
19
+ import { ProofPublishingService } from './proof-publishing-service.js';
17
20
  import type { ProverPublisherFactory } from './prover-publisher-factory.js';
21
+ import { SessionManager } from './session-manager.js';
18
22
  type ProverNodeOptions = SpecificProverNodeConfig & Partial<DataStoreOptions>;
19
23
  type DataStoreOptions = Pick<DataStoreConfig, 'dataDirectory'> & Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'>;
20
24
  /**
21
- * An Aztec Prover Node is a standalone process that monitors the unfinalized chain on L1 for unproven epochs,
22
- * fetches their txs from the p2p network or external nodes, re-executes their public functions, creates a rollup
23
- * proof for the epoch, and submits it to L1.
25
+ * An Aztec Prover Node is a standalone process that monitors the chain for new checkpoints,
26
+ * starts proving them optimistically as they arrive, and submits epoch proofs to L1 once
27
+ * complete.
28
+ *
29
+ * The class is intentionally thin: it owns the long-lived collections (`CheckpointStore`,
30
+ * `ChonkCache`, `SessionManager`), the L2BlockStream, and a periodic ticker that nudges the
31
+ * manager to pick up newly-complete epochs. Every session lifecycle decision is delegated to
32
+ * the `SessionManager`. Each chain event is translated here into a single method call on it.
24
33
  */
25
- export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable {
26
- protected readonly prover: EpochProverManager;
34
+ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNodeApi, Traceable {
35
+ protected readonly prover: EpochProverManager & EpochProverFactory;
27
36
  protected readonly publisherFactory: ProverPublisherFactory;
28
37
  protected readonly l2BlockSource: L2BlockSource & Partial<Service>;
29
38
  protected readonly l1ToL2MessageSource: L1ToL2MessageSource;
30
39
  protected readonly contractDataSource: ContractDataSource;
31
40
  protected readonly worldState: WorldStateSynchronizer;
32
- protected readonly p2pClient: Pick<P2PClient<P2PClientType.Prover>, 'getTxProvider'> & Partial<Service>;
33
- protected readonly epochsMonitor: EpochMonitor;
41
+ protected readonly p2pClient: {
42
+ getTxProvider(): ITxProvider;
43
+ } & Partial<Service>;
34
44
  protected readonly rollupContract: RollupContract;
35
45
  protected readonly l1Metrics: L1Metrics;
46
+ private readonly avmSimulator;
36
47
  protected readonly telemetryClient: TelemetryClient;
48
+ private delayer?;
49
+ private readonly dateProvider;
37
50
  private log;
38
- private dateProvider;
39
- private jobs;
40
- private config;
41
- private jobMetrics;
42
- private rewardsMetrics;
43
- readonly tracer: Tracer;
44
- protected publisher: ProverNodePublisher | undefined;
45
- constructor(prover: EpochProverManager, publisherFactory: ProverPublisherFactory, l2BlockSource: L2BlockSource & Partial<Service>, l1ToL2MessageSource: L1ToL2MessageSource, contractDataSource: ContractDataSource, worldState: WorldStateSynchronizer, p2pClient: Pick<P2PClient<P2PClientType.Prover>, 'getTxProvider'> & Partial<Service>, epochsMonitor: EpochMonitor, rollupContract: RollupContract, l1Metrics: L1Metrics, config?: Partial<ProverNodeOptions>, telemetryClient?: TelemetryClient);
46
- getProverId(): import("@aztec/stdlib/block").EthAddress;
47
- getP2P(): Pick<P2PClient<P2PClientType.Prover>, "getTxProvider"> & Partial<Service>;
51
+ protected readonly checkpointStore: CheckpointStore;
52
+ protected readonly chonkCache: ChonkCache;
53
+ protected sessionManager: SessionManager | undefined;
54
+ private readonly config;
55
+ private readonly jobMetrics;
56
+ private readonly rewardsMetrics;
57
+ /** In-memory store for the L2BlockStream's local data provider. */
58
+ private tipsStore;
59
+ /** Block stream for checkpoint and reorg detection. */
60
+ private blockStream;
48
61
  /**
49
- * Handles an epoch being completed by starting a proof for it if there are no active jobs for it.
50
- * @param epochNumber - The epoch number that was just completed.
51
- * @returns false if there is an error, true otherwise
62
+ * Highest epoch whose proof-submission window has passed. Monotonic high-water mark.
63
+ * Seeded from the last fully-proven epoch at start(); advanced on every block-stream
64
+ * event by comparing the archiver's latest synced L2 slot against each epoch's
65
+ * submission deadline. Protected so tests can verify the start() seeding.
52
66
  */
53
- handleEpochReadyToProve(epochNumber: bigint): Promise<boolean>;
67
+ protected lastExpiredEpoch: EpochNumber | undefined;
54
68
  /**
55
- * Starts the prover node so it periodically checks for unproven epochs in the unfinalized chain from L1 and
56
- * starts proving jobs for them.
69
+ * Highest checkpoint number whose proving-side handling has completed (or that was legitimately skipped).
70
+ * The catch-up loop walks from here to each `chain-checkpointed` tip event. Seeded at start() from the last
71
+ * checkpoint of the last fully-proven epoch (or 0), so a restart reprocesses the partially-proven epoch rather
72
+ * than trusting a checkpointed tip that may sit ahead of unproven checkpoints. Clamped down on a prune.
57
73
  */
58
- start(): Promise<void>;
74
+ protected lastProcessedCheckpoint: CheckpointNumber;
75
+ /** Periodic tick that runs the epoch-expiry sweep during idle periods when no block-stream events arrive. */
76
+ private expiryTicker;
77
+ readonly tracer: Tracer;
78
+ protected publishingService: ProofPublishingService | undefined;
79
+ constructor(prover: EpochProverManager & EpochProverFactory, publisherFactory: ProverPublisherFactory, l2BlockSource: L2BlockSource & Partial<Service>, l1ToL2MessageSource: L1ToL2MessageSource, contractDataSource: ContractDataSource, worldState: WorldStateSynchronizer, p2pClient: {
80
+ getTxProvider(): ITxProvider;
81
+ } & Partial<Service>, rollupContract: RollupContract, l1Metrics: L1Metrics, avmSimulator: AvmSimulator, config?: Partial<ProverNodeOptions>, telemetryClient?: TelemetryClient, delayer?: Delayer | undefined, dateProvider?: DateProvider);
82
+ getProverId(): import("@aztec/foundation/eth-address").EthAddress;
83
+ getP2P(): {
84
+ getTxProvider(): ITxProvider;
85
+ } & Partial<Service>;
86
+ /** Test-only: the shared L1 tx delayer, if enabled. */
87
+ getDelayer(): Delayer | undefined;
88
+ /** Observability summary for the ProverNodeApi. */
89
+ getJobs(): Promise<{
90
+ uuid: string;
91
+ status: EpochProvingJobState;
92
+ epochNumber: EpochNumber;
93
+ }[]>;
94
+ /** Tests inspect this when validating reconcile behaviour. */
95
+ getCheckpointStore(): CheckpointStore;
96
+ /** Tests inspect this to verify chonk-cache release semantics. */
97
+ getChonkCache(): ChonkCache;
98
+ /** Tests inspect this when looking up live sessions. */
99
+ getSessionManager(): SessionManager;
100
+ /** Returns the underlying prover instance. */
101
+ getProver(): EpochProverManager & EpochProverFactory;
102
+ handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
103
+ private processCheckpointJump;
104
+ private registerCheckpoint;
105
+ private collectRegisterData;
106
+ private handlePruneEvent;
107
+ private isEpochPastProofSubmissionWindow;
108
+ private checkEpochExpiry;
109
+ private expireEpoch;
59
110
  /**
60
- * Stops the prover node and all its dependencies.
111
+ * Schedules proving for the given epoch and returns the job id without waiting for completion.
61
112
  */
113
+ startProof(epochNumber: EpochNumber): Promise<string>;
114
+ start(): Promise<void>;
62
115
  stop(): Promise<void>;
63
- /** Returns world state status. */
64
- getWorldStateSyncStatus(): Promise<WorldStateSyncStatus>;
65
- /** Returns archiver status. */
66
- getL2Tips(): Promise<import("@aztec/stdlib/block").L2Tips>;
67
116
  /**
68
- * Starts a proving process and returns immediately.
117
+ * Constructs the session manager. Extracted so subclasses (test harness) can swap
118
+ * the implementation. Wired to `tryUploadSessionFailure` so failed sessions get
119
+ * their proving data uploaded.
69
120
  */
70
- startProof(epochNumber: number | bigint): Promise<void>;
71
- private runJob;
72
- protected tryUploadEpochFailure(job: EpochProvingJob): Promise<string | undefined>;
121
+ protected createSessionManager(publishingService: ProofPublishingService): SessionManager;
73
122
  /**
74
- * Returns the prover instance.
123
+ * Installs session hooks for the e2e harness to interpose around top-tree proving
124
+ * (gate, override, or observe it) without monkey-patching the orchestrator factory.
125
+ * Applies to every session constructed after this call.
75
126
  */
76
- getProver(): EpochProverManager;
127
+ setSessionHooks(hooks: EpochSessionHooks): void;
128
+ /** Uploads failure snapshots when sessions exit with `failed`. Exposed as a method so tests can spy on it. */
129
+ tryUploadSessionFailure(session: EpochSession): Promise<string | undefined>;
130
+ private getL1Constants;
77
131
  /**
78
- * Returns an array of jobs being processed.
132
+ * Returns true if every block in the given epoch is proven on L1. An epoch is only
133
+ * fully proven when its *last* block is proven. Protected for direct unit-test access.
79
134
  */
80
- getJobs(): Promise<{
81
- uuid: string;
82
- status: EpochProvingJobState;
83
- epochNumber: number;
84
- }[]>;
85
- protected getActiveJobsForEpoch(epochBigInt: bigint): Promise<{
86
- uuid: string;
87
- status: EpochProvingJobState;
88
- }[]>;
89
- private checkMaximumPendingJobs;
90
- private createProvingJob;
91
- private getL1Constants;
92
- private gatherEpochData;
93
- private gatherBlocks;
94
- private gatherTxs;
95
- private gatherMessages;
135
+ protected isEpochFullyProven(epochNumber: EpochNumber, l1Constants: Pick<L1RollupConstants, 'epochDuration'>): Promise<boolean>;
136
+ /** Protected for direct unit-test access. */
137
+ protected isProvenBlockLastOfItsEpoch(provenBlockNumber: BlockNumber, provenEpoch: EpochNumber, l1Constants: Pick<L1RollupConstants, 'epochDuration'>): Promise<boolean>;
138
+ /**
139
+ * Resolves the last fully-proven epoch from L1 proven state, used to seed the catch-up cursor (via
140
+ * `computeStartingCheckpoint`) and `lastExpiredEpoch`. The fully-proven epoch is `provenEpoch` when the
141
+ * proven tip is the last block of its epoch, otherwise `provenEpoch - 1`, or `undefined` if no block is
142
+ * proven yet (so a restart reprocesses the partially-proven epoch rather than trusting a stale tip).
143
+ */
144
+ protected resolveLastFullyProvenEpoch(): Promise<{
145
+ lastFullyProvenEpoch: EpochNumber | undefined;
146
+ }>;
147
+ /**
148
+ * Resolves the catch-up cursor seed: the last checkpoint of the last fully-proven epoch, or 0 if none. Seeding
149
+ * from a checkpoint (rather than a checkpointed tip) guarantees a restart reprocesses every checkpoint of the
150
+ * partially-proven epoch, since the checkpointed tip can sit ahead of the last fully-proven checkpoint.
151
+ */
152
+ protected computeStartingCheckpoint(lastFullyProvenEpoch: EpochNumber | undefined): Promise<CheckpointNumber>;
96
153
  private gatherPreviousBlockHeader;
97
- /** Extracted for testing purposes. */
98
- protected doCreateEpochProvingJob(data: EpochProvingJobData, deadline: Date | undefined, publicProcessorFactory: PublicProcessorFactory, publisher: ProverNodePublisher, opts?: {
99
- skipEpochCheck?: boolean;
100
- }): EpochProvingJob;
101
- /** Extracted for testing purposes. */
102
- protected triggerMonitors(): Promise<void>;
103
154
  private validateConfig;
104
155
  }
105
- export {};
106
- //# sourceMappingURL=prover-node.d.ts.map
156
+ export { EpochProvingJobTerminalState };
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm92ZXItbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSzdGLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFHTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyx5QkFBeUIsRUFFL0IsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUFtRCxNQUFNLDZCQUE2QixDQUFDO0FBQ3RILE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixLQUFLLG9CQUFvQixFQUN6Qiw0QkFBNEIsRUFDNUIsS0FBSyxXQUFXLEVBQ2hCLEtBQUssYUFBYSxFQUNsQixLQUFLLE9BQU8sRUFDWixLQUFLLHNCQUFzQixFQUU1QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkUsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBQ2QsS0FBSyxNQUFNLEVBRVosTUFBTSx5QkFBeUIsQ0FBQztBQUdqQyxPQUFPLEVBQUUsZUFBZSxFQUErQixNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRELEtBQUssaUJBQWlCLEdBQUcsd0JBQXdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDOUUsS0FBSyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLGVBQWUsQ0FBQyxDQUFDO0FBU2xIOzs7Ozs7Ozs7R0FTRztBQUNILHFCQUFhLFVBQVcsWUFBVyx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsU0FBUztJQXVDbEYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEdBQUcsa0JBQWtCO0lBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCO0lBQzNELFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsbUJBQW1CO0lBQzNELFNBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCO0lBQ3pELFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLHNCQUFzQjtJQUNyRCxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUFFLGFBQWEsSUFBSSxXQUFXLENBQUE7S0FBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDakYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsY0FBYztJQUNqRCxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxTQUFTO0lBQ3ZDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWTtJQUU3QixTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxlQUFlO0lBQ25ELE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDaEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO0lBbkQvQixPQUFPLENBQUMsR0FBRyxDQUErQjtJQUUxQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUM7SUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQzFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsY0FBYyxHQUFHLFNBQVMsQ0FBQztJQUVyRCxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBb0I7SUFDM0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQXVCO0lBQ2xELE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUEyQjtJQUUxRCxtRUFBbUU7SUFDbkUsT0FBTyxDQUFDLFNBQVMsQ0FBb0I7SUFDckMsdURBQXVEO0lBQ3ZELE9BQU8sQ0FBQyxXQUFXLENBQXVDO0lBQzFEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLGdCQUFnQixFQUFFLFdBQVcsR0FBRyxTQUFTLENBQUM7SUFFcEQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsdUJBQXVCLEVBQUUsZ0JBQWdCLENBQXlCO0lBRTVFLDZHQUE2RztJQUM3RyxPQUFPLENBQUMsWUFBWSxDQUE2QjtJQUVqRCxTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsR0FBRyxTQUFTLENBQUM7SUFFaEUsWUFDcUIsTUFBTSxFQUFFLGtCQUFrQixHQUFHLGtCQUFrQixFQUMvQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFDeEMsYUFBYSxFQUFFLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQy9DLG1CQUFtQixFQUFFLG1CQUFtQixFQUN4QyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMsVUFBVSxFQUFFLHNCQUFzQixFQUNsQyxTQUFTLEVBQUU7UUFBRSxhQUFhLElBQUksV0FBVyxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQzlELGNBQWMsRUFBRSxjQUFjLEVBQzlCLFNBQVMsRUFBRSxTQUFTLEVBQ3RCLFlBQVksRUFBRSxZQUFZLEVBQzNDLE1BQU0sR0FBRSxPQUFPLENBQUMsaUJBQWlCLENBQU0sRUFDcEIsZUFBZSxHQUFFLGVBQXNDLEVBQ2xFLE9BQU8sQ0FBQyxxQkFBUyxFQUNSLFlBQVksR0FBRSxZQUFpQyxFQWlEakU7SUFFTSxXQUFXLHVEQUVqQjtJQUVNLE1BQU07O3lCQUVaO0lBRUQsdURBQXVEO0lBQ2hELFVBQVUsSUFBSSxPQUFPLEdBQUcsU0FBUyxDQUV2QztJQUVELG1EQUFtRDtJQUM1QyxPQUFPLElBQUksT0FBTyxDQUFDO1FBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQztRQUFDLFdBQVcsRUFBRSxXQUFXLENBQUE7S0FBRSxFQUFFLENBQUMsQ0FFcEc7SUFFRCw4REFBOEQ7SUFDdkQsa0JBQWtCLElBQUksZUFBZSxDQUUzQztJQUVELGtFQUFrRTtJQUMzRCxhQUFhLElBQUksVUFBVSxDQUVqQztJQUVELHdEQUF3RDtJQUNqRCxpQkFBaUIsSUFBSSxjQUFjLENBS3pDO0lBRUQsOENBQThDO0lBQ3ZDLFNBQVMsNENBRWY7SUFJWSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQTZCNUU7WUFhYSxxQkFBcUI7WUFvRHJCLGtCQUFrQjtZQTZCbEIsbUJBQW1CO1lBNkJuQixnQkFBZ0I7WUFnRGhCLGdDQUFnQztZQW1CaEMsZ0JBQWdCO1lBMEJoQixXQUFXO0lBY3pCOztPQUVHO0lBQ1UsVUFBVSxDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUtqRTtJQUlLLEtBQUssa0JBd0NWO0lBRUssSUFBSSxrQkEyQlQ7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLHNCQUFzQixHQUFHLGNBQWMsQ0FtQnhGO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEdBQUcsSUFBSSxDQUtyRDtJQUVELDhHQUE4RztJQUNqRyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBY3ZGO0lBS0QsT0FBTyxDQUFDLGNBQWM7SUFJdEI7OztPQUdHO0lBQ0gsVUFBZ0Isa0JBQWtCLENBQ2hDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEdBQ3BELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FpQmxCO0lBRUQsNkNBQTZDO0lBQzdDLFVBQWdCLDJCQUEyQixDQUN6QyxpQkFBaUIsRUFBRSxXQUFXLEVBQzlCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEdBQ3BELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FNbEI7SUFFRDs7Ozs7T0FLRztJQUNILFVBQWdCLDJCQUEyQixJQUFJLE9BQU8sQ0FBQztRQUFFLG9CQUFvQixFQUFFLFdBQVcsR0FBRyxTQUFTLENBQUE7S0FBRSxDQUFDLENBZ0J4RztJQUVEOzs7O09BSUc7SUFDSCxVQUFnQix5QkFBeUIsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQU1sSDtZQUVhLHlCQUF5QjtJQVF2QyxPQUFPLENBQUMsY0FBYztDQWN2QjtBQUdELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}