@aztec/aztec 0.0.1-commit.f295ac2 → 0.0.1-commit.f8ca9b2f3
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/cli/aztec_start_options.d.ts +1 -1
- package/dest/cli/aztec_start_options.d.ts.map +1 -1
- package/dest/cli/aztec_start_options.js +4 -2
- package/dest/cli/cmds/start_bot.d.ts +3 -3
- package/dest/cli/cmds/start_bot.d.ts.map +1 -1
- package/dest/cli/cmds/start_bot.js +4 -2
- package/dest/cli/cmds/start_node.js +4 -2
- package/dest/cli/cmds/start_p2p_bootstrap.d.ts +2 -2
- package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
- package/dest/cli/cmds/start_p2p_bootstrap.js +1 -2
- package/dest/cli/cmds/start_prover_agent.js +2 -2
- package/dest/cli/cmds/start_prover_broker.d.ts +1 -1
- package/dest/cli/cmds/start_prover_broker.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_broker.js +2 -2
- package/dest/cli/util.d.ts +4 -14
- package/dest/cli/util.d.ts.map +1 -1
- package/dest/cli/util.js +6 -5
- package/dest/examples/token.js +5 -5
- package/dest/local-network/banana_fpc.d.ts +1 -1
- package/dest/local-network/banana_fpc.d.ts.map +1 -1
- package/dest/local-network/banana_fpc.js +2 -2
- package/dest/local-network/local-network.d.ts +2 -3
- package/dest/local-network/local-network.d.ts.map +1 -1
- package/dest/local-network/local-network.js +10 -13
- package/dest/testing/epoch_test_settler.d.ts +4 -2
- package/dest/testing/epoch_test_settler.d.ts.map +1 -1
- package/dest/testing/epoch_test_settler.js +15 -5
- package/package.json +34 -34
- package/scripts/aztec.sh +1 -1
- package/src/cli/aztec_start_options.ts +3 -1
- package/src/cli/cmds/start_bot.ts +3 -3
- package/src/cli/cmds/start_node.ts +2 -2
- package/src/cli/cmds/start_p2p_bootstrap.ts +2 -2
- package/src/cli/cmds/start_prover_agent.ts +2 -2
- package/src/cli/cmds/start_prover_broker.ts +5 -1
- package/src/cli/util.ts +7 -19
- package/src/examples/token.ts +5 -7
- package/src/local-network/banana_fpc.ts +10 -6
- package/src/local-network/local-network.ts +12 -14
- package/src/testing/epoch_test_settler.ts +16 -4
|
@@ -14,4 +14,4 @@ export declare const NETWORK_FLAG = "network";
|
|
|
14
14
|
export declare const aztecStartOptions: {
|
|
15
15
|
[key: string]: AztecStartOption[];
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfc3RhcnRfb3B0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9henRlY19zdGFydF9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFDTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxNQUFNLEVBSVosTUFBTSwwQkFBMEIsQ0FBQztBQWVsQyxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLFlBQVksRUFBRSxHQUFHLENBQUM7SUFDbEIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLE1BQU0sQ0FBQztJQUNwQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUN4QixRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssR0FBRyxDQUFDO0NBQ2pDO0FBRUQsZUFBTyxNQUFNLFVBQVUsMEZBb0J0QixDQUFDO0FBdUJGLGVBQU8sTUFBTSxnQkFBZ0IsVUFZNUIsQ0FBQztBQUVGLGVBQU8sTUFBTSxZQUFZLFlBQVksQ0FBQztBQUd0QyxlQUFPLE1BQU0saUJBQWlCLEVBQUU7SUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtDQW1ObEUsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAIZ,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,0FAoBtB,CAAC;AAuBF,eAAO,MAAM,gBAAgB,UAY5B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"aztec_start_options.d.ts","sourceRoot":"","sources":["../../src/cli/aztec_start_options.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,MAAM,EAIZ,MAAM,0BAA0B,CAAC;AAelC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC;AAED,eAAO,MAAM,UAAU,0FAoBtB,CAAC;AAuBF,eAAO,MAAM,gBAAgB,UAY5B,CAAC;AAEF,eAAO,MAAM,YAAY,YAAY,CAAC;AAGtC,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAmNlE,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/pr
|
|
|
13
13
|
import { proverNodeConfigMappings } from '@aztec/prover-node/config';
|
|
14
14
|
import { allPxeConfigMappings } from '@aztec/pxe/config';
|
|
15
15
|
import { sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
|
|
16
|
-
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
16
|
+
import { chainConfigMappings, nodeRpcConfigMappings } from '@aztec/stdlib/config';
|
|
17
17
|
import { telemetryClientConfigMappings } from '@aztec/telemetry-client/config';
|
|
18
18
|
import { worldStateConfigMappings } from '@aztec/world-state/config';
|
|
19
19
|
import { DefaultMnemonic } from '../mnemonic.js';
|
|
@@ -116,7 +116,9 @@ export const aztecStartOptions = {
|
|
|
116
116
|
description: 'Prefix for API routes on any service that is started',
|
|
117
117
|
defaultValue: '',
|
|
118
118
|
env: 'API_PREFIX'
|
|
119
|
-
}
|
|
119
|
+
},
|
|
120
|
+
configToFlag('--rpcMaxBatchSize', nodeRpcConfigMappings.rpcMaxBatchSize),
|
|
121
|
+
configToFlag('--rpcMaxBodySize', nodeRpcConfigMappings.rpcMaxBodySize)
|
|
120
122
|
],
|
|
121
123
|
ETHEREUM: [
|
|
122
124
|
configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
|
|
@@ -2,7 +2,7 @@ import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
|
|
|
2
2
|
import type { LogFn } from '@aztec/foundation/log';
|
|
3
3
|
import { type AztecNode, type AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
4
4
|
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
5
|
-
import {
|
|
5
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
6
6
|
export declare function startBot(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, userLog: LogFn): Promise<void>;
|
|
7
|
-
export declare function addBot(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, wallet:
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
export declare function addBot(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, wallet: EmbeddedWallet, aztecNode: AztecNode, telemetry: TelemetryClient, aztecNodeAdmin?: AztecNodeAdmin): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpL2NtZHMvc3RhcnRfYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFFLEtBQUssY0FBYyxFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBQzdHLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTS9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUt6RCx3QkFBc0IsUUFBUSxDQUM1QixPQUFPLEVBQUUsR0FBRyxFQUNaLGNBQWMsRUFBRSxDQUFDLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFDdkMsUUFBUSxFQUFFLHFCQUFxQixFQUMvQixPQUFPLEVBQUUsS0FBSyxpQkF1QmY7QUFFRCx3QkFBc0IsTUFBTSxDQUMxQixPQUFPLEVBQUUsR0FBRyxFQUNaLGNBQWMsRUFBRSxDQUFDLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFDdkMsUUFBUSxFQUFFLHFCQUFxQixFQUMvQixNQUFNLEVBQUUsY0FBYyxFQUN0QixTQUFTLEVBQUUsU0FBUyxFQUNwQixTQUFTLEVBQUUsZUFBZSxFQUMxQixjQUFjLENBQUMsRUFBRSxjQUFjLGlCQWtCaEMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_bot.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_bot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAyB,MAAM,iCAAiC,CAAC;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"start_bot.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_bot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAyB,MAAM,iCAAiC,CAAC;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAKzD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,iBAuBf;AAED,wBAAsB,MAAM,CAC1B,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,cAAc,iBAkBhC"}
|
|
@@ -3,7 +3,7 @@ import { createStore, openTmpStore } from '@aztec/kv-store/lmdb-v2';
|
|
|
3
3
|
import { allPxeConfigMappings } from '@aztec/pxe/config';
|
|
4
4
|
import { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
5
5
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient, makeTracedFetch } from '@aztec/telemetry-client';
|
|
6
|
-
import {
|
|
6
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
7
7
|
import { extractRelevantOptions } from '../util.js';
|
|
8
8
|
import { getVersions } from '../versioning.js';
|
|
9
9
|
export async function startBot(options, signalHandlers, services, userLog) {
|
|
@@ -23,7 +23,9 @@ export async function startBot(options, signalHandlers, services, userLog) {
|
|
|
23
23
|
}
|
|
24
24
|
const aztecNode = createAztecNodeClient(config.nodeUrl, getVersions(), fetch);
|
|
25
25
|
const pxeConfig = extractRelevantOptions(options, allPxeConfigMappings, 'pxe');
|
|
26
|
-
const wallet = await
|
|
26
|
+
const wallet = await EmbeddedWallet.create(aztecNode, {
|
|
27
|
+
pxeConfig
|
|
28
|
+
});
|
|
27
29
|
const telemetry = await initTelemetryClient(getTelemetryClientConfig());
|
|
28
30
|
await addBot(options, signalHandlers, services, wallet, aztecNode, telemetry, undefined);
|
|
29
31
|
}
|
|
@@ -9,7 +9,7 @@ import { allPxeConfigMappings } from '@aztec/pxe/config';
|
|
|
9
9
|
import { AztecNodeAdminApiSchema, AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
10
10
|
import { P2PApiSchema } from '@aztec/stdlib/interfaces/server';
|
|
11
11
|
import { initTelemetryClient, telemetryClientConfigMappings } from '@aztec/telemetry-client';
|
|
12
|
-
import {
|
|
12
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
13
13
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
14
14
|
import { createAztecNode } from '../../local-network/index.js';
|
|
15
15
|
import { extractNamespacedOptions, extractRelevantOptions, preloadCrsDataForVerifying, setupUpdateMonitor } from '../util.js';
|
|
@@ -104,7 +104,9 @@ export async function startNode(options, signalHandlers, services, adminServices
|
|
|
104
104
|
if (options.bot) {
|
|
105
105
|
const { addBot } = await import('./start_bot.js');
|
|
106
106
|
const pxeConfig = extractRelevantOptions(options, allPxeConfigMappings, 'pxe');
|
|
107
|
-
const wallet = await
|
|
107
|
+
const wallet = await EmbeddedWallet.create(node, {
|
|
108
|
+
pxeConfig
|
|
109
|
+
});
|
|
108
110
|
await addBot(options, signalHandlers, services, wallet, node, telemetry, undefined);
|
|
109
111
|
}
|
|
110
112
|
if (nodeConfig.autoUpdate !== 'disabled' && nodeConfig.autoUpdateUrl) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
|
|
2
|
-
import {
|
|
2
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
3
3
|
export declare function startP2PBootstrap(options: any, signalHandlers: (() => Promise<void>)[], services: NamespacedApiHandlers, userLog: LogFn): Promise<{
|
|
4
4
|
config: import("@aztec/stdlib/config").ChainConfig;
|
|
5
5
|
}>;
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfcDJwX2Jvb3RzdHJhcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL3N0YXJ0X3AycF9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWFuRCx3QkFBc0IsaUJBQWlCLENBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQ1osY0FBYyxFQUFFLENBQUMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUN2QyxRQUFRLEVBQUUscUJBQXFCLEVBQy9CLE9BQU8sRUFBRSxLQUFLOztHQWlCZiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_p2p_bootstrap.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_p2p_bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"start_p2p_bootstrap.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_p2p_bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAanD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK;;GAiBf"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
3
2
|
import { createStore } from '@aztec/kv-store/lmdb-v2';
|
|
4
3
|
import { BootstrapNode, bootnodeConfigMappings } from '@aztec/p2p';
|
|
5
4
|
import { emptyChainConfig } from '@aztec/stdlib/config';
|
|
@@ -16,7 +15,7 @@ export async function startP2PBootstrap(options, signalHandlers, services, userL
|
|
|
16
15
|
userLog(`Starting P2P bootstrap node with config: ${jsonStringify(safeConfig)}`);
|
|
17
16
|
const telemetryConfig = extractRelevantOptions(options, telemetryClientConfigMappings, 'tel');
|
|
18
17
|
const telemetryClient = await initTelemetryClient(telemetryConfig);
|
|
19
|
-
const store = await createStore('p2p-bootstrap', 1, config
|
|
18
|
+
const store = await createStore('p2p-bootstrap', 1, config);
|
|
20
19
|
const node = new BootstrapNode(store, telemetryClient);
|
|
21
20
|
await node.start(config);
|
|
22
21
|
signalHandlers.push(()=>node.stop());
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { times } from '@aztec/foundation/collection';
|
|
2
2
|
import { Agent, makeUndiciFetch } from '@aztec/foundation/json-rpc/undici';
|
|
3
3
|
import { buildServerCircuitProver } from '@aztec/prover-client';
|
|
4
|
-
import {
|
|
4
|
+
import { ProvingAgent, createProofStore, createProvingJobBrokerClient, proverAgentConfigMappings } from '@aztec/prover-client/broker';
|
|
5
5
|
import { getProverNodeAgentConfigFromEnv } from '@aztec/prover-node';
|
|
6
6
|
import { ProverAgentApiSchema } from '@aztec/stdlib/interfaces/server';
|
|
7
7
|
import { initTelemetryClient, makeTracedFetch, telemetryClientConfigMappings } from '@aztec/telemetry-client';
|
|
@@ -44,7 +44,7 @@ export async function startProverAgent(options, signalHandlers, services, userLo
|
|
|
44
44
|
const broker = createProvingJobBrokerClient(config.proverBrokerUrl, getVersions(), fetch);
|
|
45
45
|
const telemetry = await initTelemetryClient(extractRelevantOptions(options, telemetryClientConfigMappings, 'tel'));
|
|
46
46
|
const prover = await buildServerCircuitProver(config, telemetry);
|
|
47
|
-
const proofStore =
|
|
47
|
+
const proofStore = await createProofStore(config.proofStore);
|
|
48
48
|
const agents = times(config.proverAgentCount, ()=>new ProvingAgent(broker, proofStore, prover, config.proverAgentProofTypes, config.proverAgentPollIntervalMs));
|
|
49
49
|
// expose all agents as individual services
|
|
50
50
|
for(let i = 0; i < agents.length; i++){
|
|
@@ -6,4 +6,4 @@ export declare function startProverBroker(options: any, signalHandlers: (() => P
|
|
|
6
6
|
broker: ProvingJobBroker;
|
|
7
7
|
config: ProverBrokerConfig;
|
|
8
8
|
}>;
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfcHJvdmVyX2Jyb2tlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL3N0YXJ0X3Byb3Zlcl9icm9rZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFLeEIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBS3hFLHdCQUFzQixpQkFBaUIsQ0FDckMsT0FBTyxFQUFFLEdBQUcsRUFDWixjQUFjLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQ3ZDLFFBQVEsRUFBRSxxQkFBcUIsRUFDL0IsT0FBTyxFQUFFLEtBQUssR0FDYixPQUFPLENBQUM7SUFBRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7SUFBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUE7Q0FBRSxDQUFDLENBK0NuRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_prover_broker.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_prover_broker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"start_prover_broker.d.ts","sourceRoot":"","sources":["../../../src/cli/cmds/start_prover_broker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKxE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EACvC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,KAAK,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CA+CnE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getL1Config } from '@aztec/cli/config';
|
|
2
2
|
import { getPublicClient } from '@aztec/ethereum/client';
|
|
3
|
-
import { ProvingJobBrokerSchema, createAndStartProvingBroker, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
|
|
3
|
+
import { ProvingJobBrokerSchema, ProvingJobBrokerSchemaWithDebug, createAndStartProvingBroker, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
|
|
4
4
|
import { getProverNodeBrokerConfigFromEnv } from '@aztec/prover-node';
|
|
5
5
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
6
6
|
import { extractRelevantOptions, setupUpdateMonitor } from '../util.js';
|
|
@@ -27,7 +27,7 @@ export async function startProverBroker(options, signalHandlers, services, userL
|
|
|
27
27
|
}
|
|
28
28
|
services.proverBroker = [
|
|
29
29
|
broker,
|
|
30
|
-
ProvingJobBrokerSchema
|
|
30
|
+
config.proverBrokerDebugReplayEnabled ? ProvingJobBrokerSchemaWithDebug : ProvingJobBrokerSchema
|
|
31
31
|
];
|
|
32
32
|
signalHandlers.push(()=>broker.stop());
|
|
33
33
|
return {
|
package/dest/cli/util.d.ts
CHANGED
|
@@ -2,12 +2,11 @@ import type { AztecNodeConfig } from '@aztec/aztec-node';
|
|
|
2
2
|
import type { AccountManager } from '@aztec/aztec.js/wallet';
|
|
3
3
|
import type { ViemClient } from '@aztec/ethereum/types';
|
|
4
4
|
import type { ConfigMappingsType } from '@aztec/foundation/config';
|
|
5
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
6
|
import { type LogFn } from '@aztec/foundation/log';
|
|
8
7
|
import type { SharedNodeConfig } from '@aztec/node-lib/config';
|
|
9
8
|
import type { ProverConfig } from '@aztec/stdlib/interfaces/server';
|
|
10
|
-
import type {
|
|
9
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
11
10
|
import type { Command } from 'commander';
|
|
12
11
|
import { type AztecStartOption } from './aztec_start_options.js';
|
|
13
12
|
export declare const enum ExitCode {
|
|
@@ -26,19 +25,10 @@ export declare const installSignalHandlers: (logFn: LogFn, cb?: (() => Promise<v
|
|
|
26
25
|
/**
|
|
27
26
|
* Creates logs for the initial accounts
|
|
28
27
|
* @param accounts - The initial accounts
|
|
29
|
-
* @param wallet - A
|
|
28
|
+
* @param wallet - A EmbeddedWallet instance to get the registered accounts
|
|
30
29
|
* @returns A string array containing the initial accounts details
|
|
31
30
|
*/
|
|
32
|
-
export declare function createAccountLogs(
|
|
33
|
-
/**
|
|
34
|
-
* The account object
|
|
35
|
-
*/
|
|
36
|
-
account: AccountManager;
|
|
37
|
-
/**
|
|
38
|
-
* The secret key of the account
|
|
39
|
-
*/
|
|
40
|
-
secretKey: Fr;
|
|
41
|
-
}[], wallet: TestWallet): Promise<string[]>;
|
|
31
|
+
export declare function createAccountLogs(accountManagers: AccountManager[], wallet: EmbeddedWallet): Promise<string[]>;
|
|
42
32
|
export declare function getMaxLengths(sections: {
|
|
43
33
|
[key: string]: AztecStartOption[];
|
|
44
34
|
}): [number, number];
|
|
@@ -74,4 +64,4 @@ export declare function preloadCrsDataForVerifying({ realProofs }: Pick<AztecNod
|
|
|
74
64
|
*/
|
|
75
65
|
export declare function preloadCrsDataForServerSideProving({ realProofs }: Pick<ProverConfig, 'realProofs'>, log: LogFn): Promise<void>;
|
|
76
66
|
export declare function setupUpdateMonitor(autoUpdateMode: SharedNodeConfig['autoUpdate'], updatesLocation: URL, followsCanonicalRollup: boolean, publicClient: ViemClient, registryContractAddress: EthAddress, signalHandlers: Array<() => Promise<void>>, updateNodeConfig?: (config: object) => Promise<void>): Promise<void>;
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEtBQUssRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzlELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6QyxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRiwwQkFBa0IsUUFBUTtJQUN4QixPQUFPLElBQUk7SUFDWCxLQUFLLElBQUk7SUFDVCxjQUFjLEtBQUs7SUFDbkIsZUFBZSxLQUFLO0lBRXBCLE1BQU0sTUFBTTtJQUNaLE1BQU0sTUFBTTtJQUNaLE9BQU8sTUFBTTtJQUNiLE9BQU8sTUFBTTtDQUNkO0FBR0Qsd0JBQWdCLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQWdCMUc7QUFFRCx3QkFBZ0IsY0FBYyxJQUFJLE9BQU8sQ0FFeEM7QUFFRCxlQUFPLE1BQU0scUJBQXFCLGtFQWFqQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsaUJBQWlCLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLHFCQXlCaEc7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0NBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FpQi9GO0FBRUQsd0JBQWdCLGNBQWMsQ0FDNUIsTUFBTSxFQUFFLE1BQU0sRUFDZCxZQUFZLEVBQUUsTUFBTSxFQUNwQixNQUFNLEVBQUUsTUFBTSxFQUNkLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLGdCQUFnQixFQUFFLE1BQU0sR0FDdkIsTUFBTSxDQUtSO0FBaUNELGVBQU8sTUFBTSxVQUFVLHFEQVN0QixDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1QixjQXlCbkMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsZUFBTyxNQUFNLHdCQUF3QiwwRUFTcEMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxlQUFPLE1BQU0sc0JBQXNCLEdBQUksQ0FBQyx3RkFrQ3ZDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUM5QyxFQUFFLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLEVBQ25ELEdBQUcsRUFBRSxLQUFLLEdBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUtmO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FDdEQsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxFQUNoRCxHQUFHLEVBQUUsS0FBSyxHQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLZjtBQUVELHdCQUFzQixrQkFBa0IsQ0FDdEMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxFQUM5QyxlQUFlLEVBQUUsR0FBRyxFQUNwQixzQkFBc0IsRUFBRSxPQUFPLEVBQy9CLFlBQVksRUFBRSxVQUFVLEVBQ3hCLHVCQUF1QixFQUFFLFVBQVUsRUFDbkMsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMxQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQStFckQifQ==
|
package/dest/cli/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,gBAAgB,EAAqB,MAAM,0BAA0B,CAAC;AAEpF,0BAAkB,QAAQ;IACxB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,cAAc,KAAK;IACnB,eAAe,KAAK;IAEpB,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,OAAO,MAAM;CACd;AAGD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAgB1G;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,eAAO,MAAM,qBAAqB,kEAajC,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,qBAyBhG;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB/F;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAiCD,eAAO,MAAM,UAAU,qDAStB,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAyBnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,0EASpC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,wFAkCvC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EACnD,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAChD,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAC9C,eAAe,EAAE,GAAG,EACpB,sBAAsB,EAAE,OAAO,EAC/B,YAAY,EAAE,UAAU,EACxB,uBAAuB,EAAE,UAAU,EACnC,cAAc,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAC1C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,iBA+ErD"}
|
package/dest/cli/util.js
CHANGED
|
@@ -63,19 +63,20 @@ export const installSignalHandlers = (logFn, cb)=>{
|
|
|
63
63
|
/**
|
|
64
64
|
* Creates logs for the initial accounts
|
|
65
65
|
* @param accounts - The initial accounts
|
|
66
|
-
* @param wallet - A
|
|
66
|
+
* @param wallet - A EmbeddedWallet instance to get the registered accounts
|
|
67
67
|
* @returns A string array containing the initial accounts details
|
|
68
|
-
*/ export async function createAccountLogs(
|
|
68
|
+
*/ export async function createAccountLogs(accountManagers, wallet) {
|
|
69
69
|
const registeredAccounts = await wallet.getAccounts();
|
|
70
70
|
const accountLogStrings = [
|
|
71
71
|
`Initial Accounts:\n\n`
|
|
72
72
|
];
|
|
73
|
-
for (const
|
|
74
|
-
const
|
|
73
|
+
for (const accountManager of accountManagers){
|
|
74
|
+
const account = await accountManager.getAccount();
|
|
75
|
+
const completeAddress = account.getCompleteAddress();
|
|
75
76
|
if (registeredAccounts.find((a)=>a.item.equals(completeAddress.address))) {
|
|
76
77
|
accountLogStrings.push(` Address: ${completeAddress.address.toString()}\n`);
|
|
77
78
|
accountLogStrings.push(` Partial Address: ${completeAddress.partialAddress.toString()}\n`);
|
|
78
|
-
accountLogStrings.push(` Secret Key: ${
|
|
79
|
+
accountLogStrings.push(` Secret Key: ${account.getSecretKey().toString()}\n`);
|
|
79
80
|
accountLogStrings.push(` Master nullifier public key: ${completeAddress.publicKeys.masterNullifierPublicKey.toString()}\n`);
|
|
80
81
|
accountLogStrings.push(` Master incoming viewing public key: ${completeAddress.publicKeys.masterIncomingViewingPublicKey.toString()}\n\n`);
|
|
81
82
|
accountLogStrings.push(` Master outgoing viewing public key: ${completeAddress.publicKeys.masterOutgoingViewingPublicKey.toString()}\n\n`);
|
package/dest/examples/token.js
CHANGED
|
@@ -2,7 +2,7 @@ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
|
2
2
|
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
5
|
-
import {
|
|
5
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
6
6
|
const logger = createLogger('example:token');
|
|
7
7
|
const nodeUrl = 'http://localhost:8080';
|
|
8
8
|
const node = createAztecNodeClient(nodeUrl);
|
|
@@ -12,7 +12,7 @@ const TRANSFER_AMOUNT = 33n;
|
|
|
12
12
|
* Main function.
|
|
13
13
|
*/ async function main() {
|
|
14
14
|
logger.info('Running token contract test on HTTP interface.');
|
|
15
|
-
const wallet = await
|
|
15
|
+
const wallet = await EmbeddedWallet.create(node);
|
|
16
16
|
// During local network setup we deploy a few accounts. Below we add them to our wallet.
|
|
17
17
|
const [aliceInitialAccountData, bobInitialAccountData] = await getInitialTestAccountsData();
|
|
18
18
|
await wallet.createSchnorrAccount(aliceInitialAccountData.secret, aliceInitialAccountData.salt);
|
|
@@ -23,13 +23,13 @@ const TRANSFER_AMOUNT = 33n;
|
|
|
23
23
|
logger.info('Deploying Token...');
|
|
24
24
|
const token = await TokenContract.deploy(wallet, alice, 'TokenName', 'TokenSymbol', 18).send({
|
|
25
25
|
from: alice
|
|
26
|
-
})
|
|
26
|
+
});
|
|
27
27
|
logger.info('Token deployed');
|
|
28
28
|
// Mint tokens to Alice
|
|
29
29
|
logger.info(`Minting ${ALICE_MINT_BALANCE} more coins to Alice...`);
|
|
30
30
|
await token.methods.mint_to_private(alice, ALICE_MINT_BALANCE).send({
|
|
31
31
|
from: alice
|
|
32
|
-
})
|
|
32
|
+
});
|
|
33
33
|
logger.info(`${ALICE_MINT_BALANCE} tokens were successfully minted by Alice and transferred to private`);
|
|
34
34
|
const balanceAfterMint = await token.methods.balance_of_private(alice).simulate({
|
|
35
35
|
from: alice
|
|
@@ -39,7 +39,7 @@ const TRANSFER_AMOUNT = 33n;
|
|
|
39
39
|
logger.info(`Transferring ${TRANSFER_AMOUNT} tokens from Alice to Bob...`);
|
|
40
40
|
await token.methods.transfer(bob, TRANSFER_AMOUNT).send({
|
|
41
41
|
from: alice
|
|
42
|
-
})
|
|
42
|
+
});
|
|
43
43
|
// Check the new balances
|
|
44
44
|
const aliceBalance = await token.methods.balance_of_private(alice).simulate({
|
|
45
45
|
from: alice
|
|
@@ -7,4 +7,4 @@ export declare function getBananaFPCAddress(initialAccounts: InitialAccountData[
|
|
|
7
7
|
export declare function setupBananaFPC(initialAccounts: InitialAccountData[], wallet: Wallet, log: LogFn): Promise<void>;
|
|
8
8
|
export declare function registerDeployedBananaCoinInWalletAndGetAddress(wallet: Wallet): Promise<AztecAddress>;
|
|
9
9
|
export declare function registerDeployedBananaFPCInWalletAndGetAddress(wallet: Wallet): Promise<AztecAddress>;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuYW5hX2ZwYy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvY2FsLW5ldHdvcmsvYmFuYW5hX2ZwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBOEIsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUF3QjNELHdCQUFzQixvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLEVBQUUseUJBRS9FO0FBV0Qsd0JBQXNCLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSx5QkFFOUU7QUFFRCx3QkFBc0IsY0FBYyxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssaUJBa0JyRztBQUVELHdCQUFzQiwrQ0FBK0MsQ0FBQyxNQUFNLEVBQUUsTUFBTSx5QkFNbkY7QUFFRCx3QkFBc0IsOENBQThDLENBQUMsTUFBTSxFQUFFLE1BQU0seUJBTWxGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banana_fpc.d.ts","sourceRoot":"","sources":["../../src/local-network/banana_fpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,yBAAyB,CAAC;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAwB3D,wBAAsB,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,EAAE,yBAE/E;AAWD,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,EAAE,yBAE9E;AAED,wBAAsB,cAAc,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"banana_fpc.d.ts","sourceRoot":"","sources":["../../src/local-network/banana_fpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,yBAAyB,CAAC;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAwB3D,wBAAsB,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,EAAE,yBAE/E;AAWD,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,EAAE,yBAE9E;AAED,wBAAsB,cAAc,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAkBrG;AAED,wBAAsB,+CAA+C,CAAC,MAAM,EAAE,MAAM,yBAMnF;AAED,wBAAsB,8CAA8C,CAAC,MAAM,EAAE,MAAM,yBAMlF"}
|
|
@@ -51,12 +51,12 @@ export async function setupBananaFPC(initialAccounts, wallet, log) {
|
|
|
51
51
|
from: admin,
|
|
52
52
|
contractAddressSalt: BANANA_COIN_SALT,
|
|
53
53
|
universalDeploy: true
|
|
54
|
-
})
|
|
54
|
+
}),
|
|
55
55
|
FPCContract.deploy(wallet, bananaCoinAddress, admin).send({
|
|
56
56
|
from: admin,
|
|
57
57
|
contractAddressSalt: BANANA_FPC_SALT,
|
|
58
58
|
universalDeploy: true
|
|
59
|
-
})
|
|
59
|
+
})
|
|
60
60
|
]);
|
|
61
61
|
log(`BananaCoin: ${bananaCoin.address}`);
|
|
62
62
|
log(`FPC: ${fpc.address}`);
|
|
@@ -15,7 +15,6 @@ import { type Hex } from 'viem';
|
|
|
15
15
|
* @param hdAccount - Account for publishing L1 contracts
|
|
16
16
|
*/
|
|
17
17
|
export declare function deployContractsToL1(aztecNodeConfig: AztecNodeConfig, privateKey: Hex, opts?: {
|
|
18
|
-
assumeProvenThroughBlockNumber?: number;
|
|
19
18
|
genesisArchiveRoot?: Fr;
|
|
20
19
|
feeJuicePortalInitialBalance?: bigint;
|
|
21
20
|
}): Promise<{
|
|
@@ -39,7 +38,7 @@ export declare function deployContractsToL1(aztecNodeConfig: AztecNodeConfig, pr
|
|
|
39
38
|
dateGatedRelayerAddress?: EthAddress | undefined;
|
|
40
39
|
} & {
|
|
41
40
|
rollupAddress: EthAddress;
|
|
42
|
-
} & {
|
|
41
|
+
} & Pick<import("@aztec/ethereum/l1-contract-addresses").L1ContractAddresses, "rollupAddress"> & {
|
|
43
42
|
rollupAddress: EthAddress;
|
|
44
43
|
}>;
|
|
45
44
|
/** Local network settings. */
|
|
@@ -69,4 +68,4 @@ export declare function createAztecNode(config?: Partial<AztecNodeConfig>, deps?
|
|
|
69
68
|
}, options?: {
|
|
70
69
|
prefilledPublicData?: PublicDataTreeLeaf[];
|
|
71
70
|
}): Promise<AztecNodeService>;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtbmV0d29yay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvY2FsLW5ldHdvcmsvbG9jYWwtbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFvQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQVN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBb0IsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFHckIsTUFBTSx5QkFBeUIsQ0FBQztBQUtqQyxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQTJELE1BQU0sTUFBTSxDQUFDO0FBZXpGOzs7O0dBSUc7QUFDSCx3QkFBc0IsbUJBQW1CLENBQ3ZDLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFVBQVUsRUFBRSxHQUFHLEVBQ2YsSUFBSSxHQUFFO0lBQ0osa0JBQWtCLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDeEIsNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JQO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEdBQUc7SUFDakQsMERBQTBEO0lBQzFELFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsNkRBQTZEO0lBQzdELFlBQVksRUFBRSxPQUFPLENBQUM7Q0FDdkIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBc0Isa0JBQWtCLENBQUMsTUFBTSx5Q0FBa0MsRUFBRSxPQUFPLEVBQUUsS0FBSzs7O0dBNEhoRztBQUVEOzs7R0FHRztBQUNILHdCQUFzQixlQUFlLENBQ25DLE1BQU0sR0FBRSxPQUFPLENBQUMsZUFBZSxDQUFNLEVBQ3JDLElBQUksR0FBRTtJQUFFLFNBQVMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztJQUFDLFVBQVUsQ0FBQyxFQUFFLG1CQUFtQixDQUFDO0lBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFBO0NBQU8sRUFDekcsT0FBTyxHQUFFO0lBQUUsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFBO0NBQU8sNkJBVzdEIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-network.d.ts","sourceRoot":"","sources":["../../src/local-network/local-network.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,2BAA2B,CAAC;AASvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAoB,MAAM,yBAAyB,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-network.d.ts","sourceRoot":"","sources":["../../src/local-network/local-network.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,2BAA2B,CAAC;AASvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAoB,MAAM,yBAAyB,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,KAAK,GAAG,EAA2D,MAAM,MAAM,CAAC;AAezF;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,GAAG,EACf,IAAI,GAAE;IACJ,kBAAkB,CAAC,EAAE,EAAE,CAAC;IACxB,4BAA4B,CAAC,EAAE,MAAM,CAAC;CAClC;;;;;;;;;;;;;;;;;;;;;;;GAoBP;AAED,8BAA8B;AAC9B,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,yCAAkC,EAAE,OAAO,EAAE,KAAK;;;GA4HhG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,eAAe,CAAC;IAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAO,EACzG,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,6BAW7D"}
|
|
@@ -18,7 +18,8 @@ import { TestDateProvider } from '@aztec/foundation/timer';
|
|
|
18
18
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
19
19
|
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
20
20
|
import { getConfigEnvVars as getTelemetryClientConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
21
|
-
import {
|
|
21
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
22
|
+
import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
|
|
22
23
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
23
24
|
import { createPublicClient, fallback, http as httpViemTransport } from 'viem';
|
|
24
25
|
import { mnemonicToAccount, privateKeyToAddress } from 'viem/accounts';
|
|
@@ -108,7 +109,6 @@ const localAnvil = foundry;
|
|
|
108
109
|
let watcher;
|
|
109
110
|
if (!aztecNodeConfig.p2pEnabled) {
|
|
110
111
|
({ rollupAddress } = await deployContractsToL1(aztecNodeConfig, aztecNodeConfig.validatorPrivateKeys.getValue()[0], {
|
|
111
|
-
assumeProvenThroughBlockNumber: Number.MAX_SAFE_INTEGER,
|
|
112
112
|
genesisArchiveRoot,
|
|
113
113
|
feeJuicePortalInitialBalance: fundingNeeded
|
|
114
114
|
}));
|
|
@@ -143,23 +143,20 @@ const localAnvil = foundry;
|
|
|
143
143
|
});
|
|
144
144
|
let epochTestSettler;
|
|
145
145
|
if (!aztecNodeConfig.p2pEnabled) {
|
|
146
|
-
epochTestSettler = new EpochTestSettler(cheatcodes, rollupAddress, node.getBlockSource(), {
|
|
146
|
+
epochTestSettler = new EpochTestSettler(cheatcodes, rollupAddress, node.getBlockSource(), logger.createChild('epoch-settler'), {
|
|
147
147
|
pollingIntervalMs: 200
|
|
148
148
|
});
|
|
149
149
|
await epochTestSettler.start();
|
|
150
150
|
}
|
|
151
151
|
if (initialAccounts.length) {
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
152
|
+
const wallet = await EmbeddedWallet.create(node, {
|
|
153
|
+
pxeConfig: {
|
|
154
|
+
proverEnabled: aztecNodeConfig.realProofs
|
|
155
|
+
}
|
|
156
|
+
});
|
|
156
157
|
userLog('Setting up funded test accounts...');
|
|
157
|
-
const accountManagers = await deployFundedSchnorrAccounts(wallet,
|
|
158
|
-
const
|
|
159
|
-
account: manager,
|
|
160
|
-
secretKey: initialAccounts[i].secret
|
|
161
|
-
}));
|
|
162
|
-
const accLogs = await createAccountLogs(accountsWithSecrets, wallet);
|
|
158
|
+
const accountManagers = await deployFundedSchnorrAccounts(wallet, initialAccounts);
|
|
159
|
+
const accLogs = await createAccountLogs(accountManagers, wallet);
|
|
163
160
|
userLog(accLogs.join(''));
|
|
164
161
|
await setupBananaFPC(initialAccounts, wallet, userLog);
|
|
165
162
|
userLog(`SponsoredFPC: ${await getSponsoredFPCAddress()}`);
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { type EthCheatCodes } from '@aztec/ethereum/test';
|
|
2
2
|
import { type EpochNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import type { Logger } from '@aztec/foundation/log';
|
|
3
4
|
import type { EthAddress, L2BlockSource } from '@aztec/stdlib/block';
|
|
4
5
|
export declare class EpochTestSettler {
|
|
5
6
|
private l2BlockSource;
|
|
7
|
+
private log;
|
|
6
8
|
private options;
|
|
7
9
|
private rollupCheatCodes;
|
|
8
10
|
private epochMonitor?;
|
|
9
|
-
constructor(cheatcodes: EthCheatCodes, rollupAddress: EthAddress, l2BlockSource: L2BlockSource, options: {
|
|
11
|
+
constructor(cheatcodes: EthCheatCodes, rollupAddress: EthAddress, l2BlockSource: L2BlockSource, log: Logger, options: {
|
|
10
12
|
pollingIntervalMs: number;
|
|
11
13
|
provingDelayMs?: number;
|
|
12
14
|
});
|
|
@@ -14,4 +16,4 @@ export declare class EpochTestSettler {
|
|
|
14
16
|
stop(): Promise<void>;
|
|
15
17
|
handleEpochReadyToProve(epoch: EpochNumber): Promise<boolean>;
|
|
16
18
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hfdGVzdF9zZXR0bGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9lcG9jaF90ZXN0X3NldHRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBYyxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRSxxQkFBYSxnQkFBZ0I7SUFPekIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsT0FBTztJQVJqQixPQUFPLENBQUMsZ0JBQWdCLENBQW1CO0lBQzNDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBZTtJQUVwQyxZQUNFLFVBQVUsRUFBRSxhQUFhLEVBQ3pCLGFBQWEsRUFBRSxVQUFVLEVBQ2pCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLEdBQUcsRUFBRSxNQUFNLEVBQ1gsT0FBTyxFQUFFO1FBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO1FBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFHeEU7SUFFSyxLQUFLLGtCQUlWO0lBRUssSUFBSSxrQkFFVDtJQUVLLHVCQUF1QixDQUFDLEtBQUssRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQXFDbEU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch_test_settler.d.ts","sourceRoot":"","sources":["../../src/testing/epoch_test_settler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"epoch_test_settler.d.ts","sourceRoot":"","sources":["../../src/testing/epoch_test_settler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGrE,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IARjB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,YACE,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,UAAU,EACjB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAGxE;IAEK,KAAK,kBAIV;IAEK,IAAI,kBAET;IAEK,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAqClE;CACF"}
|
|
@@ -4,11 +4,13 @@ import { EpochMonitor } from '@aztec/prover-node';
|
|
|
4
4
|
import { computeL2ToL1MembershipWitnessFromMessagesInEpoch } from '@aztec/stdlib/messaging';
|
|
5
5
|
export class EpochTestSettler {
|
|
6
6
|
l2BlockSource;
|
|
7
|
+
log;
|
|
7
8
|
options;
|
|
8
9
|
rollupCheatCodes;
|
|
9
10
|
epochMonitor;
|
|
10
|
-
constructor(cheatcodes, rollupAddress, l2BlockSource, options){
|
|
11
|
+
constructor(cheatcodes, rollupAddress, l2BlockSource, log, options){
|
|
11
12
|
this.l2BlockSource = l2BlockSource;
|
|
13
|
+
this.log = log;
|
|
12
14
|
this.options = options;
|
|
13
15
|
this.rollupCheatCodes = new RollupCheatCodes(cheatcodes, {
|
|
14
16
|
rollupAddress
|
|
@@ -25,7 +27,11 @@ export class EpochTestSettler {
|
|
|
25
27
|
await this.epochMonitor?.stop();
|
|
26
28
|
}
|
|
27
29
|
async handleEpochReadyToProve(epoch) {
|
|
28
|
-
const
|
|
30
|
+
const checkpointedBlocks = await this.l2BlockSource.getCheckpointedBlocksForEpoch(epoch);
|
|
31
|
+
const blocks = checkpointedBlocks.map((b)=>b.block);
|
|
32
|
+
this.log.info(`Settling epoch ${epoch} with blocks ${blocks[0]?.header.getBlockNumber()} to ${blocks.at(-1)?.header.getBlockNumber()}`, {
|
|
33
|
+
blocks: blocks.map((b)=>b.toBlockInfo())
|
|
34
|
+
});
|
|
29
35
|
const messagesInEpoch = [];
|
|
30
36
|
let previousSlotNumber = SlotNumber.ZERO;
|
|
31
37
|
let checkpointIndex = -1;
|
|
@@ -42,10 +48,14 @@ export class EpochTestSettler {
|
|
|
42
48
|
if (firstMessage) {
|
|
43
49
|
const { root: outHash } = computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch, firstMessage);
|
|
44
50
|
await this.rollupCheatCodes.insertOutbox(epoch, outHash.toBigInt());
|
|
51
|
+
} else {
|
|
52
|
+
this.log.info(`No L2 to L1 messages in epoch ${epoch}`);
|
|
45
53
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
await this.rollupCheatCodes.markAsProven(
|
|
54
|
+
const lastCheckpoint = checkpointedBlocks.at(-1)?.checkpointNumber;
|
|
55
|
+
if (lastCheckpoint !== undefined) {
|
|
56
|
+
await this.rollupCheatCodes.markAsProven(lastCheckpoint);
|
|
57
|
+
} else {
|
|
58
|
+
this.log.warn(`No checkpoint found for epoch ${epoch}`);
|
|
49
59
|
}
|
|
50
60
|
return true;
|
|
51
61
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.f8ca9b2f3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -28,39 +28,39 @@
|
|
|
28
28
|
"../package.common.json"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
32
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
33
|
-
"@aztec/aztec-faucet": "0.0.1-commit.
|
|
34
|
-
"@aztec/aztec-node": "0.0.1-commit.
|
|
35
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
36
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
37
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
38
|
-
"@aztec/blob-client": "0.0.1-commit.
|
|
39
|
-
"@aztec/bot": "0.0.1-commit.
|
|
40
|
-
"@aztec/builder": "0.0.1-commit.
|
|
41
|
-
"@aztec/cli": "0.0.1-commit.
|
|
42
|
-
"@aztec/constants": "0.0.1-commit.
|
|
43
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
44
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
45
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
46
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
47
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
48
|
-
"@aztec/node-lib": "0.0.1-commit.
|
|
49
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
50
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
51
|
-
"@aztec/p2p": "0.0.1-commit.
|
|
52
|
-
"@aztec/p2p-bootstrap": "0.0.1-commit.
|
|
53
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
54
|
-
"@aztec/prover-client": "0.0.1-commit.
|
|
55
|
-
"@aztec/prover-node": "0.0.1-commit.
|
|
56
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
57
|
-
"@aztec/sequencer-client": "0.0.1-commit.
|
|
58
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
59
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
60
|
-
"@aztec/
|
|
61
|
-
"@aztec/
|
|
62
|
-
"@aztec/
|
|
63
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
31
|
+
"@aztec/accounts": "0.0.1-commit.f8ca9b2f3",
|
|
32
|
+
"@aztec/archiver": "0.0.1-commit.f8ca9b2f3",
|
|
33
|
+
"@aztec/aztec-faucet": "0.0.1-commit.f8ca9b2f3",
|
|
34
|
+
"@aztec/aztec-node": "0.0.1-commit.f8ca9b2f3",
|
|
35
|
+
"@aztec/aztec.js": "0.0.1-commit.f8ca9b2f3",
|
|
36
|
+
"@aztec/bb-prover": "0.0.1-commit.f8ca9b2f3",
|
|
37
|
+
"@aztec/bb.js": "0.0.1-commit.f8ca9b2f3",
|
|
38
|
+
"@aztec/blob-client": "0.0.1-commit.f8ca9b2f3",
|
|
39
|
+
"@aztec/bot": "0.0.1-commit.f8ca9b2f3",
|
|
40
|
+
"@aztec/builder": "0.0.1-commit.f8ca9b2f3",
|
|
41
|
+
"@aztec/cli": "0.0.1-commit.f8ca9b2f3",
|
|
42
|
+
"@aztec/constants": "0.0.1-commit.f8ca9b2f3",
|
|
43
|
+
"@aztec/entrypoints": "0.0.1-commit.f8ca9b2f3",
|
|
44
|
+
"@aztec/ethereum": "0.0.1-commit.f8ca9b2f3",
|
|
45
|
+
"@aztec/foundation": "0.0.1-commit.f8ca9b2f3",
|
|
46
|
+
"@aztec/kv-store": "0.0.1-commit.f8ca9b2f3",
|
|
47
|
+
"@aztec/l1-artifacts": "0.0.1-commit.f8ca9b2f3",
|
|
48
|
+
"@aztec/node-lib": "0.0.1-commit.f8ca9b2f3",
|
|
49
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.f8ca9b2f3",
|
|
50
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.f8ca9b2f3",
|
|
51
|
+
"@aztec/p2p": "0.0.1-commit.f8ca9b2f3",
|
|
52
|
+
"@aztec/p2p-bootstrap": "0.0.1-commit.f8ca9b2f3",
|
|
53
|
+
"@aztec/protocol-contracts": "0.0.1-commit.f8ca9b2f3",
|
|
54
|
+
"@aztec/prover-client": "0.0.1-commit.f8ca9b2f3",
|
|
55
|
+
"@aztec/prover-node": "0.0.1-commit.f8ca9b2f3",
|
|
56
|
+
"@aztec/pxe": "0.0.1-commit.f8ca9b2f3",
|
|
57
|
+
"@aztec/sequencer-client": "0.0.1-commit.f8ca9b2f3",
|
|
58
|
+
"@aztec/stdlib": "0.0.1-commit.f8ca9b2f3",
|
|
59
|
+
"@aztec/telemetry-client": "0.0.1-commit.f8ca9b2f3",
|
|
60
|
+
"@aztec/txe": "0.0.1-commit.f8ca9b2f3",
|
|
61
|
+
"@aztec/validator-ha-signer": "0.0.1-commit.f8ca9b2f3",
|
|
62
|
+
"@aztec/wallets": "0.0.1-commit.f8ca9b2f3",
|
|
63
|
+
"@aztec/world-state": "0.0.1-commit.f8ca9b2f3",
|
|
64
64
|
"@types/chalk": "^2.2.0",
|
|
65
65
|
"abitype": "^0.8.11",
|
|
66
66
|
"chalk": "^5.3.0",
|
package/scripts/aztec.sh
CHANGED
|
@@ -27,7 +27,7 @@ case $cmd in
|
|
|
27
27
|
trap 'kill $server_pid &>/dev/null || true' EXIT
|
|
28
28
|
while ! nc -z 127.0.0.1 8081 &>/dev/null; do sleep 0.2; done
|
|
29
29
|
export NARGO_FOREIGN_CALL_TIMEOUT=300000
|
|
30
|
-
nargo test --silence-warnings
|
|
30
|
+
nargo test --silence-warnings --oracle-resolver http://127.0.0.1:8081 "$@"
|
|
31
31
|
;;
|
|
32
32
|
start)
|
|
33
33
|
if [ "${1:-}" == "--local-network" ]; then
|
|
@@ -19,7 +19,7 @@ import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/pr
|
|
|
19
19
|
import { proverNodeConfigMappings } from '@aztec/prover-node/config';
|
|
20
20
|
import { allPxeConfigMappings } from '@aztec/pxe/config';
|
|
21
21
|
import { sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
|
|
22
|
-
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
22
|
+
import { chainConfigMappings, nodeRpcConfigMappings } from '@aztec/stdlib/config';
|
|
23
23
|
import { telemetryClientConfigMappings } from '@aztec/telemetry-client/config';
|
|
24
24
|
import { worldStateConfigMappings } from '@aztec/world-state/config';
|
|
25
25
|
|
|
@@ -148,6 +148,8 @@ export const aztecStartOptions: { [key: string]: AztecStartOption[] } = {
|
|
|
148
148
|
defaultValue: '',
|
|
149
149
|
env: 'API_PREFIX',
|
|
150
150
|
},
|
|
151
|
+
configToFlag('--rpcMaxBatchSize', nodeRpcConfigMappings.rpcMaxBatchSize),
|
|
152
|
+
configToFlag('--rpcMaxBodySize', nodeRpcConfigMappings.rpcMaxBodySize),
|
|
151
153
|
],
|
|
152
154
|
ETHEREUM: [
|
|
153
155
|
configToFlag('--l1-chain-id', l1ReaderConfigMappings.l1ChainId),
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
initTelemetryClient,
|
|
11
11
|
makeTracedFetch,
|
|
12
12
|
} from '@aztec/telemetry-client';
|
|
13
|
-
import {
|
|
13
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
14
14
|
|
|
15
15
|
import { extractRelevantOptions } from '../util.js';
|
|
16
16
|
import { getVersions } from '../versioning.js';
|
|
@@ -38,7 +38,7 @@ export async function startBot(
|
|
|
38
38
|
const aztecNode = createAztecNodeClient(config.nodeUrl, getVersions(), fetch);
|
|
39
39
|
|
|
40
40
|
const pxeConfig = extractRelevantOptions<PXEConfig & CliPXEOptions>(options, allPxeConfigMappings, 'pxe');
|
|
41
|
-
const wallet = await
|
|
41
|
+
const wallet = await EmbeddedWallet.create(aztecNode, { pxeConfig });
|
|
42
42
|
|
|
43
43
|
const telemetry = await initTelemetryClient(getTelemetryClientConfig());
|
|
44
44
|
await addBot(options, signalHandlers, services, wallet, aztecNode, telemetry, undefined);
|
|
@@ -48,7 +48,7 @@ export async function addBot(
|
|
|
48
48
|
options: any,
|
|
49
49
|
signalHandlers: (() => Promise<void>)[],
|
|
50
50
|
services: NamespacedApiHandlers,
|
|
51
|
-
wallet:
|
|
51
|
+
wallet: EmbeddedWallet,
|
|
52
52
|
aztecNode: AztecNode,
|
|
53
53
|
telemetry: TelemetryClient,
|
|
54
54
|
aztecNodeAdmin?: AztecNodeAdmin,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
initTelemetryClient,
|
|
16
16
|
telemetryClientConfigMappings,
|
|
17
17
|
} from '@aztec/telemetry-client';
|
|
18
|
-
import {
|
|
18
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
19
19
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
20
20
|
|
|
21
21
|
import { createAztecNode } from '../../local-network/index.js';
|
|
@@ -135,7 +135,7 @@ export async function startNode(
|
|
|
135
135
|
const { addBot } = await import('./start_bot.js');
|
|
136
136
|
|
|
137
137
|
const pxeConfig = extractRelevantOptions<PXEConfig & CliPXEOptions>(options, allPxeConfigMappings, 'pxe');
|
|
138
|
-
const wallet = await
|
|
138
|
+
const wallet = await EmbeddedWallet.create(node, { pxeConfig });
|
|
139
139
|
|
|
140
140
|
await addBot(options, signalHandlers, services, wallet, node, telemetry, undefined);
|
|
141
141
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
2
|
import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
|
|
3
|
-
import {
|
|
3
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
4
4
|
import { createStore } from '@aztec/kv-store/lmdb-v2';
|
|
5
5
|
import { type BootnodeConfig, BootstrapNode, bootnodeConfigMappings } from '@aztec/p2p';
|
|
6
6
|
import { emptyChainConfig } from '@aztec/stdlib/config';
|
|
@@ -27,7 +27,7 @@ export async function startP2PBootstrap(
|
|
|
27
27
|
const telemetryConfig = extractRelevantOptions<TelemetryClientConfig>(options, telemetryClientConfigMappings, 'tel');
|
|
28
28
|
const telemetryClient = await initTelemetryClient(telemetryConfig);
|
|
29
29
|
|
|
30
|
-
const store = await createStore('p2p-bootstrap', 1, config
|
|
30
|
+
const store = await createStore('p2p-bootstrap', 1, config);
|
|
31
31
|
const node = new BootstrapNode(store, telemetryClient);
|
|
32
32
|
await node.start(config);
|
|
33
33
|
signalHandlers.push(() => node.stop());
|
|
@@ -4,9 +4,9 @@ import { Agent, makeUndiciFetch } from '@aztec/foundation/json-rpc/undici';
|
|
|
4
4
|
import type { LogFn } from '@aztec/foundation/log';
|
|
5
5
|
import { buildServerCircuitProver } from '@aztec/prover-client';
|
|
6
6
|
import {
|
|
7
|
-
InlineProofStore,
|
|
8
7
|
type ProverAgentConfig,
|
|
9
8
|
ProvingAgent,
|
|
9
|
+
createProofStore,
|
|
10
10
|
createProvingJobBrokerClient,
|
|
11
11
|
proverAgentConfigMappings,
|
|
12
12
|
} from '@aztec/prover-client/broker';
|
|
@@ -55,7 +55,7 @@ export async function startProverAgent(
|
|
|
55
55
|
|
|
56
56
|
const telemetry = await initTelemetryClient(extractRelevantOptions(options, telemetryClientConfigMappings, 'tel'));
|
|
57
57
|
const prover = await buildServerCircuitProver(config, telemetry);
|
|
58
|
-
const proofStore =
|
|
58
|
+
const proofStore = await createProofStore(config.proofStore);
|
|
59
59
|
const agents = times(
|
|
60
60
|
config.proverAgentCount,
|
|
61
61
|
() => new ProvingAgent(broker, proofStore, prover, config.proverAgentProofTypes, config.proverAgentPollIntervalMs),
|
|
@@ -5,6 +5,7 @@ import type { LogFn } from '@aztec/foundation/log';
|
|
|
5
5
|
import {
|
|
6
6
|
type ProverBrokerConfig,
|
|
7
7
|
ProvingJobBrokerSchema,
|
|
8
|
+
ProvingJobBrokerSchemaWithDebug,
|
|
8
9
|
createAndStartProvingBroker,
|
|
9
10
|
proverBrokerConfigMappings,
|
|
10
11
|
} from '@aztec/prover-client/broker';
|
|
@@ -59,7 +60,10 @@ export async function startProverBroker(
|
|
|
59
60
|
);
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
services.proverBroker = [
|
|
63
|
+
services.proverBroker = [
|
|
64
|
+
broker,
|
|
65
|
+
config.proverBrokerDebugReplayEnabled ? ProvingJobBrokerSchemaWithDebug : ProvingJobBrokerSchema,
|
|
66
|
+
];
|
|
63
67
|
signalHandlers.push(() => broker.stop());
|
|
64
68
|
|
|
65
69
|
return { broker, config };
|
package/src/cli/util.ts
CHANGED
|
@@ -2,13 +2,12 @@ import type { AztecNodeConfig } from '@aztec/aztec-node';
|
|
|
2
2
|
import type { AccountManager } from '@aztec/aztec.js/wallet';
|
|
3
3
|
import type { ViemClient } from '@aztec/ethereum/types';
|
|
4
4
|
import type { ConfigMappingsType } from '@aztec/foundation/config';
|
|
5
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
6
|
import { type LogFn, createLogger } from '@aztec/foundation/log';
|
|
8
7
|
import type { SharedNodeConfig } from '@aztec/node-lib/config';
|
|
9
8
|
import type { ProverConfig } from '@aztec/stdlib/interfaces/server';
|
|
10
9
|
import { getTelemetryClient } from '@aztec/telemetry-client/start';
|
|
11
|
-
import type {
|
|
10
|
+
import type { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
12
11
|
|
|
13
12
|
import chalk from 'chalk';
|
|
14
13
|
import type { Command } from 'commander';
|
|
@@ -68,30 +67,19 @@ export const installSignalHandlers = (logFn: LogFn, cb?: Array<() => Promise<voi
|
|
|
68
67
|
/**
|
|
69
68
|
* Creates logs for the initial accounts
|
|
70
69
|
* @param accounts - The initial accounts
|
|
71
|
-
* @param wallet - A
|
|
70
|
+
* @param wallet - A EmbeddedWallet instance to get the registered accounts
|
|
72
71
|
* @returns A string array containing the initial accounts details
|
|
73
72
|
*/
|
|
74
|
-
export async function createAccountLogs(
|
|
75
|
-
accountsWithSecretKeys: {
|
|
76
|
-
/**
|
|
77
|
-
* The account object
|
|
78
|
-
*/
|
|
79
|
-
account: AccountManager;
|
|
80
|
-
/**
|
|
81
|
-
* The secret key of the account
|
|
82
|
-
*/
|
|
83
|
-
secretKey: Fr;
|
|
84
|
-
}[],
|
|
85
|
-
wallet: TestWallet,
|
|
86
|
-
) {
|
|
73
|
+
export async function createAccountLogs(accountManagers: AccountManager[], wallet: EmbeddedWallet) {
|
|
87
74
|
const registeredAccounts = await wallet.getAccounts();
|
|
88
75
|
const accountLogStrings = [`Initial Accounts:\n\n`];
|
|
89
|
-
for (const
|
|
90
|
-
const
|
|
76
|
+
for (const accountManager of accountManagers) {
|
|
77
|
+
const account = await accountManager.getAccount();
|
|
78
|
+
const completeAddress = account.getCompleteAddress();
|
|
91
79
|
if (registeredAccounts.find(a => a.item.equals(completeAddress.address))) {
|
|
92
80
|
accountLogStrings.push(` Address: ${completeAddress.address.toString()}\n`);
|
|
93
81
|
accountLogStrings.push(` Partial Address: ${completeAddress.partialAddress.toString()}\n`);
|
|
94
|
-
accountLogStrings.push(` Secret Key: ${
|
|
82
|
+
accountLogStrings.push(` Secret Key: ${account.getSecretKey().toString()}\n`);
|
|
95
83
|
accountLogStrings.push(
|
|
96
84
|
` Master nullifier public key: ${completeAddress.publicKeys.masterNullifierPublicKey.toString()}\n`,
|
|
97
85
|
);
|
package/src/examples/token.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
|
2
2
|
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
5
|
-
import {
|
|
5
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
6
6
|
|
|
7
7
|
const logger = createLogger('example:token');
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@ const TRANSFER_AMOUNT = 33n;
|
|
|
19
19
|
async function main() {
|
|
20
20
|
logger.info('Running token contract test on HTTP interface.');
|
|
21
21
|
|
|
22
|
-
const wallet = await
|
|
22
|
+
const wallet = await EmbeddedWallet.create(node);
|
|
23
23
|
|
|
24
24
|
// During local network setup we deploy a few accounts. Below we add them to our wallet.
|
|
25
25
|
const [aliceInitialAccountData, bobInitialAccountData] = await getInitialTestAccountsData();
|
|
@@ -32,14 +32,12 @@ async function main() {
|
|
|
32
32
|
logger.info(`Fetched Alice and Bob accounts: ${alice.toString()}, ${bob.toString()}`);
|
|
33
33
|
|
|
34
34
|
logger.info('Deploying Token...');
|
|
35
|
-
const token = await TokenContract.deploy(wallet, alice, 'TokenName', 'TokenSymbol', 18)
|
|
36
|
-
.send({ from: alice })
|
|
37
|
-
.deployed();
|
|
35
|
+
const token = await TokenContract.deploy(wallet, alice, 'TokenName', 'TokenSymbol', 18).send({ from: alice });
|
|
38
36
|
logger.info('Token deployed');
|
|
39
37
|
|
|
40
38
|
// Mint tokens to Alice
|
|
41
39
|
logger.info(`Minting ${ALICE_MINT_BALANCE} more coins to Alice...`);
|
|
42
|
-
await token.methods.mint_to_private(alice, ALICE_MINT_BALANCE).send({ from: alice })
|
|
40
|
+
await token.methods.mint_to_private(alice, ALICE_MINT_BALANCE).send({ from: alice });
|
|
43
41
|
|
|
44
42
|
logger.info(`${ALICE_MINT_BALANCE} tokens were successfully minted by Alice and transferred to private`);
|
|
45
43
|
|
|
@@ -48,7 +46,7 @@ async function main() {
|
|
|
48
46
|
|
|
49
47
|
// We will now transfer tokens from Alice to Bob
|
|
50
48
|
logger.info(`Transferring ${TRANSFER_AMOUNT} tokens from Alice to Bob...`);
|
|
51
|
-
await token.methods.transfer(bob, TRANSFER_AMOUNT).send({ from: alice })
|
|
49
|
+
await token.methods.transfer(bob, TRANSFER_AMOUNT).send({ from: alice });
|
|
52
50
|
|
|
53
51
|
// Check the new balances
|
|
54
52
|
const aliceBalance = await token.methods.balance_of_private(alice).simulate({ from: alice });
|
|
@@ -49,12 +49,16 @@ export async function setupBananaFPC(initialAccounts: InitialAccountData[], wall
|
|
|
49
49
|
const bananaCoinAddress = await getBananaCoinAddress(initialAccounts);
|
|
50
50
|
const admin = getBananaAdmin(initialAccounts);
|
|
51
51
|
const [bananaCoin, fpc] = await Promise.all([
|
|
52
|
-
TokenContract.deploy(wallet, admin, bananaCoinArgs.name, bananaCoinArgs.symbol, bananaCoinArgs.decimal)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
TokenContract.deploy(wallet, admin, bananaCoinArgs.name, bananaCoinArgs.symbol, bananaCoinArgs.decimal).send({
|
|
53
|
+
from: admin,
|
|
54
|
+
contractAddressSalt: BANANA_COIN_SALT,
|
|
55
|
+
universalDeploy: true,
|
|
56
|
+
}),
|
|
57
|
+
FPCContract.deploy(wallet, bananaCoinAddress, admin).send({
|
|
58
|
+
from: admin,
|
|
59
|
+
contractAddressSalt: BANANA_FPC_SALT,
|
|
60
|
+
universalDeploy: true,
|
|
61
|
+
}),
|
|
58
62
|
]);
|
|
59
63
|
|
|
60
64
|
log(`BananaCoin: ${bananaCoin.address}`);
|
|
@@ -24,7 +24,8 @@ import {
|
|
|
24
24
|
getConfigEnvVars as getTelemetryClientConfig,
|
|
25
25
|
initTelemetryClient,
|
|
26
26
|
} from '@aztec/telemetry-client';
|
|
27
|
-
import {
|
|
27
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
28
|
+
import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
|
|
28
29
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
29
30
|
|
|
30
31
|
import { type Hex, createPublicClient, fallback, http as httpViemTransport } from 'viem';
|
|
@@ -51,7 +52,6 @@ export async function deployContractsToL1(
|
|
|
51
52
|
aztecNodeConfig: AztecNodeConfig,
|
|
52
53
|
privateKey: Hex,
|
|
53
54
|
opts: {
|
|
54
|
-
assumeProvenThroughBlockNumber?: number;
|
|
55
55
|
genesisArchiveRoot?: Fr;
|
|
56
56
|
feeJuicePortalInitialBalance?: bigint;
|
|
57
57
|
} = {},
|
|
@@ -149,7 +149,6 @@ export async function createLocalNetwork(config: Partial<LocalNetworkConfig> = {
|
|
|
149
149
|
aztecNodeConfig,
|
|
150
150
|
aztecNodeConfig.validatorPrivateKeys.getValue()[0],
|
|
151
151
|
{
|
|
152
|
-
assumeProvenThroughBlockNumber: Number.MAX_SAFE_INTEGER,
|
|
153
152
|
genesisArchiveRoot,
|
|
154
153
|
feeJuicePortalInitialBalance: fundingNeeded,
|
|
155
154
|
},
|
|
@@ -181,23 +180,22 @@ export async function createLocalNetwork(config: Partial<LocalNetworkConfig> = {
|
|
|
181
180
|
|
|
182
181
|
let epochTestSettler: EpochTestSettler | undefined;
|
|
183
182
|
if (!aztecNodeConfig.p2pEnabled) {
|
|
184
|
-
epochTestSettler = new EpochTestSettler(
|
|
185
|
-
|
|
186
|
-
|
|
183
|
+
epochTestSettler = new EpochTestSettler(
|
|
184
|
+
cheatcodes!,
|
|
185
|
+
rollupAddress!,
|
|
186
|
+
node.getBlockSource(),
|
|
187
|
+
logger.createChild('epoch-settler'),
|
|
188
|
+
{ pollingIntervalMs: 200 },
|
|
189
|
+
);
|
|
187
190
|
await epochTestSettler.start();
|
|
188
191
|
}
|
|
189
192
|
|
|
190
193
|
if (initialAccounts.length) {
|
|
191
|
-
const
|
|
192
|
-
const wallet = await TestWallet.create(node, PXEConfig);
|
|
194
|
+
const wallet = await EmbeddedWallet.create(node, { pxeConfig: { proverEnabled: aztecNodeConfig.realProofs } });
|
|
193
195
|
|
|
194
196
|
userLog('Setting up funded test accounts...');
|
|
195
|
-
const accountManagers = await deployFundedSchnorrAccounts(wallet,
|
|
196
|
-
const
|
|
197
|
-
account: manager,
|
|
198
|
-
secretKey: initialAccounts[i].secret,
|
|
199
|
-
}));
|
|
200
|
-
const accLogs = await createAccountLogs(accountsWithSecrets, wallet);
|
|
197
|
+
const accountManagers = await deployFundedSchnorrAccounts(wallet, initialAccounts);
|
|
198
|
+
const accLogs = await createAccountLogs(accountManagers, wallet);
|
|
201
199
|
userLog(accLogs.join(''));
|
|
202
200
|
|
|
203
201
|
await setupBananaFPC(initialAccounts, wallet, userLog);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
2
2
|
import { type EthCheatCodes, RollupCheatCodes } from '@aztec/ethereum/test';
|
|
3
3
|
import { type EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
|
+
import type { Logger } from '@aztec/foundation/log';
|
|
4
5
|
import { EpochMonitor } from '@aztec/prover-node';
|
|
5
6
|
import type { EthAddress, L2BlockSource } from '@aztec/stdlib/block';
|
|
6
7
|
import { computeL2ToL1MembershipWitnessFromMessagesInEpoch } from '@aztec/stdlib/messaging';
|
|
@@ -13,6 +14,7 @@ export class EpochTestSettler {
|
|
|
13
14
|
cheatcodes: EthCheatCodes,
|
|
14
15
|
rollupAddress: EthAddress,
|
|
15
16
|
private l2BlockSource: L2BlockSource,
|
|
17
|
+
private log: Logger,
|
|
16
18
|
private options: { pollingIntervalMs: number; provingDelayMs?: number },
|
|
17
19
|
) {
|
|
18
20
|
this.rollupCheatCodes = new RollupCheatCodes(cheatcodes, { rollupAddress });
|
|
@@ -29,10 +31,16 @@ export class EpochTestSettler {
|
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
async handleEpochReadyToProve(epoch: EpochNumber): Promise<boolean> {
|
|
32
|
-
const
|
|
34
|
+
const checkpointedBlocks = await this.l2BlockSource.getCheckpointedBlocksForEpoch(epoch);
|
|
35
|
+
const blocks = checkpointedBlocks.map(b => b.block);
|
|
36
|
+
this.log.info(
|
|
37
|
+
`Settling epoch ${epoch} with blocks ${blocks[0]?.header.getBlockNumber()} to ${blocks.at(-1)?.header.getBlockNumber()}`,
|
|
38
|
+
{ blocks: blocks.map(b => b.toBlockInfo()) },
|
|
39
|
+
);
|
|
33
40
|
const messagesInEpoch: Fr[][][][] = [];
|
|
34
41
|
let previousSlotNumber = SlotNumber.ZERO;
|
|
35
42
|
let checkpointIndex = -1;
|
|
43
|
+
|
|
36
44
|
for (const block of blocks) {
|
|
37
45
|
const slotNumber = block.header.globalVariables.slotNumber;
|
|
38
46
|
if (slotNumber !== previousSlotNumber) {
|
|
@@ -47,11 +55,15 @@ export class EpochTestSettler {
|
|
|
47
55
|
if (firstMessage) {
|
|
48
56
|
const { root: outHash } = computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch, firstMessage);
|
|
49
57
|
await this.rollupCheatCodes.insertOutbox(epoch, outHash.toBigInt());
|
|
58
|
+
} else {
|
|
59
|
+
this.log.info(`No L2 to L1 messages in epoch ${epoch}`);
|
|
50
60
|
}
|
|
51
61
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
await this.rollupCheatCodes.markAsProven(
|
|
62
|
+
const lastCheckpoint = checkpointedBlocks.at(-1)?.checkpointNumber;
|
|
63
|
+
if (lastCheckpoint !== undefined) {
|
|
64
|
+
await this.rollupCheatCodes.markAsProven(lastCheckpoint);
|
|
65
|
+
} else {
|
|
66
|
+
this.log.warn(`No checkpoint found for epoch ${epoch}`);
|
|
55
67
|
}
|
|
56
68
|
|
|
57
69
|
return true;
|