@aztec/cli 0.0.1-commit.96bb3f7 → 0.0.1-commit.9d2bcf6d
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 +1 -1
- 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/cmds/l1/update_l1_validators.d.ts +3 -3
- package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
- package/dest/cmds/l1/update_l1_validators.js +47 -12
- package/dest/config/chain_l2_config.d.ts +12 -39
- package/dest/config/chain_l2_config.d.ts.map +1 -1
- package/dest/config/chain_l2_config.js +33 -512
- package/dest/config/generated/networks.d.ts +205 -0
- package/dest/config/generated/networks.d.ts.map +1 -0
- package/dest/config/generated/networks.js +206 -0
- package/dest/config/network_config.d.ts +1 -1
- package/dest/config/network_config.js +1 -1
- 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 +35 -30
- package/src/cmds/infrastructure/setup_l2_contract.ts +1 -1
- 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 +15 -4
- package/src/cmds/l1/update_l1_validators.ts +41 -15
- package/src/config/chain_l2_config.ts +33 -670
- package/src/config/generated/networks.ts +210 -0
- package/src/config/network_config.ts +1 -1
- package/src/utils/inspect.ts +4 -1
|
@@ -16,7 +16,7 @@ export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
|
|
|
16
16
|
if (testAccounts) {
|
|
17
17
|
log('setupL2Contracts: Deploying test accounts...');
|
|
18
18
|
const initialAccountsData = await getInitialTestAccountsData();
|
|
19
|
-
deployedAccountManagers = await deployFundedSchnorrAccounts(wallet,
|
|
19
|
+
deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
|
|
20
20
|
}
|
|
21
21
|
if (json) {
|
|
22
22
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQVUsTUFBTSxXQUFXLENBQUM7QUF3QmpELHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBdWYvRSJ9
|
|
@@ -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,WAuf/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', 'Include initial test accounts in genesis state').env('TEST_ACCOUNTS')).addOption(new Option('--sponsored-fpc', 'Include sponsored FPC contract in genesis state').env('SPONSORED_FPC')).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');
|
|
@@ -23,11 +23,11 @@ export declare function generateL1Account(): {
|
|
|
23
23
|
privateKey: `0x${string}`;
|
|
24
24
|
address: `0x${string}`;
|
|
25
25
|
};
|
|
26
|
-
export declare function addL1Validator({ rpcUrls, chainId, privateKey, mnemonic, attesterAddress,
|
|
26
|
+
export declare function addL1Validator({ rpcUrls, chainId, privateKey, mnemonic, attesterAddress, withdrawerAddress, stakingAssetHandlerAddress, proofParams, blsSecretKey, log, debugLogger }: StakingAssetHandlerCommandArgs & LoggerArgs & {
|
|
27
27
|
blsSecretKey: bigint;
|
|
28
28
|
attesterAddress: EthAddress;
|
|
29
|
+
withdrawerAddress: EthAddress;
|
|
29
30
|
proofParams: Buffer;
|
|
30
|
-
merkleProof: string[];
|
|
31
31
|
}): Promise<void>;
|
|
32
32
|
export declare function addL1ValidatorViaRollup({ rpcUrls, chainId, privateKey, mnemonic, attesterAddress, withdrawerAddress, blsSecretKey, moveWithLatestRollup, rollupAddress, log, debugLogger }: RollupCommandArgs & LoggerArgs & {
|
|
33
33
|
blsSecretKey: bigint;
|
|
@@ -42,4 +42,4 @@ export declare function fastForwardEpochs({ rpcUrls, chainId, rollupAddress, num
|
|
|
42
42
|
numEpochs: bigint;
|
|
43
43
|
}): Promise<void>;
|
|
44
44
|
export declare function debugRollup({ rpcUrls, chainId, rollupAddress, log }: RollupCommandArgs & LoggerArgs): Promise<void>;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlX2wxX3ZhbGlkYXRvcnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL3VwZGF0ZV9sMV92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVEzRCxNQUFNLFdBQVcsaUJBQWlCO0lBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNsQixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNwQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsYUFBYSxFQUFFLFVBQVUsQ0FBQztJQUMxQixpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNoQztBQUVELE1BQU0sV0FBVyw4QkFBOEI7SUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQiwwQkFBMEIsRUFBRSxVQUFVLENBQUM7Q0FDeEM7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixHQUFHLEVBQUUsS0FBSyxDQUFDO0lBQ1gsV0FBVyxFQUFFLE1BQU0sQ0FBQztDQUNyQjtBQUVELHdCQUFnQixpQkFBaUI7OztFQVFoQztBQUVELHdCQUFzQixjQUFjLENBQUMsRUFDbkMsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1YsUUFBUSxFQUNSLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxZQUFZLEVBQ1osR0FBRyxFQUNILFdBQVcsRUFDWixFQUFFLDhCQUE4QixHQUMvQixVQUFVLEdBQUc7SUFDWCxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLGVBQWUsRUFBRSxVQUFVLENBQUM7SUFDNUIsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0lBQzlCLFdBQVcsRUFBRSxNQUFNLENBQUM7Q0FDckIsaUJBd0ZGO0FBRUQsd0JBQXNCLHVCQUF1QixDQUFDLEVBQzVDLE9BQU8sRUFDUCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLEdBQUcsRUFDSCxXQUFXLEVBQ1osRUFBRSxpQkFBaUIsR0FDbEIsVUFBVSxHQUFHO0lBQ1gsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixlQUFlLEVBQUUsVUFBVSxDQUFDO0lBQzVCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQztDQUMvQixpQkF1REY7QUFFRCx3QkFBc0IsaUJBQWlCLENBQUMsRUFDdEMsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1YsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsR0FBRyxFQUNILFdBQVcsRUFDWixFQUFFLGlCQUFpQixHQUFHLFVBQVUsR0FBRztJQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQTtDQUFFLGlCQWlCbkU7QUFFRCx3QkFBc0IsV0FBVyxDQUFDLEVBQ2hDLE9BQU8sRUFDUCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFFBQVEsRUFDUixhQUFhLEVBQ2IsR0FBRyxFQUNILFdBQVcsRUFDWixFQUFFLGlCQUFpQixHQUFHLFVBQVUsaUJBZ0JoQztBQUVELHdCQUFzQixpQkFBaUIsQ0FBQyxFQUN0QyxPQUFPLEVBQ1AsT0FBTyxFQUNQLGFBQWEsRUFDYixTQUFTLEVBQ1QsR0FBRyxFQUNILFdBQVcsRUFDWixFQUFFLGlCQUFpQixHQUFHLFVBQVUsR0FBRztJQUFFLFNBQVMsRUFBRSxNQUFNLENBQUE7Q0FBRSxpQkF5QnhEO0FBRUQsd0JBQXNCLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLGlCQUFpQixHQUFHLFVBQVUsaUJBd0J6RyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update_l1_validators.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/update_l1_validators.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"update_l1_validators.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/update_l1_validators.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQ3D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC;IAC1B,iBAAiB,CAAC,EAAE,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,UAAU,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,KAAK,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB;;;EAQhC;AAED,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,GAAG,EACH,WAAW,EACZ,EAAE,8BAA8B,GAC/B,UAAU,GAAG;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,UAAU,CAAC;IAC5B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB,iBAwFF;AAED,wBAAsB,uBAAuB,CAAC,EAC5C,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,GAAG,EACH,WAAW,EACZ,EAAE,iBAAiB,GAClB,UAAU,GAAG;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,UAAU,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,iBAuDF;AAED,wBAAsB,iBAAiB,CAAC,EACtC,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,GAAG,EACH,WAAW,EACZ,EAAE,iBAAiB,GAAG,UAAU,GAAG;IAAE,gBAAgB,EAAE,UAAU,CAAA;CAAE,iBAiBnE;AAED,wBAAsB,WAAW,CAAC,EAChC,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,GAAG,EACH,WAAW,EACZ,EAAE,iBAAiB,GAAG,UAAU,iBAgBhC;AAED,wBAAsB,iBAAiB,CAAC,EACtC,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,GAAG,EACH,WAAW,EACZ,EAAE,iBAAiB,GAAG,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,iBAyBxD;AAED,wBAAsB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,iBAAiB,GAAG,UAAU,iBAwBzG"}
|
|
@@ -5,11 +5,10 @@ import { GSEContract, RollupContract } from '@aztec/ethereum/contracts';
|
|
|
5
5
|
import { createL1TxUtilsFromViemWallet } from '@aztec/ethereum/l1-tx-utils';
|
|
6
6
|
import { EthCheatCodes } from '@aztec/ethereum/test';
|
|
7
7
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
8
|
-
import { RollupAbi, StakingAssetHandlerAbi } from '@aztec/l1-artifacts';
|
|
8
|
+
import { RollupAbi, StakingAssetHandlerAbi, TestERC20Abi } from '@aztec/l1-artifacts';
|
|
9
9
|
import { ZkPassportProofParams } from '@aztec/stdlib/zkpassport';
|
|
10
|
-
import { encodeFunctionData, formatEther, getContract } from 'viem';
|
|
10
|
+
import { encodeFunctionData, formatEther, getContract, maxUint256 } from 'viem';
|
|
11
11
|
import { generatePrivateKey, mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
|
|
12
|
-
import { addLeadingHex } from '../../utils/aztec.js';
|
|
13
12
|
export function generateL1Account() {
|
|
14
13
|
const privateKey = generatePrivateKey();
|
|
15
14
|
const account = privateKeyToAccount(privateKey);
|
|
@@ -19,7 +18,7 @@ export function generateL1Account() {
|
|
|
19
18
|
address: account.address
|
|
20
19
|
};
|
|
21
20
|
}
|
|
22
|
-
export async function addL1Validator({ rpcUrls, chainId, privateKey, mnemonic, attesterAddress,
|
|
21
|
+
export async function addL1Validator({ rpcUrls, chainId, privateKey, mnemonic, attesterAddress, withdrawerAddress, stakingAssetHandlerAddress, proofParams, blsSecretKey, log, debugLogger }) {
|
|
23
22
|
const dualLog = makeDualLog(log, debugLogger);
|
|
24
23
|
const account = getAccount(privateKey, mnemonic);
|
|
25
24
|
const chain = createEthereumChain(rpcUrls, chainId);
|
|
@@ -43,24 +42,60 @@ export async function addL1Validator({ rpcUrls, chainId, privateKey, mnemonic, a
|
|
|
43
42
|
logger: debugLogger
|
|
44
43
|
});
|
|
45
44
|
const proofParamsObj = ZkPassportProofParams.fromBuffer(proofParams);
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
// Step 1: Claim STK tokens from the faucet
|
|
46
|
+
dualLog(`Claiming STK tokens from faucet`);
|
|
47
|
+
const { receipt: claimReceipt } = await l1TxUtils.sendAndMonitorTransaction({
|
|
48
48
|
to: stakingAssetHandlerAddress.toString(),
|
|
49
49
|
data: encodeFunctionData({
|
|
50
50
|
abi: StakingAssetHandlerAbi,
|
|
51
|
-
functionName: '
|
|
51
|
+
functionName: 'claim',
|
|
52
|
+
args: [
|
|
53
|
+
proofParamsObj.toViem()
|
|
54
|
+
]
|
|
55
|
+
}),
|
|
56
|
+
abi: StakingAssetHandlerAbi
|
|
57
|
+
});
|
|
58
|
+
dualLog(`Claim transaction hash: ${claimReceipt.transactionHash}`);
|
|
59
|
+
await l1Client.waitForTransactionReceipt({
|
|
60
|
+
hash: claimReceipt.transactionHash
|
|
61
|
+
});
|
|
62
|
+
// Step 2: Approve the rollup to spend STK tokens
|
|
63
|
+
const stakingAssetAddress = await stakingAssetHandler.read.STAKING_ASSET();
|
|
64
|
+
dualLog(`Approving rollup to spend STK tokens`);
|
|
65
|
+
const { receipt: approveReceipt } = await l1TxUtils.sendAndMonitorTransaction({
|
|
66
|
+
to: stakingAssetAddress,
|
|
67
|
+
data: encodeFunctionData({
|
|
68
|
+
abi: TestERC20Abi,
|
|
69
|
+
functionName: 'approve',
|
|
70
|
+
args: [
|
|
71
|
+
rollupAddress,
|
|
72
|
+
maxUint256
|
|
73
|
+
]
|
|
74
|
+
}),
|
|
75
|
+
abi: TestERC20Abi
|
|
76
|
+
});
|
|
77
|
+
await l1Client.waitForTransactionReceipt({
|
|
78
|
+
hash: approveReceipt.transactionHash
|
|
79
|
+
});
|
|
80
|
+
// Step 3: Deposit into the rollup to register as a validator
|
|
81
|
+
dualLog(`Depositing into rollup to register validator`);
|
|
82
|
+
const { receipt } = await l1TxUtils.sendAndMonitorTransaction({
|
|
83
|
+
to: rollupAddress,
|
|
84
|
+
data: encodeFunctionData({
|
|
85
|
+
abi: RollupAbi,
|
|
86
|
+
functionName: 'deposit',
|
|
52
87
|
args: [
|
|
53
88
|
attesterAddress.toString(),
|
|
54
|
-
|
|
55
|
-
proofParamsObj.toViem(),
|
|
89
|
+
withdrawerAddress.toString(),
|
|
56
90
|
registrationTuple.publicKeyInG1,
|
|
57
91
|
registrationTuple.publicKeyInG2,
|
|
58
|
-
registrationTuple.proofOfPossession
|
|
92
|
+
registrationTuple.proofOfPossession,
|
|
93
|
+
false
|
|
59
94
|
]
|
|
60
95
|
}),
|
|
61
|
-
abi:
|
|
96
|
+
abi: RollupAbi
|
|
62
97
|
});
|
|
63
|
-
dualLog(`
|
|
98
|
+
dualLog(`Deposit transaction hash: ${receipt.transactionHash}`);
|
|
64
99
|
await l1Client.waitForTransactionReceipt({
|
|
65
100
|
hash: receipt.transactionHash
|
|
66
101
|
});
|
|
@@ -1,41 +1,14 @@
|
|
|
1
|
-
import { type L1ContractsConfig } from '@aztec/ethereum/config';
|
|
2
|
-
import type { L1TxUtilsConfig } from '@aztec/ethereum/l1-tx-utils/config';
|
|
3
1
|
import type { NetworkNames } from '@aztec/foundation/config';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
autoUpdate: SharedNodeConfig['autoUpdate'];
|
|
16
|
-
autoUpdateUrl?: string;
|
|
17
|
-
maxPendingTxCount: number;
|
|
18
|
-
publicMetricsOptOut: boolean;
|
|
19
|
-
publicIncludeMetrics?: string[];
|
|
20
|
-
publicMetricsCollectorUrl?: string;
|
|
21
|
-
publicMetricsCollectFrom?: string[];
|
|
22
|
-
skipArchiverInitialSync?: boolean;
|
|
23
|
-
blobAllowEmptySources?: boolean;
|
|
24
|
-
dataStoreMapSizeKb: number;
|
|
25
|
-
archiverStoreMapSizeKb: number;
|
|
26
|
-
noteHashTreeMapSizeKb: number;
|
|
27
|
-
nullifierTreeMapSizeKb: number;
|
|
28
|
-
publicDataTreeMapSizeKb: number;
|
|
29
|
-
sentinelEnabled: boolean;
|
|
30
|
-
disableTransactions: boolean;
|
|
31
|
-
};
|
|
32
|
-
export declare const stagingIgnitionL2ChainConfig: L2ChainConfig;
|
|
33
|
-
export declare const stagingPublicL2ChainConfig: L2ChainConfig;
|
|
34
|
-
export declare const nextNetL2ChainConfig: L2ChainConfig;
|
|
35
|
-
export declare const testnetL2ChainConfig: L2ChainConfig;
|
|
36
|
-
export declare const mainnetL2ChainConfig: L2ChainConfig;
|
|
37
|
-
export declare const devnetL2ChainConfig: L2ChainConfig;
|
|
38
|
-
export declare function getL2ChainConfig(networkName: NetworkNames): L2ChainConfig | undefined;
|
|
2
|
+
/**
|
|
3
|
+
* Sets up environment for the given network.
|
|
4
|
+
*
|
|
5
|
+
* For 'local' network: returns early, using hardcoded defaults from DefaultL1ContractsConfig
|
|
6
|
+
* and DefaultSlasherConfig (which match the 'defaults' section of defaults.yml).
|
|
7
|
+
*
|
|
8
|
+
* For deployed networks: applies network configuration from generated defaults.yml,
|
|
9
|
+
* merging base defaults with network-specific overrides.
|
|
10
|
+
*
|
|
11
|
+
* @param networkName - The network name
|
|
12
|
+
*/
|
|
39
13
|
export declare function enrichEnvironmentWithChainName(networkName: NetworkNames): void;
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVl0RixNQUFNLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQyxHQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDLEdBQ25ILElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLDJCQUEyQixDQUFDLEdBQzlFLElBQUksQ0FBQyxlQUFlLEVBQUUsd0JBQXdCLEdBQUcsZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsR0FBRztJQUMxRyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUNwQixhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0lBQzdCLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDaEMseUJBQXlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbkMsd0JBQXdCLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQyx1QkFBdUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNsQyxxQkFBcUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUloQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDO0lBQy9CLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUM5QixzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0IsdUJBQXVCLEVBQUUsTUFBTSxDQUFDO0lBR2hDLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDekIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0NBQzlCLENBQUM7QUErQ0osZUFBTyxNQUFNLDRCQUE0QixFQUFFLGFBc0YxQyxDQUFDO0FBRUYsZUFBTyxNQUFNLDBCQUEwQixFQUFFLGFBMER4QyxDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGFBMERsQyxDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGFBNEZsQyxDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGFBMkZsQyxDQUFDO0FBRUYsZUFBTyxNQUFNLG1CQUFtQixFQUFFLGFBMERqQyxDQUFDO0FBRUYsd0JBQWdCLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFZLEdBQUcsYUFBYSxHQUFHLFNBQVMsQ0FnQnJGO0FBTUQsd0JBQWdCLDhCQUE4QixDQUFDLFdBQVcsRUFBRSxZQUFZLFFBYXZFO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLE1BQU0sRUFBRSxhQUFhLFFBd0dyRSJ9
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbDJfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluX2wyX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQTBCN0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxRQW1CdkUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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;AA0B7D;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,YAAY,QAmBvE"}
|