@aztec/prover-node 0.0.0-test.1 → 0.0.1-commit.b655e406

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 (81) hide show
  1. package/dest/actions/download-epoch-proving-job.d.ts +18 -0
  2. package/dest/actions/download-epoch-proving-job.d.ts.map +1 -0
  3. package/dest/actions/download-epoch-proving-job.js +37 -0
  4. package/dest/actions/index.d.ts +3 -0
  5. package/dest/actions/index.d.ts.map +1 -0
  6. package/dest/actions/index.js +2 -0
  7. package/dest/actions/rerun-epoch-proving-job.d.ts +11 -0
  8. package/dest/actions/rerun-epoch-proving-job.d.ts.map +1 -0
  9. package/dest/actions/rerun-epoch-proving-job.js +40 -0
  10. package/dest/actions/upload-epoch-proof-failure.d.ts +15 -0
  11. package/dest/actions/upload-epoch-proof-failure.d.ts.map +1 -0
  12. package/dest/actions/upload-epoch-proof-failure.js +78 -0
  13. package/dest/bin/run-failed-epoch.d.ts +2 -0
  14. package/dest/bin/run-failed-epoch.d.ts.map +1 -0
  15. package/dest/bin/run-failed-epoch.js +67 -0
  16. package/dest/config.d.ts +12 -9
  17. package/dest/config.d.ts.map +1 -1
  18. package/dest/config.js +81 -14
  19. package/dest/factory.d.ts +12 -8
  20. package/dest/factory.d.ts.map +1 -1
  21. package/dest/factory.js +95 -31
  22. package/dest/index.d.ts +1 -1
  23. package/dest/index.d.ts.map +1 -1
  24. package/dest/index.js +1 -1
  25. package/dest/job/epoch-proving-job-data.d.ts +16 -0
  26. package/dest/job/epoch-proving-job-data.d.ts.map +1 -0
  27. package/dest/job/epoch-proving-job-data.js +52 -0
  28. package/dest/job/epoch-proving-job.d.ts +30 -15
  29. package/dest/job/epoch-proving-job.d.ts.map +1 -1
  30. package/dest/job/epoch-proving-job.js +149 -50
  31. package/dest/metrics.d.ts +28 -4
  32. package/dest/metrics.d.ts.map +1 -1
  33. package/dest/metrics.js +141 -35
  34. package/dest/monitors/epoch-monitor.d.ts +3 -1
  35. package/dest/monitors/epoch-monitor.d.ts.map +1 -1
  36. package/dest/monitors/epoch-monitor.js +15 -2
  37. package/dest/prover-node-publisher.d.ts +7 -10
  38. package/dest/prover-node-publisher.d.ts.map +1 -1
  39. package/dest/prover-node-publisher.js +59 -60
  40. package/dest/prover-node.d.ts +43 -39
  41. package/dest/prover-node.d.ts.map +1 -1
  42. package/dest/prover-node.js +171 -100
  43. package/dest/prover-publisher-factory.d.ts +21 -0
  44. package/dest/prover-publisher-factory.d.ts.map +1 -0
  45. package/dest/prover-publisher-factory.js +26 -0
  46. package/dest/test/index.d.ts +4 -2
  47. package/dest/test/index.d.ts.map +1 -1
  48. package/dest/test/index.js +1 -3
  49. package/package.json +36 -31
  50. package/src/actions/download-epoch-proving-job.ts +44 -0
  51. package/src/actions/index.ts +2 -0
  52. package/src/actions/rerun-epoch-proving-job.ts +61 -0
  53. package/src/actions/upload-epoch-proof-failure.ts +88 -0
  54. package/src/bin/run-failed-epoch.ts +77 -0
  55. package/src/config.ts +108 -24
  56. package/src/factory.ts +161 -43
  57. package/src/index.ts +1 -1
  58. package/src/job/epoch-proving-job-data.ts +76 -0
  59. package/src/job/epoch-proving-job.ts +215 -50
  60. package/src/metrics.ts +135 -37
  61. package/src/monitors/epoch-monitor.ts +16 -5
  62. package/src/prover-node-publisher.ts +93 -86
  63. package/src/prover-node.ts +203 -126
  64. package/src/prover-publisher-factory.ts +37 -0
  65. package/src/test/index.ts +7 -4
  66. package/dest/http.d.ts +0 -8
  67. package/dest/http.d.ts.map +0 -1
  68. package/dest/http.js +0 -9
  69. package/dest/prover-coordination/config.d.ts +0 -7
  70. package/dest/prover-coordination/config.d.ts.map +0 -1
  71. package/dest/prover-coordination/config.js +0 -11
  72. package/dest/prover-coordination/factory.d.ts +0 -22
  73. package/dest/prover-coordination/factory.d.ts.map +0 -1
  74. package/dest/prover-coordination/factory.js +0 -42
  75. package/dest/prover-coordination/index.d.ts +0 -3
  76. package/dest/prover-coordination/index.d.ts.map +0 -1
  77. package/dest/prover-coordination/index.js +0 -2
  78. package/src/http.ts +0 -13
  79. package/src/prover-coordination/config.ts +0 -17
  80. package/src/prover-coordination/factory.ts +0 -72
  81. package/src/prover-coordination/index.ts +0 -2
