@aztec/prover-node 5.1.0-nightly.20260721 → 5.1.0
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/config.d.ts +3 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +7 -0
- package/dest/factory.d.ts +1 -1
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +1 -0
- package/dest/prover-node-publisher.d.ts +4 -1
- package/dest/prover-node-publisher.d.ts.map +1 -1
- package/dest/prover-node-publisher.js +5 -3
- package/dest/prover-publisher-factory.d.ts +3 -1
- package/dest/prover-publisher-factory.d.ts.map +1 -1
- package/dest/prover-publisher-factory.js +1 -0
- package/package.json +23 -23
- package/src/config.ts +10 -0
- package/src/factory.ts +1 -0
- package/src/prover-node-publisher.ts +7 -3
- package/src/prover-publisher-factory.ts +3 -0
package/dest/config.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ACVMConfig, BBConfig } from '@aztec/bb-prover/config';
|
|
2
2
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
3
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
4
|
import { type KeyStoreConfig } from '@aztec/node-keystore/config';
|
|
4
5
|
import type { KeyStore } from '@aztec/node-keystore/types';
|
|
5
6
|
import { type SharedNodeConfig } from '@aztec/node-lib/config';
|
|
@@ -19,6 +20,7 @@ export type SpecificProverNodeConfig = {
|
|
|
19
20
|
txGatheringIntervalMs: number;
|
|
20
21
|
txGatheringBatchSize: number;
|
|
21
22
|
txGatheringMaxParallelRequestsPerNode: number;
|
|
23
|
+
proofSubmissionTargetAddress?: EthAddress;
|
|
22
24
|
};
|
|
23
25
|
export declare const specificProverNodeConfigMappings: ConfigMappingsType<SpecificProverNodeConfig>;
|
|
24
26
|
export declare const proverNodeConfigMappings: ConfigMappingsType<ProverNodeConfig>;
|
|
@@ -26,4 +28,4 @@ export declare function getProverNodeConfigFromEnv(): ProverNodeConfig;
|
|
|
26
28
|
export declare function getProverNodeBrokerConfigFromEnv(): ProverBrokerConfig;
|
|
27
29
|
export declare function getProverNodeAgentConfigFromEnv(): ProverAgentConfig & BBConfig & ACVMConfig;
|
|
28
30
|
export declare function createKeyStoreForProver(config: ProverNodeConfig): KeyStore | undefined;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFLeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUEwQixNQUFNLDZCQUE2QixDQUFDO0FBRTFGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE0QixNQUFNLHdCQUF3QixDQUFDO0FBQ3pGLE9BQU8sRUFDTCxLQUFLLGlCQUFpQixFQUN0QixLQUFLLGtCQUFrQixFQUd4QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLHNCQUFzQixFQUFnRCxNQUFNLDZCQUE2QixDQUFDO0FBQ3hILE9BQU8sRUFDTCxLQUFLLHFCQUFxQixFQUMxQixLQUFLLG9CQUFvQixFQUcxQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRixNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsc0JBQXNCLEdBQ25ELHFCQUFxQixHQUNyQixvQkFBb0IsR0FDcEIsZUFBZSxHQUNmLGNBQWMsR0FDZCx3QkFBd0IsR0FDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBRTFDLE1BQU0sTUFBTSx3QkFBd0IsR0FBRztJQUNyQyx3QkFBd0IsRUFBRSxNQUFNLENBQUM7SUFDakMsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLG1DQUFtQyxFQUFFLE1BQU0sQ0FBQztJQUM1QywwQkFBMEIsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQy9DLDZCQUE2QixFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbEQsNkJBQTZCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDeEMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQzdCLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUM5QixvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IscUNBQXFDLEVBQUUsTUFBTSxDQUFDO0lBQzlDLDRCQUE0QixDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQzNDLENBQUM7QUFFRixlQUFPLE1BQU0sZ0NBQWdDLEVBQUUsa0JBQWtCLENBQUMsd0JBQXdCLENBMkR6RixDQUFDO0FBRUYsZUFBTyxNQUFNLHdCQUF3QixFQUFFLGtCQUFrQixDQUFDLGdCQUFnQixDQVF6RSxDQUFDO0FBRUYsd0JBQWdCLDBCQUEwQixJQUFJLGdCQUFnQixDQUU3RDtBQUVELHdCQUFnQixnQ0FBZ0MsSUFBSSxrQkFBa0IsQ0FJckU7QUFFRCx3QkFBZ0IsK0JBQStCLElBQUksaUJBQWlCLEdBQUcsUUFBUSxHQUFHLFVBQVUsQ0FLM0Y7QUEwREQsd0JBQWdCLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsR0FBRyxRQUFRLEdBQUcsU0FBUyxDQVN0RiJ9
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,6BAA6B,CAAC;AAE1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,sBAAsB,EAAgD,MAAM,6BAA6B,CAAC;AACxH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAG1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GACnD,qBAAqB,GACrB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,wBAAwB,GACxB,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAE1C,MAAM,MAAM,wBAAwB,GAAG;IACrC,wBAAwB,EAAE,MAAM,CAAC;IACjC,2BAA2B,EAAE,MAAM,CAAC;IACpC,mCAAmC,EAAE,MAAM,CAAC;IAC5C,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qCAAqC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,6BAA6B,CAAC;AAE1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,sBAAsB,EAAgD,MAAM,6BAA6B,CAAC;AACxH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAG1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GACnD,qBAAqB,GACrB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,wBAAwB,GACxB,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAE1C,MAAM,MAAM,wBAAwB,GAAG;IACrC,wBAAwB,EAAE,MAAM,CAAC;IACjC,2BAA2B,EAAE,MAAM,CAAC;IACpC,mCAAmC,EAAE,MAAM,CAAC;IAC5C,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qCAAqC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,CAAC,EAAE,UAAU,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,kBAAkB,CAAC,wBAAwB,CA2DzF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAQzE,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAE7D;AAED,wBAAgB,gCAAgC,IAAI,kBAAkB,CAIrE;AAED,wBAAgB,+BAA+B,IAAI,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAK3F;AA0DD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAStF"}
|
package/dest/config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, pickConfigMappings } from '@aztec/foundation/config';
|
|
2
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import { keyStoreConfigMappings } from '@aztec/node-keystore/config';
|
|
3
4
|
import { ethPrivateKeySchema } from '@aztec/node-keystore/schemas';
|
|
4
5
|
import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
|
|
@@ -55,6 +56,12 @@ export const specificProverNodeConfigMappings = {
|
|
|
55
56
|
env: 'PROVER_NODE_DISABLE_PROOF_PUBLISH',
|
|
56
57
|
description: 'Whether the prover node skips publishing proofs to L1',
|
|
57
58
|
...booleanConfigHelper(false)
|
|
59
|
+
},
|
|
60
|
+
proofSubmissionTargetAddress: {
|
|
61
|
+
env: 'PROVER_NODE_PROOF_SUBMISSION_TARGET_ADDRESS',
|
|
62
|
+
description: 'Optional L1 address the submitEpochRootProof tx is sent to. Must expose the identical submitEpochRootProof ABI ' + 'and forward to the rollup. Defaults to the rollup address.',
|
|
63
|
+
parseEnv: (val)=>EthAddress.fromString(val),
|
|
64
|
+
defaultValue: undefined
|
|
58
65
|
}
|
|
59
66
|
};
|
|
60
67
|
export const proverNodeConfigMappings = {
|
package/dest/factory.d.ts
CHANGED
|
@@ -30,4 +30,4 @@ export type ProverNodeDeps = {
|
|
|
30
30
|
};
|
|
31
31
|
/** Creates a new prover node subsystem given a config and dependencies */
|
|
32
32
|
export declare function createProverNode(userConfig: SpecificProverNodeConfig & ProverConfig & ProverClientUserConfig & ProverPublisherConfig & ProverTxSenderConfig, deps: ProverNodeDeps): Promise<ProverNode>;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQTJCLEtBQUssc0JBQXNCLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFFaEgsT0FBTyxFQUNMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssb0JBQW9CLEVBRTFCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLHNCQUFzQixFQUN2QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RixPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdkUsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixTQUFTLENBQUMsRUFBRSxlQUFlLENBQUM7SUFDNUIsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2IsUUFBUSxFQUFFLFFBQVEsQ0FBQztJQUNuQixnQkFBZ0IsQ0FBQyxFQUFFLHNCQUFzQixDQUFDO0lBQzFDLE1BQU0sQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0lBQzFCLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztJQUN0QixZQUFZLENBQUMsRUFBRSxZQUFZLENBQUM7SUFDNUIsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7SUFDL0MsU0FBUyxFQUFFO1FBQUUsYUFBYSxJQUFJLFdBQVcsQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztJQUNoQyxVQUFVLEVBQUUsbUJBQW1CLENBQUM7SUFDaEMsZUFBZSxDQUFDLEVBQUUsZUFBZSxDQUFDO0NBQ25DLENBQUM7QUFFRiwwRUFBMEU7QUFDMUUsd0JBQXNCLGdCQUFnQixDQUNwQyxVQUFVLEVBQUUsd0JBQXdCLEdBQ2xDLFlBQVksR0FDWixzQkFBc0IsR0FDdEIscUJBQXFCLEdBQ3JCLG9CQUFvQixFQUN0QixJQUFJLEVBQUUsY0FBYyx1QkFpSXJCIn0=
|
package/dest/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAA2B,KAAK,sBAAsB,EAAsB,MAAM,sBAAsB,CAAC;AAEhH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAa,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAI9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,SAAS,EAAE;QAAE,aAAa,IAAI,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,0EAA0E;AAC1E,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,wBAAwB,GAClC,YAAY,GACZ,sBAAsB,GACtB,qBAAqB,GACrB,oBAAoB,EACtB,IAAI,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAA2B,KAAK,sBAAsB,EAAsB,MAAM,sBAAsB,CAAC;AAEhH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAa,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAI9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,SAAS,EAAE;QAAE,aAAa,IAAI,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,0EAA0E;AAC1E,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,wBAAwB,GAClC,YAAY,GACZ,sBAAsB,GACtB,qBAAqB,GACrB,oBAAoB,EACtB,IAAI,EAAE,cAAc,uBAiIrB"}
|
package/dest/factory.js
CHANGED
|
@@ -88,6 +88,7 @@ import { ProverPublisherFactory } from './prover-publisher-factory.js';
|
|
|
88
88
|
}
|
|
89
89
|
const publisherFactory = deps.publisherFactory ?? new ProverPublisherFactory(config, {
|
|
90
90
|
rollupContract,
|
|
91
|
+
proofSubmissionTarget: config.proofSubmissionTargetAddress,
|
|
91
92
|
publisherManager: new PublisherManager(l1TxUtils, getPublisherConfigFromProverConfig(config), {
|
|
92
93
|
bindings: log.getBindings(),
|
|
93
94
|
funder: funderL1TxUtils
|
|
@@ -9,6 +9,7 @@ import type { PublisherConfig, TxSenderConfig } from '@aztec/sequencer-client';
|
|
|
9
9
|
import type { Proof } from '@aztec/stdlib/proofs';
|
|
10
10
|
import type { CheckpointHeader, RootRollupPublicInputs } from '@aztec/stdlib/rollup';
|
|
11
11
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
12
|
+
import { type Hex } from 'viem';
|
|
12
13
|
/** Arguments to the submitEpochProof method of the rollup contract */
|
|
13
14
|
export type L1SubmitEpochProofArgs = {
|
|
14
15
|
epochSize: number;
|
|
@@ -24,10 +25,12 @@ export declare class ProverNodePublisher {
|
|
|
24
25
|
private metrics;
|
|
25
26
|
protected log: Logger;
|
|
26
27
|
protected rollupContract: RollupContract;
|
|
28
|
+
protected proofSubmissionTarget: Hex;
|
|
27
29
|
readonly l1TxUtils: L1TxUtils;
|
|
28
30
|
constructor(config: TxSenderConfig & PublisherConfig, deps: {
|
|
29
31
|
rollupContract: RollupContract;
|
|
30
32
|
l1TxUtils: L1TxUtils;
|
|
33
|
+
proofSubmissionTarget?: EthAddress;
|
|
31
34
|
telemetry?: TelemetryClient;
|
|
32
35
|
}, bindings?: LoggerBindings);
|
|
33
36
|
getRollupContract(): RollupContract;
|
|
@@ -65,4 +68,4 @@ export declare class ProverNodePublisher {
|
|
|
65
68
|
private getEpochProofPublicInputsArgs;
|
|
66
69
|
private getSubmitEpochProofArgs;
|
|
67
70
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUtcHVibGlzaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLW5vZGUtcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0saUJBQWlCLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR3ZGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUduRixPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQXdFLE1BQU0sTUFBTSxDQUFDO0FBSXRHLHNFQUFzRTtBQUN0RSxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDZixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ2IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsS0FBSyxFQUFFLEtBQUssQ0FBQztDQUNkLENBQUM7QUFFRixxQkFBYSxtQkFBbUI7SUFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBNkI7SUFFNUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFFdEIsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7SUFFekMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQztJQUVyQyxTQUFnQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBRXJDLFlBQ0UsTUFBTSxFQUFFLGNBQWMsR0FBRyxlQUFlLEVBQ3hDLElBQUksRUFBRTtRQUNKLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVMsQ0FBQztRQUNyQixxQkFBcUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztRQUNuQyxTQUFTLENBQUMsRUFBRSxlQUFlLENBQUM7S0FDN0IsRUFDRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBVTFCO0lBRU0saUJBQWlCLG1CQUV2QjtJQUVNLGdCQUFnQixlQUV0QjtJQUVZLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUNsQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQ3pCLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNqQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7UUFDL0IsWUFBWSxFQUFFLHNCQUFzQixDQUFDO1FBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDYixpQkFBaUIsRUFBRSxXQUFXLENBQUM7UUFDL0IsWUFBWSxFQUFFLHdCQUF3QixFQUFFLENBQUM7UUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsbUdBQW1HO1FBQ25HLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQztLQUNqQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0E2Q25CO1lBRWEsNEJBQTRCO0lBb0UxQzs7OztPQUlHO0lBQ1UsMkJBQTJCLENBQUMsSUFBSSxFQUFFO1FBQzdDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDekIsY0FBYyxFQUFFLGdCQUFnQixDQUFDO1FBQ2pDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztRQUMvQixZQUFZLEVBQUUsc0JBQXNCLENBQUM7UUFDckMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQztRQUMvQixZQUFZLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztLQUM3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FzQ2hCO0lBRUQsT0FBTyxDQUFDLDhCQUE4QjtZQWdCeEIsc0JBQXNCO0lBaURwQyxPQUFPLENBQUMsNkJBQTZCO0lBdUJyQyxPQUFPLENBQUMsdUJBQXVCO0NBd0JoQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8B,MAAM,iBAAiB,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAGvF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,14 @@ export class ProverNodePublisher {
|
|
|
16
16
|
metrics;
|
|
17
17
|
log;
|
|
18
18
|
rollupContract;
|
|
19
|
+
proofSubmissionTarget;
|
|
19
20
|
l1TxUtils;
|
|
20
21
|
constructor(config, deps, bindings){
|
|
21
22
|
const telemetry = deps.telemetry ?? getTelemetryClient();
|
|
22
23
|
this.metrics = new ProverNodePublisherMetrics(telemetry, 'ProverNode');
|
|
23
24
|
this.log = createLogger('prover-node:l1-tx-publisher', bindings);
|
|
24
25
|
this.rollupContract = deps.rollupContract;
|
|
26
|
+
this.proofSubmissionTarget = deps.proofSubmissionTarget?.toString() ?? deps.rollupContract.address;
|
|
25
27
|
this.l1TxUtils = deps.l1TxUtils;
|
|
26
28
|
}
|
|
27
29
|
getRollupContract() {
|
|
@@ -129,7 +131,7 @@ export class ProverNodePublisher {
|
|
|
129
131
|
const senderAddress = this.l1TxUtils.getSenderAddress();
|
|
130
132
|
const [gasLimit, gasPrice, latestBlock] = await Promise.all([
|
|
131
133
|
this.l1TxUtils.estimateGas(senderAddress.toString(), {
|
|
132
|
-
to: this.
|
|
134
|
+
to: this.proofSubmissionTarget,
|
|
133
135
|
data
|
|
134
136
|
}),
|
|
135
137
|
this.l1TxUtils.getGasPrice(),
|
|
@@ -183,7 +185,7 @@ export class ProverNodePublisher {
|
|
|
183
185
|
});
|
|
184
186
|
try {
|
|
185
187
|
const { receipt } = await this.l1TxUtils.sendAndMonitorTransaction({
|
|
186
|
-
to: this.
|
|
188
|
+
to: this.proofSubmissionTarget,
|
|
187
189
|
data
|
|
188
190
|
}, {
|
|
189
191
|
txTimeoutAt: args.deadline
|
|
@@ -195,7 +197,7 @@ export class ProverNodePublisher {
|
|
|
195
197
|
],
|
|
196
198
|
functionName: 'submitEpochRootProof',
|
|
197
199
|
abi: RollupAbi,
|
|
198
|
-
address: this.
|
|
200
|
+
address: this.proofSubmissionTarget
|
|
199
201
|
}, /*blobInputs*/ undefined, /*stateOverride*/ []);
|
|
200
202
|
this.log.error(`Rollup submit epoch proof tx reverted with ${errorMsg ?? 'unknown error'}`);
|
|
201
203
|
return undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RollupContract } from '@aztec/ethereum/contracts';
|
|
2
2
|
import type { L1TxUtils } from '@aztec/ethereum/l1-tx-utils';
|
|
3
3
|
import type { PublisherManager } from '@aztec/ethereum/publisher-manager';
|
|
4
|
+
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
5
|
import type { LoggerBindings } from '@aztec/foundation/log';
|
|
5
6
|
import type { ProverPublisherConfig, ProverTxSenderConfig } from '@aztec/sequencer-client';
|
|
6
7
|
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
@@ -12,6 +13,7 @@ export declare class ProverPublisherFactory {
|
|
|
12
13
|
constructor(config: ProverTxSenderConfig & ProverPublisherConfig, deps: {
|
|
13
14
|
rollupContract: RollupContract;
|
|
14
15
|
publisherManager: PublisherManager<L1TxUtils>;
|
|
16
|
+
proofSubmissionTarget?: EthAddress;
|
|
15
17
|
telemetry?: TelemetryClient;
|
|
16
18
|
}, bindings?: LoggerBindings | undefined);
|
|
17
19
|
start(): Promise<void>;
|
|
@@ -22,4 +24,4 @@ export declare class ProverPublisherFactory {
|
|
|
22
24
|
*/
|
|
23
25
|
create(): Promise<ProverNodePublisher>;
|
|
24
26
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxxQkFBYSxzQkFBc0I7SUFFL0IsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsSUFBSTtJQU1aLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFSbkIsWUFDVSxNQUFNLEVBQUUsb0JBQW9CLEdBQUcscUJBQXFCLEVBQ3BELElBQUksRUFBRTtRQUNaLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDL0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMscUJBQXFCLENBQUMsRUFBRSxVQUFVLENBQUM7UUFDbkMsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDO0tBQzdCLEVBQ08sUUFBUSxDQUFDLDRCQUFnQixFQUMvQjtJQUVTLEtBQUssa0JBRWpCO0lBRVksSUFBSSxrQkFFaEI7SUFFRDs7O09BR0c7SUFDVSxNQUFNLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBWWxEO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-publisher-factory.d.ts","sourceRoot":"","sources":["../src/prover-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"prover-publisher-factory.d.ts","sourceRoot":"","sources":["../src/prover-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,QAAQ,CAAC;IARnB,YACU,MAAM,EAAE,oBAAoB,GAAG,qBAAqB,EACpD,IAAI,EAAE;QACZ,cAAc,EAAE,cAAc,CAAC;QAC/B,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,qBAAqB,CAAC,EAAE,UAAU,CAAC;QACnC,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,EACO,QAAQ,CAAC,4BAAgB,EAC/B;IAES,KAAK,kBAEjB;IAEY,IAAI,kBAEhB;IAED;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAYlD;CACF"}
|
|
@@ -22,6 +22,7 @@ export class ProverPublisherFactory {
|
|
|
22
22
|
return new ProverNodePublisher(this.config, {
|
|
23
23
|
rollupContract: this.deps.rollupContract,
|
|
24
24
|
l1TxUtils: l1Publisher,
|
|
25
|
+
proofSubmissionTarget: this.deps.proofSubmissionTarget,
|
|
25
26
|
telemetry: this.deps.telemetry
|
|
26
27
|
}, this.bindings);
|
|
27
28
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-node",
|
|
3
|
-
"version": "5.1.0
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -56,28 +56,28 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/archiver": "5.1.0
|
|
60
|
-
"@aztec/bb-prover": "5.1.0
|
|
61
|
-
"@aztec/blob-client": "5.1.0
|
|
62
|
-
"@aztec/blob-lib": "5.1.0
|
|
63
|
-
"@aztec/constants": "5.1.0
|
|
64
|
-
"@aztec/epoch-cache": "5.1.0
|
|
65
|
-
"@aztec/ethereum": "5.1.0
|
|
66
|
-
"@aztec/foundation": "5.1.0
|
|
67
|
-
"@aztec/kv-store": "5.1.0
|
|
68
|
-
"@aztec/l1-artifacts": "5.1.0
|
|
69
|
-
"@aztec/native": "5.1.0
|
|
70
|
-
"@aztec/node-keystore": "5.1.0
|
|
71
|
-
"@aztec/node-lib": "5.1.0
|
|
72
|
-
"@aztec/noir-protocol-circuits-types": "5.1.0
|
|
73
|
-
"@aztec/p2p": "5.1.0
|
|
74
|
-
"@aztec/protocol-contracts": "5.1.0
|
|
75
|
-
"@aztec/prover-client": "5.1.0
|
|
76
|
-
"@aztec/sequencer-client": "5.1.0
|
|
77
|
-
"@aztec/simulator": "5.1.0
|
|
78
|
-
"@aztec/stdlib": "5.1.0
|
|
79
|
-
"@aztec/telemetry-client": "5.1.0
|
|
80
|
-
"@aztec/world-state": "5.1.0
|
|
59
|
+
"@aztec/archiver": "5.1.0",
|
|
60
|
+
"@aztec/bb-prover": "5.1.0",
|
|
61
|
+
"@aztec/blob-client": "5.1.0",
|
|
62
|
+
"@aztec/blob-lib": "5.1.0",
|
|
63
|
+
"@aztec/constants": "5.1.0",
|
|
64
|
+
"@aztec/epoch-cache": "5.1.0",
|
|
65
|
+
"@aztec/ethereum": "5.1.0",
|
|
66
|
+
"@aztec/foundation": "5.1.0",
|
|
67
|
+
"@aztec/kv-store": "5.1.0",
|
|
68
|
+
"@aztec/l1-artifacts": "5.1.0",
|
|
69
|
+
"@aztec/native": "5.1.0",
|
|
70
|
+
"@aztec/node-keystore": "5.1.0",
|
|
71
|
+
"@aztec/node-lib": "5.1.0",
|
|
72
|
+
"@aztec/noir-protocol-circuits-types": "5.1.0",
|
|
73
|
+
"@aztec/p2p": "5.1.0",
|
|
74
|
+
"@aztec/protocol-contracts": "5.1.0",
|
|
75
|
+
"@aztec/prover-client": "5.1.0",
|
|
76
|
+
"@aztec/sequencer-client": "5.1.0",
|
|
77
|
+
"@aztec/simulator": "5.1.0",
|
|
78
|
+
"@aztec/stdlib": "5.1.0",
|
|
79
|
+
"@aztec/telemetry-client": "5.1.0",
|
|
80
|
+
"@aztec/world-state": "5.1.0",
|
|
81
81
|
"source-map-support": "^0.5.21",
|
|
82
82
|
"tslib": "^2.4.0",
|
|
83
83
|
"viem": "npm:@aztec/viem@2.38.2"
|
package/src/config.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
numberConfigHelper,
|
|
7
7
|
pickConfigMappings,
|
|
8
8
|
} from '@aztec/foundation/config';
|
|
9
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
9
10
|
import { type KeyStoreConfig, keyStoreConfigMappings } from '@aztec/node-keystore/config';
|
|
10
11
|
import { ethPrivateKeySchema } from '@aztec/node-keystore/schemas';
|
|
11
12
|
import type { KeyStore } from '@aztec/node-keystore/types';
|
|
@@ -44,6 +45,7 @@ export type SpecificProverNodeConfig = {
|
|
|
44
45
|
txGatheringIntervalMs: number;
|
|
45
46
|
txGatheringBatchSize: number;
|
|
46
47
|
txGatheringMaxParallelRequestsPerNode: number;
|
|
48
|
+
proofSubmissionTargetAddress?: EthAddress;
|
|
47
49
|
};
|
|
48
50
|
|
|
49
51
|
export const specificProverNodeConfigMappings: ConfigMappingsType<SpecificProverNodeConfig> = {
|
|
@@ -97,6 +99,14 @@ export const specificProverNodeConfigMappings: ConfigMappingsType<SpecificProver
|
|
|
97
99
|
description: 'Whether the prover node skips publishing proofs to L1',
|
|
98
100
|
...booleanConfigHelper(false),
|
|
99
101
|
},
|
|
102
|
+
proofSubmissionTargetAddress: {
|
|
103
|
+
env: 'PROVER_NODE_PROOF_SUBMISSION_TARGET_ADDRESS',
|
|
104
|
+
description:
|
|
105
|
+
'Optional L1 address the submitEpochRootProof tx is sent to. Must expose the identical submitEpochRootProof ABI ' +
|
|
106
|
+
'and forward to the rollup. Defaults to the rollup address.',
|
|
107
|
+
parseEnv: (val: string) => EthAddress.fromString(val),
|
|
108
|
+
defaultValue: undefined,
|
|
109
|
+
},
|
|
100
110
|
};
|
|
101
111
|
|
|
102
112
|
export const proverNodeConfigMappings: ConfigMappingsType<ProverNodeConfig> = {
|
package/src/factory.ts
CHANGED
|
@@ -135,6 +135,7 @@ export async function createProverNode(
|
|
|
135
135
|
deps.publisherFactory ??
|
|
136
136
|
new ProverPublisherFactory(config, {
|
|
137
137
|
rollupContract,
|
|
138
|
+
proofSubmissionTarget: config.proofSubmissionTargetAddress,
|
|
138
139
|
publisherManager: new PublisherManager(l1TxUtils, getPublisherConfigFromProverConfig(config), {
|
|
139
140
|
bindings: log.getBindings(),
|
|
140
141
|
funder: funderL1TxUtils,
|
|
@@ -40,6 +40,8 @@ export class ProverNodePublisher {
|
|
|
40
40
|
|
|
41
41
|
protected rollupContract: RollupContract;
|
|
42
42
|
|
|
43
|
+
protected proofSubmissionTarget: Hex;
|
|
44
|
+
|
|
43
45
|
public readonly l1TxUtils: L1TxUtils;
|
|
44
46
|
|
|
45
47
|
constructor(
|
|
@@ -47,6 +49,7 @@ export class ProverNodePublisher {
|
|
|
47
49
|
deps: {
|
|
48
50
|
rollupContract: RollupContract;
|
|
49
51
|
l1TxUtils: L1TxUtils;
|
|
52
|
+
proofSubmissionTarget?: EthAddress;
|
|
50
53
|
telemetry?: TelemetryClient;
|
|
51
54
|
},
|
|
52
55
|
bindings?: LoggerBindings,
|
|
@@ -57,6 +60,7 @@ export class ProverNodePublisher {
|
|
|
57
60
|
this.log = createLogger('prover-node:l1-tx-publisher', bindings);
|
|
58
61
|
|
|
59
62
|
this.rollupContract = deps.rollupContract;
|
|
63
|
+
this.proofSubmissionTarget = deps.proofSubmissionTarget?.toString() ?? deps.rollupContract.address;
|
|
60
64
|
this.l1TxUtils = deps.l1TxUtils;
|
|
61
65
|
}
|
|
62
66
|
|
|
@@ -217,7 +221,7 @@ export class ProverNodePublisher {
|
|
|
217
221
|
const senderAddress = this.l1TxUtils.getSenderAddress();
|
|
218
222
|
|
|
219
223
|
const [gasLimit, gasPrice, latestBlock] = await Promise.all([
|
|
220
|
-
this.l1TxUtils.estimateGas(senderAddress.toString() as `0x${string}`, { to: this.
|
|
224
|
+
this.l1TxUtils.estimateGas(senderAddress.toString() as `0x${string}`, { to: this.proofSubmissionTarget, data }),
|
|
221
225
|
this.l1TxUtils.getGasPrice(),
|
|
222
226
|
this.l1TxUtils.client.getBlock({ blockTag: 'latest' }),
|
|
223
227
|
]);
|
|
@@ -288,7 +292,7 @@ export class ProverNodePublisher {
|
|
|
288
292
|
});
|
|
289
293
|
try {
|
|
290
294
|
const { receipt } = await this.l1TxUtils.sendAndMonitorTransaction(
|
|
291
|
-
{ to: this.
|
|
295
|
+
{ to: this.proofSubmissionTarget, data },
|
|
292
296
|
{ txTimeoutAt: args.deadline },
|
|
293
297
|
);
|
|
294
298
|
if (receipt.status !== 'success') {
|
|
@@ -298,7 +302,7 @@ export class ProverNodePublisher {
|
|
|
298
302
|
args: [...txArgs],
|
|
299
303
|
functionName: 'submitEpochRootProof',
|
|
300
304
|
abi: RollupAbi,
|
|
301
|
-
address: this.
|
|
305
|
+
address: this.proofSubmissionTarget,
|
|
302
306
|
},
|
|
303
307
|
/*blobInputs*/ undefined,
|
|
304
308
|
/*stateOverride*/ [],
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RollupContract } from '@aztec/ethereum/contracts';
|
|
2
2
|
import type { L1TxUtils } from '@aztec/ethereum/l1-tx-utils';
|
|
3
3
|
import type { PublisherManager } from '@aztec/ethereum/publisher-manager';
|
|
4
|
+
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
5
|
import type { LoggerBindings } from '@aztec/foundation/log';
|
|
5
6
|
import type { ProverPublisherConfig, ProverTxSenderConfig } from '@aztec/sequencer-client';
|
|
6
7
|
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
@@ -13,6 +14,7 @@ export class ProverPublisherFactory {
|
|
|
13
14
|
private deps: {
|
|
14
15
|
rollupContract: RollupContract;
|
|
15
16
|
publisherManager: PublisherManager<L1TxUtils>;
|
|
17
|
+
proofSubmissionTarget?: EthAddress;
|
|
16
18
|
telemetry?: TelemetryClient;
|
|
17
19
|
},
|
|
18
20
|
private bindings?: LoggerBindings,
|
|
@@ -37,6 +39,7 @@ export class ProverPublisherFactory {
|
|
|
37
39
|
{
|
|
38
40
|
rollupContract: this.deps.rollupContract,
|
|
39
41
|
l1TxUtils: l1Publisher,
|
|
42
|
+
proofSubmissionTarget: this.deps.proofSubmissionTarget,
|
|
40
43
|
telemetry: this.deps.telemetry,
|
|
41
44
|
},
|
|
42
45
|
this.bindings,
|