@aztec/aztec 0.0.0-test.1 → 0.0.1-commit.5476d83
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/README.md +1 -1
- package/dest/bin/index.d.ts +1 -1
- package/dest/bin/index.js +20 -12
- package/dest/cli/aztec_start_action.d.ts +1 -1
- package/dest/cli/aztec_start_action.d.ts.map +1 -1
- package/dest/cli/aztec_start_action.js +36 -37
- package/dest/cli/aztec_start_options.d.ts +5 -3
- package/dest/cli/aztec_start_options.d.ts.map +1 -1
- package/dest/cli/aztec_start_options.js +142 -210
- package/dest/cli/cli.d.ts +1 -1
- package/dest/cli/cli.d.ts.map +1 -1
- package/dest/cli/cli.js +50 -1
- package/dest/cli/cmds/start_archiver.d.ts +1 -1
- package/dest/cli/cmds/start_archiver.d.ts.map +1 -1
- package/dest/cli/cmds/start_archiver.js +18 -10
- package/dest/cli/cmds/start_blob_sink.d.ts +1 -1
- package/dest/cli/cmds/start_blob_sink.d.ts.map +1 -1
- package/dest/cli/cmds/start_blob_sink.js +17 -1
- package/dest/cli/cmds/start_bot.d.ts +4 -7
- package/dest/cli/cmds/start_bot.d.ts.map +1 -1
- package/dest/cli/cmds/start_bot.js +24 -13
- package/dest/cli/cmds/start_node.d.ts +2 -2
- package/dest/cli/cmds/start_node.d.ts.map +1 -1
- package/dest/cli/cmds/start_node.js +67 -80
- package/dest/cli/cmds/start_p2p_bootstrap.d.ts +1 -1
- package/dest/cli/cmds/start_p2p_bootstrap.d.ts.map +1 -1
- package/dest/cli/cmds/start_p2p_bootstrap.js +9 -4
- package/dest/cli/cmds/start_prover_agent.d.ts +1 -1
- package/dest/cli/cmds/start_prover_agent.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_agent.js +31 -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 +9 -3
- package/dest/cli/cmds/start_prover_node.d.ts +1 -1
- package/dest/cli/cmds/start_prover_node.d.ts.map +1 -1
- package/dest/cli/cmds/start_prover_node.js +43 -45
- package/dest/cli/cmds/start_txe.d.ts +1 -1
- package/dest/cli/index.d.ts +1 -1
- package/dest/cli/preload_crs.d.ts +3 -0
- package/dest/cli/preload_crs.d.ts.map +1 -0
- package/dest/cli/preload_crs.js +6 -0
- package/dest/cli/release_version.d.ts +2 -0
- package/dest/cli/release_version.d.ts.map +1 -0
- package/dest/cli/release_version.js +14 -0
- package/dest/cli/util.d.ts +38 -7
- package/dest/cli/util.d.ts.map +1 -1
- package/dest/cli/util.js +198 -28
- package/dest/cli/versioning.d.ts +1 -1
- package/dest/cli/versioning.js +3 -3
- package/dest/examples/token.d.ts +1 -1
- package/dest/examples/token.js +31 -18
- package/dest/examples/util.d.ts +5 -6
- package/dest/examples/util.d.ts.map +1 -1
- package/dest/examples/util.js +5 -6
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/local-network/banana_fpc.d.ts +10 -0
- package/dest/local-network/banana_fpc.d.ts.map +1 -0
- package/dest/{sandbox → local-network}/banana_fpc.js +19 -21
- package/dest/local-network/index.d.ts +4 -0
- package/dest/local-network/index.d.ts.map +1 -0
- package/dest/local-network/index.js +3 -0
- package/dest/local-network/local-network.d.ts +74 -0
- package/dest/local-network/local-network.d.ts.map +1 -0
- package/dest/{sandbox/sandbox.js → local-network/local-network.js} +59 -57
- package/dest/local-network/sponsored_fpc.d.ts +5 -0
- package/dest/local-network/sponsored_fpc.d.ts.map +1 -0
- package/dest/local-network/sponsored_fpc.js +18 -0
- package/dest/mnemonic.d.ts +1 -1
- package/dest/splash.d.ts +1 -1
- package/dest/testing/anvil_test_watcher.d.ts +34 -0
- package/dest/testing/anvil_test_watcher.d.ts.map +1 -0
- package/dest/testing/anvil_test_watcher.js +144 -0
- package/dest/testing/cheat_codes.d.ts +41 -0
- package/dest/testing/cheat_codes.d.ts.map +1 -0
- package/dest/testing/cheat_codes.js +62 -0
- package/dest/testing/index.d.ts +4 -0
- package/dest/testing/index.d.ts.map +1 -0
- package/dest/testing/index.js +3 -0
- package/package.json +51 -44
- package/src/bin/index.ts +24 -12
- package/src/cli/aztec_start_action.ts +32 -35
- package/src/cli/aztec_start_options.ts +161 -210
- package/src/cli/cli.ts +54 -1
- package/src/cli/cmds/start_archiver.ts +19 -13
- package/src/cli/cmds/start_blob_sink.ts +27 -1
- package/src/cli/cmds/start_bot.ts +35 -12
- package/src/cli/cmds/start_node.ts +90 -85
- package/src/cli/cmds/start_p2p_bootstrap.ts +12 -4
- package/src/cli/cmds/start_prover_agent.ts +22 -2
- package/src/cli/cmds/start_prover_broker.ts +23 -3
- package/src/cli/cmds/start_prover_node.ts +53 -50
- package/src/cli/preload_crs.ts +7 -0
- package/src/cli/release_version.ts +21 -0
- package/src/cli/util.ts +208 -34
- package/src/cli/versioning.ts +3 -3
- package/src/examples/token.ts +23 -19
- package/src/examples/util.ts +6 -8
- package/src/index.ts +5 -6
- package/src/{sandbox → local-network}/banana_fpc.ts +20 -25
- package/src/local-network/index.ts +7 -0
- package/src/{sandbox/sandbox.ts → local-network/local-network.ts} +81 -68
- package/src/local-network/sponsored_fpc.ts +26 -0
- package/src/testing/anvil_test_watcher.ts +166 -0
- package/src/testing/cheat_codes.ts +78 -0
- package/src/testing/index.ts +3 -0
- package/dest/cli/chain_l2_config.d.ts +0 -19
- package/dest/cli/chain_l2_config.d.ts.map +0 -1
- package/dest/cli/chain_l2_config.js +0 -56
- package/dest/cli/cmds/start_faucet.d.ts +0 -4
- package/dest/cli/cmds/start_faucet.d.ts.map +0 -1
- package/dest/cli/cmds/start_faucet.js +0 -20
- package/dest/cli/cmds/start_pxe.d.ts +0 -16
- package/dest/cli/cmds/start_pxe.d.ts.map +0 -1
- package/dest/cli/cmds/start_pxe.js +0 -95
- package/dest/cli/get_l1_config.d.ts +0 -7
- package/dest/cli/get_l1_config.d.ts.map +0 -1
- package/dest/cli/get_l1_config.js +0 -13
- package/dest/sandbox/banana_fpc.d.ts +0 -11
- package/dest/sandbox/banana_fpc.d.ts.map +0 -1
- package/dest/sandbox/index.d.ts +0 -5
- package/dest/sandbox/index.d.ts.map +0 -1
- package/dest/sandbox/index.js +0 -4
- package/dest/sandbox/sandbox.d.ts +0 -76
- package/dest/sandbox/sandbox.d.ts.map +0 -1
- package/dest/sandbox/sponsored_fee_payment_method.d.ts +0 -23
- package/dest/sandbox/sponsored_fee_payment_method.d.ts.map +0 -1
- package/dest/sandbox/sponsored_fee_payment_method.js +0 -36
- package/dest/sandbox/sponsored_fpc.d.ts +0 -6
- package/dest/sandbox/sponsored_fpc.d.ts.map +0 -1
- package/dest/sandbox/sponsored_fpc.js +0 -26
- package/src/cli/chain_l2_config.ts +0 -74
- package/src/cli/cmds/start_faucet.ts +0 -34
- package/src/cli/cmds/start_pxe.ts +0 -129
- package/src/cli/get_l1_config.ts +0 -18
- package/src/sandbox/index.ts +0 -5
- package/src/sandbox/sponsored_fee_payment_method.ts +0 -46
- package/src/sandbox/sponsored_fpc.ts +0 -38
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
2
|
+
import { Fr } from '@aztec/aztec.js/fields';
|
|
3
|
+
import { getSponsoredFPCAddress } from '@aztec/cli/cli-utils';
|
|
4
|
+
import { getL1Config } from '@aztec/cli/config';
|
|
5
|
+
import { getPublicClient } from '@aztec/ethereum';
|
|
3
6
|
import { Agent, makeUndiciFetch } from '@aztec/foundation/json-rpc/undici';
|
|
4
7
|
import { ProvingJobConsumerSchema, createProvingJobBrokerClient } from '@aztec/prover-client/broker';
|
|
5
8
|
import { createProverNode, getProverNodeConfigFromEnv, proverNodeConfigMappings } from '@aztec/prover-node';
|
|
6
|
-
import { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
7
9
|
import { P2PApiSchema, ProverNodeApiSchema } from '@aztec/stdlib/interfaces/server';
|
|
8
10
|
import { initTelemetryClient, makeTracedFetch, telemetryClientConfigMappings } from '@aztec/telemetry-client';
|
|
9
11
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
10
|
-
import {
|
|
11
|
-
import { getL1Config } from '../get_l1_config.js';
|
|
12
|
-
import { extractRelevantOptions } from '../util.js';
|
|
12
|
+
import { extractRelevantOptions, preloadCrsDataForVerifying, setupUpdateMonitor } from '../util.js';
|
|
13
13
|
import { getVersions } from '../versioning.js';
|
|
14
14
|
import { startProverBroker } from './start_prover_broker.js';
|
|
15
15
|
export async function startProverNode(options, signalHandlers, services, userLog) {
|
|
@@ -21,48 +21,45 @@ export async function startProverNode(options, signalHandlers, services, userLog
|
|
|
21
21
|
...getProverNodeConfigFromEnv(),
|
|
22
22
|
...extractRelevantOptions(options, proverNodeConfigMappings, 'proverNode')
|
|
23
23
|
};
|
|
24
|
-
if (!
|
|
25
|
-
|
|
26
|
-
process.exit(1);
|
|
27
|
-
}
|
|
28
|
-
if (!proverConfig.publisherPrivateKey || proverConfig.publisherPrivateKey === NULL_KEY) {
|
|
29
|
-
if (!options.l1Mnemonic) {
|
|
30
|
-
userLog(`--l1-mnemonic is required to start a Prover Node without --node.publisherPrivateKey`);
|
|
31
|
-
process.exit(1);
|
|
32
|
-
}
|
|
33
|
-
const hdAccount = mnemonicToAccount(options.l1Mnemonic);
|
|
34
|
-
const privKey = hdAccount.getHdKey().privateKey;
|
|
35
|
-
proverConfig.publisherPrivateKey = `0x${Buffer.from(privKey).toString('hex')}`;
|
|
36
|
-
}
|
|
37
|
-
// TODO(palla/prover-node) L1 contract addresses should not silently default to zero,
|
|
38
|
-
// they should be undefined if not set and fail loudly.
|
|
39
|
-
// Load l1 contract addresses from aztec node if not set.
|
|
40
|
-
const isRollupAddressSet = proverConfig.l1Contracts?.rollupAddress && !proverConfig.l1Contracts.rollupAddress.isZero();
|
|
41
|
-
const nodeUrl = proverConfig.nodeUrl ?? proverConfig.proverCoordinationNodeUrl;
|
|
42
|
-
if (nodeUrl && !isRollupAddressSet) {
|
|
43
|
-
userLog(`Loading L1 contract addresses from aztec node at ${nodeUrl}`);
|
|
44
|
-
proverConfig.l1Contracts = await createAztecNodeClient(nodeUrl).getL1ContractAddresses();
|
|
24
|
+
if (!proverConfig.l1Contracts.registryAddress || proverConfig.l1Contracts.registryAddress.isZero()) {
|
|
25
|
+
throw new Error('L1 registry address is required to start a Prover Node');
|
|
45
26
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
27
|
+
const followsCanonicalRollup = typeof proverConfig.rollupVersion !== 'number';
|
|
28
|
+
const { addresses, config } = await getL1Config(proverConfig.l1Contracts.registryAddress, proverConfig.l1RpcUrls, proverConfig.l1ChainId, proverConfig.rollupVersion);
|
|
29
|
+
process.env.ROLLUP_CONTRACT_ADDRESS ??= addresses.rollupAddress.toString();
|
|
30
|
+
proverConfig.l1Contracts = addresses;
|
|
31
|
+
proverConfig = {
|
|
32
|
+
...proverConfig,
|
|
33
|
+
...config
|
|
34
|
+
};
|
|
35
|
+
const testAccounts = proverConfig.testAccounts ? (await getInitialTestAccountsData()).map((a)=>a.address) : [];
|
|
36
|
+
const sponsoredFPCAccounts = proverConfig.sponsoredFPC ? [
|
|
37
|
+
await getSponsoredFPCAddress()
|
|
38
|
+
] : [];
|
|
39
|
+
const initialFundedAccounts = testAccounts.concat(sponsoredFPCAccounts);
|
|
40
|
+
userLog(`Initial funded accounts: ${initialFundedAccounts.map((a)=>a.toString()).join(', ')}`);
|
|
41
|
+
const { genesisArchiveRoot, prefilledPublicData } = await getGenesisValues(initialFundedAccounts);
|
|
42
|
+
userLog(`Genesis archive root: ${genesisArchiveRoot.toString()}`);
|
|
43
|
+
if (!Fr.fromHexString(config.genesisArchiveTreeRoot).equals(genesisArchiveRoot)) {
|
|
44
|
+
throw new Error(`The computed genesis archive tree root ${genesisArchiveRoot} does not match the expected genesis archive tree root ${config.genesisArchiveTreeRoot} for the rollup deployed at ${addresses.rollupAddress}`);
|
|
57
45
|
}
|
|
58
46
|
const telemetry = initTelemetryClient(extractRelevantOptions(options, telemetryClientConfigMappings, 'tel'));
|
|
59
47
|
let broker;
|
|
60
48
|
if (proverConfig.proverBrokerUrl) {
|
|
61
|
-
// at 1TPS we'd enqueue ~1k
|
|
62
|
-
// set a lower
|
|
49
|
+
// at 1TPS we'd enqueue ~1k chonk verifier proofs and ~1k AVM proofs immediately
|
|
50
|
+
// set a lower connection limit such that we don't overload the server
|
|
51
|
+
// Keep retrying up to 30s
|
|
63
52
|
const fetch = makeTracedFetch([
|
|
64
53
|
1,
|
|
65
54
|
2,
|
|
55
|
+
3,
|
|
56
|
+
3,
|
|
57
|
+
3,
|
|
58
|
+
3,
|
|
59
|
+
3,
|
|
60
|
+
3,
|
|
61
|
+
3,
|
|
62
|
+
3,
|
|
66
63
|
3
|
|
67
64
|
], false, makeUndiciFetch(new Agent({
|
|
68
65
|
connections: 100
|
|
@@ -77,8 +74,7 @@ export async function startProverNode(options, signalHandlers, services, userLog
|
|
|
77
74
|
if (proverConfig.proverAgentCount === 0) {
|
|
78
75
|
userLog(`Running prover node without local prover agent. Connect one or more prover agents to this node or pass --proverAgent.proverAgentCount`);
|
|
79
76
|
}
|
|
80
|
-
|
|
81
|
-
const { prefilledPublicData } = await getGenesisValues(initialFundedAccounts.map((a)=>a.address));
|
|
77
|
+
await preloadCrsDataForVerifying(proverConfig, userLog);
|
|
82
78
|
const proverNode = await createProverNode(proverConfig, {
|
|
83
79
|
telemetry,
|
|
84
80
|
broker
|
|
@@ -89,8 +85,7 @@ export async function startProverNode(options, signalHandlers, services, userLog
|
|
|
89
85
|
proverNode,
|
|
90
86
|
ProverNodeApiSchema
|
|
91
87
|
];
|
|
92
|
-
|
|
93
|
-
if (p2p) {
|
|
88
|
+
if (proverNode.getP2P()) {
|
|
94
89
|
services.p2p = [
|
|
95
90
|
proverNode.getP2P(),
|
|
96
91
|
P2PApiSchema
|
|
@@ -103,7 +98,10 @@ export async function startProverNode(options, signalHandlers, services, userLog
|
|
|
103
98
|
];
|
|
104
99
|
}
|
|
105
100
|
signalHandlers.push(proverNode.stop.bind(proverNode));
|
|
106
|
-
proverNode.start();
|
|
101
|
+
await proverNode.start();
|
|
102
|
+
if (proverConfig.autoUpdate !== 'disabled' && proverConfig.autoUpdateUrl) {
|
|
103
|
+
await setupUpdateMonitor(proverConfig.autoUpdate, new URL(proverConfig.autoUpdateUrl), followsCanonicalRollup, getPublicClient(proverConfig), proverConfig.l1Contracts.registryAddress, signalHandlers);
|
|
104
|
+
}
|
|
107
105
|
return {
|
|
108
106
|
config: proverConfig
|
|
109
107
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Logger } from '@aztec/foundation/log';
|
|
2
2
|
export declare function startTXE(options: any, debugLogger: Logger): Promise<void>;
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfdHhlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpL2NtZHMvc3RhcnRfdHhlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3BELHdCQUFzQixRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFVL0QifQ==
|
package/dest/cli/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './cli.js';
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUMifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
2
|
+
export declare function preloadCrs(_options: any, userLog: LogFn, _debugLogger: Logger): Promise<void>;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZF9jcnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvcHJlbG9hZF9jcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTNELHdCQUFzQixVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUVuRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload_crs.d.ts","sourceRoot":"","sources":["../../src/cli/preload_crs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,wBAAsB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iBAEnF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const getCliVersion: () => any;
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3JlbGVhc2VfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxlQUFPLE1BQU0sYUFBYSxXQWV6QixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release_version.d.ts","sourceRoot":"","sources":["../../src/cli/release_version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,WAezB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { fileURLToPath } from '@aztec/foundation/url';
|
|
2
|
+
import { readFileSync } from 'fs';
|
|
3
|
+
import { dirname, resolve } from 'path';
|
|
4
|
+
export const getCliVersion = ()=>{
|
|
5
|
+
const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json');
|
|
6
|
+
const cliVersion = JSON.parse(readFileSync(packageJsonPath).toString()).version;
|
|
7
|
+
// If the version is 0.1.0, this is a placeholder version and we are in a docker container; query release please for the latest version
|
|
8
|
+
if (cliVersion === '0.1.0') {
|
|
9
|
+
const releasePleasePath = resolve(dirname(fileURLToPath(import.meta.url)), '../../../../.release-please-manifest.json');
|
|
10
|
+
const releaseVersion = JSON.parse(readFileSync(releasePleasePath).toString())['.'];
|
|
11
|
+
return releaseVersion;
|
|
12
|
+
}
|
|
13
|
+
return cliVersion;
|
|
14
|
+
};
|
package/dest/cli/util.d.ts
CHANGED
|
@@ -1,14 +1,32 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AztecNodeConfig } from '@aztec/aztec-node';
|
|
2
|
+
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
3
|
+
import { Fr } from '@aztec/aztec.js/fields';
|
|
4
|
+
import { AccountManager } from '@aztec/aztec.js/wallet';
|
|
5
|
+
import type { ViemClient } from '@aztec/ethereum';
|
|
2
6
|
import type { ConfigMappingsType } from '@aztec/foundation/config';
|
|
3
|
-
import type
|
|
4
|
-
import type {
|
|
7
|
+
import { type LogFn } from '@aztec/foundation/log';
|
|
8
|
+
import type { SharedNodeConfig } from '@aztec/node-lib/config';
|
|
9
|
+
import type { ProverConfig } from '@aztec/stdlib/interfaces/server';
|
|
10
|
+
import type { TestWallet } from '@aztec/test-wallet/server';
|
|
5
11
|
import type { Command } from 'commander';
|
|
6
12
|
import { type AztecStartOption } from './aztec_start_options.js';
|
|
7
|
-
export declare const
|
|
13
|
+
export declare const enum ExitCode {
|
|
14
|
+
SUCCESS = 0,
|
|
15
|
+
ERROR = 1,
|
|
16
|
+
ROLLUP_UPGRADE = 78,
|
|
17
|
+
VERSION_UPGRADE = 79,
|
|
18
|
+
SIGHUP = 129,
|
|
19
|
+
SIGINT = 130,
|
|
20
|
+
SIGQUIT = 131,
|
|
21
|
+
SIGTERM = 143
|
|
22
|
+
}
|
|
23
|
+
export declare function shutdown(logFn: LogFn, exitCode: ExitCode, cb?: Array<() => Promise<void>>): Promise<never>;
|
|
24
|
+
export declare function isShuttingDown(): boolean;
|
|
25
|
+
export declare const installSignalHandlers: (logFn: LogFn, cb?: (() => Promise<void>)[] | undefined) => void;
|
|
8
26
|
/**
|
|
9
27
|
* Creates logs for the initial accounts
|
|
10
28
|
* @param accounts - The initial accounts
|
|
11
|
-
* @param
|
|
29
|
+
* @param wallet - A TestWallet instance to get the registered accounts
|
|
12
30
|
* @returns A string array containing the initial accounts details
|
|
13
31
|
*/
|
|
14
32
|
export declare function createAccountLogs(accountsWithSecretKeys: {
|
|
@@ -20,7 +38,7 @@ export declare function createAccountLogs(accountsWithSecretKeys: {
|
|
|
20
38
|
* The secret key of the account
|
|
21
39
|
*/
|
|
22
40
|
secretKey: Fr;
|
|
23
|
-
}[],
|
|
41
|
+
}[], wallet: TestWallet): Promise<string[]>;
|
|
24
42
|
export declare function getMaxLengths(sections: {
|
|
25
43
|
[key: string]: AztecStartOption[];
|
|
26
44
|
}): [number, number];
|
|
@@ -43,4 +61,17 @@ export declare const extractNamespacedOptions: (options: Record<string, any>, na
|
|
|
43
61
|
* @returns Key-value map of relevant options.
|
|
44
62
|
*/
|
|
45
63
|
export declare const extractRelevantOptions: <T>(options: Record<string, any>, mappings: ConfigMappingsType<T>, namespace: string) => T;
|
|
46
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Downloads just enough points to be able to verify Chonk proofs.
|
|
66
|
+
* @param opts - Whether proof are to be verifier
|
|
67
|
+
* @param log - Logging function
|
|
68
|
+
*/
|
|
69
|
+
export declare function preloadCrsDataForVerifying({ realProofs }: Pick<AztecNodeConfig, 'realProofs'>, log: LogFn): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Downloads enough points to be able to prove every server-side circuit
|
|
72
|
+
* @param opts - Whether real proof are to be generated
|
|
73
|
+
* @param log - Logging function
|
|
74
|
+
*/
|
|
75
|
+
export declare function preloadCrsDataForServerSideProving({ realProofs }: Pick<ProverConfig, 'realProofs'>, log: LogFn): Promise<void>;
|
|
76
|
+
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHcEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHNUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFxQixNQUFNLDBCQUEwQixDQUFDO0FBRXBGLDBCQUFrQixRQUFRO0lBQ3hCLE9BQU8sSUFBSTtJQUNYLEtBQUssSUFBSTtJQUNULGNBQWMsS0FBSztJQUNuQixlQUFlLEtBQUs7SUFFcEIsTUFBTSxNQUFNO0lBQ1osTUFBTSxNQUFNO0lBQ1osT0FBTyxNQUFNO0lBQ2IsT0FBTyxNQUFNO0NBQ2Q7QUFHRCx3QkFBZ0IsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBZ0IxRztBQUVELHdCQUFnQixjQUFjLElBQUksT0FBTyxDQUV4QztBQUVELGVBQU8sTUFBTSxxQkFBcUIsa0VBYWpDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILHdCQUFzQixpQkFBaUIsQ0FDckMsc0JBQXNCLEVBQUU7SUFDdEI7O09BRUc7SUFDSCxPQUFPLEVBQUUsY0FBYyxDQUFDO0lBQ3hCOztPQUVHO0lBQ0gsU0FBUyxFQUFFLEVBQUUsQ0FBQztDQUNmLEVBQUUsRUFDSCxNQUFNLEVBQUUsVUFBVSxxQkF5Qm5CO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxRQUFRLEVBQUU7SUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtDQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBaUIvRjtBQUVELHdCQUFnQixjQUFjLENBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsWUFBWSxFQUFFLE1BQU0sRUFDcEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxlQUFlLEVBQUUsTUFBTSxFQUN2QixnQkFBZ0IsRUFBRSxNQUFNLEdBQ3ZCLE1BQU0sQ0FLUjtBQWlDRCxlQUFPLE1BQU0sVUFBVSxxREFTdEIsQ0FBQztBQUVGLGVBQU8sTUFBTSx1QkFBdUIsY0F5Qm5DLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSx3QkFBd0IsMEVBU3BDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQixHQUFJLENBQUMsd0ZBa0N2QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHdCQUFzQiwwQkFBMEIsQ0FDOUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxFQUNuRCxHQUFHLEVBQUUsS0FBSyxHQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLZjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0Isa0NBQWtDLENBQ3RELEVBQUUsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsRUFDaEQsR0FBRyxFQUFFLEtBQUssR0FDVCxPQUFPLENBQUMsSUFBSSxDQUFDLENBS2Y7QUFFRCx3QkFBc0Isa0JBQWtCLENBQ3RDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsRUFDOUMsZUFBZSxFQUFFLEdBQUcsRUFDcEIsc0JBQXNCLEVBQUUsT0FBTyxFQUMvQixZQUFZLEVBQUUsVUFBVSxFQUN4Qix1QkFBdUIsRUFBRSxVQUFVLEVBQ25DLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDMUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxpQkE4RXJEIn0=
|
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,cAAc,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/cli/util.ts"],"names":[],"mappings":"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"}
|
package/dest/cli/util.js
CHANGED
|
@@ -1,33 +1,79 @@
|
|
|
1
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { UpdateChecker } from '@aztec/stdlib/update-checker';
|
|
3
|
+
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
1
4
|
import chalk from 'chalk';
|
|
2
5
|
import { aztecStartOptions } from './aztec_start_options.js';
|
|
6
|
+
export var ExitCode = /*#__PURE__*/ function(ExitCode) {
|
|
7
|
+
ExitCode[ExitCode["SUCCESS"] = 0] = "SUCCESS";
|
|
8
|
+
ExitCode[ExitCode["ERROR"] = 1] = "ERROR";
|
|
9
|
+
ExitCode[ExitCode["ROLLUP_UPGRADE"] = 78] = "ROLLUP_UPGRADE";
|
|
10
|
+
ExitCode[ExitCode["VERSION_UPGRADE"] = 79] = "VERSION_UPGRADE";
|
|
11
|
+
// 128 + int(SIGNAL)
|
|
12
|
+
ExitCode[ExitCode["SIGHUP"] = 129] = "SIGHUP";
|
|
13
|
+
ExitCode[ExitCode["SIGINT"] = 130] = "SIGINT";
|
|
14
|
+
ExitCode[ExitCode["SIGQUIT"] = 131] = "SIGQUIT";
|
|
15
|
+
ExitCode[ExitCode["SIGTERM"] = 143] = "SIGTERM";
|
|
16
|
+
return ExitCode;
|
|
17
|
+
}({});
|
|
18
|
+
let shutdownPromise;
|
|
19
|
+
export function shutdown(logFn, exitCode, cb) {
|
|
20
|
+
if (shutdownPromise) {
|
|
21
|
+
logFn('Already shutting down.');
|
|
22
|
+
return shutdownPromise;
|
|
23
|
+
}
|
|
24
|
+
logFn('Shutting down...', {
|
|
25
|
+
exitCode
|
|
26
|
+
});
|
|
27
|
+
if (cb) {
|
|
28
|
+
shutdownPromise = Promise.allSettled(cb).then(()=>process.exit(exitCode));
|
|
29
|
+
} else {
|
|
30
|
+
// synchronously shuts down the process
|
|
31
|
+
// no need to set shutdownPromise on this branch of the if statement because no more code will be executed
|
|
32
|
+
process.exit(exitCode);
|
|
33
|
+
}
|
|
34
|
+
return shutdownPromise;
|
|
35
|
+
}
|
|
36
|
+
export function isShuttingDown() {
|
|
37
|
+
return shutdownPromise !== undefined;
|
|
38
|
+
}
|
|
3
39
|
export const installSignalHandlers = (logFn, cb)=>{
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
40
|
+
const signals = [
|
|
41
|
+
[
|
|
42
|
+
'SIGINT',
|
|
43
|
+
130
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
'SIGTERM',
|
|
47
|
+
143
|
|
48
|
+
],
|
|
49
|
+
[
|
|
50
|
+
'SIGHUP',
|
|
51
|
+
129
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
'SIQUIT',
|
|
55
|
+
131
|
|
56
|
+
]
|
|
57
|
+
];
|
|
58
|
+
for (const [signal, exitCode] of signals){
|
|
59
|
+
process.removeAllListeners(signal);
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
61
|
+
process.once(signal, ()=>shutdown(logFn, exitCode, cb));
|
|
62
|
+
}
|
|
17
63
|
};
|
|
18
64
|
/**
|
|
19
65
|
* Creates logs for the initial accounts
|
|
20
66
|
* @param accounts - The initial accounts
|
|
21
|
-
* @param
|
|
67
|
+
* @param wallet - A TestWallet instance to get the registered accounts
|
|
22
68
|
* @returns A string array containing the initial accounts details
|
|
23
|
-
*/ export async function createAccountLogs(accountsWithSecretKeys,
|
|
24
|
-
const registeredAccounts = await
|
|
69
|
+
*/ export async function createAccountLogs(accountsWithSecretKeys, wallet) {
|
|
70
|
+
const registeredAccounts = await wallet.getAccounts();
|
|
25
71
|
const accountLogStrings = [
|
|
26
72
|
`Initial Accounts:\n\n`
|
|
27
73
|
];
|
|
28
74
|
for (const accountWithSecretKey of accountsWithSecretKeys){
|
|
29
75
|
const completeAddress = await accountWithSecretKey.account.getCompleteAddress();
|
|
30
|
-
if (registeredAccounts.find((a)=>a.equals(completeAddress))) {
|
|
76
|
+
if (registeredAccounts.find((a)=>a.item.equals(completeAddress.address))) {
|
|
31
77
|
accountLogStrings.push(` Address: ${completeAddress.address.toString()}\n`);
|
|
32
78
|
accountLogStrings.push(` Partial Address: ${completeAddress.partialAddress.toString()}\n`);
|
|
33
79
|
accountLogStrings.push(` Secret Key: ${accountWithSecretKey.secretKey.toString()}\n`);
|
|
@@ -65,22 +111,34 @@ export function formatHelpLine(option, defaultValue, envVar, maxOptionLength, ma
|
|
|
65
111
|
}
|
|
66
112
|
const getDefaultOrEnvValue = (opt)=>{
|
|
67
113
|
let val;
|
|
68
|
-
// if the option is set in the environment, use that
|
|
69
|
-
if (opt.
|
|
70
|
-
val = process.env[opt.
|
|
71
|
-
|
|
114
|
+
// if the option is set in the environment, use that
|
|
115
|
+
if (opt.env) {
|
|
116
|
+
val = process.env[opt.env];
|
|
117
|
+
}
|
|
118
|
+
// if we have fallback env vars, check those
|
|
119
|
+
if (!val && opt.fallback && opt.fallback.length > 0) {
|
|
120
|
+
for (const fallback of opt.fallback){
|
|
121
|
+
val = process.env[fallback];
|
|
122
|
+
if (val) {
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// if we have a value, optionally parse it and return
|
|
128
|
+
if (val) {
|
|
129
|
+
if (opt.parseVal) {
|
|
72
130
|
return opt.parseVal(val);
|
|
73
131
|
}
|
|
74
|
-
|
|
75
|
-
} else if (opt.defaultValue) {
|
|
76
|
-
|
|
132
|
+
return val;
|
|
133
|
+
} else if (opt.defaultValue !== undefined) {
|
|
134
|
+
return opt.defaultValue;
|
|
77
135
|
}
|
|
78
|
-
return
|
|
136
|
+
return undefined;
|
|
79
137
|
};
|
|
80
138
|
// Function to add options dynamically
|
|
81
139
|
export const addOptions = (cmd, options)=>{
|
|
82
140
|
options.forEach((opt)=>{
|
|
83
|
-
cmd.option(opt.flag, `${opt.description} (default: ${opt.defaultValue}) ($${opt.
|
|
141
|
+
cmd.option(opt.flag, `${opt.description} (default: ${opt.defaultValue}) ($${opt.env})`, opt.parseVal ? opt.parseVal : (val)=>val, getDefaultOrEnvValue(opt));
|
|
84
142
|
});
|
|
85
143
|
};
|
|
86
144
|
export const printAztecStartHelpText = ()=>{
|
|
@@ -92,8 +150,8 @@ export const printAztecStartHelpText = ()=>{
|
|
|
92
150
|
helpTextLines.push(chalk.bold.blue(` ${category}`));
|
|
93
151
|
helpTextLines.push('');
|
|
94
152
|
aztecStartOptions[category].forEach((opt)=>{
|
|
95
|
-
const defaultValueText = opt.defaultValue ? `(default: ${opt.printDefault ? opt.printDefault(opt.defaultValue) : opt.defaultValue})` : '';
|
|
96
|
-
const envVarText = opt.
|
|
153
|
+
const defaultValueText = opt.defaultValue || Array.isArray(opt.defaultValue) && opt.defaultValue.length > 0 ? `(default: ${opt.printDefault ? opt.printDefault(opt.defaultValue) : opt.defaultValue})` : '';
|
|
154
|
+
const envVarText = opt.env ? `($${opt.env})` : '';
|
|
97
155
|
const flagText = `${opt.flag}`;
|
|
98
156
|
const paddedText = formatHelpLine(flagText, defaultValueText, envVarText, maxFlagLength, maxDefaultLength);
|
|
99
157
|
helpTextLines.push(` ${paddedText}`);
|
|
@@ -152,3 +210,115 @@ export const printAztecStartHelpText = ()=>{
|
|
|
152
210
|
});
|
|
153
211
|
return relevantOptions;
|
|
154
212
|
};
|
|
213
|
+
/**
|
|
214
|
+
* Downloads just enough points to be able to verify Chonk proofs.
|
|
215
|
+
* @param opts - Whether proof are to be verifier
|
|
216
|
+
* @param log - Logging function
|
|
217
|
+
*/ export async function preloadCrsDataForVerifying({ realProofs }, log) {
|
|
218
|
+
if (realProofs) {
|
|
219
|
+
const { Crs, GrumpkinCrs } = await import('@aztec/bb.js');
|
|
220
|
+
await Promise.all([
|
|
221
|
+
Crs.new(2 ** 1, undefined, log),
|
|
222
|
+
GrumpkinCrs.new(2 ** 16 + 1, undefined, log)
|
|
223
|
+
]);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Downloads enough points to be able to prove every server-side circuit
|
|
228
|
+
* @param opts - Whether real proof are to be generated
|
|
229
|
+
* @param log - Logging function
|
|
230
|
+
*/ export async function preloadCrsDataForServerSideProving({ realProofs }, log) {
|
|
231
|
+
if (realProofs) {
|
|
232
|
+
const { Crs, GrumpkinCrs } = await import('@aztec/bb.js');
|
|
233
|
+
await Promise.all([
|
|
234
|
+
Crs.new(2 ** 25 + 1, undefined, log),
|
|
235
|
+
GrumpkinCrs.new(2 ** 18 + 1, undefined, log)
|
|
236
|
+
]);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
export async function setupUpdateMonitor(autoUpdateMode, updatesLocation, followsCanonicalRollup, publicClient, registryContractAddress, signalHandlers, updateNodeConfig) {
|
|
240
|
+
const logger = createLogger('update-check');
|
|
241
|
+
const checker = await UpdateChecker.new({
|
|
242
|
+
baseURL: updatesLocation,
|
|
243
|
+
publicClient,
|
|
244
|
+
registryContractAddress
|
|
245
|
+
});
|
|
246
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
247
|
+
checker.on('newRollupVersion', async ({ latestVersion, currentVersion })=>{
|
|
248
|
+
if (isShuttingDown()) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
// if node follows canonical rollup then this is equivalent to a config update
|
|
252
|
+
if (!followsCanonicalRollup) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
if (autoUpdateMode === 'config' || autoUpdateMode === 'config-and-version') {
|
|
256
|
+
logger.info(`New rollup version detected. Please restart the node`, {
|
|
257
|
+
latestVersion,
|
|
258
|
+
currentVersion
|
|
259
|
+
});
|
|
260
|
+
await shutdown(logger.info, 78, signalHandlers);
|
|
261
|
+
} else if (autoUpdateMode === 'notify') {
|
|
262
|
+
logger.warn(`New rollup detected. Please restart the node`, {
|
|
263
|
+
latestVersion,
|
|
264
|
+
currentVersion
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
269
|
+
checker.on('newNodeVersion', async ({ latestVersion, currentVersion })=>{
|
|
270
|
+
if (isShuttingDown()) {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
if (autoUpdateMode === 'config-and-version') {
|
|
274
|
+
logger.info(`New node version detected. Please update and restart the node`, {
|
|
275
|
+
latestVersion,
|
|
276
|
+
currentVersion
|
|
277
|
+
});
|
|
278
|
+
await shutdown(logger.info, 79, signalHandlers);
|
|
279
|
+
} else if (autoUpdateMode === 'notify') {
|
|
280
|
+
logger.info(`New node version detected. Please update and restart the node`, {
|
|
281
|
+
latestVersion,
|
|
282
|
+
currentVersion
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
287
|
+
checker.on('updateNodeConfig', async (config)=>{
|
|
288
|
+
if (isShuttingDown()) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
if ((autoUpdateMode === 'config' || autoUpdateMode === 'config-and-version') && updateNodeConfig) {
|
|
292
|
+
logger.warn(`Config change detected. Updating node`, config);
|
|
293
|
+
try {
|
|
294
|
+
await updateNodeConfig(config);
|
|
295
|
+
} catch (err) {
|
|
296
|
+
logger.warn('Failed to update config', {
|
|
297
|
+
err
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// don't notify on these config changes
|
|
302
|
+
});
|
|
303
|
+
checker.on('updatePublicTelemetryConfig', (config)=>{
|
|
304
|
+
if (autoUpdateMode === 'config' || autoUpdateMode === 'config-and-version') {
|
|
305
|
+
logger.warn(`Public telemetry config change detected. Updating telemetry client`, config);
|
|
306
|
+
try {
|
|
307
|
+
const publicIncludeMetrics = config.publicIncludeMetrics;
|
|
308
|
+
if (Array.isArray(publicIncludeMetrics) && publicIncludeMetrics.every((m)=>typeof m === 'string')) {
|
|
309
|
+
getTelemetryClient().setExportedPublicTelemetry(publicIncludeMetrics);
|
|
310
|
+
}
|
|
311
|
+
const publicMetricsCollectFrom = config.publicMetricsCollectFrom;
|
|
312
|
+
if (Array.isArray(publicMetricsCollectFrom) && publicMetricsCollectFrom.every((m)=>typeof m === 'string')) {
|
|
313
|
+
getTelemetryClient().setPublicTelemetryCollectFrom(publicMetricsCollectFrom);
|
|
314
|
+
}
|
|
315
|
+
} catch (err) {
|
|
316
|
+
logger.warn('Failed to update config', {
|
|
317
|
+
err
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
// don't notify on these config changes
|
|
322
|
+
});
|
|
323
|
+
checker.start();
|
|
324
|
+
}
|
package/dest/cli/versioning.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ChainConfig } from '@aztec/stdlib/config';
|
|
2
2
|
import { type ComponentsVersions } from '@aztec/stdlib/versioning';
|
|
3
3
|
export declare function getVersions(config?: ChainConfig): Partial<ComponentsVersions>;
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbmluZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS92ZXJzaW9uaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFtQyxNQUFNLDBCQUEwQixDQUFDO0FBRXBHLHdCQUFnQixXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQU83RSJ9
|
package/dest/cli/versioning.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
2
|
-
import {
|
|
2
|
+
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
3
3
|
import { getComponentsVersionsFromConfig } from '@aztec/stdlib/versioning';
|
|
4
4
|
export function getVersions(config) {
|
|
5
|
-
return config ? getComponentsVersionsFromConfig(config,
|
|
5
|
+
return config ? getComponentsVersionsFromConfig(config, protocolContractsHash, getVKTreeRoot()) : {
|
|
6
6
|
l2CircuitsVkTreeRoot: getVKTreeRoot().toString(),
|
|
7
|
-
|
|
7
|
+
l2ProtocolContractsHash: protocolContractsHash.toString()
|
|
8
8
|
};
|
|
9
9
|
}
|
package/dest/examples/token.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlcy90b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
package/dest/examples/token.js
CHANGED
|
@@ -1,40 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
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 { TestWallet } from '@aztec/test-wallet/server';
|
|
5
6
|
const logger = createLogger('example:token');
|
|
6
|
-
const
|
|
7
|
-
const
|
|
7
|
+
const nodeUrl = 'http://localhost:8080';
|
|
8
|
+
const node = createAztecNodeClient(nodeUrl);
|
|
8
9
|
const ALICE_MINT_BALANCE = 333n;
|
|
9
10
|
const TRANSFER_AMOUNT = 33n;
|
|
10
11
|
/**
|
|
11
12
|
* Main function.
|
|
12
13
|
*/ async function main() {
|
|
13
14
|
logger.info('Running token contract test on HTTP interface.');
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
15
|
+
const wallet = await TestWallet.create(node);
|
|
16
|
+
// During local network setup we deploy a few accounts. Below we add them to our wallet.
|
|
17
|
+
const [aliceInitialAccountData, bobInitialAccountData] = await getInitialTestAccountsData();
|
|
18
|
+
await wallet.createSchnorrAccount(aliceInitialAccountData.secret, aliceInitialAccountData.salt);
|
|
19
|
+
await wallet.createSchnorrAccount(bobInitialAccountData.secret, bobInitialAccountData.salt);
|
|
20
|
+
const alice = aliceInitialAccountData.address;
|
|
21
|
+
const bob = bobInitialAccountData.address;
|
|
22
|
+
logger.info(`Fetched Alice and Bob accounts: ${alice.toString()}, ${bob.toString()}`);
|
|
18
23
|
logger.info('Deploying Token...');
|
|
19
|
-
const token = await TokenContract.deploy(
|
|
24
|
+
const token = await TokenContract.deploy(wallet, alice, 'TokenName', 'TokenSymbol', 18).send({
|
|
25
|
+
from: alice
|
|
26
|
+
}).deployed();
|
|
20
27
|
logger.info('Token deployed');
|
|
21
|
-
// Create the contract abstraction and link it to Alice's and Bob's wallet for future signing
|
|
22
|
-
const tokenAlice = await TokenContract.at(token.address, aliceWallet);
|
|
23
|
-
const tokenBob = await TokenContract.at(token.address, bobWallet);
|
|
24
28
|
// Mint tokens to Alice
|
|
25
29
|
logger.info(`Minting ${ALICE_MINT_BALANCE} more coins to Alice...`);
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
await token.methods.mint_to_private(alice, ALICE_MINT_BALANCE).send({
|
|
31
|
+
from: alice
|
|
32
|
+
}).wait();
|
|
28
33
|
logger.info(`${ALICE_MINT_BALANCE} tokens were successfully minted by Alice and transferred to private`);
|
|
29
|
-
const balanceAfterMint = await
|
|
34
|
+
const balanceAfterMint = await token.methods.balance_of_private(alice).simulate({
|
|
35
|
+
from: alice
|
|
36
|
+
});
|
|
30
37
|
logger.info(`Tokens successfully minted. New Alice's balance: ${balanceAfterMint}`);
|
|
31
38
|
// We will now transfer tokens from Alice to Bob
|
|
32
39
|
logger.info(`Transferring ${TRANSFER_AMOUNT} tokens from Alice to Bob...`);
|
|
33
|
-
await
|
|
40
|
+
await token.methods.transfer(bob, TRANSFER_AMOUNT).send({
|
|
41
|
+
from: alice
|
|
42
|
+
}).wait();
|
|
34
43
|
// Check the new balances
|
|
35
|
-
const aliceBalance = await
|
|
44
|
+
const aliceBalance = await token.methods.balance_of_private(alice).simulate({
|
|
45
|
+
from: alice
|
|
46
|
+
});
|
|
36
47
|
logger.info(`Alice's balance ${aliceBalance}`);
|
|
37
|
-
const bobBalance = await
|
|
48
|
+
const bobBalance = await token.methods.balance_of_private(bob).simulate({
|
|
49
|
+
from: bob
|
|
50
|
+
});
|
|
38
51
|
logger.info(`Bob's balance ${bobBalance}`);
|
|
39
52
|
}
|
|
40
53
|
main().then(()=>{
|