@aztec/prover-node 0.76.4-devnet-test-rc3 → 0.77.0-testnet-ignition.17

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 (96) hide show
  1. package/dest/config.d.ts +5 -8
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +24 -51
  4. package/dest/factory.d.ts +6 -3
  5. package/dest/factory.d.ts.map +1 -1
  6. package/dest/factory.js +23 -45
  7. package/dest/http.d.ts +1 -1
  8. package/dest/http.d.ts.map +1 -1
  9. package/dest/http.js +2 -4
  10. package/dest/index.js +0 -1
  11. package/dest/job/epoch-proving-job.d.ts +8 -4
  12. package/dest/job/epoch-proving-job.d.ts.map +1 -1
  13. package/dest/job/epoch-proving-job.js +233 -190
  14. package/dest/metrics.d.ts +5 -2
  15. package/dest/metrics.d.ts.map +1 -1
  16. package/dest/metrics.js +50 -25
  17. package/dest/monitors/epoch-monitor.d.ts +22 -4
  18. package/dest/monitors/epoch-monitor.d.ts.map +1 -1
  19. package/dest/monitors/epoch-monitor.js +102 -48
  20. package/dest/monitors/index.d.ts +0 -1
  21. package/dest/monitors/index.d.ts.map +1 -1
  22. package/dest/monitors/index.js +0 -2
  23. package/dest/prover-coordination/config.js +2 -3
  24. package/dest/prover-coordination/factory.d.ts +5 -5
  25. package/dest/prover-coordination/factory.d.ts.map +1 -1
  26. package/dest/prover-coordination/factory.js +11 -8
  27. package/dest/prover-coordination/index.js +0 -1
  28. package/dest/prover-node-publisher.d.ts +5 -11
  29. package/dest/prover-node-publisher.d.ts.map +1 -1
  30. package/dest/prover-node-publisher.js +68 -61
  31. package/dest/prover-node.d.ts +23 -32
  32. package/dest/prover-node.d.ts.map +1 -1
  33. package/dest/prover-node.js +237 -289
  34. package/dest/test/index.d.ts +2 -2
  35. package/dest/test/index.d.ts.map +1 -1
  36. package/dest/test/index.js +2 -1
  37. package/package.json +21 -22
  38. package/src/config.ts +18 -62
  39. package/src/factory.ts +18 -47
  40. package/src/http.ts +2 -2
  41. package/src/job/epoch-proving-job.ts +15 -13
  42. package/src/metrics.ts +26 -5
  43. package/src/monitors/epoch-monitor.ts +57 -13
  44. package/src/monitors/index.ts +0 -1
  45. package/src/prover-coordination/factory.ts +9 -12
  46. package/src/prover-node-publisher.ts +29 -24
  47. package/src/prover-node.ts +53 -128
  48. package/src/test/index.ts +2 -2
  49. package/dest/bond/bond-manager.d.ts +0 -22
  50. package/dest/bond/bond-manager.d.ts.map +0 -1
  51. package/dest/bond/bond-manager.js +0 -42
  52. package/dest/bond/config.d.ts +0 -8
  53. package/dest/bond/config.d.ts.map +0 -1
  54. package/dest/bond/config.js +0 -17
  55. package/dest/bond/escrow-contract.d.ts +0 -19
  56. package/dest/bond/escrow-contract.d.ts.map +0 -1
  57. package/dest/bond/escrow-contract.js +0 -32
  58. package/dest/bond/factory.d.ts +0 -6
  59. package/dest/bond/factory.d.ts.map +0 -1
  60. package/dest/bond/factory.js +0 -17
  61. package/dest/bond/index.d.ts +0 -3
  62. package/dest/bond/index.d.ts.map +0 -1
  63. package/dest/bond/index.js +0 -3
  64. package/dest/bond/token-contract.d.ts +0 -26
  65. package/dest/bond/token-contract.d.ts.map +0 -1
  66. package/dest/bond/token-contract.js +0 -58
  67. package/dest/monitors/claims-monitor.d.ts +0 -24
  68. package/dest/monitors/claims-monitor.d.ts.map +0 -1
  69. package/dest/monitors/claims-monitor.js +0 -54
  70. package/dest/quote-provider/http.d.ts +0 -15
  71. package/dest/quote-provider/http.d.ts.map +0 -1
  72. package/dest/quote-provider/http.js +0 -33
  73. package/dest/quote-provider/index.d.ts +0 -6
  74. package/dest/quote-provider/index.d.ts.map +0 -1
  75. package/dest/quote-provider/index.js +0 -2
  76. package/dest/quote-provider/simple.d.ts +0 -9
  77. package/dest/quote-provider/simple.d.ts.map +0 -1
  78. package/dest/quote-provider/simple.js +0 -11
  79. package/dest/quote-provider/utils.d.ts +0 -4
  80. package/dest/quote-provider/utils.d.ts.map +0 -1
  81. package/dest/quote-provider/utils.js +0 -8
  82. package/dest/quote-signer.d.ts +0 -13
  83. package/dest/quote-signer.d.ts.map +0 -1
  84. package/dest/quote-signer.js +0 -18
  85. package/src/bond/bond-manager.ts +0 -48
  86. package/src/bond/config.ts +0 -25
  87. package/src/bond/escrow-contract.ts +0 -50
  88. package/src/bond/factory.ts +0 -28
  89. package/src/bond/index.ts +0 -2
  90. package/src/bond/token-contract.ts +0 -72
  91. package/src/monitors/claims-monitor.ts +0 -69
  92. package/src/quote-provider/http.ts +0 -48
  93. package/src/quote-provider/index.ts +0 -8
  94. package/src/quote-provider/simple.ts +0 -15
  95. package/src/quote-provider/utils.ts +0 -10
  96. package/src/quote-signer.ts +0 -24
