@aztec/cli 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/cmds/infrastructure/setup_l2_contract.d.ts +1 -1
- package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
- package/dest/cmds/infrastructure/setup_l2_contract.js +4 -3
- package/dest/cmds/l1/assume_proven_through.d.ts +3 -2
- package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
- package/dest/cmds/l1/assume_proven_through.js +3 -5
- package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
- package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
- package/dest/cmds/l1/compute_genesis_values.js +17 -0
- package/dest/cmds/l1/index.d.ts +1 -1
- package/dest/cmds/l1/index.d.ts.map +1 -1
- package/dest/cmds/l1/index.js +7 -2
- package/dest/config/generated/networks.d.ts +10 -1
- package/dest/config/generated/networks.d.ts.map +1 -1
- package/dest/config/generated/networks.js +9 -0
- package/dest/utils/inspect.d.ts +1 -1
- package/dest/utils/inspect.d.ts.map +1 -1
- package/dest/utils/inspect.js +4 -1
- package/package.json +30 -30
- package/src/cmds/infrastructure/setup_l2_contract.ts +5 -4
- package/src/cmds/l1/assume_proven_through.ts +4 -7
- package/src/cmds/l1/compute_genesis_values.ts +29 -0
- package/src/cmds/l1/index.ts +23 -4
- package/src/config/generated/networks.ts +9 -0
- package/src/utils/inspect.ts +4 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LogFn } from '@aztec/foundation/log';
|
|
2
2
|
export declare function setupL2Contracts(nodeUrl: string, testAccounts: boolean, json: boolean, log: LogFn): Promise<void>;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfbDJfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2luZnJhc3RydWN0dXJlL3NldHVwX2wyX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS25ELHdCQUFzQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkF3QnZHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_l2_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/setup_l2_contract.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup_l2_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/setup_l2_contract.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBAwBvG"}
|
|
@@ -2,7 +2,8 @@ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
|
2
2
|
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
3
3
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
4
4
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
5
|
-
import {
|
|
5
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
6
|
+
import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
|
|
6
7
|
export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
|
|
7
8
|
const waitOpts = {
|
|
8
9
|
timeout: 180,
|
|
@@ -11,12 +12,12 @@ export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
|
|
|
11
12
|
log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
|
|
12
13
|
log('setupL2Contracts: Creating PXE client...');
|
|
13
14
|
const node = createAztecNodeClient(nodeUrl);
|
|
14
|
-
const wallet = await
|
|
15
|
+
const wallet = await EmbeddedWallet.create(node);
|
|
15
16
|
let deployedAccountManagers = [];
|
|
16
17
|
if (testAccounts) {
|
|
17
18
|
log('setupL2Contracts: Deploying test accounts...');
|
|
18
19
|
const initialAccountsData = await getInitialTestAccountsData();
|
|
19
|
-
deployedAccountManagers = await deployFundedSchnorrAccounts(wallet,
|
|
20
|
+
deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
|
|
20
21
|
}
|
|
21
22
|
if (json) {
|
|
22
23
|
const toPrint = {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { LogFn } from '@aztec/foundation/log';
|
|
2
|
-
export declare function assumeProvenThrough(
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
export declare function assumeProvenThrough(checkpointOrLatest: CheckpointNumber | undefined, l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lX3Byb3Zlbl90aHJvdWdoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9hc3N1bWVfcHJvdmVuX3Rocm91Z2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsd0JBQXNCLG1CQUFtQixDQUN2QyxrQkFBa0IsRUFBRSxnQkFBZ0IsR0FBRyxTQUFTLEVBQ2hELFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixHQUFHLEVBQUUsS0FBSyxpQkFTWCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,mBAAmB,CACvC,kBAAkB,EAAE,gBAAgB,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,iBASX"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
2
|
import { RollupCheatCodes } from '@aztec/ethereum/test';
|
|
3
|
-
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
4
3
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
5
|
-
export async function assumeProvenThrough(
|
|
4
|
+
export async function assumeProvenThrough(checkpointOrLatest, l1RpcUrls, nodeUrl, log) {
|
|
6
5
|
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
7
6
|
const rollupAddress = await aztecNode.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
|
|
8
|
-
const blockNumber = blockNumberOrLatest ? BlockNumber(blockNumberOrLatest) : await aztecNode.getBlockNumber();
|
|
9
7
|
const rollupCheatCodes = RollupCheatCodes.create(l1RpcUrls, {
|
|
10
8
|
rollupAddress
|
|
11
9
|
}, new DateProvider());
|
|
12
|
-
await rollupCheatCodes.markAsProven(
|
|
13
|
-
log(`Assumed proven through
|
|
10
|
+
await rollupCheatCodes.markAsProven(checkpointOrLatest);
|
|
11
|
+
log(`Assumed proven through checkpoint ${checkpointOrLatest ?? 'latest'}`);
|
|
14
12
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
2
|
+
/** Computes and prints genesis values needed for L1 contract deployment. */
|
|
3
|
+
export declare function computeGenesisValuesCmd(testAccounts: boolean, sponsoredFPC: boolean, log: LogFn): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZV9nZW5lc2lzX3ZhbHVlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvbDEvY29tcHV0ZV9nZW5lc2lzX3ZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCw0RUFBNEU7QUFDNUUsd0JBQXNCLHVCQUF1QixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkFvQnJHIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute_genesis_values.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/compute_genesis_values.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBAoBrG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
2
|
+
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
3
|
+
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
4
|
+
import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
|
|
5
|
+
/** Computes and prints genesis values needed for L1 contract deployment. */ export async function computeGenesisValuesCmd(testAccounts, sponsoredFPC, log) {
|
|
6
|
+
const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
|
|
7
|
+
const sponsoredFPCAddresses = sponsoredFPC ? await getSponsoredFPCAddress() : [];
|
|
8
|
+
const initialFundedAccounts = initialAccounts.map((a)=>a.address).concat(sponsoredFPCAddresses);
|
|
9
|
+
const { genesisArchiveRoot } = await getGenesisValues(initialFundedAccounts);
|
|
10
|
+
const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
|
|
11
|
+
const vkTreeRoot = getVKTreeRoot();
|
|
12
|
+
log(JSON.stringify({
|
|
13
|
+
vkTreeRoot: vkTreeRoot.toString(),
|
|
14
|
+
protocolContractsHash: protocolContractsHash.toString(),
|
|
15
|
+
genesisArchiveRoot: genesisArchiveRoot.toString()
|
|
16
|
+
}, null, 2));
|
|
17
|
+
}
|
package/dest/cmds/l1/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
2
2
|
import { type Command } from 'commander';
|
|
3
3
|
export declare function injectCommands(program: Command, log: LogFn, debugLogger: Logger): Command;
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUF3QmpELHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBK2YvRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAwBjD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WA+f/E"}
|
package/dest/cmds/l1/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import { Option } from 'commander';
|
|
3
4
|
import { ETHEREUM_HOSTS, MNEMONIC, PRIVATE_KEY, l1ChainIdOption, nodeOption, parseAztecAddress, parseBigint, parseEthereumAddress } from '../../utils/commands.js';
|
|
@@ -16,6 +17,10 @@ export function injectCommands(program, log, debugLogger) {
|
|
|
16
17
|
const initialValidators = options.validators?.split(',').map((validator)=>EthAddress.fromString(validator)) || [];
|
|
17
18
|
await deployNewRollup(options.registryAddress, options.l1RpcUrls, options.l1ChainId, options.privateKey, options.mnemonic, options.mnemonicIndex, options.testAccounts, options.sponsoredFpc, options.json, initialValidators, options.realVerifier, log);
|
|
18
19
|
});
|
|
20
|
+
program.command('compute-genesis-values').description('Computes genesis values (VK tree root, protocol contracts hash, genesis archive root).').addOption(new Option('--test-accounts <boolean>', 'Include initial test accounts in genesis state').env('TEST_ACCOUNTS').argParser((arg)=>arg === 'true')).addOption(new Option('--sponsored-fpc <boolean>', 'Include sponsored FPC contract in genesis state').env('SPONSORED_FPC').argParser((arg)=>arg === 'true')).action(async (options)=>{
|
|
21
|
+
const { computeGenesisValuesCmd } = await import('./compute_genesis_values.js');
|
|
22
|
+
await computeGenesisValuesCmd(options.testAccounts, options.sponsoredFpc, log);
|
|
23
|
+
});
|
|
19
24
|
program.command('deposit-governance-tokens').description('Deposits governance tokens to the governance contract.').requiredOption('-r, --registry-address <string>', 'The address of the registry contract', parseEthereumAddress).requiredOption('--recipient <string>', 'The recipient of the tokens', parseEthereumAddress).requiredOption('-a, --amount <string>', 'The amount of tokens to deposit', parseBigint).option('--mint', 'Mint the tokens on L1', false).addOption(l1RpcUrlsOption).addOption(l1ChainIdOption).option('-p, --private-key <string>', 'The private key to use to deposit', PRIVATE_KEY).option('-m, --mnemonic <string>', 'The mnemonic to use to deposit', 'test test test test test test test test test test test junk').option('-i, --mnemonic-index <number>', 'The index of the mnemonic to use to deposit', (arg)=>parseInt(arg), 0).action(async (options)=>{
|
|
20
25
|
const { depositGovernanceTokens } = await import('./governance_utils.js');
|
|
21
26
|
await depositGovernanceTokens({
|
|
@@ -188,9 +193,9 @@ export function injectCommands(program, log, debugLogger) {
|
|
|
188
193
|
});
|
|
189
194
|
program.command('set-proven-through', {
|
|
190
195
|
hidden: true
|
|
191
|
-
}).description('Instructs the L1 rollup contract to assume all blocks until the given
|
|
196
|
+
}).description('Instructs the L1 rollup contract to assume all blocks until the given checkpoint are automatically proven.').argument('[checkpoint]', 'The target checkpoint, defaults to the latest pending checkpoint.', parseBigint).addOption(l1RpcUrlsOption).addOption(nodeOption).action(async (checkpoint, options)=>{
|
|
192
197
|
const { assumeProvenThrough } = await import('./assume_proven_through.js');
|
|
193
|
-
await assumeProvenThrough(
|
|
198
|
+
await assumeProvenThrough(CheckpointNumber.fromBigInt(checkpoint), options.l1RpcUrls, options.nodeUrl, log);
|
|
194
199
|
});
|
|
195
200
|
program.command('advance-epoch').description('Use L1 cheat codes to warp time until the next epoch.').addOption(l1RpcUrlsOption).addOption(nodeOption).action(async (options)=>{
|
|
196
201
|
const { advanceEpoch } = await import('./advance_epoch.js');
|
|
@@ -10,6 +10,7 @@ export declare const devnetConfig: {
|
|
|
10
10
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
|
|
11
11
|
readonly AZTEC_MANA_TARGET: 100000000;
|
|
12
12
|
readonly AZTEC_PROVING_COST_PER_MANA: 100;
|
|
13
|
+
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
|
|
13
14
|
readonly AZTEC_SLASHER_FLAVOR: "tally";
|
|
14
15
|
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
|
|
15
16
|
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
|
|
@@ -63,6 +64,8 @@ export declare const devnetConfig: {
|
|
|
63
64
|
readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
|
|
64
65
|
readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
|
|
65
66
|
readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
|
|
67
|
+
readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
|
|
68
|
+
readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
|
|
66
69
|
readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
|
|
67
70
|
readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
|
|
68
71
|
readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
|
|
@@ -78,6 +81,7 @@ export declare const testnetConfig: {
|
|
|
78
81
|
readonly AZTEC_INBOX_LAG: 1;
|
|
79
82
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
|
|
80
83
|
readonly AZTEC_PROVING_COST_PER_MANA: 100;
|
|
84
|
+
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
|
|
81
85
|
readonly AZTEC_SLASHER_FLAVOR: "tally";
|
|
82
86
|
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
|
|
83
87
|
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
|
|
@@ -125,6 +129,8 @@ export declare const testnetConfig: {
|
|
|
125
129
|
readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1;
|
|
126
130
|
readonly SLASH_INACTIVITY_PENALTY: 10000000000000000000;
|
|
127
131
|
readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000;
|
|
132
|
+
readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000;
|
|
133
|
+
readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000;
|
|
128
134
|
readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000;
|
|
129
135
|
readonly SLASH_UNKNOWN_PENALTY: 10000000000000000000;
|
|
130
136
|
readonly SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000;
|
|
@@ -137,6 +143,7 @@ export declare const mainnetConfig: {
|
|
|
137
143
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
|
|
138
144
|
readonly AZTEC_INBOX_LAG: 1;
|
|
139
145
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
|
|
146
|
+
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
|
|
140
147
|
readonly AZTEC_SLASHER_FLAVOR: "tally";
|
|
141
148
|
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
|
|
142
149
|
readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
|
|
@@ -194,9 +201,11 @@ export declare const mainnetConfig: {
|
|
|
194
201
|
readonly SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2;
|
|
195
202
|
readonly SLASH_INACTIVITY_PENALTY: 2e+21;
|
|
196
203
|
readonly SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2e+21;
|
|
204
|
+
readonly SLASH_DUPLICATE_PROPOSAL_PENALTY: 2e+21;
|
|
205
|
+
readonly SLASH_DUPLICATE_ATTESTATION_PENALTY: 2e+21;
|
|
197
206
|
readonly SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2e+21;
|
|
198
207
|
readonly SLASH_UNKNOWN_PENALTY: 2e+21;
|
|
199
208
|
readonly SLASH_INVALID_BLOCK_PENALTY: 2e+21;
|
|
200
209
|
readonly SLASH_GRACE_PERIOD_L2_SLOTS: 1200;
|
|
201
210
|
};
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZ2VuZXJhdGVkL25ldHdvcmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGVBQU8sTUFBTSxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F3RWYsQ0FBQztBQUVYLGVBQU8sTUFBTSxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0VoQixDQUFDO0FBRVgsZUFBTyxNQUFNLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBdUVoQixDQUFDIn0=
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEf,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEhB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEhB,CAAC"}
|
|
@@ -12,6 +12,7 @@ export const devnetConfig = {
|
|
|
12
12
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
13
13
|
AZTEC_MANA_TARGET: 100000000,
|
|
14
14
|
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
15
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
15
16
|
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
16
17
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
17
18
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
@@ -65,6 +66,8 @@ export const devnetConfig = {
|
|
|
65
66
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
66
67
|
SLASH_INACTIVITY_PENALTY: 10000000000000000000,
|
|
67
68
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
69
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
70
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
68
71
|
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
|
|
69
72
|
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
70
73
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
@@ -80,6 +83,7 @@ export const testnetConfig = {
|
|
|
80
83
|
AZTEC_INBOX_LAG: 1,
|
|
81
84
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
82
85
|
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
86
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
83
87
|
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
84
88
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
85
89
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
@@ -127,6 +131,8 @@ export const testnetConfig = {
|
|
|
127
131
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
128
132
|
SLASH_INACTIVITY_PENALTY: 10000000000000000000,
|
|
129
133
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
134
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
135
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
130
136
|
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
|
|
131
137
|
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
132
138
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
@@ -139,6 +145,7 @@ export const mainnetConfig = {
|
|
|
139
145
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
140
146
|
AZTEC_INBOX_LAG: 1,
|
|
141
147
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
148
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
142
149
|
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
143
150
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
144
151
|
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
@@ -196,6 +203,8 @@ export const mainnetConfig = {
|
|
|
196
203
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
|
|
197
204
|
SLASH_INACTIVITY_PENALTY: 2E+21,
|
|
198
205
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
|
|
206
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
|
|
207
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
|
|
199
208
|
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
|
|
200
209
|
SLASH_UNKNOWN_PENALTY: 2E+21,
|
|
201
210
|
SLASH_INVALID_BLOCK_PENALTY: 2E+21,
|
package/dest/utils/inspect.d.ts
CHANGED
|
@@ -8,4 +8,4 @@ export declare function inspectBlock(aztecNode: AztecNode, blockNumber: BlockNum
|
|
|
8
8
|
export declare function inspectTx(aztecNode: AztecNode, txHash: TxHash, log: LogFn, opts?: {
|
|
9
9
|
includeBlockInfo?: boolean;
|
|
10
10
|
}): Promise<void>;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2luc3BlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHdCQUFzQixZQUFZLENBQ2hDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEdBQUcsRUFBRSxLQUFLLEVBQ1YsSUFBSSxHQUFFO0lBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQU8saUJBMEJqQztBQUVELHdCQUFzQixTQUFTLENBQzdCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxFQUFFLEtBQUssRUFDVixJQUFJLEdBQUU7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFPLGlCQXNFMUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/utils/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,iBA0BjC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/utils/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,iBA0BjC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,iBAsE1C"}
|
package/dest/utils/inspect.js
CHANGED
|
@@ -30,7 +30,10 @@ export async function inspectTx(aztecNode, txHash, log, opts = {}) {
|
|
|
30
30
|
]);
|
|
31
31
|
// Base tx data
|
|
32
32
|
log(`Tx ${txHash.toString()}`);
|
|
33
|
-
log(` Status: ${receipt.status}
|
|
33
|
+
log(` Status: ${receipt.status}`);
|
|
34
|
+
if (receipt.executionResult) {
|
|
35
|
+
log(` Execution result: ${receipt.executionResult}`);
|
|
36
|
+
}
|
|
34
37
|
if (receipt.error) {
|
|
35
38
|
log(` Error: ${receipt.error}`);
|
|
36
39
|
}
|
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.f8ca9b2f3",
|
|
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/
|
|
96
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
80
|
+
"@aztec/accounts": "0.0.1-commit.f8ca9b2f3",
|
|
81
|
+
"@aztec/archiver": "0.0.1-commit.f8ca9b2f3",
|
|
82
|
+
"@aztec/aztec.js": "0.0.1-commit.f8ca9b2f3",
|
|
83
|
+
"@aztec/constants": "0.0.1-commit.f8ca9b2f3",
|
|
84
|
+
"@aztec/entrypoints": "0.0.1-commit.f8ca9b2f3",
|
|
85
|
+
"@aztec/ethereum": "0.0.1-commit.f8ca9b2f3",
|
|
86
|
+
"@aztec/foundation": "0.0.1-commit.f8ca9b2f3",
|
|
87
|
+
"@aztec/l1-artifacts": "0.0.1-commit.f8ca9b2f3",
|
|
88
|
+
"@aztec/node-keystore": "0.0.1-commit.f8ca9b2f3",
|
|
89
|
+
"@aztec/node-lib": "0.0.1-commit.f8ca9b2f3",
|
|
90
|
+
"@aztec/p2p": "0.0.1-commit.f8ca9b2f3",
|
|
91
|
+
"@aztec/protocol-contracts": "0.0.1-commit.f8ca9b2f3",
|
|
92
|
+
"@aztec/sequencer-client": "0.0.1-commit.f8ca9b2f3",
|
|
93
|
+
"@aztec/slasher": "0.0.1-commit.f8ca9b2f3",
|
|
94
|
+
"@aztec/stdlib": "0.0.1-commit.f8ca9b2f3",
|
|
95
|
+
"@aztec/wallets": "0.0.1-commit.f8ca9b2f3",
|
|
96
|
+
"@aztec/world-state": "0.0.1-commit.f8ca9b2f3",
|
|
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.f8ca9b2f3",
|
|
111
|
+
"@aztec/kv-store": "0.0.1-commit.f8ca9b2f3",
|
|
112
|
+
"@aztec/telemetry-client": "0.0.1-commit.f8ca9b2f3",
|
|
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.f8ca9b2f3",
|
|
130
|
+
"@aztec/bb-prover": "0.0.1-commit.f8ca9b2f3",
|
|
131
|
+
"@aztec/ethereum": "0.0.1-commit.f8ca9b2f3",
|
|
132
|
+
"@aztec/l1-artifacts": "0.0.1-commit.f8ca9b2f3",
|
|
133
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.f8ca9b2f3",
|
|
134
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.f8ca9b2f3",
|
|
135
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.f8ca9b2f3",
|
|
136
|
+
"@aztec/protocol-contracts": "0.0.1-commit.f8ca9b2f3",
|
|
137
|
+
"@aztec/stdlib": "0.0.1-commit.f8ca9b2f3"
|
|
138
138
|
},
|
|
139
139
|
"files": [
|
|
140
140
|
"dest",
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
2
|
-
import
|
|
2
|
+
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
3
3
|
import type { WaitOpts } from '@aztec/aztec.js/contracts';
|
|
4
4
|
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
5
5
|
import { AccountManager } from '@aztec/aztec.js/wallet';
|
|
6
6
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
7
7
|
import type { LogFn } from '@aztec/foundation/log';
|
|
8
8
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
9
|
-
import {
|
|
9
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
10
|
+
import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
|
|
10
11
|
|
|
11
12
|
export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, json: boolean, log: LogFn) {
|
|
12
13
|
const waitOpts: WaitOpts = {
|
|
@@ -16,13 +17,13 @@ export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, j
|
|
|
16
17
|
log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
|
|
17
18
|
log('setupL2Contracts: Creating PXE client...');
|
|
18
19
|
const node = createAztecNodeClient(nodeUrl);
|
|
19
|
-
const wallet = await
|
|
20
|
+
const wallet = await EmbeddedWallet.create(node);
|
|
20
21
|
|
|
21
22
|
let deployedAccountManagers: AccountManager[] = [];
|
|
22
23
|
if (testAccounts) {
|
|
23
24
|
log('setupL2Contracts: Deploying test accounts...');
|
|
24
25
|
const initialAccountsData = await getInitialTestAccountsData();
|
|
25
|
-
deployedAccountManagers = await deployFundedSchnorrAccounts(wallet,
|
|
26
|
+
deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
if (json) {
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
2
|
import { RollupCheatCodes } from '@aztec/ethereum/test';
|
|
3
|
-
import {
|
|
3
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import type { LogFn } from '@aztec/foundation/log';
|
|
5
5
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
6
6
|
|
|
7
7
|
export async function assumeProvenThrough(
|
|
8
|
-
|
|
8
|
+
checkpointOrLatest: CheckpointNumber | undefined,
|
|
9
9
|
l1RpcUrls: string[],
|
|
10
10
|
nodeUrl: string,
|
|
11
11
|
log: LogFn,
|
|
12
12
|
) {
|
|
13
13
|
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
14
14
|
const rollupAddress = await aztecNode.getNodeInfo().then(i => i.l1ContractAddresses.rollupAddress);
|
|
15
|
-
const blockNumber: BlockNumber = blockNumberOrLatest
|
|
16
|
-
? BlockNumber(blockNumberOrLatest)
|
|
17
|
-
: await aztecNode.getBlockNumber();
|
|
18
15
|
|
|
19
16
|
const rollupCheatCodes = RollupCheatCodes.create(l1RpcUrls, { rollupAddress }, new DateProvider());
|
|
20
17
|
|
|
21
|
-
await rollupCheatCodes.markAsProven(
|
|
22
|
-
log(`Assumed proven through
|
|
18
|
+
await rollupCheatCodes.markAsProven(checkpointOrLatest);
|
|
19
|
+
log(`Assumed proven through checkpoint ${checkpointOrLatest ?? 'latest'}`);
|
|
23
20
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
2
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
3
|
+
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
4
|
+
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
5
|
+
|
|
6
|
+
import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
|
|
7
|
+
|
|
8
|
+
/** Computes and prints genesis values needed for L1 contract deployment. */
|
|
9
|
+
export async function computeGenesisValuesCmd(testAccounts: boolean, sponsoredFPC: boolean, log: LogFn) {
|
|
10
|
+
const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
|
|
11
|
+
const sponsoredFPCAddresses = sponsoredFPC ? await getSponsoredFPCAddress() : [];
|
|
12
|
+
const initialFundedAccounts = initialAccounts.map(a => a.address).concat(sponsoredFPCAddresses);
|
|
13
|
+
const { genesisArchiveRoot } = await getGenesisValues(initialFundedAccounts);
|
|
14
|
+
|
|
15
|
+
const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
|
|
16
|
+
const vkTreeRoot = getVKTreeRoot();
|
|
17
|
+
|
|
18
|
+
log(
|
|
19
|
+
JSON.stringify(
|
|
20
|
+
{
|
|
21
|
+
vkTreeRoot: vkTreeRoot.toString(),
|
|
22
|
+
protocolContractsHash: protocolContractsHash.toString(),
|
|
23
|
+
genesisArchiveRoot: genesisArchiveRoot.toString(),
|
|
24
|
+
},
|
|
25
|
+
null,
|
|
26
|
+
2,
|
|
27
|
+
),
|
|
28
|
+
);
|
|
29
|
+
}
|
package/src/cmds/l1/index.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
3
4
|
|
|
@@ -105,6 +106,24 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
|
|
|
105
106
|
);
|
|
106
107
|
});
|
|
107
108
|
|
|
109
|
+
program
|
|
110
|
+
.command('compute-genesis-values')
|
|
111
|
+
.description('Computes genesis values (VK tree root, protocol contracts hash, genesis archive root).')
|
|
112
|
+
.addOption(
|
|
113
|
+
new Option('--test-accounts <boolean>', 'Include initial test accounts in genesis state')
|
|
114
|
+
.env('TEST_ACCOUNTS')
|
|
115
|
+
.argParser(arg => arg === 'true'),
|
|
116
|
+
)
|
|
117
|
+
.addOption(
|
|
118
|
+
new Option('--sponsored-fpc <boolean>', 'Include sponsored FPC contract in genesis state')
|
|
119
|
+
.env('SPONSORED_FPC')
|
|
120
|
+
.argParser(arg => arg === 'true'),
|
|
121
|
+
)
|
|
122
|
+
.action(async options => {
|
|
123
|
+
const { computeGenesisValuesCmd } = await import('./compute_genesis_values.js');
|
|
124
|
+
await computeGenesisValuesCmd(options.testAccounts, options.sponsoredFpc, log);
|
|
125
|
+
});
|
|
126
|
+
|
|
108
127
|
program
|
|
109
128
|
.command('deposit-governance-tokens')
|
|
110
129
|
.description('Deposits governance tokens to the governance contract.')
|
|
@@ -497,14 +516,14 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
|
|
|
497
516
|
program
|
|
498
517
|
.command('set-proven-through', { hidden: true })
|
|
499
518
|
.description(
|
|
500
|
-
'Instructs the L1 rollup contract to assume all blocks until the given
|
|
519
|
+
'Instructs the L1 rollup contract to assume all blocks until the given checkpoint are automatically proven.',
|
|
501
520
|
)
|
|
502
|
-
.argument('[
|
|
521
|
+
.argument('[checkpoint]', 'The target checkpoint, defaults to the latest pending checkpoint.', parseBigint)
|
|
503
522
|
.addOption(l1RpcUrlsOption)
|
|
504
523
|
.addOption(nodeOption)
|
|
505
|
-
.action(async (
|
|
524
|
+
.action(async (checkpoint, options) => {
|
|
506
525
|
const { assumeProvenThrough } = await import('./assume_proven_through.js');
|
|
507
|
-
await assumeProvenThrough(
|
|
526
|
+
await assumeProvenThrough(CheckpointNumber.fromBigInt(checkpoint), options.l1RpcUrls, options.nodeUrl, log);
|
|
508
527
|
});
|
|
509
528
|
|
|
510
529
|
program
|
|
@@ -13,6 +13,7 @@ export const devnetConfig = {
|
|
|
13
13
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
14
14
|
AZTEC_MANA_TARGET: 100000000,
|
|
15
15
|
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
16
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
16
17
|
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
17
18
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
18
19
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
@@ -66,6 +67,8 @@ export const devnetConfig = {
|
|
|
66
67
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
67
68
|
SLASH_INACTIVITY_PENALTY: 10000000000000000000,
|
|
68
69
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
70
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
71
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
69
72
|
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
|
|
70
73
|
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
71
74
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
@@ -82,6 +85,7 @@ export const testnetConfig = {
|
|
|
82
85
|
AZTEC_INBOX_LAG: 1,
|
|
83
86
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
84
87
|
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
88
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
85
89
|
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
86
90
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
87
91
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
@@ -129,6 +133,8 @@ export const testnetConfig = {
|
|
|
129
133
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
130
134
|
SLASH_INACTIVITY_PENALTY: 10000000000000000000,
|
|
131
135
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
136
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
137
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
132
138
|
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
|
|
133
139
|
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
134
140
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
@@ -142,6 +148,7 @@ export const mainnetConfig = {
|
|
|
142
148
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
143
149
|
AZTEC_INBOX_LAG: 1,
|
|
144
150
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
151
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
145
152
|
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
146
153
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
147
154
|
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
@@ -199,6 +206,8 @@ export const mainnetConfig = {
|
|
|
199
206
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
|
|
200
207
|
SLASH_INACTIVITY_PENALTY: 2E+21,
|
|
201
208
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
|
|
209
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
|
|
210
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
|
|
202
211
|
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
|
|
203
212
|
SLASH_UNKNOWN_PENALTY: 2E+21,
|
|
204
213
|
SLASH_INVALID_BLOCK_PENALTY: 2E+21,
|
package/src/utils/inspect.ts
CHANGED
|
@@ -44,7 +44,10 @@ export async function inspectTx(
|
|
|
44
44
|
const [receipt, effectsInBlock] = await Promise.all([aztecNode.getTxReceipt(txHash), aztecNode.getTxEffect(txHash)]);
|
|
45
45
|
// Base tx data
|
|
46
46
|
log(`Tx ${txHash.toString()}`);
|
|
47
|
-
log(` Status: ${receipt.status}
|
|
47
|
+
log(` Status: ${receipt.status}`);
|
|
48
|
+
if (receipt.executionResult) {
|
|
49
|
+
log(` Execution result: ${receipt.executionResult}`);
|
|
50
|
+
}
|
|
48
51
|
if (receipt.error) {
|
|
49
52
|
log(` Error: ${receipt.error}`);
|
|
50
53
|
}
|