@aztec/end-to-end 0.0.1-commit.d431d1c → 0.0.1-commit.e3c1de76
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/bench/client_flows/client_flows_benchmark.d.ts +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +28 -13
- package/dest/bench/utils.d.ts +5 -4
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +9 -7
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +7 -8
- package/dest/e2e_epochs/epochs_test.d.ts +7 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +29 -7
- package/dest/e2e_fees/bridging_race.notest.js +1 -1
- package/dest/e2e_fees/fees_test.d.ts +1 -1
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +6 -6
- package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +1 -7
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +2 -2
- package/dest/e2e_p2p/p2p_network.d.ts +1 -1
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +6 -2
- package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
- package/dest/e2e_p2p/reqresp/utils.js +153 -0
- package/dest/e2e_p2p/shared.d.ts +6 -6
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +9 -16
- package/dest/e2e_token_contract/token_contract_test.d.ts +1 -1
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +3 -3
- package/dest/fixtures/e2e_prover_test.d.ts +1 -1
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +8 -5
- package/dest/fixtures/setup.d.ts +5 -3
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +31 -20
- package/dest/fixtures/setup_p2p_test.d.ts +4 -5
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +24 -19
- package/dest/fixtures/token_utils.d.ts +1 -1
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +7 -4
- package/dest/shared/cross_chain_test_harness.d.ts +3 -4
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +11 -11
- package/dest/shared/gas_portal_test_harness.js +1 -1
- package/dest/shared/submit-transactions.d.ts +3 -3
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +9 -11
- package/dest/shared/uniswap_l1_l2.d.ts +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +12 -12
- package/dest/simulators/lending_simulator.js +2 -2
- package/dest/spartan/setup_test_wallets.d.ts +1 -1
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +61 -34
- package/dest/spartan/tx_metrics.d.ts +38 -2
- package/dest/spartan/tx_metrics.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.js +178 -4
- package/dest/spartan/utils/bot.d.ts +27 -0
- package/dest/spartan/utils/bot.d.ts.map +1 -0
- package/dest/spartan/utils/bot.js +141 -0
- package/dest/spartan/utils/chaos.d.ts +79 -0
- package/dest/spartan/utils/chaos.d.ts.map +1 -0
- package/dest/spartan/utils/chaos.js +142 -0
- package/dest/spartan/utils/clients.d.ts +39 -0
- package/dest/spartan/utils/clients.d.ts.map +1 -0
- package/dest/spartan/utils/clients.js +90 -0
- package/dest/spartan/utils/config.d.ts +36 -0
- package/dest/spartan/utils/config.d.ts.map +1 -0
- package/dest/spartan/utils/config.js +20 -0
- package/dest/spartan/utils/health.d.ts +63 -0
- package/dest/spartan/utils/health.d.ts.map +1 -0
- package/dest/spartan/utils/health.js +202 -0
- package/dest/spartan/utils/helm.d.ts +15 -0
- package/dest/spartan/utils/helm.d.ts.map +1 -0
- package/dest/spartan/utils/helm.js +47 -0
- package/dest/spartan/utils/index.d.ts +9 -0
- package/dest/spartan/utils/index.d.ts.map +1 -0
- package/dest/spartan/utils/index.js +18 -0
- package/dest/spartan/utils/k8s.d.ts +126 -0
- package/dest/spartan/utils/k8s.d.ts.map +1 -0
- package/dest/spartan/utils/k8s.js +375 -0
- package/dest/spartan/utils/nodes.d.ts +41 -0
- package/dest/spartan/utils/nodes.d.ts.map +1 -0
- package/dest/spartan/utils/nodes.js +461 -0
- package/dest/spartan/utils/scripts.d.ts +16 -0
- package/dest/spartan/utils/scripts.d.ts.map +1 -0
- package/dest/spartan/utils/scripts.js +66 -0
- package/dest/spartan/utils.d.ts +2 -260
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +1 -942
- package/package.json +39 -39
- package/src/bench/client_flows/client_flows_benchmark.ts +11 -24
- package/src/bench/utils.ts +9 -7
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +9 -12
- package/src/e2e_epochs/epochs_test.ts +58 -32
- package/src/e2e_fees/bridging_race.notest.ts +1 -4
- package/src/e2e_fees/fees_test.ts +10 -14
- package/src/e2e_l1_publisher/write_json.ts +3 -8
- package/src/e2e_nested_contract/nested_contract_test.ts +2 -4
- package/src/e2e_p2p/p2p_network.ts +15 -9
- package/src/e2e_p2p/reqresp/utils.ts +207 -0
- package/src/e2e_p2p/shared.ts +20 -22
- package/src/e2e_token_contract/token_contract_test.ts +3 -5
- package/src/fixtures/e2e_prover_test.ts +4 -9
- package/src/fixtures/setup.ts +33 -26
- package/src/fixtures/setup_p2p_test.ts +15 -20
- package/src/fixtures/token_utils.ts +6 -5
- package/src/shared/cross_chain_test_harness.ts +13 -27
- package/src/shared/gas_portal_test_harness.ts +1 -1
- package/src/shared/submit-transactions.ts +9 -15
- package/src/shared/uniswap_l1_l2.ts +12 -19
- package/src/simulators/lending_simulator.ts +2 -2
- package/src/spartan/setup_test_wallets.ts +72 -24
- package/src/spartan/tx_metrics.ts +152 -7
- package/src/spartan/utils/bot.ts +185 -0
- package/src/spartan/utils/chaos.ts +253 -0
- package/src/spartan/utils/clients.ts +100 -0
- package/src/spartan/utils/config.ts +26 -0
- package/src/spartan/utils/health.ts +255 -0
- package/src/spartan/utils/helm.ts +84 -0
- package/src/spartan/utils/index.ts +64 -0
- package/src/spartan/utils/k8s.ts +527 -0
- package/src/spartan/utils/nodes.ts +538 -0
- package/src/spartan/utils/scripts.ts +63 -0
- package/src/spartan/utils.ts +1 -1246
package/dest/fixtures/setup.js
CHANGED
|
@@ -22,7 +22,7 @@ import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
|
22
22
|
import { SecretValue } from '@aztec/foundation/config';
|
|
23
23
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
24
24
|
import { tryRmDir } from '@aztec/foundation/fs';
|
|
25
|
-
import {
|
|
25
|
+
import { withLoggerBindings } from '@aztec/foundation/log/server';
|
|
26
26
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
27
27
|
import { sleep } from '@aztec/foundation/sleep';
|
|
28
28
|
import { DateProvider, TestDateProvider } from '@aztec/foundation/timer';
|
|
@@ -86,9 +86,9 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
86
86
|
* @param aztecNode - An instance of Aztec Node.
|
|
87
87
|
* @param opts - Partial configuration for the PXE.
|
|
88
88
|
* @param logger - The logger to be used.
|
|
89
|
-
* @param
|
|
89
|
+
* @param actor - Actor label to include in log output (e.g., 'pxe-test').
|
|
90
90
|
* @returns A test wallet, logger and teardown function.
|
|
91
|
-
*/ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(),
|
|
91
|
+
*/ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(), actor) {
|
|
92
92
|
const PXEConfig = {
|
|
93
93
|
...getPXEConfig(),
|
|
94
94
|
...opts
|
|
@@ -102,7 +102,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
102
102
|
}
|
|
103
103
|
const teardown = configuredDataDirectory ? ()=>Promise.resolve() : ()=>tryRmDir(PXEConfig.dataDirectory);
|
|
104
104
|
const wallet = await TestWallet.create(aztecNode, PXEConfig, {
|
|
105
|
-
|
|
105
|
+
loggerActorLabel: actor
|
|
106
106
|
});
|
|
107
107
|
return {
|
|
108
108
|
wallet,
|
|
@@ -128,6 +128,9 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
128
128
|
};
|
|
129
129
|
const ethCheatCodes = new EthCheatCodes(config.l1RpcUrls, new DateProvider());
|
|
130
130
|
const wallet = await TestWallet.create(aztecNode);
|
|
131
|
+
if (config.walletMinFeePadding !== undefined) {
|
|
132
|
+
wallet.setMinFeePadding(config.walletMinFeePadding);
|
|
133
|
+
}
|
|
131
134
|
const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNode, new DateProvider());
|
|
132
135
|
const teardown = ()=>Promise.resolve();
|
|
133
136
|
logger.verbose('Populating wallet from already registered accounts...');
|
|
@@ -208,7 +211,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
208
211
|
const res = await startAnvil({
|
|
209
212
|
l1BlockTime: opts.ethereumSlotDuration,
|
|
210
213
|
accounts: opts.anvilAccounts,
|
|
211
|
-
port: opts.anvilPort
|
|
214
|
+
port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined)
|
|
212
215
|
});
|
|
213
216
|
anvil = res.anvil;
|
|
214
217
|
config.l1RpcUrls = [
|
|
@@ -352,14 +355,15 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
352
355
|
]);
|
|
353
356
|
}
|
|
354
357
|
}
|
|
355
|
-
const aztecNodeService = await
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
358
|
+
const aztecNodeService = await withLoggerBindings({
|
|
359
|
+
actor: 'node-0'
|
|
360
|
+
}, ()=>AztecNodeService.createAndSync(config, {
|
|
361
|
+
dateProvider,
|
|
362
|
+
telemetry: telemetryClient,
|
|
363
|
+
p2pClientDeps
|
|
364
|
+
}, {
|
|
365
|
+
prefilledPublicData
|
|
366
|
+
}));
|
|
363
367
|
const sequencerClient = aztecNodeService.getSequencer();
|
|
364
368
|
if (sequencerClient) {
|
|
365
369
|
const publisher = sequencerClient.sequencer.publisher;
|
|
@@ -386,7 +390,12 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
386
390
|
pxeConfig.dataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
|
|
387
391
|
// For tests we only want proving enabled if specifically requested
|
|
388
392
|
pxeConfig.proverEnabled = !!pxeOpts.proverEnabled;
|
|
389
|
-
const wallet = await TestWallet.create(aztecNodeService, pxeConfig
|
|
393
|
+
const wallet = await TestWallet.create(aztecNodeService, pxeConfig, {
|
|
394
|
+
loggerActorLabel: 'pxe-0'
|
|
395
|
+
});
|
|
396
|
+
if (opts.walletMinFeePadding !== undefined) {
|
|
397
|
+
wallet.setMinFeePadding(opts.walletMinFeePadding);
|
|
398
|
+
}
|
|
390
399
|
const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNodeService, dateProvider);
|
|
391
400
|
if (opts.aztecTargetCommitteeSize && opts.aztecTargetCommitteeSize > 0 || opts.initialValidators && opts.initialValidators.length > 0) {
|
|
392
401
|
// We need to advance such that the committee is set up.
|
|
@@ -398,7 +407,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
398
407
|
if (shouldDeployAccounts) {
|
|
399
408
|
logger.info(`${numberOfAccounts} accounts are being deployed. Reliably progressing past genesis by setting minTxsPerBlock to 1 and waiting for the accounts to be deployed`);
|
|
400
409
|
const accountsData = initialFundedAccounts.slice(0, numberOfAccounts);
|
|
401
|
-
const accountManagers = await deployFundedSchnorrAccounts(wallet,
|
|
410
|
+
const accountManagers = await deployFundedSchnorrAccounts(wallet, accountsData);
|
|
402
411
|
accounts = accountManagers.map((accountManager)=>accountManager.address);
|
|
403
412
|
} else if (needsEmptyBlock) {
|
|
404
413
|
logger.info('No accounts are being deployed, waiting for an empty block 1 to be mined');
|
|
@@ -517,7 +526,9 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
|
|
|
517
526
|
await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
|
|
518
527
|
}
|
|
519
528
|
export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, proverNodeConfig, aztecNode, prefilledPublicData = [], proverNodeDeps = {}) {
|
|
520
|
-
return
|
|
529
|
+
return withLoggerBindings({
|
|
530
|
+
actor: 'prover-0'
|
|
531
|
+
}, async ()=>{
|
|
521
532
|
const aztecNodeTxProvider = aztecNode && {
|
|
522
533
|
getTxByHash: aztecNode.getTxByHash.bind(aztecNode),
|
|
523
534
|
getTxsByHash: aztecNode.getTxsByHash.bind(aztecNode),
|
|
@@ -617,13 +628,13 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
617
628
|
if (!(await wallet.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered) {
|
|
618
629
|
await (await publishContractClass(wallet, SchnorrAccountContractArtifact)).send({
|
|
619
630
|
from: accountsToDeploy[0]
|
|
620
|
-
})
|
|
631
|
+
});
|
|
621
632
|
}
|
|
622
633
|
const requests = instances.map((instance)=>publishInstance(wallet, instance));
|
|
623
634
|
const batch = new BatchCall(wallet, requests);
|
|
624
635
|
await batch.send({
|
|
625
636
|
from: accountsToDeploy[0]
|
|
626
|
-
})
|
|
637
|
+
});
|
|
627
638
|
}
|
|
628
639
|
/**
|
|
629
640
|
* Helper function to deploy accounts.
|
|
@@ -641,7 +652,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
641
652
|
await deployMethod.send({
|
|
642
653
|
from: AztecAddress.ZERO,
|
|
643
654
|
skipClassPublication: i !== 0
|
|
644
|
-
})
|
|
655
|
+
});
|
|
645
656
|
}
|
|
646
657
|
return {
|
|
647
658
|
deployedAccounts
|
|
@@ -663,7 +674,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
663
674
|
const batch = new BatchCall(wallet, calls);
|
|
664
675
|
const txReceipt = await batch.send({
|
|
665
676
|
from: accountsToDeploy[0]
|
|
666
|
-
})
|
|
677
|
+
});
|
|
667
678
|
if (waitUntilProven) {
|
|
668
679
|
if (!node) {
|
|
669
680
|
throw new Error('Need to provide an AztecNode to wait for proven.');
|
|
@@ -5,7 +5,6 @@ import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
|
5
5
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
6
6
|
import type { ProverNodeDeps } from '@aztec/prover-node';
|
|
7
7
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
8
|
-
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
9
8
|
export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
|
|
10
9
|
export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
|
|
11
10
|
export declare function createNodes(config: AztecNodeConfig & {
|
|
@@ -14,10 +13,10 @@ export declare function createNodes(config: AztecNodeConfig & {
|
|
|
14
13
|
/** Creates a P2P enabled instance of Aztec Node Service with a validator */
|
|
15
14
|
export declare function createNode(config: AztecNodeConfig & {
|
|
16
15
|
dontStartSequencer?: boolean;
|
|
17
|
-
}, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number
|
|
16
|
+
}, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
|
|
18
17
|
/** Creates a P2P enabled instance of Aztec Node Service without a validator */
|
|
19
|
-
export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number
|
|
20
|
-
export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, proverNodeDeps: ProverNodeDeps & Required<Pick<ProverNodeDeps, 'dateProvider'>>, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number
|
|
18
|
+
export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
|
|
19
|
+
export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, proverNodeDeps: ProverNodeDeps & Required<Pick<ProverNodeDeps, 'dateProvider'>>, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<import("@aztec/prover-node").ProverNode>;
|
|
21
20
|
export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
22
21
|
export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBVzlELGVBQU8sTUFBTSxpQ0FBaUMsSUFBSSxDQUFDO0FBT25ELHdCQUFnQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQU83RjtBQUVELHdCQUFzQixXQUFXLENBQy9CLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFDcEIsV0FBVyxTQUFJLEVBQ2YsaUJBQWlCLFNBQUksR0FDcEIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FtQzdCO0FBRUQsNEVBQTRFO0FBQzVFLHdCQUFzQixVQUFVLENBQzlCLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLFlBQVksRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLEVBQy9CLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQVlyQjtBQUVELCtFQUErRTtBQUMvRSx3QkFBc0Isc0JBQXNCLENBQzFDLFVBQVUsRUFBRSxlQUFlLEVBQzNCLFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQWNyQjtBQUVELHdCQUFzQixnQkFBZ0IsQ0FDcEMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsY0FBYyxFQUFFLGNBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUMvRSxtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQzFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxvREF3QnJCO0FBRUQsd0JBQXNCLGVBQWUsQ0FDbkMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixhQUFhLENBQUMsRUFBRSxNQUFNLDRCQWdCdkI7QUFFRCx3QkFBc0IscUJBQXFCLENBQ3pDLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUN6QixJQUFJLENBQUMsRUFBRSxNQUFNLEVBQ2IsWUFBWSxHQUFFLE1BQU0sR0FBRyxNQUFNLEVBQU0sRUFDbkMsYUFBYSxDQUFDLEVBQUUsTUFBTSw0QkFtQnZCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAW9D,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAOnD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,EAAE,CAO7F;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,SAAI,EACf,iBAAiB,SAAI,GACpB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmC7B;AAED,4EAA4E;AAC5E,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,6BAYrB;AAED,+EAA+E;AAC/E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,6BAcrB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,EAC/E,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,oDAwBrB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,4BAgBvB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,GAAE,MAAM,GAAG,MAAM,EAAM,EACnC,aAAa,CAAC,EAAE,MAAM,4BAmBvB"}
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
*/ import { AztecNodeService } from '@aztec/aztec-node';
|
|
4
4
|
import { range } from '@aztec/foundation/array';
|
|
5
5
|
import { SecretValue } from '@aztec/foundation/config';
|
|
6
|
-
import {
|
|
6
|
+
import { withLoggerBindings } from '@aztec/foundation/log/server';
|
|
7
7
|
import { bufferToHex } from '@aztec/foundation/string';
|
|
8
8
|
import getPort from 'get-port';
|
|
9
|
-
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
10
9
|
import { TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
11
10
|
import { createAndSyncProverNode, getPrivateKeyFromIndex } from './utils.js';
|
|
12
11
|
import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
|
|
@@ -14,6 +13,10 @@ import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
|
|
|
14
13
|
// index 1, and prover node with index 2, so all of our loops here need to start from 3
|
|
15
14
|
// to avoid running validators with the same key
|
|
16
15
|
export const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
|
|
16
|
+
// Global counters for actor naming (start at 1)
|
|
17
|
+
let validatorCounter = 1;
|
|
18
|
+
let nodeCounter = 1;
|
|
19
|
+
let proverCounter = 1;
|
|
17
20
|
export function generatePrivateKeys(startIndex, numberOfKeys) {
|
|
18
21
|
const privateKeys = [];
|
|
19
22
|
// Do not start from 0 as it is used during setup
|
|
@@ -24,9 +27,6 @@ export function generatePrivateKeys(startIndex, numberOfKeys) {
|
|
|
24
27
|
}
|
|
25
28
|
export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNodes, bootNodePort, prefilledPublicData, dataDirectory, metricsPort, indexOffset = 0, validatorsPerNode = 1) {
|
|
26
29
|
const nodePromises = [];
|
|
27
|
-
const loggerIdStorage = new AsyncLocalStorage();
|
|
28
|
-
const logNameHandler = (module)=>loggerIdStorage.getStore() ? `${module}:${loggerIdStorage.getStore()}` : module;
|
|
29
|
-
addLogNameHandler(logNameHandler);
|
|
30
30
|
for(let i = 0; i < numNodes; i++){
|
|
31
31
|
const index = indexOffset + i;
|
|
32
32
|
// We run on ports from the bootnode upwards
|
|
@@ -35,7 +35,7 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
35
35
|
const validatorIndices = validatorsPerNode === 1 ? index : range(validatorsPerNode, validatorsPerNode * index);
|
|
36
36
|
// Assign data directory
|
|
37
37
|
const dataDir = dataDirectory ? `${dataDirectory}-${index}` : undefined;
|
|
38
|
-
const nodePromise = createNode(config, dateProvider, port, bootstrapNodeEnr, validatorIndices, prefilledPublicData, dataDir, metricsPort
|
|
38
|
+
const nodePromise = createNode(config, dateProvider, port, bootstrapNodeEnr, validatorIndices, prefilledPublicData, dataDir, metricsPort);
|
|
39
39
|
nodePromises.push(nodePromise);
|
|
40
40
|
}
|
|
41
41
|
const nodes = await Promise.all(nodePromises);
|
|
@@ -44,11 +44,13 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
44
44
|
if (!seqClient && config.disableValidator === false) {
|
|
45
45
|
throw new Error('Sequencer not found');
|
|
46
46
|
}
|
|
47
|
-
removeLogNameHandler(logNameHandler);
|
|
48
47
|
return nodes;
|
|
49
48
|
}
|
|
50
|
-
/** Creates a P2P enabled instance of Aztec Node Service with a validator */ export async function createNode(config, dateProvider, tcpPort, bootstrapNode, addressIndex, prefilledPublicData, dataDirectory, metricsPort
|
|
51
|
-
const
|
|
49
|
+
/** Creates a P2P enabled instance of Aztec Node Service with a validator */ export async function createNode(config, dateProvider, tcpPort, bootstrapNode, addressIndex, prefilledPublicData, dataDirectory, metricsPort) {
|
|
50
|
+
const actorIndex = validatorCounter++;
|
|
51
|
+
return await withLoggerBindings({
|
|
52
|
+
actor: `validator-${actorIndex}`
|
|
53
|
+
}, async ()=>{
|
|
52
54
|
const validatorConfig = await createValidatorConfig(config, bootstrapNode, tcpPort, addressIndex, dataDirectory);
|
|
53
55
|
const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
|
|
54
56
|
return await AztecNodeService.createAndSync(validatorConfig, {
|
|
@@ -58,11 +60,13 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
58
60
|
prefilledPublicData,
|
|
59
61
|
dontStartSequencer: config.dontStartSequencer
|
|
60
62
|
});
|
|
61
|
-
};
|
|
62
|
-
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createNode) : createNode();
|
|
63
|
+
});
|
|
63
64
|
}
|
|
64
|
-
/** Creates a P2P enabled instance of Aztec Node Service without a validator */ export async function createNonValidatorNode(baseConfig, dateProvider, tcpPort, bootstrapNode, prefilledPublicData, dataDirectory, metricsPort
|
|
65
|
-
const
|
|
65
|
+
/** Creates a P2P enabled instance of Aztec Node Service without a validator */ export async function createNonValidatorNode(baseConfig, dateProvider, tcpPort, bootstrapNode, prefilledPublicData, dataDirectory, metricsPort) {
|
|
66
|
+
const actorIndex = nodeCounter++;
|
|
67
|
+
return await withLoggerBindings({
|
|
68
|
+
actor: `node-${actorIndex}`
|
|
69
|
+
}, async ()=>{
|
|
66
70
|
const p2pConfig = await createP2PConfig(baseConfig, bootstrapNode, tcpPort, dataDirectory);
|
|
67
71
|
const config = {
|
|
68
72
|
...p2pConfig,
|
|
@@ -77,11 +81,13 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
77
81
|
}, {
|
|
78
82
|
prefilledPublicData
|
|
79
83
|
});
|
|
80
|
-
};
|
|
81
|
-
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createNode) : createNode();
|
|
84
|
+
});
|
|
82
85
|
}
|
|
83
|
-
export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex, proverNodeDeps, prefilledPublicData, dataDirectory, metricsPort
|
|
84
|
-
const
|
|
86
|
+
export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex, proverNodeDeps, prefilledPublicData, dataDirectory, metricsPort) {
|
|
87
|
+
const actorIndex = proverCounter++;
|
|
88
|
+
return await withLoggerBindings({
|
|
89
|
+
actor: `prover-${actorIndex}`
|
|
90
|
+
}, async ()=>{
|
|
85
91
|
const proverNodePrivateKey = getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex);
|
|
86
92
|
const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
|
|
87
93
|
const proverConfig = await createP2PConfig(config, bootstrapNode, tcpPort, dataDirectory);
|
|
@@ -93,8 +99,7 @@ export async function createProverNode(config, tcpPort, bootstrapNode, addressIn
|
|
|
93
99
|
...proverNodeDeps,
|
|
94
100
|
telemetry
|
|
95
101
|
});
|
|
96
|
-
};
|
|
97
|
-
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createProverNode) : createProverNode();
|
|
102
|
+
});
|
|
98
103
|
}
|
|
99
104
|
export async function createP2PConfig(config, bootstrapNodeEnr, port, dataDirectory) {
|
|
100
105
|
port = port ?? await getPort();
|
|
@@ -9,4 +9,4 @@ export declare function deployToken(wallet: Wallet, admin: AztecAddress, initial
|
|
|
9
9
|
export declare function mintTokensToPrivate(token: TokenContract, minter: AztecAddress, recipient: AztecAddress, amount: bigint): Promise<void>;
|
|
10
10
|
export declare function expectTokenBalance(wallet: Wallet, token: TokenContract, owner: AztecAddress, expectedBalance: bigint, logger: Logger): Promise<void>;
|
|
11
11
|
export declare function mintNotes(wallet: Wallet, minter: AztecAddress, recipient: AztecAddress, asset: TokenContract, noteAmounts: bigint[]): Promise<bigint>;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy90b2tlbl91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0Qsd0JBQXNCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNOzs7R0Fjakg7QUFFRCx3QkFBc0IsbUJBQW1CLENBQ3ZDLEtBQUssRUFBRSxhQUFhLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLGlCQUdmO0FBRUQsd0JBQXNCLGtCQUFrQixDQUN0QyxNQUFNLEVBQUUsTUFBTSxFQUNkLEtBQUssRUFBRSxhQUFhLEVBQ3BCLEtBQUssRUFBRSxZQUFZLEVBQ25CLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLGlCQU9mO0FBRUQsd0JBQXNCLFNBQVMsQ0FDN0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxNQUFNLEVBQUUsWUFBWSxFQUNwQixTQUFTLEVBQUUsWUFBWSxFQUN2QixLQUFLLEVBQUUsYUFBYSxFQUNwQixXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQ3BCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FXakIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token_utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/token_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;
|
|
1
|
+
{"version":3,"file":"token_utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/token_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;GAcjH;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,iBAGf;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAOf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAWjB"}
|
|
@@ -3,8 +3,11 @@ import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
|
3
3
|
export async function deployToken(wallet, admin, initialAdminBalance, logger) {
|
|
4
4
|
logger.info(`Deploying Token contract...`);
|
|
5
5
|
const { contract, instance } = await TokenContract.deploy(wallet, admin, 'TokenName', 'TokenSymbol', 18).send({
|
|
6
|
-
from: admin
|
|
7
|
-
|
|
6
|
+
from: admin,
|
|
7
|
+
wait: {
|
|
8
|
+
returnReceipt: true
|
|
9
|
+
}
|
|
10
|
+
});
|
|
8
11
|
if (initialAdminBalance > 0n) {
|
|
9
12
|
await mintTokensToPrivate(contract, admin, admin, initialAdminBalance);
|
|
10
13
|
}
|
|
@@ -17,7 +20,7 @@ export async function deployToken(wallet, admin, initialAdminBalance, logger) {
|
|
|
17
20
|
export async function mintTokensToPrivate(token, minter, recipient, amount) {
|
|
18
21
|
await token.methods.mint_to_private(recipient, amount).send({
|
|
19
22
|
from: minter
|
|
20
|
-
})
|
|
23
|
+
});
|
|
21
24
|
}
|
|
22
25
|
export async function expectTokenBalance(wallet, token, owner, expectedBalance, logger) {
|
|
23
26
|
// Then check the balance
|
|
@@ -37,7 +40,7 @@ export async function mintNotes(wallet, minter, recipient, asset, noteAmounts) {
|
|
|
37
40
|
const actions = toMint.map((amt)=>asset.methods.mint_to_private(recipient, amt));
|
|
38
41
|
await new BatchCall(wallet, actions).send({
|
|
39
42
|
from: minter
|
|
40
|
-
})
|
|
43
|
+
});
|
|
41
44
|
}
|
|
42
45
|
return noteAmounts.reduce((prev, curr)=>prev + curr, 0n);
|
|
43
46
|
}
|
|
@@ -11,7 +11,6 @@ import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
|
11
11
|
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
12
12
|
import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
|
|
13
13
|
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
14
|
-
import type { FieldsOf } from '@aztec/foundation/types';
|
|
15
14
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
16
15
|
import { TokenBridgeContract } from '@aztec/noir-contracts.js/TokenBridge';
|
|
17
16
|
import { type Hex } from 'viem';
|
|
@@ -119,8 +118,8 @@ export declare class CrossChainTestHarness {
|
|
|
119
118
|
sendL2PublicTransfer(transferAmount: bigint, receiverAddress: AztecAddress): Promise<void>;
|
|
120
119
|
consumeMessageOnAztecAndMintPrivately(claim: Pick<L2AmountClaimWithRecipient, 'claimAmount' | 'claimSecret' | 'messageLeafIndex' | 'recipient'>): Promise<void>;
|
|
121
120
|
consumeMessageOnAztecAndMintPublicly(claim: Pick<L2AmountClaim, 'claimAmount' | 'claimSecret' | 'messageLeafIndex'>): Promise<void>;
|
|
122
|
-
withdrawPrivateFromAztecToL1(withdrawAmount: bigint, authwitNonce: Fr | undefined, authWitness: AuthWitness): Promise<
|
|
123
|
-
withdrawPublicFromAztecToL1(withdrawAmount: bigint, authwitNonce?: Fr): Promise<
|
|
121
|
+
withdrawPrivateFromAztecToL1(withdrawAmount: bigint, authwitNonce: Fr | undefined, authWitness: AuthWitness): Promise<TxReceipt>;
|
|
122
|
+
withdrawPublicFromAztecToL1(withdrawAmount: bigint, authwitNonce?: Fr): Promise<TxReceipt>;
|
|
124
123
|
getL2PrivateBalanceOf(owner: AztecAddress): Promise<any>;
|
|
125
124
|
expectPrivateBalanceOnL2(owner: AztecAddress, expectedBalance: bigint): Promise<void>;
|
|
126
125
|
getL2PublicBalanceOf(owner: AztecAddress): Promise<any>;
|
|
@@ -139,4 +138,4 @@ export declare class CrossChainTestHarness {
|
|
|
139
138
|
makeMessageConsumable(msgHash: Fr | Hex): Promise<void>;
|
|
140
139
|
toCrossChainContext(): CrossChainContext;
|
|
141
140
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NfY2hhaW5fdGVzdF9oYXJuZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhcmVkL2Nyb3NzX2NoYWluX3Rlc3RfaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFHTCxLQUFLLGFBQWEsRUFDbEIsS0FBSywwQkFBMEIsRUFDaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUFlLE1BQU0s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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,11 +28,11 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
28
28
|
// deploy l2 token
|
|
29
29
|
const token = await TokenContract.deploy(wallet, owner, 'TokenName', 'TokenSymbol', 18).send({
|
|
30
30
|
from: owner
|
|
31
|
-
})
|
|
31
|
+
});
|
|
32
32
|
// deploy l2 token bridge and attach to the portal
|
|
33
33
|
const bridge = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send({
|
|
34
34
|
from: owner
|
|
35
|
-
})
|
|
35
|
+
});
|
|
36
36
|
if (await token.methods.get_admin().simulate({
|
|
37
37
|
from: owner
|
|
38
38
|
}) !== owner.toBigInt()) {
|
|
@@ -46,7 +46,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
46
46
|
// make the bridge a minter on the token:
|
|
47
47
|
await token.methods.set_minter(bridge.address, true).send({
|
|
48
48
|
from: owner
|
|
49
|
-
})
|
|
49
|
+
});
|
|
50
50
|
if (await token.methods.is_minter(bridge.address).simulate({
|
|
51
51
|
from: owner
|
|
52
52
|
}) === 1n) {
|
|
@@ -141,7 +141,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
141
141
|
this.logger.info('Minting tokens on L2 publicly');
|
|
142
142
|
await this.l2Token.methods.mint_to_public(this.ownerAddress, amount).send({
|
|
143
143
|
from: this.ownerAddress
|
|
144
|
-
})
|
|
144
|
+
});
|
|
145
145
|
}
|
|
146
146
|
async mintTokensPrivateOnL2(amount) {
|
|
147
147
|
await mintTokensToPrivate(this.l2Token, this.ownerAddress, this.ownerAddress, amount);
|
|
@@ -150,21 +150,21 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
150
150
|
// send a transfer tx to force through rollup with the message included
|
|
151
151
|
await this.l2Token.methods.transfer_in_public(this.ownerAddress, receiverAddress, transferAmount, 0).send({
|
|
152
152
|
from: this.ownerAddress
|
|
153
|
-
})
|
|
153
|
+
});
|
|
154
154
|
}
|
|
155
155
|
async consumeMessageOnAztecAndMintPrivately(claim) {
|
|
156
156
|
this.logger.info('Consuming messages on L2 privately');
|
|
157
157
|
const { recipient, claimAmount, claimSecret: secretForL2MessageConsumption, messageLeafIndex } = claim;
|
|
158
158
|
await this.l2Bridge.methods.claim_private(recipient, claimAmount, secretForL2MessageConsumption, messageLeafIndex).send({
|
|
159
159
|
from: this.ownerAddress
|
|
160
|
-
})
|
|
160
|
+
});
|
|
161
161
|
}
|
|
162
162
|
async consumeMessageOnAztecAndMintPublicly(claim) {
|
|
163
163
|
this.logger.info('Consuming messages on L2 Publicly');
|
|
164
164
|
const { claimAmount, claimSecret, messageLeafIndex } = claim;
|
|
165
165
|
await this.l2Bridge.methods.claim_public(this.ownerAddress, claimAmount, claimSecret, messageLeafIndex).send({
|
|
166
166
|
from: this.ownerAddress
|
|
167
|
-
})
|
|
167
|
+
});
|
|
168
168
|
}
|
|
169
169
|
async withdrawPrivateFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO, authWitness) {
|
|
170
170
|
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
|
|
@@ -172,13 +172,13 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
172
172
|
authWitness
|
|
173
173
|
],
|
|
174
174
|
from: this.ownerAddress
|
|
175
|
-
})
|
|
175
|
+
});
|
|
176
176
|
return withdrawReceipt;
|
|
177
177
|
}
|
|
178
178
|
async withdrawPublicFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO) {
|
|
179
179
|
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
|
|
180
180
|
from: this.ownerAddress
|
|
181
|
-
})
|
|
181
|
+
});
|
|
182
182
|
return withdrawReceipt;
|
|
183
183
|
}
|
|
184
184
|
async getL2PrivateBalanceOf(owner) {
|
|
@@ -210,13 +210,13 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
210
210
|
this.logger.info('Transferring to private on L2');
|
|
211
211
|
await this.l2Token.methods.transfer_to_private(this.ownerAddress, shieldAmount).send({
|
|
212
212
|
from: this.ownerAddress
|
|
213
|
-
})
|
|
213
|
+
});
|
|
214
214
|
}
|
|
215
215
|
async transferToPublicOnL2(amount, authwitNonce = Fr.ZERO) {
|
|
216
216
|
this.logger.info('Transferring tokens to public');
|
|
217
217
|
await this.l2Token.methods.transfer_to_public(this.ownerAddress, this.ownerAddress, amount, authwitNonce).send({
|
|
218
218
|
from: this.ownerAddress
|
|
219
|
-
})
|
|
219
|
+
});
|
|
220
220
|
}
|
|
221
221
|
/**
|
|
222
222
|
* Makes message available for consumption.
|
|
@@ -72,7 +72,7 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
72
72
|
const { claimAmount, claimSecret, messageLeafIndex } = claim;
|
|
73
73
|
await this.feeJuice.methods.claim(owner, claimAmount, claimSecret, messageLeafIndex).send({
|
|
74
74
|
from: claimer
|
|
75
|
-
})
|
|
75
|
+
});
|
|
76
76
|
}
|
|
77
77
|
async getL2PublicBalanceOf(owner) {
|
|
78
78
|
return await this.feeJuice.methods.balance_of_public(owner).simulate({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import type { SentTx } from '@aztec/aztec.js/contracts';
|
|
3
2
|
import type { Logger } from '@aztec/aztec.js/log';
|
|
3
|
+
import { TxHash } from '@aztec/aztec.js/tx';
|
|
4
4
|
import type { TestWallet } from '@aztec/test-wallet/server';
|
|
5
|
-
export declare const submitTxsTo: (wallet: TestWallet, submitter: AztecAddress, numTxs: number, logger: Logger) => Promise<
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export declare const submitTxsTo: (wallet: TestWallet, submitter: AztecAddress, numTxs: number, logger: Logger) => Promise<TxHash[]>;
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBRXRFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzVELGVBQU8sTUFBTSxXQUFXLG9HQXFCdkIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,eAAO,MAAM,WAAW,oGAqBvB,CAAC"}
|
|
@@ -1,24 +1,22 @@
|
|
|
1
|
+
import { NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
1
2
|
import { Fr, GrumpkinScalar } from '@aztec/aztec.js/fields';
|
|
2
3
|
import { TxStatus } from '@aztec/aztec.js/tx';
|
|
3
4
|
import { times } from '@aztec/foundation/collection';
|
|
4
5
|
// submits a set of transactions to the provided Wallet
|
|
5
6
|
export const submitTxsTo = async (wallet, submitter, numTxs, logger)=>{
|
|
6
|
-
const
|
|
7
|
+
const txHashes = [];
|
|
7
8
|
await Promise.all(times(numTxs, async ()=>{
|
|
8
9
|
const accountManager = await wallet.createSchnorrAccount(Fr.random(), Fr.random(), GrumpkinScalar.random());
|
|
9
10
|
const deployMethod = await accountManager.getDeployMethod();
|
|
10
|
-
const
|
|
11
|
-
from: submitter
|
|
11
|
+
const txHash = await deployMethod.send({
|
|
12
|
+
from: submitter,
|
|
13
|
+
wait: NO_WAIT
|
|
12
14
|
});
|
|
13
|
-
const txHash = await tx.getTxHash();
|
|
14
15
|
logger.info(`Tx sent with hash ${txHash}`);
|
|
15
|
-
const receipt = await
|
|
16
|
-
expect(receipt).
|
|
17
|
-
status: TxStatus.PENDING,
|
|
18
|
-
error: ''
|
|
19
|
-
}));
|
|
16
|
+
const receipt = await wallet.getTxReceipt(txHash);
|
|
17
|
+
expect(receipt.status).toBe(TxStatus.PENDING);
|
|
20
18
|
logger.info(`Receipt received for ${txHash}`);
|
|
21
|
-
|
|
19
|
+
txHashes.push(txHash);
|
|
22
20
|
}));
|
|
23
|
-
return
|
|
21
|
+
return txHashes;
|
|
24
22
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type EndToEndContext } from '../fixtures/utils.js';
|
|
2
2
|
export declare const uniswapL1L2TestSuite: (setup: () => Promise<EndToEndContext>, cleanup: () => Promise<void>, expectedForkBlockNumber?: number) => void;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFZN0YsZUFBTyxNQUFNLG9CQUFvQixpSEFrK0JoQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAY7F,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAY7F,eAAO,MAAM,oBAAoB,iHAk+BhC,CAAC"}
|