@@ -1,42 +0,0 @@
1
- import { BBCircuitVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
2
- import { createLogger } from '@aztec/foundation/log';
3
- import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
4
- import { createP2PClient } from '@aztec/p2p';
5
- import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
6
- import { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
7
- import { P2PClientType } from '@aztec/stdlib/p2p';
8
- import { getComponentsVersionsFromConfig } from '@aztec/stdlib/versioning';
9
- import { makeTracedFetch } from '@aztec/telemetry-client';
10
- /**
11
- * Creates a prover coordination service.
12
- * If p2p is enabled, prover coordination is done via p2p.
13
- * If an Aztec node URL is provided, prover coordination is done via the Aztec node over http.
14
- * If an aztec node is provided, it is returned directly.
15
- */ export async function createProverCoordination(config, deps) {
16
- const log = createLogger('prover-node:prover-coordination');
17
- if (deps.aztecNodeTxProvider) {
18
- log.info('Using prover coordination via aztec node');
19
- return deps.aztecNodeTxProvider;
20
- }
21
- if (config.p2pEnabled) {
22
- log.info('Using prover coordination via p2p');
23
- if (!deps.archiver || !deps.worldStateSynchronizer || !deps.telemetry || !deps.epochCache) {
24
- throw new Error('Missing dependencies for p2p prover coordination');
25
- }
26
- const proofVerifier = config.realProofs ? await BBCircuitVerifier.new(config) : new TestCircuitVerifier();
27
- const p2pClient = await createP2PClient(P2PClientType.Prover, config, deps.archiver, proofVerifier, deps.worldStateSynchronizer, deps.epochCache, deps.telemetry);
28
- await p2pClient.start();
29
- return p2pClient;
30
- }
31
- if (config.proverCoordinationNodeUrl) {
32
- log.info('Using prover coordination via node url');
33
- const versions = getComponentsVersionsFromConfig(config, protocolContractTreeRoot, getVKTreeRoot());
34
- return createAztecNodeClient(config.proverCoordinationNodeUrl, versions, makeTracedFetch([
35
- 1,
36
- 2,
37
- 3
38
- ], false));
39
- } else {
40
- throw new Error(`Aztec Node URL for Tx Provider is not set.`);
41
- }
42
- }
@@ -1,3 +0,0 @@
1
- export * from './config.js';
2
- export * from './factory.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prover-coordination/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './config.js';
2
- export * from './factory.js';
package/src/http.ts DELETED
@@ -1,13 +0,0 @@
1
- import { ProverNodeApiSchema } from '@aztec/stdlib/interfaces/server';
2
- import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
3
-
4
- import type { ProverNode } from './prover-node.js';
5
-
6
- /**
7
- * Wrap a ProverNode instance with a JSON RPC HTTP server.
8
- * @param node - The ProverNode
9
- * @returns An JSON-RPC HTTP server
10
- */
11
- export function createProverNodeRpcServer(node: ProverNode) {
12
- return createTracedJsonRpcServer(node, ProverNodeApiSchema);
13
- }
@@ -1,17 +0,0 @@
1
- import { type ConfigMappingsType, getConfigFromMappings } from '@aztec/foundation/config';
2
-
3
- export type ProverCoordinationConfig = {
4
- proverCoordinationNodeUrl: string | undefined;
5
- };
6
-
7
- export const proverCoordinationConfigMappings: ConfigMappingsType<ProverCoordinationConfig> = {
8
- proverCoordinationNodeUrl: {
9
- env: 'PROVER_COORDINATION_NODE_URL',
10
- description: 'The URL of the tx provider node',
11
- parseEnv: (val: string) => val,
12
- },
13
- };
14
-
15
- export function getTxProviderConfigFromEnv(): ProverCoordinationConfig {
16
- return getConfigFromMappings<ProverCoordinationConfig>(proverCoordinationConfigMappings);
17
- }
@@ -1,72 +0,0 @@
1
- import type { ArchiveSource, Archiver } from '@aztec/archiver';
2
- import { BBCircuitVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
3
- import type { EpochCache } from '@aztec/epoch-cache';
4
- import { createLogger } from '@aztec/foundation/log';
5
- import type { DataStoreConfig } from '@aztec/kv-store/config';
6
- import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
7
- import { createP2PClient } from '@aztec/p2p';
8
- import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
9
- import { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
10
- import type { ProverCoordination, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
- import { P2PClientType } from '@aztec/stdlib/p2p';
12
- import { getComponentsVersionsFromConfig } from '@aztec/stdlib/versioning';
13
- import { type TelemetryClient, makeTracedFetch } from '@aztec/telemetry-client';
14
-
15
- import type { ProverNodeConfig } from '../config.js';
16
-
17
- // We return a reference to the P2P client so that the prover node can stop the service when it shuts down.
18
- type ProverCoordinationDeps = {
19
- aztecNodeTxProvider?: ProverCoordination;
20
- worldStateSynchronizer?: WorldStateSynchronizer;
21
- archiver?: Archiver | ArchiveSource;
22
- telemetry?: TelemetryClient;
23
- epochCache?: EpochCache;
24
- };
25
-
26
- /**
27
- * Creates a prover coordination service.
28
- * If p2p is enabled, prover coordination is done via p2p.
29
- * If an Aztec node URL is provided, prover coordination is done via the Aztec node over http.
30
- * If an aztec node is provided, it is returned directly.
31
- */
32
- export async function createProverCoordination(
33
- config: ProverNodeConfig & DataStoreConfig,
34
- deps: ProverCoordinationDeps,
35
- ): Promise<ProverCoordination> {
36
- const log = createLogger('prover-node:prover-coordination');
37
-
38
- if (deps.aztecNodeTxProvider) {
39
- log.info('Using prover coordination via aztec node');
40
- return deps.aztecNodeTxProvider;
41
- }
42
-
43
- if (config.p2pEnabled) {
44
- log.info('Using prover coordination via p2p');
45
-
46
- if (!deps.archiver || !deps.worldStateSynchronizer || !deps.telemetry || !deps.epochCache) {
47
- throw new Error('Missing dependencies for p2p prover coordination');
48
- }
49
-
50
- const proofVerifier = config.realProofs ? await BBCircuitVerifier.new(config) : new TestCircuitVerifier();
51
- const p2pClient = await createP2PClient(
52
- P2PClientType.Prover,
53
- config,
54
- deps.archiver,
55
- proofVerifier,
56
- deps.worldStateSynchronizer,
57
- deps.epochCache,
58
- deps.telemetry,
59
- );
60
- await p2pClient.start();
61
-
62
- return p2pClient;
63
- }
64
-
65
- if (config.proverCoordinationNodeUrl) {
66
- log.info('Using prover coordination via node url');
67
- const versions = getComponentsVersionsFromConfig(config, protocolContractTreeRoot, getVKTreeRoot());
68
- return createAztecNodeClient(config.proverCoordinationNodeUrl, versions, makeTracedFetch([1, 2, 3], false));
69
- } else {
70
- throw new Error(`Aztec Node URL for Tx Provider is not set.`);
71
- }
72
- }
@@ -1,2 +0,0 @@
1
- export * from './config.js';
2
- export * from './factory.js';