@aztec/prover-client 0.70.0 → 0.72.1
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.
- package/dest/bin/get-proof-inputs.d.ts +2 -0
- package/dest/bin/get-proof-inputs.d.ts.map +1 -0
- package/dest/bin/get-proof-inputs.js +50 -0
- package/dest/block_builder/light.d.ts +3 -4
- package/dest/block_builder/light.d.ts.map +1 -1
- package/dest/block_builder/light.js +8 -11
- package/dest/config.js +2 -2
- package/dest/mocks/test_context.d.ts +2 -1
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +13 -11
- package/dest/orchestrator/block-building-helpers.d.ts +8 -7
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +20 -16
- package/dest/orchestrator/block-proving-state.d.ts +9 -10
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +70 -52
- package/dest/orchestrator/epoch-proving-state.d.ts +5 -5
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +8 -29
- package/dest/orchestrator/orchestrator.d.ts +4 -3
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +24 -43
- package/dest/prover-agent/memory-proving-queue.d.ts +1 -1
- package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -1
- package/dest/prover-agent/memory-proving-queue.js +2 -2
- package/dest/prover-agent/prover-agent.d.ts +0 -2
- package/dest/prover-agent/prover-agent.d.ts.map +1 -1
- package/dest/prover-agent/prover-agent.js +4 -6
- package/dest/prover-agent/rpc.d.ts +1 -1
- package/dest/prover-agent/rpc.d.ts.map +1 -1
- package/dest/prover-agent/rpc.js +6 -6
- package/dest/prover-client/factory.d.ts.map +1 -1
- package/dest/prover-client/factory.js +3 -3
- package/dest/prover-client/prover-client.d.ts +4 -2
- package/dest/prover-client/prover-client.d.ts.map +1 -1
- package/dest/prover-client/prover-client.js +13 -15
- package/dest/prover-client/server-epoch-prover.d.ts +1 -1
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +3 -3
- package/dest/proving_broker/broker_prover_facade.d.ts +4 -3
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +25 -6
- package/dest/proving_broker/factory.d.ts.map +1 -1
- package/dest/proving_broker/factory.js +3 -3
- package/dest/proving_broker/index.d.ts +1 -1
- package/dest/proving_broker/index.d.ts.map +1 -1
- package/dest/proving_broker/index.js +2 -2
- package/dest/proving_broker/proof_store/factory.d.ts +6 -0
- package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/factory.js +39 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +13 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.js +46 -0
- package/dest/proving_broker/proof_store/index.d.ts +4 -0
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/index.js +4 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +14 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.js +37 -0
- package/dest/proving_broker/{proof_store.d.ts → proof_store/proof_store.d.ts} +1 -12
- package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/proof_store.js +2 -0
- package/dest/proving_broker/proving_agent.d.ts +4 -4
- package/dest/proving_broker/proving_agent.d.ts.map +1 -1
- package/dest/proving_broker/proving_agent.js +5 -5
- package/dest/proving_broker/proving_broker.d.ts +1 -1
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +3 -3
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +4 -4
- package/dest/proving_broker/rpc.d.ts +3 -3
- package/dest/proving_broker/rpc.d.ts.map +1 -1
- package/dest/proving_broker/rpc.js +7 -7
- package/dest/test/mock_prover.d.ts +2 -2
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +4 -5
- package/package.json +14 -12
- package/src/bin/get-proof-inputs.ts +60 -0
- package/src/block_builder/light.ts +6 -11
- package/src/config.ts +1 -1
- package/src/mocks/test_context.ts +12 -11
- package/src/orchestrator/block-building-helpers.ts +358 -326
- package/src/orchestrator/block-proving-state.ts +81 -57
- package/src/orchestrator/epoch-proving-state.ts +16 -45
- package/src/orchestrator/orchestrator.ts +49 -79
- package/src/prover-agent/memory-proving-queue.ts +1 -1
- package/src/prover-agent/prover-agent.ts +10 -4
- package/src/prover-agent/rpc.ts +5 -5
- package/src/prover-client/factory.ts +2 -3
- package/src/prover-client/prover-client.ts +14 -15
- package/src/prover-client/server-epoch-prover.ts +6 -2
- package/src/proving_broker/broker_prover_facade.ts +28 -5
- package/src/proving_broker/factory.ts +9 -5
- package/src/proving_broker/index.ts +1 -1
- package/src/proving_broker/proof_store/factory.ts +42 -0
- package/src/proving_broker/proof_store/gcs_proof_store.ts +72 -0
- package/src/proving_broker/proof_store/index.ts +3 -0
- package/src/proving_broker/{proof_store.ts → proof_store/inline_proof_store.ts} +1 -44
- package/src/proving_broker/proof_store/proof_store.ts +54 -0
- package/src/proving_broker/proving_agent.ts +11 -5
- package/src/proving_broker/proving_broker.ts +8 -2
- package/src/proving_broker/proving_broker_database/persisted.ts +3 -3
- package/src/proving_broker/rpc.ts +13 -6
- package/src/test/mock_prover.ts +3 -4
- package/dest/proving_broker/proof_store.d.ts.map +0 -1
- package/dest/proving_broker/proof_store.js +0 -37
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus, ProvingRequestType, } from '@aztec/circuit-types';
|
|
2
|
-
import { createSafeJsonRpcClient
|
|
3
|
-
import { createSafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
2
|
+
import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
|
|
4
3
|
import { optional } from '@aztec/foundation/schemas';
|
|
4
|
+
import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
const ProvingJobFilterSchema = z.object({
|
|
7
7
|
allowList: z.array(z.nativeEnum(ProvingRequestType)),
|
|
@@ -30,15 +30,15 @@ export const ProvingJobBrokerSchema = {
|
|
|
30
30
|
...ProvingJobProducerSchema,
|
|
31
31
|
};
|
|
32
32
|
export function createProvingBrokerServer(broker) {
|
|
33
|
-
return
|
|
33
|
+
return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
|
|
34
34
|
}
|
|
35
|
-
export function createProvingJobBrokerClient(url, fetch =
|
|
35
|
+
export function createProvingJobBrokerClient(url, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
36
36
|
return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, false, 'proverBroker', fetch);
|
|
37
37
|
}
|
|
38
|
-
export function createProvingJobProducerClient(url, fetch =
|
|
38
|
+
export function createProvingJobProducerClient(url, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
39
39
|
return createSafeJsonRpcClient(url, ProvingJobProducerSchema, false, 'provingJobProducer', fetch);
|
|
40
40
|
}
|
|
41
|
-
export function createProvingJobConsumerClient(url, fetch =
|
|
41
|
+
export function createProvingJobConsumerClient(url, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
42
42
|
return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, false, 'provingJobConsumer', fetch);
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFVBQVUsRUFHVixZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFLE9BQU8sRUFBcUIsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztDQUNyRCxDQUFDLENBQUM7QUFFSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsR0FBRyxFQUFFLFVBQVU7SUFDZixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNqQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBcUM7SUFDeEUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDMUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDOUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZ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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/circuit-types';
|
|
2
2
|
import { type AvmCircuitInputs, type BaseParityInputs, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, type RootParityInputs, TUBE_PROOF_LENGTH } from '@aztec/circuits.js';
|
|
3
3
|
import { type BaseOrMergeRollupPublicInputs, type BlockMergeRollupInputs, type BlockRootOrBlockMergePublicInputs, type BlockRootRollupInputs, type EmptyBlockRootRollupInputs, type MergeRollupInputs, type PrivateBaseRollupInputs, type PublicBaseRollupInputs, type RootRollupInputs, type RootRollupPublicInputs, type SingleTxBlockRootRollupInputs } from '@aztec/circuits.js/rollup';
|
|
4
|
-
import { type ProofStore } from '../proving_broker/proof_store.js';
|
|
4
|
+
import { type ProofStore } from '../proving_broker/proof_store/index.js';
|
|
5
5
|
export declare class TestBroker implements ProvingJobProducer {
|
|
6
6
|
private proofStore;
|
|
7
7
|
private broker;
|
|
@@ -23,7 +23,7 @@ export declare class MockProver implements ServerCircuitProver {
|
|
|
23
23
|
getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
24
24
|
getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
25
25
|
getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
26
|
-
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs,
|
|
26
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 538>>;
|
|
27
27
|
getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
28
28
|
getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
29
29
|
getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAErB,yCAAyC,EAEzC,KAAK,gBAAgB,EACrB,iBAAiB,EAIlB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EACnC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
|
package/dest/test/mock_prover.js
CHANGED
|
@@ -2,16 +2,15 @@ import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof, } from
|
|
|
2
2
|
import { AVM_PROOF_LENGTH_IN_FIELDS, AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VerificationKeyData, makeEmptyRecursiveProof, makeRecursiveProof, } from '@aztec/circuits.js';
|
|
3
3
|
import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeParityPublicInputs, makeRootRollupPublicInputs, } from '@aztec/circuits.js/testing';
|
|
4
4
|
import { times } from '@aztec/foundation/collection';
|
|
5
|
-
import {
|
|
6
|
-
import { InlineProofStore } from '../proving_broker/proof_store.js';
|
|
5
|
+
import { InlineProofStore } from '../proving_broker/proof_store/index.js';
|
|
7
6
|
import { ProvingAgent } from '../proving_broker/proving_agent.js';
|
|
8
7
|
import { ProvingBroker } from '../proving_broker/proving_broker.js';
|
|
9
8
|
import { InMemoryBrokerDatabase } from '../proving_broker/proving_broker_database/memory.js';
|
|
10
9
|
export class TestBroker {
|
|
11
10
|
constructor(agentCount, prover, proofStore = new InlineProofStore(), agentPollInterval = 100) {
|
|
12
11
|
this.proofStore = proofStore;
|
|
13
|
-
this.broker = new ProvingBroker(new InMemoryBrokerDatabase()
|
|
14
|
-
this.agents = times(agentCount, () => new ProvingAgent(this.broker, proofStore, prover,
|
|
12
|
+
this.broker = new ProvingBroker(new InMemoryBrokerDatabase());
|
|
13
|
+
this.agents = times(agentCount, () => new ProvingAgent(this.broker, proofStore, prover, undefined, agentPollInterval));
|
|
15
14
|
}
|
|
16
15
|
async start() {
|
|
17
16
|
await this.broker.start();
|
|
@@ -76,4 +75,4 @@ export class MockProver {
|
|
|
76
75
|
return Promise.resolve(makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBUUwsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIscUNBQXFDLEVBR3JDLDZCQUE2QixFQUM3Qix5Q0FBeUMsRUFDekMsc0JBQXNCLEVBRXRCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLG9CQUFvQixDQUFDO0FBYzVCLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsMkNBQTJDLEVBQzNDLHNCQUFzQixFQUN0QiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFtQixNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDRSxVQUFrQixFQUNsQixNQUEyQixFQUNuQixhQUF5QixJQUFJLGdCQUFnQixFQUFFLEVBQ3ZELGlCQUFpQixHQUFHLEdBQUc7UUFEZixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQU5qRCxXQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFTL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQ2pCLFVBQVUsRUFDVixHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJ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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.72.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
31
31
|
"bb": "node --no-warnings ./dest/bb/index.js",
|
|
32
32
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=3500000 --forceExit",
|
|
33
|
-
"test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --forceExit --testNamePattern prover/bb_prover/parity"
|
|
33
|
+
"test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --forceExit --testNamePattern prover/bb_prover/parity",
|
|
34
|
+
"get-proof-inputs": "node --no-warnings ./dest/bin/get-proof-inputs.js"
|
|
34
35
|
},
|
|
35
36
|
"jest": {
|
|
36
37
|
"moduleNameMapper": {
|
|
@@ -66,16 +67,17 @@
|
|
|
66
67
|
]
|
|
67
68
|
},
|
|
68
69
|
"dependencies": {
|
|
69
|
-
"@aztec/bb-prover": "0.
|
|
70
|
-
"@aztec/circuit-types": "0.
|
|
71
|
-
"@aztec/circuits.js": "0.
|
|
72
|
-
"@aztec/foundation": "0.
|
|
73
|
-
"@aztec/kv-store": "0.
|
|
74
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
75
|
-
"@aztec/protocol-contracts": "0.
|
|
76
|
-
"@aztec/simulator": "0.
|
|
77
|
-
"@aztec/telemetry-client": "0.
|
|
78
|
-
"@aztec/world-state": "0.
|
|
70
|
+
"@aztec/bb-prover": "0.72.1",
|
|
71
|
+
"@aztec/circuit-types": "0.72.1",
|
|
72
|
+
"@aztec/circuits.js": "0.72.1",
|
|
73
|
+
"@aztec/foundation": "0.72.1",
|
|
74
|
+
"@aztec/kv-store": "0.72.1",
|
|
75
|
+
"@aztec/noir-protocol-circuits-types": "0.72.1",
|
|
76
|
+
"@aztec/protocol-contracts": "0.72.1",
|
|
77
|
+
"@aztec/simulator": "0.72.1",
|
|
78
|
+
"@aztec/telemetry-client": "0.72.1",
|
|
79
|
+
"@aztec/world-state": "0.72.1",
|
|
80
|
+
"@google-cloud/storage": "^7.15.0",
|
|
79
81
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
80
82
|
"commander": "^12.1.0",
|
|
81
83
|
"lodash.chunk": "^4.2.0",
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { AVM_HINTS_FILENAME, AVM_PUBLIC_INPUTS_FILENAME } from '@aztec/bb-prover';
|
|
3
|
+
import { type ProofUri, ProvingJobInputs, ProvingRequestType } from '@aztec/circuit-types';
|
|
4
|
+
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
5
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
6
|
+
|
|
7
|
+
import { mkdirSync, writeFileSync } from 'fs';
|
|
8
|
+
|
|
9
|
+
import { createProofStoreForUri } from '../proving_broker/index.js';
|
|
10
|
+
|
|
11
|
+
const logger = createLogger('prover-client:get-proof-inputs');
|
|
12
|
+
|
|
13
|
+
function printUsage() {
|
|
14
|
+
console.error('Usage: get-proof-inputs <proof-uri> [out-dir=.]');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async function main() {
|
|
18
|
+
if (process.argv[2] === '--help') {
|
|
19
|
+
printUsage();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const uri = process.argv[2];
|
|
24
|
+
const outDir = process.argv[3] || '.';
|
|
25
|
+
if (!uri) {
|
|
26
|
+
printUsage();
|
|
27
|
+
throw new Error('Missing proof URI');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
mkdirSync(outDir, { recursive: true });
|
|
31
|
+
|
|
32
|
+
const proofStore = createProofStoreForUri(uri);
|
|
33
|
+
logger.info(`Processing uri ${uri}`);
|
|
34
|
+
const input = await proofStore.getProofInput(uri as ProofUri);
|
|
35
|
+
logger.info(`Found inputs for ${ProvingRequestType[input.type]}`);
|
|
36
|
+
writeProofInputs(input, outDir);
|
|
37
|
+
|
|
38
|
+
console.log(jsonParseWithSchema(jsonStringify(input), ProvingJobInputs).inputs);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// This mimics the behavior of bb-prover/src/bb/execute.ts
|
|
42
|
+
function writeProofInputs(input: ProvingJobInputs, outDir: string) {
|
|
43
|
+
switch (input.type) {
|
|
44
|
+
case ProvingRequestType.PUBLIC_VM: {
|
|
45
|
+
writeFileSync(`${outDir}/${AVM_PUBLIC_INPUTS_FILENAME}`, input.inputs.output.toBuffer());
|
|
46
|
+
logger.info(`Wrote AVM public inputs to ${AVM_PUBLIC_INPUTS_FILENAME}`);
|
|
47
|
+
writeFileSync(`${outDir}/${AVM_HINTS_FILENAME}`, input.inputs.avmHints.toBuffer());
|
|
48
|
+
logger.info(`Wrote AVM hints to ${AVM_HINTS_FILENAME}`);
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
default: {
|
|
52
|
+
throw new Error(`Unimplemented proving request type: ${ProvingRequestType[input.type]}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
main().catch(err => {
|
|
58
|
+
console.error(err);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
});
|
|
@@ -4,15 +4,13 @@ import {
|
|
|
4
4
|
MerkleTreeId,
|
|
5
5
|
type MerkleTreeWriteOperations,
|
|
6
6
|
type ProcessedTx,
|
|
7
|
-
TxHash,
|
|
8
7
|
toNumBlobFields,
|
|
9
8
|
} from '@aztec/circuit-types';
|
|
10
9
|
import { Fr, type GlobalVariables, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/circuits.js';
|
|
11
10
|
import { SpongeBlob } from '@aztec/circuits.js/blobs';
|
|
12
11
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
13
12
|
import { createLogger } from '@aztec/foundation/log';
|
|
14
|
-
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
15
|
-
import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
|
|
13
|
+
import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
|
|
16
14
|
|
|
17
15
|
import {
|
|
18
16
|
buildBaseRollupHints,
|
|
@@ -32,7 +30,7 @@ export class LightweightBlockBuilder implements BlockBuilder {
|
|
|
32
30
|
|
|
33
31
|
private readonly logger = createLogger('prover-client:block_builder');
|
|
34
32
|
|
|
35
|
-
constructor(private db: MerkleTreeWriteOperations, private telemetry: TelemetryClient) {}
|
|
33
|
+
constructor(private db: MerkleTreeWriteOperations, private telemetry: TelemetryClient = getTelemetryClient()) {}
|
|
36
34
|
|
|
37
35
|
async startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void> {
|
|
38
36
|
this.logger.debug('Starting new block', { globalVariables: globalVariables.toInspect(), l1ToL2Messages });
|
|
@@ -48,9 +46,7 @@ export class LightweightBlockBuilder implements BlockBuilder {
|
|
|
48
46
|
async addTxs(txs: ProcessedTx[]): Promise<void> {
|
|
49
47
|
this.spongeBlobState = SpongeBlob.init(toNumBlobFields(txs));
|
|
50
48
|
for (const tx of txs) {
|
|
51
|
-
this.logger.debug(
|
|
52
|
-
txHash: tx.hash.toString(),
|
|
53
|
-
});
|
|
49
|
+
this.logger.debug('Adding new tx to block', { txHash: tx.hash.toString() });
|
|
54
50
|
this.txs.push(tx);
|
|
55
51
|
await buildBaseRollupHints(tx, this.globalVariables!, this.db, this.spongeBlobState!);
|
|
56
52
|
}
|
|
@@ -83,16 +79,15 @@ export class LightweightBlockBuilder implements BlockBuilder {
|
|
|
83
79
|
}
|
|
84
80
|
|
|
85
81
|
export class LightweightBlockBuilderFactory {
|
|
86
|
-
constructor(private telemetry
|
|
82
|
+
constructor(private telemetry: TelemetryClient = getTelemetryClient()) {}
|
|
87
83
|
|
|
88
84
|
create(db: MerkleTreeWriteOperations): BlockBuilder {
|
|
89
|
-
return new LightweightBlockBuilder(db, this.telemetry
|
|
85
|
+
return new LightweightBlockBuilder(db, this.telemetry);
|
|
90
86
|
}
|
|
91
87
|
}
|
|
92
88
|
|
|
93
89
|
/**
|
|
94
90
|
* Creates a block builder under the hood with the given txs and messages and creates a block.
|
|
95
|
-
* Automatically adds padding txs to get to a minimum of 2 txs in the block.
|
|
96
91
|
* @param db - A db fork to use for block building.
|
|
97
92
|
*/
|
|
98
93
|
export async function buildBlock(
|
|
@@ -100,7 +95,7 @@ export async function buildBlock(
|
|
|
100
95
|
globalVariables: GlobalVariables,
|
|
101
96
|
l1ToL2Messages: Fr[],
|
|
102
97
|
db: MerkleTreeWriteOperations,
|
|
103
|
-
telemetry: TelemetryClient =
|
|
98
|
+
telemetry: TelemetryClient = getTelemetryClient(),
|
|
104
99
|
) {
|
|
105
100
|
const builder = new LightweightBlockBuilder(db, telemetry);
|
|
106
101
|
await builder.startNewBlock(globalVariables, l1ToL2Messages);
|
package/src/config.ts
CHANGED
|
@@ -25,7 +25,7 @@ export const bbConfigMappings: ConfigMappingsType<BBConfig & ACVMConfig> = {
|
|
|
25
25
|
},
|
|
26
26
|
bbWorkingDirectory: {
|
|
27
27
|
env: 'BB_WORKING_DIRECTORY',
|
|
28
|
-
description: 'The working directory to for proving',
|
|
28
|
+
description: 'The working directory to use for proving',
|
|
29
29
|
},
|
|
30
30
|
bbBinaryPath: {
|
|
31
31
|
env: 'BB_BINARY_PATH',
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import { makeBloatedProcessedTx } from '@aztec/circuit-types/test';
|
|
10
10
|
import {
|
|
11
11
|
type AppendOnlyTreeSnapshot,
|
|
12
|
-
BlockHeader,
|
|
12
|
+
type BlockHeader,
|
|
13
13
|
type Gas,
|
|
14
14
|
type GlobalVariables,
|
|
15
15
|
TreeSnapshots,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
WASMSimulatorWithBlobs,
|
|
28
28
|
type WorldStateDB,
|
|
29
29
|
} from '@aztec/simulator/server';
|
|
30
|
-
import {
|
|
30
|
+
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
31
31
|
import { type MerkleTreeAdminDatabase } from '@aztec/world-state';
|
|
32
32
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
33
33
|
|
|
@@ -69,14 +69,13 @@ export class TestContext {
|
|
|
69
69
|
logger: Logger,
|
|
70
70
|
proverCount = 4,
|
|
71
71
|
createProver: (bbConfig: BBProverConfig) => Promise<ServerCircuitProver> = _ =>
|
|
72
|
-
Promise.resolve(new TestCircuitProver(new
|
|
72
|
+
Promise.resolve(new TestCircuitProver(new WASMSimulatorWithBlobs())),
|
|
73
73
|
blockNumber = 1,
|
|
74
74
|
) {
|
|
75
75
|
const directoriesToCleanup: string[] = [];
|
|
76
76
|
const globalVariables = makeGlobals(blockNumber);
|
|
77
77
|
|
|
78
78
|
const worldStateDB = mock<WorldStateDB>();
|
|
79
|
-
const telemetry = new NoopTelemetryClient();
|
|
80
79
|
|
|
81
80
|
// Separated dbs for public processor and prover - see public_processor for context
|
|
82
81
|
const ws = await NativeWorldStateService.tmp();
|
|
@@ -84,15 +83,13 @@ export class TestContext {
|
|
|
84
83
|
|
|
85
84
|
worldStateDB.getMerkleInterface.mockReturnValue(publicDb);
|
|
86
85
|
|
|
87
|
-
const publicTxSimulator = new PublicTxSimulator(publicDb, worldStateDB,
|
|
86
|
+
const publicTxSimulator = new PublicTxSimulator(publicDb, worldStateDB, globalVariables, true);
|
|
88
87
|
const processor = new PublicProcessor(
|
|
89
88
|
publicDb,
|
|
90
89
|
globalVariables,
|
|
91
|
-
BlockHeader.empty(),
|
|
92
90
|
worldStateDB,
|
|
93
91
|
publicTxSimulator,
|
|
94
92
|
new TestDateProvider(),
|
|
95
|
-
telemetry,
|
|
96
93
|
);
|
|
97
94
|
|
|
98
95
|
let localProver: ServerCircuitProver;
|
|
@@ -102,7 +99,7 @@ export class TestContext {
|
|
|
102
99
|
acvmBinaryPath: config?.expectedAcvmPath,
|
|
103
100
|
});
|
|
104
101
|
if (!config) {
|
|
105
|
-
localProver = new TestCircuitProver(
|
|
102
|
+
localProver = new TestCircuitProver(simulationProvider);
|
|
106
103
|
} else {
|
|
107
104
|
const bbConfig: BBProverConfig = {
|
|
108
105
|
acvmBinaryPath: config.expectedAcvmPath,
|
|
@@ -118,9 +115,9 @@ export class TestContext {
|
|
|
118
115
|
directoriesToCleanup.push(config.directoryToCleanup);
|
|
119
116
|
}
|
|
120
117
|
|
|
121
|
-
const queue = new MemoryProvingQueue(
|
|
122
|
-
const orchestrator = new TestProvingOrchestrator(ws, queue,
|
|
123
|
-
const agent = new ProverAgent(localProver, proverCount, undefined
|
|
118
|
+
const queue = new MemoryProvingQueue(getTelemetryClient());
|
|
119
|
+
const orchestrator = new TestProvingOrchestrator(ws, queue, Fr.ZERO);
|
|
120
|
+
const agent = new ProverAgent(localProver, proverCount, undefined);
|
|
124
121
|
|
|
125
122
|
queue.start();
|
|
126
123
|
agent.start(queue);
|
|
@@ -150,6 +147,10 @@ export class TestContext {
|
|
|
150
147
|
return blockNumber === 0 ? this.worldState.getCommitted().getInitialHeader() : this.headers.get(blockNumber);
|
|
151
148
|
}
|
|
152
149
|
|
|
150
|
+
public getPreviousBlockHeader(currentBlockNumber = this.blockNumber): BlockHeader {
|
|
151
|
+
return this.getBlockHeader(currentBlockNumber - 1)!;
|
|
152
|
+
}
|
|
153
|
+
|
|
153
154
|
async cleanup() {
|
|
154
155
|
await this.proverAgent.stop();
|
|
155
156
|
for (const dir of this.directoriesToCleanup.filter(x => x !== '')) {
|