@@ -1,4 +1,4 @@
1
- import { AGGREGATION_OBJECT_LENGTH, AZTEC_MAX_EPOCH_DURATION } from '@aztec/circuits.js';
1
+ import { AGGREGATION_OBJECT_LENGTH, AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import { areArraysEqual, times } from '@aztec/foundation/collection';
4
4
  import { EthAddress } from '@aztec/foundation/eth-address';
@@ -12,39 +12,42 @@ import { getTelemetryClient } from '@aztec/telemetry-client';
12
12
  import { encodeFunctionData } from 'viem';
13
13
  import { ProverNodeMetrics } from './metrics.js';
14
14
  export class ProverNodePublisher {
15
- constructor(config, deps) {
16
- this.interruptibleSleep = new InterruptibleSleep();
17
- this.interrupted = false;
18
- this.log = createLogger('prover-node:l1-tx-publisher');
19
- this.sleepTimeMs = config?.l1PublishRetryIntervalMS ?? 60000;
15
+ interruptibleSleep = new InterruptibleSleep();
16
+ sleepTimeMs;
17
+ interrupted = false;
18
+ metrics;
19
+ log = createLogger('prover-node:l1-tx-publisher');
20
+ rollupContract;
21
+ l1TxUtils;
22
+ constructor(config, deps){
23
+ this.sleepTimeMs = config?.l1PublishRetryIntervalMS ?? 60_000;
20
24
  const telemetry = deps.telemetry ?? getTelemetryClient();
21
25
  this.metrics = new ProverNodeMetrics(telemetry, 'ProverNode');
22
26
  this.rollupContract = deps.rollupContract;
23
27
  this.l1TxUtils = deps.l1TxUtils;
24
28
  }
25
29
  /**
26
- * Calling `interrupt` will cause any in progress call to `publishRollup` to return `false` asap.
27
- * Be warned, the call may return false even if the tx subsequently gets successfully mined.
28
- * In practice this shouldn't matter, as we'll only ever be calling `interrupt` when we know it's going to fail.
29
- * A call to `restart` is required before you can continue publishing.
30
- */
31
- interrupt() {
30
+ * Calling `interrupt` will cause any in progress call to `publishRollup` to return `false` asap.
31
+ * Be warned, the call may return false even if the tx subsequently gets successfully mined.
32
+ * In practice this shouldn't matter, as we'll only ever be calling `interrupt` when we know it's going to fail.
33
+ * A call to `restart` is required before you can continue publishing.
34
+ */ interrupt() {
32
35
  this.interrupted = true;
33
36
  this.interruptibleSleep.interrupt();
34
37
  }
35
- /** Restarts the publisher after calling `interrupt`. */
36
- restart() {
38
+ /** Restarts the publisher after calling `interrupt`. */ restart() {
37
39
  this.interrupted = false;
38
40
  }
39
41
  getSenderAddress() {
40
42
  return EthAddress.fromString(this.l1TxUtils.getSenderAddress());
41
43
  }
42
- getProofClaim() {
43
- return this.rollupContract.getProofClaim();
44
- }
45
44
  async submitEpochProof(args) {
46
45
  const { epochNumber, fromBlock, toBlock } = args;
47
- const ctx = { epochNumber, fromBlock, toBlock };
46
+ const ctx = {
47
+ epochNumber,
48
+ fromBlock,
49
+ toBlock
50
+ };
48
51
  if (!this.interrupted) {
49
52
  const timer = new Timer();
50
53
  // Validate epoch proof range and hashes are correct before submitting
@@ -53,6 +56,11 @@ export class ProverNodePublisher {
53
56
  if (!txReceipt) {
54
57
  return false;
55
58
  }
59
+ try {
60
+ this.metrics.recordSenderBalance(await this.l1TxUtils.getSenderBalance(), this.l1TxUtils.getSenderAddress());
61
+ } catch (err) {
62
+ this.log.warn(`Failed to record the ETH balance of the prover node: ${err}`);
63
+ }
56
64
  // Tx was mined successfully
57
65
  if (txReceipt.status) {
58
66
  const tx = await this.l1TxUtils.getTransactionStats(txReceipt.transactionHash);
@@ -65,9 +73,12 @@ export class ProverNodePublisher {
65
73
  sender: tx.sender,
66
74
  blobDataGas: 0n,
67
75
  blobGasUsed: 0n,
68
- eventName: 'proof-published-to-l1',
76
+ eventName: 'proof-published-to-l1'
69
77
  };
70
- this.log.info(`Published epoch proof to L1 rollup contract`, { ...stats, ...ctx });
78
+ this.log.info(`Published epoch proof to L1 rollup contract`, {
79
+ ...stats,
80
+ ...ctx
81
+ });
71
82
  this.metrics.recordSubmitProof(timer.ms(), stats);
72
83
  return true;
73
84
  }
@@ -107,12 +118,13 @@ export class ProverNodePublisher {
107
118
  }
108
119
  // Compare the public inputs computed by the contract with the ones injected
109
120
  const rollupPublicInputs = await this.rollupContract.getEpochProofPublicInputs(this.getSubmitEpochProofArgs(args));
110
- const aggregationObject = proof.isEmpty()
111
- ? times(AGGREGATION_OBJECT_LENGTH, Fr.zero)
112
- : proof.extractAggregationObject();
113
- const argsPublicInputs = [...publicInputs.toFields(), ...aggregationObject];
114
- if (!areArraysEqual(rollupPublicInputs.map(Fr.fromHexString), argsPublicInputs, (a, b) => a.equals(b))) {
115
- const fmt = (inputs) => inputs.map(x => x.toString()).join(', ');
121
+ const aggregationObject = proof.isEmpty() ? times(AGGREGATION_OBJECT_LENGTH, Fr.zero) : proof.extractAggregationObject();
122
+ const argsPublicInputs = [
123
+ ...publicInputs.toFields(),
124
+ ...aggregationObject
125
+ ];
126
+ if (!areArraysEqual(rollupPublicInputs.map(Fr.fromHexString), argsPublicInputs, (a, b)=>a.equals(b))) {
127
+ const fmt = (inputs)=>inputs.map((x)=>x.toString()).join(', ');
116
128
  throw new Error(`Root rollup public inputs mismatch:\nRollup: ${fmt(rollupPublicInputs)}\nComputed:${fmt(argsPublicInputs)}`);
117
129
  }
118
130
  }
@@ -121,65 +133,60 @@ export class ProverNodePublisher {
121
133
  const argsArray = this.getSubmitEpochProofArgs(args);
122
134
  const txArgs = [
123
135
  {
124
- epochSize: argsArray[0],
125
- args: argsArray[1],
126
- fees: argsArray[2],
127
- blobPublicInputs: argsArray[3],
128
- aggregationObject: argsArray[4],
129
- proof: proofHex,
130
- },
136
+ start: argsArray[0],
137
+ end: argsArray[1],
138
+ args: argsArray[2],
139
+ fees: argsArray[3],
140
+ blobPublicInputs: argsArray[4],
141
+ aggregationObject: argsArray[5],
142
+ proof: proofHex
143
+ }
131
144
  ];
132
145
  this.log.info(`SubmitEpochProof proofSize=${args.proof.withoutPublicInputs().length} bytes`);
133
146
  const data = encodeFunctionData({
134
147
  abi: RollupAbi,
135
148
  functionName: 'submitEpochRootProof',
136
- args: txArgs,
149
+ args: txArgs
137
150
  });
138
151
  try {
139
152
  const { receipt } = await this.l1TxUtils.sendAndMonitorTransaction({
140
153
  to: this.rollupContract.address,
141
- data,
154
+ data
142
155
  });
143
156
  return receipt;
144
- }
145
- catch (err) {
157
+ } catch (err) {
146
158
  this.log.error(`Rollup submit epoch proof failed`, err);
147
159
  const errorMsg = await this.l1TxUtils.tryGetErrorFromRevertedTx(data, {
148
- args: [...txArgs],
160
+ args: [
161
+ ...txArgs
162
+ ],
149
163
  functionName: 'submitEpochRootProof',
150
164
  abi: RollupAbi,
151
- address: this.rollupContract.address,
152
- },
153
- /*blobInputs*/ undefined,
154
- /*stateOverride*/ []);
165
+ address: this.rollupContract.address
166
+ }, /*blobInputs*/ undefined, /*stateOverride*/ []);
155
167
  this.log.error(`Rollup submit epoch proof tx reverted. ${errorMsg}`);
156
168
  return undefined;
157
169
  }
158
170
  }
159
171
  getSubmitEpochProofArgs(args) {
160
172
  return [
161
- BigInt(args.toBlock - args.fromBlock + 1),
162
- [
163
- args.publicInputs.previousArchive.root.toString(),
164
- args.publicInputs.endArchive.root.toString(),
165
- args.publicInputs.previousBlockHash.toString(),
166
- args.publicInputs.endBlockHash.toString(),
167
- args.publicInputs.endTimestamp.toString(),
168
- args.publicInputs.outHash.toString(),
169
- args.publicInputs.proverId.toString(),
170
- ],
171
- makeTuple(AZTEC_MAX_EPOCH_DURATION * 2, i => i % 2 === 0
172
- ? args.publicInputs.fees[i / 2].recipient.toField().toString()
173
- : args.publicInputs.fees[(i - 1) / 2].value.toString()),
174
- `0x${args.publicInputs.blobPublicInputs
175
- .filter((_, i) => i < args.toBlock - args.fromBlock + 1)
176
- .map(b => b.toString())
177
- .join(``)}`,
178
- `0x${serializeToBuffer(args.proof.extractAggregationObject()).toString('hex')}`,
173
+ BigInt(args.fromBlock),
174
+ BigInt(args.toBlock),
175
+ {
176
+ previousArchive: args.publicInputs.previousArchive.root.toString(),
177
+ endArchive: args.publicInputs.endArchive.root.toString(),
178
+ previousBlockHash: args.publicInputs.previousBlockHash.toString(),
179
+ endBlockHash: args.publicInputs.endBlockHash.toString(),
180
+ endTimestamp: args.publicInputs.endTimestamp.toBigInt(),
181
+ outHash: args.publicInputs.outHash.toString(),
182
+ proverId: EthAddress.fromField(args.publicInputs.proverId).toString()
183
+ },
184
+ makeTuple(AZTEC_MAX_EPOCH_DURATION * 2, (i)=>i % 2 === 0 ? args.publicInputs.fees[i / 2].recipient.toField().toString() : args.publicInputs.fees[(i - 1) / 2].value.toString()),
185
+ `0x${args.publicInputs.blobPublicInputs.filter((_, i)=>i < args.toBlock - args.fromBlock + 1).map((b)=>b.toString()).join(``)}`,
186
+ `0x${serializeToBuffer(args.proof.extractAggregationObject()).toString('hex')}`
179
187
  ];
180
188
  }
181
189
  async sleepOrInterrupted() {
182
190
  await this.interruptibleSleep.sleep(this.sleepTimeMs);
183
191
  }
184
192
  }
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUtcHVibGlzaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb3Zlci1ub2RlLXB1Ymxpc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLEVBQWMsTUFBTSxvQkFBb0IsQ0FBQztBQUdyRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQWMsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBd0Isa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRixPQUFPLEVBQXFDLGtCQUFrQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQW1CakQsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUNFLE1BQXdDLEVBQ3hDLElBSUM7UUFqQkssdUJBQWtCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRTlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR2xCLFFBQUcsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQWMxRCxJQUFJLENBQUMs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
@@ -1,16 +1,16 @@
1
- import { type EpochProofClaim, type EpochProofQuote, type EpochProverManager, type L1ToL2MessageSource, type L2Block, type L2BlockSource, type P2PClientType, type ProverCoordination, type ProverNodeApi, type Service, type Tx, type WorldStateSynchronizer } from '@aztec/circuit-types';
2
- import { type ContractDataSource } from '@aztec/circuits.js';
3
- import { type Maybe } from '@aztec/foundation/types';
4
- import { type P2P } from '@aztec/p2p';
1
+ import type { Maybe } from '@aztec/foundation/types';
2
+ import type { P2P } from '@aztec/p2p';
5
3
  import { PublicProcessorFactory } from '@aztec/simulator/server';
4
+ import type { L2Block, L2BlockSource } from '@aztec/stdlib/block';
5
+ import type { ContractDataSource } from '@aztec/stdlib/contract';
6
+ import { type EpochProverManager, type ProverCoordination, type ProverNodeApi, type Service, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
7
+ import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
8
+ import type { P2PClientType } from '@aztec/stdlib/p2p';
9
+ import type { Tx } from '@aztec/stdlib/tx';
6
10
  import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
7
- import { type BondManager } from './bond/bond-manager.js';
8
11
  import { EpochProvingJob, type EpochProvingJobState } from './job/epoch-proving-job.js';
9
- import { type ClaimsMonitor, type ClaimsMonitorHandler } from './monitors/claims-monitor.js';
10
- import { type EpochMonitor, type EpochMonitorHandler } from './monitors/epoch-monitor.js';
11
- import { type ProverNodePublisher } from './prover-node-publisher.js';
12
- import { type QuoteProvider } from './quote-provider/index.js';
13
- import { type QuoteSigner } from './quote-signer.js';
12
+ import type { EpochMonitor, EpochMonitorHandler } from './monitors/epoch-monitor.js';
13
+ import type { ProverNodePublisher } from './prover-node-publisher.js';
14
14
  export type ProverNodeOptions = {
15
15
  pollingIntervalMs: number;
16
16
  maxPendingJobs: number;
@@ -25,7 +25,7 @@ export type ProverNodeOptions = {
25
25
  * from a tx source in the p2p network or an external node, re-executes their public functions, creates a rollup
26
26
  * proof for the epoch, and submits it to L1.
27
27
  */
28
- export declare class ProverNode implements ClaimsMonitorHandler, EpochMonitorHandler, ProverNodeApi, Traceable {
28
+ export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable {
29
29
  protected readonly prover: EpochProverManager;
30
30
  protected readonly publisher: ProverNodePublisher;
31
31
  protected readonly l2BlockSource: L2BlockSource & Maybe<Service>;
@@ -33,11 +33,7 @@ export declare class ProverNode implements ClaimsMonitorHandler, EpochMonitorHan
33
33
  protected readonly contractDataSource: ContractDataSource;
34
34
  protected readonly worldState: WorldStateSynchronizer;
35
35
  protected readonly coordination: ProverCoordination & Maybe<Service>;
36
- protected readonly quoteProvider: QuoteProvider;
37
- protected readonly quoteSigner: QuoteSigner;
38
- protected readonly claimsMonitor: ClaimsMonitor;
39
36
  protected readonly epochsMonitor: EpochMonitor;
40
- protected readonly bondManager: BondManager;
41
37
  protected readonly telemetryClient: TelemetryClient;
42
38
  private log;
43
39
  private dateProvider;
@@ -49,33 +45,23 @@ export declare class ProverNode implements ClaimsMonitorHandler, EpochMonitorHan
49
45
  private txFetcher;
50
46
  private lastBlockNumber;
51
47
  readonly tracer: Tracer;
52
- constructor(prover: EpochProverManager, publisher: ProverNodePublisher, l2BlockSource: L2BlockSource & Maybe<Service>, l1ToL2MessageSource: L1ToL2MessageSource, contractDataSource: ContractDataSource, worldState: WorldStateSynchronizer, coordination: ProverCoordination & Maybe<Service>, quoteProvider: QuoteProvider, quoteSigner: QuoteSigner, claimsMonitor: ClaimsMonitor, epochsMonitor: EpochMonitor, bondManager: BondManager, options?: Partial<ProverNodeOptions>, telemetryClient?: TelemetryClient);
48
+ constructor(prover: EpochProverManager, publisher: ProverNodePublisher, l2BlockSource: L2BlockSource & Maybe<Service>, l1ToL2MessageSource: L1ToL2MessageSource, contractDataSource: ContractDataSource, worldState: WorldStateSynchronizer, coordination: ProverCoordination & Maybe<Service>, epochsMonitor: EpochMonitor, options?: Partial<ProverNodeOptions>, telemetryClient?: TelemetryClient);
49
+ getProverId(): import("@aztec/aztec.js").Fr;
53
50
  getP2P(): P2P<P2PClientType.Prover> | undefined;
54
- handleClaim(proofClaim: EpochProofClaim): Promise<void>;
55
51
  /**
56
- * Handles the epoch number to prove when the prover node starts by checking if there
57
- * is an existing claim for it. If not, it creates and sends a quote for it.
58
- * @param epochNumber - The epoch immediately before the current one when the prover node starts.
59
- */
60
- handleInitialEpochSync(epochNumber: bigint): Promise<void>;
61
- /**
62
- * Handles an epoch being completed by sending a quote for proving it.
52
+ * Handles an epoch being completed by starting a proof for it if there are no active jobs for it.
63
53
  * @param epochNumber - The epoch number that was just completed.
64
54
  */
65
- handleEpochCompleted(epochNumber: bigint): Promise<void>;
55
+ handleEpochReadyToProve(epochNumber: bigint): Promise<void>;
66
56
  /**
67
- * Starts the prover node so it periodically checks for unproven epochs in the unfinalised chain from L1 and sends
68
- * quotes for them, as well as monitors the claims for the epochs it has sent quotes for and starts proving jobs.
69
- * This method returns once the prover node has deposited an initial bond into the escrow contract.
57
+ * Starts the prover node so it periodically checks for unproven epochs in the unfinalised chain from L1 and
58
+ * starts proving jobs for them.
70
59
  */
71
- start(): Promise<void>;
60
+ start(): void;
72
61
  /**
73
62
  * Stops the prover node and all its dependencies.
74
63
  */
75
64
  stop(): Promise<void>;
76
- /** Sends an epoch proof quote to the coordinator. */
77
- sendEpochProofQuote(quote: EpochProofQuote): Promise<void>;
78
- private doSendEpochProofQuote;
79
65
  /**
80
66
  * Creates a proof for a block range. Returns once the proof has been submitted to L1.
81
67
  */
@@ -94,6 +80,11 @@ export declare class ProverNode implements ClaimsMonitorHandler, EpochMonitorHan
94
80
  getJobs(): Promise<{
95
81
  uuid: string;
96
82
  status: EpochProvingJobState;
83
+ epochNumber: number;
84
+ }[]>;
85
+ protected getActiveJobsForEpoch(epochBigInt: bigint): Promise<{
86
+ uuid: string;
87
+ status: EpochProvingJobState;
97
88
  }[]>;
98
89
  private checkMaximumPendingJobs;
99
90
  private createProvingJob;
@@ -1 +1 @@
1
- {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,EAAE,EAEP,KAAK,sBAAsB,EAG5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAM7D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAExF,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,MAAM,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8BAA8B,EAAE,MAAM,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,SAAS;IAgBlG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB;IAC7C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,mBAAmB;IACjD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB;IAC3D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,sBAAsB;IACrD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAC3C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY;IAC9C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAE3C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IA5BrD,OAAO,CAAC,GAAG,CAA+B;IAC1C,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,eAAe,CAAgF;IACvG,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAoB;IAEnC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,eAAe,CAAqB;IAE5C,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAGV,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,EAC7C,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,EACjD,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,YAAY,EAC3B,WAAW,EAAE,WAAW,EAC3C,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,EACrB,eAAe,GAAE,eAAsC;IAiBrE,MAAM;IAQP,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7D;;;;OAIG;IACG,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhE;;;OAGG;IACG,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC9D;;;;OAIG;IACG,KAAK;IAQX;;OAEG;IACG,IAAI;IAeV,qDAAqD;IAC9C,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACU,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAK/C;;OAEG;IACU,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAKpD;;OAEG;IACI,SAAS;IAIhB;;OAEG;IACI,OAAO,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,oBAAoB,CAAA;KAAE,EAAE,CAAC;IAI3E,OAAO,CAAC,uBAAuB;YAMjB,gBAAgB;IAqC9B,OAAO,CAAC,cAAc;IAItB,kHAAkH;YAEpG,WAAW;YAeX,eAAe;YAQf,YAAY;YAQZ,SAAS;IAiBvB,sCAAsC;IACtC,SAAS,CAAC,uBAAuB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,SAAS,EAC1B,MAAM,EAAE,OAAO,EAAE,EACjB,GAAG,EAAE,EAAE,EAAE,EACT,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAmB9B,sCAAsC;cACtB,eAAe;CAIhC"}
1
+ {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}