@aztec/cli 0.0.1-commit.2f68f620 → 0.0.1-commit.3100065
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/cmds/infrastructure/setup_l2_contract.js +5 -5
- package/dest/config/chain_l2_config.d.ts +7 -2
- package/dest/config/chain_l2_config.d.ts.map +1 -1
- package/dest/config/chain_l2_config.js +14 -1
- package/dest/config/generated/networks.d.ts +20 -12
- package/dest/config/generated/networks.d.ts.map +1 -1
- package/dest/config/generated/networks.js +19 -11
- package/dest/utils/aztec.js +2 -2
- package/dest/utils/commands.d.ts +7 -6
- package/dest/utils/commands.d.ts.map +1 -1
- package/dest/utils/commands.js +10 -9
- package/package.json +30 -30
- package/src/cmds/infrastructure/setup_l2_contract.ts +5 -5
- package/src/config/chain_l2_config.ts +14 -1
- package/src/config/generated/networks.ts +19 -11
- package/src/utils/aztec.ts +2 -2
- package/src/utils/commands.ts +14 -13
|
@@ -4,7 +4,7 @@ import { TxStatus } from '@aztec/aztec.js/tx';
|
|
|
4
4
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
5
5
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
6
6
|
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
7
|
-
import {
|
|
7
|
+
import { createFundedInitializerlessAccounts } from '@aztec/wallets/testing';
|
|
8
8
|
export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
|
|
9
9
|
const waitOpts = {
|
|
10
10
|
timeout: 180,
|
|
@@ -17,17 +17,17 @@ export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
|
|
|
17
17
|
log('setupL2Contracts: Creating PXE client...');
|
|
18
18
|
const node = createAztecNodeClient(nodeUrl);
|
|
19
19
|
const wallet = await EmbeddedWallet.create(node);
|
|
20
|
-
let
|
|
20
|
+
let accountManagers = [];
|
|
21
21
|
if (testAccounts) {
|
|
22
|
-
log('setupL2Contracts:
|
|
22
|
+
log('setupL2Contracts: Creating test accounts...');
|
|
23
23
|
const initialAccountsData = await getInitialTestAccountsData();
|
|
24
|
-
|
|
24
|
+
accountManagers = await createFundedInitializerlessAccounts(wallet, initialAccountsData);
|
|
25
25
|
}
|
|
26
26
|
if (json) {
|
|
27
27
|
const toPrint = {
|
|
28
28
|
...ProtocolContractAddress
|
|
29
29
|
};
|
|
30
|
-
|
|
30
|
+
accountManagers.forEach((a, i)=>{
|
|
31
31
|
toPrint[`testAccount${i}`] = a.address;
|
|
32
32
|
});
|
|
33
33
|
log(JSON.stringify(toPrint, null, 2));
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { NetworkNames } from '@aztec/foundation/config';
|
|
2
|
+
import { type ConsensusEnvVar } from '@aztec/stdlib/config';
|
|
3
|
+
/** Every generated network config must define every consensus-critical env var. */
|
|
4
|
+
export type ConsensusComplete = Record<ConsensusEnvVar, string | number | boolean>;
|
|
2
5
|
/**
|
|
3
6
|
* Sets up environment for the given network.
|
|
4
7
|
*
|
|
@@ -6,9 +9,11 @@ import type { NetworkNames } from '@aztec/foundation/config';
|
|
|
6
9
|
* and DefaultSlasherConfig (which match the 'defaults' section of defaults.yml).
|
|
7
10
|
*
|
|
8
11
|
* For deployed networks: applies network configuration from generated defaults.yml,
|
|
9
|
-
* merging base defaults with network-specific overrides.
|
|
12
|
+
* merging base defaults with network-specific overrides. Before merging, enforces that operators have not
|
|
13
|
+
* overridden any consensus-critical env var with a value diverging from the network config (throwing unless
|
|
14
|
+
* ALLOW_OVERRIDING_NETWORK_CONFIG is set), so all nodes of a network agree on consensus-critical values.
|
|
10
15
|
*
|
|
11
16
|
* @param networkName - The network name
|
|
12
17
|
*/
|
|
13
18
|
export declare function enrichEnvironmentWithChainName(networkName: NetworkNames): void;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQThCLE1BQU0sc0JBQXNCLENBQUM7QUFjeEYsbUZBQW1GO0FBQ25GLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFpQm5GOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxRQXdCdkUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAA8B,MAAM,sBAAsB,CAAC;AAcxF,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAiBnF;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAwBvE"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { checkConsensusEnvOverrides } from '@aztec/stdlib/config';
|
|
1
3
|
import path from 'path';
|
|
2
4
|
import { devnetConfig, mainnetConfig, testnetConfig } from './generated/networks.js';
|
|
3
5
|
const NetworkConfigs = {
|
|
@@ -5,6 +7,12 @@ const NetworkConfigs = {
|
|
|
5
7
|
testnet: testnetConfig,
|
|
6
8
|
mainnet: mainnetConfig
|
|
7
9
|
};
|
|
10
|
+
({
|
|
11
|
+
devnetConfig,
|
|
12
|
+
testnetConfig,
|
|
13
|
+
mainnetConfig
|
|
14
|
+
});
|
|
15
|
+
const log = createLogger('cli:chain_l2_config');
|
|
8
16
|
function enrichEnvironmentWithNetworkConfig(config) {
|
|
9
17
|
for (const [key, value] of Object.entries(config)){
|
|
10
18
|
if (process.env[key] === undefined && value !== undefined) {
|
|
@@ -22,7 +30,9 @@ function getDefaultDataDir(networkName) {
|
|
|
22
30
|
* and DefaultSlasherConfig (which match the 'defaults' section of defaults.yml).
|
|
23
31
|
*
|
|
24
32
|
* For deployed networks: applies network configuration from generated defaults.yml,
|
|
25
|
-
* merging base defaults with network-specific overrides.
|
|
33
|
+
* merging base defaults with network-specific overrides. Before merging, enforces that operators have not
|
|
34
|
+
* overridden any consensus-critical env var with a value diverging from the network config (throwing unless
|
|
35
|
+
* ALLOW_OVERRIDING_NETWORK_CONFIG is set), so all nodes of a network agree on consensus-critical values.
|
|
26
36
|
*
|
|
27
37
|
* @param networkName - The network name
|
|
28
38
|
*/ export function enrichEnvironmentWithChainName(networkName) {
|
|
@@ -38,6 +48,9 @@ function getDefaultDataDir(networkName) {
|
|
|
38
48
|
const configKey = /^v\d+-devnet-\d+$/.test(networkName) ? 'devnet' : networkName;
|
|
39
49
|
const generatedConfig = NetworkConfigs[configKey];
|
|
40
50
|
if (generatedConfig) {
|
|
51
|
+
// The check is pure; this layer owns env mutation, so apply its canonical writes before enriching.
|
|
52
|
+
const canonical = checkConsensusEnvOverrides(generatedConfig, process.env, (msg)=>log.warn(msg));
|
|
53
|
+
Object.assign(process.env, canonical);
|
|
41
54
|
enrichEnvironmentWithNetworkConfig(generatedConfig);
|
|
42
55
|
}
|
|
43
56
|
// Set DATA_DIRECTORY if not already set
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
export declare const devnetConfig: {
|
|
2
2
|
readonly ETHEREUM_SLOT_DURATION: 12;
|
|
3
|
-
readonly AZTEC_SLOT_DURATION: 72;
|
|
4
|
-
readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
|
|
5
3
|
readonly AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000;
|
|
6
4
|
readonly AZTEC_EJECTION_THRESHOLD: 50000000000000000000;
|
|
7
5
|
readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000;
|
|
8
6
|
readonly AZTEC_EXIT_DELAY_SECONDS: 172800;
|
|
9
|
-
readonly AZTEC_INBOX_LAG:
|
|
7
|
+
readonly AZTEC_INBOX_LAG: 2;
|
|
10
8
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
|
|
11
9
|
readonly AZTEC_MANA_TARGET: 100000000;
|
|
12
10
|
readonly AZTEC_PROVING_COST_PER_MANA: 100;
|
|
@@ -30,7 +28,7 @@ export declare const devnetConfig: {
|
|
|
30
28
|
readonly SEQ_MIN_TX_PER_BLOCK: 1;
|
|
31
29
|
readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
|
|
32
30
|
readonly SEQ_BLOCK_DURATION_MS: 6000;
|
|
33
|
-
readonly
|
|
31
|
+
readonly CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12;
|
|
34
32
|
readonly DATA_STORE_MAP_SIZE_KB: 134217728;
|
|
35
33
|
readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
|
|
36
34
|
readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
|
|
@@ -38,10 +36,16 @@ export declare const devnetConfig: {
|
|
|
38
36
|
readonly PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824;
|
|
39
37
|
readonly PUBLIC_OTEL_INCLUDE_METRICS: "aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_";
|
|
40
38
|
readonly SENTINEL_ENABLED: true;
|
|
39
|
+
readonly OFFENSE_COLLECTION_ENABLED: true;
|
|
40
|
+
readonly AZTEC_SLOT_DURATION: 36;
|
|
41
41
|
readonly AZTEC_EPOCH_DURATION: 8;
|
|
42
42
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1;
|
|
43
43
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1;
|
|
44
|
+
readonly AZTEC_TARGET_COMMITTEE_SIZE: 1;
|
|
45
|
+
readonly MAX_BLOCKS_PER_CHECKPOINT: 4;
|
|
44
46
|
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1;
|
|
47
|
+
readonly AZTEC_SLASHING_QUORUM: 17;
|
|
48
|
+
readonly AZTEC_GOVERNANCE_PROPOSER_QUORUM: 151;
|
|
45
49
|
readonly L1_CHAIN_ID: 11155111;
|
|
46
50
|
readonly TEST_ACCOUNTS: true;
|
|
47
51
|
readonly SPONSORED_FPC: true;
|
|
@@ -70,7 +74,7 @@ export declare const devnetConfig: {
|
|
|
70
74
|
readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
|
|
71
75
|
readonly SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0;
|
|
72
76
|
readonly SLASH_GRACE_PERIOD_L2_SLOTS: 0;
|
|
73
|
-
readonly
|
|
77
|
+
readonly ENABLE_AUTO_SHUTDOWN: false;
|
|
74
78
|
};
|
|
75
79
|
export declare const testnetConfig: {
|
|
76
80
|
readonly ETHEREUM_SLOT_DURATION: 12;
|
|
@@ -79,7 +83,7 @@ export declare const testnetConfig: {
|
|
|
79
83
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2;
|
|
80
84
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
|
|
81
85
|
readonly AZTEC_EXIT_DELAY_SECONDS: 172800;
|
|
82
|
-
readonly AZTEC_INBOX_LAG:
|
|
86
|
+
readonly AZTEC_INBOX_LAG: 2;
|
|
83
87
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
|
|
84
88
|
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
|
|
85
89
|
readonly AZTEC_SLASHER_ENABLED: true;
|
|
@@ -96,7 +100,8 @@ export declare const testnetConfig: {
|
|
|
96
100
|
readonly SEQ_MIN_TX_PER_BLOCK: 1;
|
|
97
101
|
readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
|
|
98
102
|
readonly SEQ_BLOCK_DURATION_MS: 6000;
|
|
99
|
-
readonly
|
|
103
|
+
readonly MAX_BLOCKS_PER_CHECKPOINT: 10;
|
|
104
|
+
readonly CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12;
|
|
100
105
|
readonly DATA_STORE_MAP_SIZE_KB: 134217728;
|
|
101
106
|
readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
|
|
102
107
|
readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
|
|
@@ -104,6 +109,7 @@ export declare const testnetConfig: {
|
|
|
104
109
|
readonly PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824;
|
|
105
110
|
readonly PUBLIC_OTEL_INCLUDE_METRICS: "aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_";
|
|
106
111
|
readonly SENTINEL_ENABLED: true;
|
|
112
|
+
readonly OFFENSE_COLLECTION_ENABLED: true;
|
|
107
113
|
readonly AZTEC_SLOT_DURATION: 72;
|
|
108
114
|
readonly AZTEC_ACTIVATION_THRESHOLD: 2e+23;
|
|
109
115
|
readonly AZTEC_EJECTION_THRESHOLD: 1e+23;
|
|
@@ -139,7 +145,7 @@ export declare const testnetConfig: {
|
|
|
139
145
|
readonly SLASH_INVALID_BLOCK_PENALTY: 1e+23;
|
|
140
146
|
readonly SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 1e+23;
|
|
141
147
|
readonly SLASH_GRACE_PERIOD_L2_SLOTS: 64;
|
|
142
|
-
readonly
|
|
148
|
+
readonly ENABLE_AUTO_SHUTDOWN: false;
|
|
143
149
|
};
|
|
144
150
|
export declare const mainnetConfig: {
|
|
145
151
|
readonly ETHEREUM_SLOT_DURATION: 12;
|
|
@@ -147,7 +153,7 @@ export declare const mainnetConfig: {
|
|
|
147
153
|
readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
|
|
148
154
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2;
|
|
149
155
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
|
|
150
|
-
readonly AZTEC_INBOX_LAG:
|
|
156
|
+
readonly AZTEC_INBOX_LAG: 2;
|
|
151
157
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
|
|
152
158
|
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
|
|
153
159
|
readonly AZTEC_SLASHER_ENABLED: true;
|
|
@@ -162,7 +168,8 @@ export declare const mainnetConfig: {
|
|
|
162
168
|
readonly SEQ_MIN_TX_PER_BLOCK: 1;
|
|
163
169
|
readonly SEQ_BUILD_CHECKPOINT_IF_EMPTY: true;
|
|
164
170
|
readonly SEQ_BLOCK_DURATION_MS: 6000;
|
|
165
|
-
readonly
|
|
171
|
+
readonly MAX_BLOCKS_PER_CHECKPOINT: 10;
|
|
172
|
+
readonly CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12;
|
|
166
173
|
readonly DATA_STORE_MAP_SIZE_KB: 134217728;
|
|
167
174
|
readonly ARCHIVER_STORE_MAP_SIZE_KB: 1073741824;
|
|
168
175
|
readonly NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824;
|
|
@@ -170,6 +177,7 @@ export declare const mainnetConfig: {
|
|
|
170
177
|
readonly PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824;
|
|
171
178
|
readonly PUBLIC_OTEL_INCLUDE_METRICS: "aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_";
|
|
172
179
|
readonly SENTINEL_ENABLED: true;
|
|
180
|
+
readonly OFFENSE_COLLECTION_ENABLED: true;
|
|
173
181
|
readonly AZTEC_SLOT_DURATION: 72;
|
|
174
182
|
readonly AZTEC_ACTIVATION_THRESHOLD: 2e+23;
|
|
175
183
|
readonly AZTEC_EJECTION_THRESHOLD: 1e+23;
|
|
@@ -203,7 +211,7 @@ export declare const mainnetConfig: {
|
|
|
203
211
|
readonly P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true;
|
|
204
212
|
readonly PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: "";
|
|
205
213
|
readonly PUBLIC_OTEL_COLLECT_FROM: "";
|
|
206
|
-
readonly
|
|
214
|
+
readonly ENABLE_AUTO_SHUTDOWN: false;
|
|
207
215
|
readonly SLASH_DATA_WITHHOLDING_PENALTY: 0;
|
|
208
216
|
readonly SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.8;
|
|
209
217
|
readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2;
|
|
@@ -218,4 +226,4 @@ export declare const mainnetConfig: {
|
|
|
218
226
|
readonly SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 2e+21;
|
|
219
227
|
readonly SLASH_GRACE_PERIOD_L2_SLOTS: 1200;
|
|
220
228
|
};
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTZFZixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzRWhCLENBQUM7QUFFWCxlQUFPLE1BQU0sYUFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOEVoQixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/config/generated/networks.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/config/generated/networks.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Ef,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhB,CAAC"}
|
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
// Do not edit manually - run yarn generate to regenerate
|
|
3
3
|
export const devnetConfig = {
|
|
4
4
|
ETHEREUM_SLOT_DURATION: 12,
|
|
5
|
-
AZTEC_SLOT_DURATION: 72,
|
|
6
|
-
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
7
5
|
AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
|
|
8
6
|
AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
|
|
9
7
|
AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
|
|
10
8
|
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
11
|
-
AZTEC_INBOX_LAG:
|
|
9
|
+
AZTEC_INBOX_LAG: 2,
|
|
12
10
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
13
11
|
AZTEC_MANA_TARGET: 100000000,
|
|
14
12
|
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
@@ -32,7 +30,7 @@ export const devnetConfig = {
|
|
|
32
30
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
33
31
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
34
32
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
35
|
-
|
|
33
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
36
34
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
37
35
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
38
36
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -40,10 +38,16 @@ export const devnetConfig = {
|
|
|
40
38
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
41
39
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
42
40
|
SENTINEL_ENABLED: true,
|
|
41
|
+
OFFENSE_COLLECTION_ENABLED: true,
|
|
42
|
+
AZTEC_SLOT_DURATION: 36,
|
|
43
43
|
AZTEC_EPOCH_DURATION: 8,
|
|
44
44
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1,
|
|
45
45
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1,
|
|
46
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 1,
|
|
47
|
+
MAX_BLOCKS_PER_CHECKPOINT: 4,
|
|
46
48
|
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1,
|
|
49
|
+
AZTEC_SLASHING_QUORUM: 17,
|
|
50
|
+
AZTEC_GOVERNANCE_PROPOSER_QUORUM: 151,
|
|
47
51
|
L1_CHAIN_ID: 11155111,
|
|
48
52
|
TEST_ACCOUNTS: true,
|
|
49
53
|
SPONSORED_FPC: true,
|
|
@@ -72,7 +76,7 @@ export const devnetConfig = {
|
|
|
72
76
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
73
77
|
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
|
|
74
78
|
SLASH_GRACE_PERIOD_L2_SLOTS: 0,
|
|
75
|
-
|
|
79
|
+
ENABLE_AUTO_SHUTDOWN: false
|
|
76
80
|
};
|
|
77
81
|
export const testnetConfig = {
|
|
78
82
|
ETHEREUM_SLOT_DURATION: 12,
|
|
@@ -81,7 +85,7 @@ export const testnetConfig = {
|
|
|
81
85
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
82
86
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
83
87
|
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
84
|
-
AZTEC_INBOX_LAG:
|
|
88
|
+
AZTEC_INBOX_LAG: 2,
|
|
85
89
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
86
90
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
87
91
|
AZTEC_SLASHER_ENABLED: true,
|
|
@@ -98,7 +102,8 @@ export const testnetConfig = {
|
|
|
98
102
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
99
103
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
100
104
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
101
|
-
|
|
105
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
106
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
102
107
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
103
108
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
104
109
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -106,6 +111,7 @@ export const testnetConfig = {
|
|
|
106
111
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
107
112
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
108
113
|
SENTINEL_ENABLED: true,
|
|
114
|
+
OFFENSE_COLLECTION_ENABLED: true,
|
|
109
115
|
AZTEC_SLOT_DURATION: 72,
|
|
110
116
|
AZTEC_ACTIVATION_THRESHOLD: 2E+23,
|
|
111
117
|
AZTEC_EJECTION_THRESHOLD: 1E+23,
|
|
@@ -141,7 +147,7 @@ export const testnetConfig = {
|
|
|
141
147
|
SLASH_INVALID_BLOCK_PENALTY: 1E+23,
|
|
142
148
|
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 1E+23,
|
|
143
149
|
SLASH_GRACE_PERIOD_L2_SLOTS: 64,
|
|
144
|
-
|
|
150
|
+
ENABLE_AUTO_SHUTDOWN: false
|
|
145
151
|
};
|
|
146
152
|
export const mainnetConfig = {
|
|
147
153
|
ETHEREUM_SLOT_DURATION: 12,
|
|
@@ -149,7 +155,7 @@ export const mainnetConfig = {
|
|
|
149
155
|
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
150
156
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
151
157
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
152
|
-
AZTEC_INBOX_LAG:
|
|
158
|
+
AZTEC_INBOX_LAG: 2,
|
|
153
159
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
154
160
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
155
161
|
AZTEC_SLASHER_ENABLED: true,
|
|
@@ -164,7 +170,8 @@ export const mainnetConfig = {
|
|
|
164
170
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
165
171
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
166
172
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
167
|
-
|
|
173
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
174
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
168
175
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
169
176
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
170
177
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -172,6 +179,7 @@ export const mainnetConfig = {
|
|
|
172
179
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
173
180
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
174
181
|
SENTINEL_ENABLED: true,
|
|
182
|
+
OFFENSE_COLLECTION_ENABLED: true,
|
|
175
183
|
AZTEC_SLOT_DURATION: 72,
|
|
176
184
|
AZTEC_ACTIVATION_THRESHOLD: 2E+23,
|
|
177
185
|
AZTEC_EJECTION_THRESHOLD: 1E+23,
|
|
@@ -205,7 +213,7 @@ export const mainnetConfig = {
|
|
|
205
213
|
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
|
|
206
214
|
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
|
|
207
215
|
PUBLIC_OTEL_COLLECT_FROM: '',
|
|
208
|
-
|
|
216
|
+
ENABLE_AUTO_SHUTDOWN: false,
|
|
209
217
|
SLASH_DATA_WITHHOLDING_PENALTY: 0,
|
|
210
218
|
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.8,
|
|
211
219
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
|
package/dest/utils/aztec.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionType, getAllFunctionAbis,
|
|
1
|
+
import { FunctionType, getAllFunctionAbis, loadContractArtifactWithValidation } from '@aztec/aztec.js/abi';
|
|
2
2
|
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
3
3
|
import { SecretValue } from '@aztec/foundation/config';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
@@ -98,7 +98,7 @@ export async function deployNewRollupContracts(registryAddress, rpcUrls, private
|
|
|
98
98
|
throw Error(`Contract ${fileDir} not found`);
|
|
99
99
|
}
|
|
100
100
|
try {
|
|
101
|
-
return
|
|
101
|
+
return loadContractArtifactWithValidation(JSON.parse(contents));
|
|
102
102
|
} catch (err) {
|
|
103
103
|
log('Invalid file used. Please try again.');
|
|
104
104
|
throw err;
|
package/dest/utils/commands.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
2
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
4
|
import type { LogFn } from '@aztec/foundation/log';
|
|
4
5
|
import type { PXE } from '@aztec/pxe/server';
|
|
@@ -20,7 +21,7 @@ export declare function addOptions(program: Command, options: Option[]): Command
|
|
|
20
21
|
export declare const makeNodeOption: (mandatory: boolean) => Option;
|
|
21
22
|
export declare const nodeOption: Option;
|
|
22
23
|
export declare const l1ChainIdOption: Option;
|
|
23
|
-
export declare const
|
|
24
|
+
export declare const createSigningKeyOption: (description: string, mandatory: boolean, argsParser?: ((value: string, previous: import("@aztec/foundation/curves/bn254").Fq) => import("@aztec/foundation/curves/bn254").Fq) | undefined) => Option;
|
|
24
25
|
export declare const logJson: (log: LogFn) => (obj: object) => void;
|
|
25
26
|
/**
|
|
26
27
|
* Updates a file in place atomically.
|
|
@@ -132,12 +133,12 @@ export declare function parsePublicKey(publicKey: string): PublicKeys | undefine
|
|
|
132
133
|
*/
|
|
133
134
|
export declare function parsePartialAddress(address: string): Fr;
|
|
134
135
|
/**
|
|
135
|
-
* Parses
|
|
136
|
-
* @param
|
|
137
|
-
* @returns A
|
|
136
|
+
* Parses an account signing key from a string.
|
|
137
|
+
* @param signingKey - A string
|
|
138
|
+
* @returns A signing key
|
|
138
139
|
* @throws InvalidArgumentError if the input string is not valid.
|
|
139
140
|
*/
|
|
140
|
-
export declare function
|
|
141
|
+
export declare function parseSigningKey(signingKey: string): GrumpkinScalar;
|
|
141
142
|
/**
|
|
142
143
|
* Parses a field from a string.
|
|
143
144
|
* @param field - A string representing the field.
|
|
@@ -157,4 +158,4 @@ export declare function parseFields(fields: string[]): Fr[];
|
|
|
157
158
|
* @returns A JSON string
|
|
158
159
|
*/
|
|
159
160
|
export declare function prettyPrintJSON(data: Record<string, any>): string;
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBd0MsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSXZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSCxlQUFPLE1BQU0sWUFBWSx1QkFHSSxDQUFDO0FBRTlCLGVBQU8sTUFBTSxTQUFTLFFBQXVCLENBQUM7QUFDOUMsZUFBTyxNQUFRLGNBQWMsVUFBK0IsV0FBVyxzQkFBRSxRQUFRLHNCQUFFLE9BQU8sc0JBQUUsV0FBVyxvQkFBZ0IsQ0FBQztBQUV4SCx3QkFBZ0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUc3RDtBQUVELGVBQU8sTUFBTSxjQUFjLGdD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/utils/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,KAAK,OAAO,EAAwC,MAAM,EAAE,MAAM,WAAW,CAAC;AAIvF,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,YAAY,uBAGI,CAAC;AAE9B,eAAO,MAAM,SAAS,QAAuB,CAAC;AAC9C,eAAO,MAAQ,cAAc,UAA+B,WAAW,sBAAE,QAAQ,sBAAE,OAAO,sBAAE,WAAW,oBAAgB,CAAC;AAExH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAG7D;AAED,eAAO,MAAM,cAAc,gCAIQ,CAAC;AAEpC,eAAO,MAAM,UAAU,QAAuB,CAAC;AAE/C,eAAO,MAAM,eAAe,QASxB,CAAC;AAEL,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/utils/commands.ts"],"names":[],"mappings":"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"}
|
package/dest/utils/commands.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
2
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
4
|
import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
|
|
4
5
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -28,7 +29,7 @@ export const l1ChainIdOption = new Option('-c, --l1-chain-id <number>', 'Chain I
|
|
|
28
29
|
}
|
|
29
30
|
return parsedValue;
|
|
30
31
|
});
|
|
31
|
-
export const
|
|
32
|
+
export const createSigningKeyOption = (description, mandatory, argsParser)=>new Option('-sk, --signing-key <string>', description).env('SIGNING_KEY').argParser(argsParser ?? parseSigningKey).makeOptionMandatory(mandatory);
|
|
32
33
|
export const logJson = (log)=>(obj)=>log(JSON.stringify(obj, null, 2));
|
|
33
34
|
/**
|
|
34
35
|
* Updates a file in place atomically.
|
|
@@ -62,7 +63,7 @@ export const logJson = (log)=>(obj)=>log(JSON.stringify(obj, null, 2));
|
|
|
62
63
|
let from;
|
|
63
64
|
if (_from) {
|
|
64
65
|
try {
|
|
65
|
-
from = AztecAddress.
|
|
66
|
+
from = AztecAddress.fromStringUnsafe(_from);
|
|
66
67
|
} catch {
|
|
67
68
|
throw new InvalidArgumentError(`Invalid option 'from' passed: ${_from}`);
|
|
68
69
|
}
|
|
@@ -138,7 +139,7 @@ export function parseBigint(bigint) {
|
|
|
138
139
|
* @throws InvalidArgumentError if the input string is not valid.
|
|
139
140
|
*/ export function parseAztecAddress(address) {
|
|
140
141
|
try {
|
|
141
|
-
return AztecAddress.
|
|
142
|
+
return AztecAddress.fromStringUnsafe(address);
|
|
142
143
|
} catch {
|
|
143
144
|
throw new InvalidArgumentError(`Invalid Aztec address: ${address}`);
|
|
144
145
|
}
|
|
@@ -275,15 +276,15 @@ export function parseBigint(bigint) {
|
|
|
275
276
|
}
|
|
276
277
|
}
|
|
277
278
|
/**
|
|
278
|
-
* Parses
|
|
279
|
-
* @param
|
|
280
|
-
* @returns A
|
|
279
|
+
* Parses an account signing key from a string.
|
|
280
|
+
* @param signingKey - A string
|
|
281
|
+
* @returns A signing key
|
|
281
282
|
* @throws InvalidArgumentError if the input string is not valid.
|
|
282
|
-
*/ export function
|
|
283
|
+
*/ export function parseSigningKey(signingKey) {
|
|
283
284
|
try {
|
|
284
|
-
return
|
|
285
|
+
return GrumpkinScalar.fromHexString(signingKey);
|
|
285
286
|
} catch {
|
|
286
|
-
throw new InvalidArgumentError(`Invalid
|
|
287
|
+
throw new InvalidArgumentError(`Invalid signing key: ${signingKey}`);
|
|
287
288
|
}
|
|
288
289
|
}
|
|
289
290
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/cli",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.3100065",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./contracts": "./dest/cmds/contracts/index.js",
|
|
@@ -77,23 +77,23 @@
|
|
|
77
77
|
]
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
81
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
82
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
83
|
-
"@aztec/constants": "0.0.1-commit.
|
|
84
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
85
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
86
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
87
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
88
|
-
"@aztec/node-keystore": "0.0.1-commit.
|
|
89
|
-
"@aztec/node-lib": "0.0.1-commit.
|
|
90
|
-
"@aztec/p2p": "0.0.1-commit.
|
|
91
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
92
|
-
"@aztec/sequencer-client": "0.0.1-commit.
|
|
93
|
-
"@aztec/slasher": "0.0.1-commit.
|
|
94
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
95
|
-
"@aztec/wallets": "0.0.1-commit.
|
|
96
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
80
|
+
"@aztec/accounts": "0.0.1-commit.3100065",
|
|
81
|
+
"@aztec/archiver": "0.0.1-commit.3100065",
|
|
82
|
+
"@aztec/aztec.js": "0.0.1-commit.3100065",
|
|
83
|
+
"@aztec/constants": "0.0.1-commit.3100065",
|
|
84
|
+
"@aztec/entrypoints": "0.0.1-commit.3100065",
|
|
85
|
+
"@aztec/ethereum": "0.0.1-commit.3100065",
|
|
86
|
+
"@aztec/foundation": "0.0.1-commit.3100065",
|
|
87
|
+
"@aztec/l1-artifacts": "0.0.1-commit.3100065",
|
|
88
|
+
"@aztec/node-keystore": "0.0.1-commit.3100065",
|
|
89
|
+
"@aztec/node-lib": "0.0.1-commit.3100065",
|
|
90
|
+
"@aztec/p2p": "0.0.1-commit.3100065",
|
|
91
|
+
"@aztec/protocol-contracts": "0.0.1-commit.3100065",
|
|
92
|
+
"@aztec/sequencer-client": "0.0.1-commit.3100065",
|
|
93
|
+
"@aztec/slasher": "0.0.1-commit.3100065",
|
|
94
|
+
"@aztec/stdlib": "0.0.1-commit.3100065",
|
|
95
|
+
"@aztec/wallets": "0.0.1-commit.3100065",
|
|
96
|
+
"@aztec/world-state": "0.0.1-commit.3100065",
|
|
97
97
|
"@ethersproject/wallet": "^5.8.0",
|
|
98
98
|
"@iarna/toml": "^2.2.5",
|
|
99
99
|
"@libp2p/peer-id-factory": "^3.0.4",
|
|
@@ -107,9 +107,9 @@
|
|
|
107
107
|
"viem": "npm:@aztec/viem@2.38.2"
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
110
|
-
"@aztec/aztec-node": "0.0.1-commit.
|
|
111
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
112
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
110
|
+
"@aztec/aztec-node": "0.0.1-commit.3100065",
|
|
111
|
+
"@aztec/kv-store": "0.0.1-commit.3100065",
|
|
112
|
+
"@aztec/telemetry-client": "0.0.1-commit.3100065",
|
|
113
113
|
"@jest/globals": "^30.0.0",
|
|
114
114
|
"@types/jest": "^30.0.0",
|
|
115
115
|
"@types/lodash.chunk": "^4.2.9",
|
|
@@ -126,15 +126,15 @@
|
|
|
126
126
|
"typescript": "^5.3.3"
|
|
127
127
|
},
|
|
128
128
|
"peerDependencies": {
|
|
129
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
130
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
131
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
132
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
133
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
134
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
135
|
-
"@aztec/noir-test-contracts.js": "0.0.1-commit.
|
|
136
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
137
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
129
|
+
"@aztec/accounts": "0.0.1-commit.3100065",
|
|
130
|
+
"@aztec/bb-prover": "0.0.1-commit.3100065",
|
|
131
|
+
"@aztec/ethereum": "0.0.1-commit.3100065",
|
|
132
|
+
"@aztec/l1-artifacts": "0.0.1-commit.3100065",
|
|
133
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.3100065",
|
|
134
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.3100065",
|
|
135
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.3100065",
|
|
136
|
+
"@aztec/protocol-contracts": "0.0.1-commit.3100065",
|
|
137
|
+
"@aztec/stdlib": "0.0.1-commit.3100065"
|
|
138
138
|
},
|
|
139
139
|
"files": [
|
|
140
140
|
"dest",
|
|
@@ -8,7 +8,7 @@ import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
|
8
8
|
import type { LogFn } from '@aztec/foundation/log';
|
|
9
9
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
10
10
|
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
11
|
-
import {
|
|
11
|
+
import { createFundedInitializerlessAccounts } from '@aztec/wallets/testing';
|
|
12
12
|
|
|
13
13
|
export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, json: boolean, log: LogFn) {
|
|
14
14
|
const waitOpts: WaitOpts = {
|
|
@@ -23,16 +23,16 @@ export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, j
|
|
|
23
23
|
const node = createAztecNodeClient(nodeUrl);
|
|
24
24
|
const wallet = await EmbeddedWallet.create(node);
|
|
25
25
|
|
|
26
|
-
let
|
|
26
|
+
let accountManagers: AccountManager[] = [];
|
|
27
27
|
if (testAccounts) {
|
|
28
|
-
log('setupL2Contracts:
|
|
28
|
+
log('setupL2Contracts: Creating test accounts...');
|
|
29
29
|
const initialAccountsData = await getInitialTestAccountsData();
|
|
30
|
-
|
|
30
|
+
accountManagers = await createFundedInitializerlessAccounts(wallet, initialAccountsData);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
if (json) {
|
|
34
34
|
const toPrint: Record<string, AztecAddress> = { ...ProtocolContractAddress };
|
|
35
|
-
|
|
35
|
+
accountManagers.forEach((a, i) => {
|
|
36
36
|
toPrint[`testAccount${i}`] = a.address;
|
|
37
37
|
});
|
|
38
38
|
log(JSON.stringify(toPrint, null, 2));
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { NetworkNames } from '@aztec/foundation/config';
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { type ConsensusEnvVar, checkConsensusEnvOverrides } from '@aztec/stdlib/config';
|
|
2
4
|
|
|
3
5
|
import path from 'path';
|
|
4
6
|
|
|
@@ -12,6 +14,12 @@ const NetworkConfigs: Partial<Record<NetworkNames, NetworkConfigEnv>> = {
|
|
|
12
14
|
mainnet: mainnetConfig,
|
|
13
15
|
};
|
|
14
16
|
|
|
17
|
+
/** Every generated network config must define every consensus-critical env var. */
|
|
18
|
+
export type ConsensusComplete = Record<ConsensusEnvVar, string | number | boolean>;
|
|
19
|
+
({ devnetConfig, testnetConfig, mainnetConfig }) satisfies Record<string, ConsensusComplete>;
|
|
20
|
+
|
|
21
|
+
const log = createLogger('cli:chain_l2_config');
|
|
22
|
+
|
|
15
23
|
function enrichEnvironmentWithNetworkConfig(config: NetworkConfigEnv): void {
|
|
16
24
|
for (const [key, value] of Object.entries(config)) {
|
|
17
25
|
if (process.env[key] === undefined && value !== undefined) {
|
|
@@ -31,7 +39,9 @@ function getDefaultDataDir(networkName: NetworkNames): string {
|
|
|
31
39
|
* and DefaultSlasherConfig (which match the 'defaults' section of defaults.yml).
|
|
32
40
|
*
|
|
33
41
|
* For deployed networks: applies network configuration from generated defaults.yml,
|
|
34
|
-
* merging base defaults with network-specific overrides.
|
|
42
|
+
* merging base defaults with network-specific overrides. Before merging, enforces that operators have not
|
|
43
|
+
* overridden any consensus-critical env var with a value diverging from the network config (throwing unless
|
|
44
|
+
* ALLOW_OVERRIDING_NETWORK_CONFIG is set), so all nodes of a network agree on consensus-critical values.
|
|
35
45
|
*
|
|
36
46
|
* @param networkName - The network name
|
|
37
47
|
*/
|
|
@@ -49,6 +59,9 @@ export function enrichEnvironmentWithChainName(networkName: NetworkNames) {
|
|
|
49
59
|
const configKey = /^v\d+-devnet-\d+$/.test(networkName) ? 'devnet' : networkName;
|
|
50
60
|
const generatedConfig = NetworkConfigs[configKey];
|
|
51
61
|
if (generatedConfig) {
|
|
62
|
+
// The check is pure; this layer owns env mutation, so apply its canonical writes before enriching.
|
|
63
|
+
const canonical = checkConsensusEnvOverrides(generatedConfig, process.env, msg => log.warn(msg));
|
|
64
|
+
Object.assign(process.env, canonical);
|
|
52
65
|
enrichEnvironmentWithNetworkConfig(generatedConfig);
|
|
53
66
|
}
|
|
54
67
|
|
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
export const devnetConfig = {
|
|
5
5
|
ETHEREUM_SLOT_DURATION: 12,
|
|
6
|
-
AZTEC_SLOT_DURATION: 72,
|
|
7
|
-
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
8
6
|
AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
|
|
9
7
|
AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
|
|
10
8
|
AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
|
|
11
9
|
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
12
|
-
AZTEC_INBOX_LAG:
|
|
10
|
+
AZTEC_INBOX_LAG: 2,
|
|
13
11
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
14
12
|
AZTEC_MANA_TARGET: 100000000,
|
|
15
13
|
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
@@ -33,7 +31,7 @@ export const devnetConfig = {
|
|
|
33
31
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
34
32
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
35
33
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
36
|
-
|
|
34
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
37
35
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
38
36
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
39
37
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -41,10 +39,16 @@ export const devnetConfig = {
|
|
|
41
39
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
42
40
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
43
41
|
SENTINEL_ENABLED: true,
|
|
42
|
+
OFFENSE_COLLECTION_ENABLED: true,
|
|
43
|
+
AZTEC_SLOT_DURATION: 36,
|
|
44
44
|
AZTEC_EPOCH_DURATION: 8,
|
|
45
45
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1,
|
|
46
46
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1,
|
|
47
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 1,
|
|
48
|
+
MAX_BLOCKS_PER_CHECKPOINT: 4,
|
|
47
49
|
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1,
|
|
50
|
+
AZTEC_SLASHING_QUORUM: 17,
|
|
51
|
+
AZTEC_GOVERNANCE_PROPOSER_QUORUM: 151,
|
|
48
52
|
L1_CHAIN_ID: 11155111,
|
|
49
53
|
TEST_ACCOUNTS: true,
|
|
50
54
|
SPONSORED_FPC: true,
|
|
@@ -73,7 +77,7 @@ export const devnetConfig = {
|
|
|
73
77
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
74
78
|
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
|
|
75
79
|
SLASH_GRACE_PERIOD_L2_SLOTS: 0,
|
|
76
|
-
|
|
80
|
+
ENABLE_AUTO_SHUTDOWN: false,
|
|
77
81
|
} as const;
|
|
78
82
|
|
|
79
83
|
export const testnetConfig = {
|
|
@@ -83,7 +87,7 @@ export const testnetConfig = {
|
|
|
83
87
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
84
88
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
85
89
|
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
86
|
-
AZTEC_INBOX_LAG:
|
|
90
|
+
AZTEC_INBOX_LAG: 2,
|
|
87
91
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
88
92
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
89
93
|
AZTEC_SLASHER_ENABLED: true,
|
|
@@ -100,7 +104,8 @@ export const testnetConfig = {
|
|
|
100
104
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
101
105
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
102
106
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
103
|
-
|
|
107
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
108
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
104
109
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
105
110
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
106
111
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -108,6 +113,7 @@ export const testnetConfig = {
|
|
|
108
113
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
109
114
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
110
115
|
SENTINEL_ENABLED: true,
|
|
116
|
+
OFFENSE_COLLECTION_ENABLED: true,
|
|
111
117
|
AZTEC_SLOT_DURATION: 72,
|
|
112
118
|
AZTEC_ACTIVATION_THRESHOLD: 2E+23,
|
|
113
119
|
AZTEC_EJECTION_THRESHOLD: 1E+23,
|
|
@@ -143,7 +149,7 @@ export const testnetConfig = {
|
|
|
143
149
|
SLASH_INVALID_BLOCK_PENALTY: 1E+23,
|
|
144
150
|
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 1E+23,
|
|
145
151
|
SLASH_GRACE_PERIOD_L2_SLOTS: 64,
|
|
146
|
-
|
|
152
|
+
ENABLE_AUTO_SHUTDOWN: false,
|
|
147
153
|
} as const;
|
|
148
154
|
|
|
149
155
|
export const mainnetConfig = {
|
|
@@ -152,7 +158,7 @@ export const mainnetConfig = {
|
|
|
152
158
|
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
153
159
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
154
160
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
155
|
-
AZTEC_INBOX_LAG:
|
|
161
|
+
AZTEC_INBOX_LAG: 2,
|
|
156
162
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
157
163
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
158
164
|
AZTEC_SLASHER_ENABLED: true,
|
|
@@ -167,7 +173,8 @@ export const mainnetConfig = {
|
|
|
167
173
|
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
168
174
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
169
175
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
170
|
-
|
|
176
|
+
MAX_BLOCKS_PER_CHECKPOINT: 10,
|
|
177
|
+
CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
|
|
171
178
|
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
172
179
|
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
173
180
|
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
@@ -175,6 +182,7 @@ export const mainnetConfig = {
|
|
|
175
182
|
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
176
183
|
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
177
184
|
SENTINEL_ENABLED: true,
|
|
185
|
+
OFFENSE_COLLECTION_ENABLED: true,
|
|
178
186
|
AZTEC_SLOT_DURATION: 72,
|
|
179
187
|
AZTEC_ACTIVATION_THRESHOLD: 2E+23,
|
|
180
188
|
AZTEC_EJECTION_THRESHOLD: 1E+23,
|
|
@@ -208,7 +216,7 @@ export const mainnetConfig = {
|
|
|
208
216
|
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
|
|
209
217
|
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
|
|
210
218
|
PUBLIC_OTEL_COLLECT_FROM: '',
|
|
211
|
-
|
|
219
|
+
ENABLE_AUTO_SHUTDOWN: false,
|
|
212
220
|
SLASH_DATA_WITHHOLDING_PENALTY: 0,
|
|
213
221
|
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.8,
|
|
214
222
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
|
package/src/utils/aztec.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
type FunctionAbi,
|
|
4
4
|
FunctionType,
|
|
5
5
|
getAllFunctionAbis,
|
|
6
|
-
|
|
6
|
+
loadContractArtifactWithValidation,
|
|
7
7
|
} from '@aztec/aztec.js/abi';
|
|
8
8
|
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
9
9
|
import type { L1ContractsConfig } from '@aztec/ethereum/config';
|
|
@@ -132,7 +132,7 @@ export async function getContractArtifact(fileDir: string, log: LogFn) {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
try {
|
|
135
|
-
return
|
|
135
|
+
return loadContractArtifactWithValidation(JSON.parse(contents));
|
|
136
136
|
} catch (err) {
|
|
137
137
|
log('Invalid file used. Please try again.');
|
|
138
138
|
throw err;
|
package/src/utils/commands.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
2
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
4
|
import type { LogFn } from '@aztec/foundation/log';
|
|
4
5
|
import type { PXE } from '@aztec/pxe/server';
|
|
@@ -50,14 +51,14 @@ export const l1ChainIdOption = new Option('-c, --l1-chain-id <number>', 'Chain I
|
|
|
50
51
|
return parsedValue;
|
|
51
52
|
});
|
|
52
53
|
|
|
53
|
-
export const
|
|
54
|
+
export const createSigningKeyOption = (
|
|
54
55
|
description: string,
|
|
55
56
|
mandatory: boolean,
|
|
56
|
-
argsParser?: (value: string, previous:
|
|
57
|
+
argsParser?: (value: string, previous: GrumpkinScalar) => GrumpkinScalar,
|
|
57
58
|
) =>
|
|
58
|
-
new Option('-sk, --
|
|
59
|
-
.env('
|
|
60
|
-
.argParser(argsParser ??
|
|
59
|
+
new Option('-sk, --signing-key <string>', description)
|
|
60
|
+
.env('SIGNING_KEY')
|
|
61
|
+
.argParser(argsParser ?? parseSigningKey)
|
|
61
62
|
.makeOptionMandatory(mandatory);
|
|
62
63
|
|
|
63
64
|
export const logJson = (log: LogFn) => (obj: object) => log(JSON.stringify(obj, null, 2));
|
|
@@ -101,7 +102,7 @@ export async function getTxSender(pxe: PXE, _from?: string) {
|
|
|
101
102
|
let from: AztecAddress;
|
|
102
103
|
if (_from) {
|
|
103
104
|
try {
|
|
104
|
-
from = AztecAddress.
|
|
105
|
+
from = AztecAddress.fromStringUnsafe(_from);
|
|
105
106
|
} catch {
|
|
106
107
|
throw new InvalidArgumentError(`Invalid option 'from' passed: ${_from}`);
|
|
107
108
|
}
|
|
@@ -195,7 +196,7 @@ export function parseFieldFromHexString(str: string): Fr {
|
|
|
195
196
|
*/
|
|
196
197
|
export function parseAztecAddress(address: string): AztecAddress {
|
|
197
198
|
try {
|
|
198
|
-
return AztecAddress.
|
|
199
|
+
return AztecAddress.fromStringUnsafe(address);
|
|
199
200
|
} catch {
|
|
200
201
|
throw new InvalidArgumentError(`Invalid Aztec address: ${address}`);
|
|
201
202
|
}
|
|
@@ -357,16 +358,16 @@ export function parsePartialAddress(address: string): Fr {
|
|
|
357
358
|
}
|
|
358
359
|
|
|
359
360
|
/**
|
|
360
|
-
* Parses
|
|
361
|
-
* @param
|
|
362
|
-
* @returns A
|
|
361
|
+
* Parses an account signing key from a string.
|
|
362
|
+
* @param signingKey - A string
|
|
363
|
+
* @returns A signing key
|
|
363
364
|
* @throws InvalidArgumentError if the input string is not valid.
|
|
364
365
|
*/
|
|
365
|
-
export function
|
|
366
|
+
export function parseSigningKey(signingKey: string): GrumpkinScalar {
|
|
366
367
|
try {
|
|
367
|
-
return
|
|
368
|
+
return GrumpkinScalar.fromHexString(signingKey);
|
|
368
369
|
} catch {
|
|
369
|
-
throw new InvalidArgumentError(`Invalid
|
|
370
|
+
throw new InvalidArgumentError(`Invalid signing key: ${signingKey}`);
|
|
370
371
|
}
|
|
371
372
|
}
|
|
372
373
|
|