@aztec/end-to-end 0.0.1-commit.7cf39cb55 → 0.0.1-commit.7ffbba4
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 +16 -8
- package/dest/bench/utils.d.ts +1 -1
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +6 -3
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +2 -2
- 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 +16 -16
- package/dest/e2e_epochs/epochs_test.d.ts +9 -7
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +53 -34
- 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 +13 -6
- 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 +4 -6
- package/dest/e2e_p2p/p2p_network.d.ts +4 -3
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +24 -7
- package/dest/e2e_p2p/reqresp/utils.d.ts +3 -3
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -1
- package/dest/e2e_p2p/reqresp/utils.js +32 -8
- package/dest/e2e_p2p/shared.d.ts +15 -1
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +25 -2
- package/dest/e2e_token_contract/token_contract_test.d.ts +2 -2
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +13 -13
- package/dest/fixtures/authwit_proxy.d.ts +15 -0
- package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
- package/dest/fixtures/authwit_proxy.js +30 -0
- package/dest/fixtures/e2e_prover_test.d.ts +3 -3
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +33 -40
- package/dest/fixtures/elu_monitor.d.ts +21 -0
- package/dest/fixtures/elu_monitor.d.ts.map +1 -0
- package/dest/fixtures/elu_monitor.js +102 -0
- package/dest/fixtures/fixtures.d.ts +5 -1
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +6 -0
- package/dest/fixtures/setup.d.ts +25 -9
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +49 -80
- package/dest/fixtures/setup_p2p_test.d.ts +6 -3
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +12 -9
- package/dest/fixtures/token_utils.d.ts +2 -2
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +5 -4
- package/dest/shared/cross_chain_test_harness.d.ts +1 -1
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +13 -13
- package/dest/shared/gas_portal_test_harness.js +2 -2
- package/dest/shared/index.d.ts +2 -1
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/index.js +1 -0
- package/dest/shared/jest_setup.js +41 -1
- package/dest/shared/mock_state_view.d.ts +86 -0
- package/dest/shared/mock_state_view.d.ts.map +1 -0
- package/dest/shared/mock_state_view.js +186 -0
- package/dest/shared/submit-transactions.js +1 -1
- 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 +5 -5
- package/dest/simulators/lending_simulator.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +2 -2
- package/dest/simulators/token_simulator.d.ts +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +2 -2
- package/dest/spartan/setup_test_wallets.d.ts +8 -1
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +32 -3
- package/dest/spartan/tx_metrics.js +1 -1
- package/dest/spartan/utils/bot.d.ts +3 -2
- package/dest/spartan/utils/bot.d.ts.map +1 -1
- package/dest/spartan/utils/bot.js +2 -1
- package/dest/spartan/utils/config.d.ts +4 -1
- package/dest/spartan/utils/config.d.ts.map +1 -1
- package/dest/spartan/utils/config.js +2 -1
- package/dest/spartan/utils/index.d.ts +3 -2
- package/dest/spartan/utils/index.d.ts.map +1 -1
- package/dest/spartan/utils/index.js +3 -1
- package/dest/spartan/utils/k8s.d.ts +3 -1
- package/dest/spartan/utils/k8s.d.ts.map +1 -1
- package/dest/spartan/utils/k8s.js +6 -0
- package/dest/spartan/utils/nodes.d.ts +4 -5
- package/dest/spartan/utils/nodes.d.ts.map +1 -1
- package/dest/spartan/utils/nodes.js +9 -9
- package/dest/test-wallet/test_wallet.d.ts +4 -3
- package/dest/test-wallet/test_wallet.d.ts.map +1 -1
- package/dest/test-wallet/test_wallet.js +3 -3
- package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
- package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
- package/dest/test-wallet/wallet_worker_script.js +48 -0
- package/dest/test-wallet/worker_wallet.d.ts +52 -0
- package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet.js +151 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
- package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
- package/dest/test-wallet/worker_wallet_schema.js +10 -0
- package/package.json +43 -44
- package/src/bench/client_flows/client_flows_benchmark.ts +38 -30
- package/src/bench/utils.ts +7 -2
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +20 -16
- package/src/e2e_epochs/epochs_test.ts +66 -66
- package/src/e2e_fees/fees_test.ts +13 -6
- package/src/e2e_nested_contract/nested_contract_test.ts +6 -4
- package/src/e2e_p2p/p2p_network.ts +31 -5
- package/src/e2e_p2p/reqresp/utils.ts +36 -8
- package/src/e2e_p2p/shared.ts +45 -2
- package/src/e2e_token_contract/token_contract_test.ts +18 -10
- package/src/fixtures/authwit_proxy.ts +50 -0
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/e2e_prover_test.ts +36 -40
- package/src/fixtures/elu_monitor.ts +126 -0
- package/src/fixtures/fixtures.ts +10 -0
- package/src/fixtures/setup.ts +68 -110
- package/src/fixtures/setup_p2p_test.ts +9 -17
- package/src/fixtures/token_utils.ts +6 -3
- package/src/shared/cross_chain_test_harness.ts +13 -9
- package/src/shared/gas_portal_test_harness.ts +1 -1
- package/src/shared/index.ts +1 -0
- package/src/shared/jest_setup.ts +51 -1
- package/src/shared/mock_state_view.ts +188 -0
- package/src/shared/submit-transactions.ts +1 -1
- package/src/shared/uniswap_l1_l2.ts +6 -4
- package/src/simulators/lending_simulator.ts +4 -2
- package/src/simulators/token_simulator.ts +6 -2
- package/src/spartan/setup_test_wallets.ts +56 -11
- package/src/spartan/tx_metrics.ts +1 -1
- package/src/spartan/utils/bot.ts +3 -0
- package/src/spartan/utils/config.ts +1 -0
- package/src/spartan/utils/index.ts +4 -0
- package/src/spartan/utils/k8s.ts +8 -0
- package/src/spartan/utils/nodes.ts +15 -10
- package/src/test-wallet/test_wallet.ts +5 -4
- package/src/test-wallet/wallet_worker_script.ts +60 -0
- package/src/test-wallet/worker_wallet.ts +213 -0
- package/src/test-wallet/worker_wallet_schema.ts +13 -0
package/dest/fixtures/setup.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
|
|
2
2
|
import { generateSchnorrAccounts } from '@aztec/accounts/testing';
|
|
3
|
-
import { createArchiver } from '@aztec/archiver';
|
|
4
3
|
import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
|
|
5
4
|
import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
|
|
6
5
|
import { BatchCall, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js/contracts';
|
|
@@ -8,7 +7,6 @@ import { publishContractClass, publishInstance } from '@aztec/aztec.js/deploymen
|
|
|
8
7
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
9
8
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
10
9
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
11
|
-
import { createBlobClientWithFileStores } from '@aztec/blob-client/client';
|
|
12
10
|
import { SPONSORED_FPC_SALT } from '@aztec/constants';
|
|
13
11
|
import { isAnvilTestChain } from '@aztec/ethereum/chain';
|
|
14
12
|
import { createExtendedL1Client } from '@aztec/ethereum/client';
|
|
@@ -16,7 +14,7 @@ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
|
|
|
16
14
|
import { NULL_KEY } from '@aztec/ethereum/constants';
|
|
17
15
|
import { deployMulticall3 } from '@aztec/ethereum/contracts';
|
|
18
16
|
import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
19
|
-
import {
|
|
17
|
+
import { EthCheatCodesWithState, startAnvil } from '@aztec/ethereum/test';
|
|
20
18
|
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
21
19
|
import { SecretValue } from '@aztec/foundation/config';
|
|
22
20
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
@@ -29,7 +27,6 @@ import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
|
|
|
29
27
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
30
28
|
import { MockGossipSubNetwork, getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
|
|
31
29
|
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
32
|
-
import { createProverNode } from '@aztec/prover-node';
|
|
33
30
|
import { getPXEConfig } from '@aztec/pxe/server';
|
|
34
31
|
import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
|
|
35
32
|
import { tryStop } from '@aztec/stdlib/interfaces/server';
|
|
@@ -130,6 +127,8 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
130
127
|
config.realProofs = !!opts.realProofs;
|
|
131
128
|
// Only enforce the time table if requested
|
|
132
129
|
config.enforceTimeTable = !!opts.enforceTimeTable;
|
|
130
|
+
// Enable the tx delayer for tests (default config has it disabled, so we force-enable it here)
|
|
131
|
+
config.enableDelayer = true;
|
|
133
132
|
config.listenAddress = '127.0.0.1';
|
|
134
133
|
config.minTxPoolAgeMs = opts.minTxPoolAgeMs ?? 0;
|
|
135
134
|
const logger = getLogger();
|
|
@@ -176,8 +175,8 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
176
175
|
if (opts.l1PublisherKey && opts.l1PublisherKey.getValue() && opts.l1PublisherKey.getValue() != NULL_KEY) {
|
|
177
176
|
publisherPrivKeyHex = opts.l1PublisherKey.getValue();
|
|
178
177
|
publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
|
|
179
|
-
} else if (config.
|
|
180
|
-
publisherPrivKeyHex = config.
|
|
178
|
+
} else if (config.sequencerPublisherPrivateKeys && config.sequencerPublisherPrivateKeys.length > 0 && config.sequencerPublisherPrivateKeys[0].getValue() != NULL_KEY) {
|
|
179
|
+
publisherPrivKeyHex = config.sequencerPublisherPrivateKeys[0].getValue();
|
|
181
180
|
publisherHdAccount = privateKeyToAccount(publisherPrivKeyHex);
|
|
182
181
|
} else if (!MNEMONIC) {
|
|
183
182
|
throw new Error(`Mnemonic not provided and no publisher private key`);
|
|
@@ -188,7 +187,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
188
187
|
const publisherPrivKeyRaw = publisherHdAccount.getHdKey().privateKey;
|
|
189
188
|
const publisherPrivKey = publisherPrivKeyRaw === null ? null : Buffer.from(publisherPrivKeyRaw);
|
|
190
189
|
publisherPrivKeyHex = `0x${publisherPrivKey.toString('hex')}`;
|
|
191
|
-
config.
|
|
190
|
+
config.sequencerPublisherPrivateKeys = [
|
|
192
191
|
new SecretValue(publisherPrivKeyHex)
|
|
193
192
|
];
|
|
194
193
|
}
|
|
@@ -302,27 +301,31 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
302
301
|
prefilledPublicData
|
|
303
302
|
}));
|
|
304
303
|
const sequencerClient = aztecNodeService.getSequencer();
|
|
305
|
-
if (sequencerClient) {
|
|
306
|
-
const publisher = sequencerClient.sequencer.publisher;
|
|
307
|
-
publisher.l1TxUtils = DelayedTxUtils.fromL1TxUtils(publisher.l1TxUtils, config.ethereumSlotDuration, l1Client);
|
|
308
|
-
}
|
|
309
304
|
let proverNode = undefined;
|
|
310
305
|
if (opts.startProverNode) {
|
|
311
306
|
logger.verbose('Creating and syncing a simulated prover node...');
|
|
312
307
|
const proverNodePrivateKey = getPrivateKeyFromIndex(2);
|
|
313
308
|
const proverNodePrivateKeyHex = `0x${proverNodePrivateKey.toString('hex')}`;
|
|
314
309
|
const proverNodeDataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
310
|
+
const p2pClientDeps = {
|
|
311
|
+
p2pServiceFactory: mockGossipSubNetwork && getMockPubSubP2PServiceFactory(mockGossipSubNetwork),
|
|
312
|
+
rpcTxProviders: [
|
|
313
|
+
aztecNodeService
|
|
314
|
+
]
|
|
319
315
|
};
|
|
320
|
-
proverNode = await createAndSyncProverNode(proverNodePrivateKeyHex, config,
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
316
|
+
({ proverNode } = await createAndSyncProverNode(proverNodePrivateKeyHex, config, {
|
|
317
|
+
...config.proverNodeConfig,
|
|
318
|
+
dataDirectory: proverNodeDataDirectory
|
|
319
|
+
}, {
|
|
320
|
+
dateProvider,
|
|
321
|
+
p2pClientDeps,
|
|
322
|
+
telemetry: telemetryClient
|
|
323
|
+
}, {
|
|
324
|
+
prefilledPublicData
|
|
325
|
+
}));
|
|
325
326
|
}
|
|
327
|
+
const sequencerDelayer = sequencerClient?.getDelayer();
|
|
328
|
+
const proverDelayer = proverNode?.getProverNode()?.getDelayer();
|
|
326
329
|
logger.verbose('Creating a pxe...');
|
|
327
330
|
const pxeConfig = {
|
|
328
331
|
...getPXEConfig(),
|
|
@@ -406,6 +409,8 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
406
409
|
mockGossipSubNetwork,
|
|
407
410
|
prefilledPublicData,
|
|
408
411
|
proverNode,
|
|
412
|
+
sequencerDelayer,
|
|
413
|
+
proverDelayer,
|
|
409
414
|
sequencer: sequencerClient,
|
|
410
415
|
teardown,
|
|
411
416
|
telemetryClient,
|
|
@@ -466,77 +471,41 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
|
|
|
466
471
|
targetBlock ??= await node.getBlockNumber();
|
|
467
472
|
await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
|
|
468
473
|
}
|
|
469
|
-
|
|
474
|
+
/**
|
|
475
|
+
* Creates an AztecNodeService with the prover node enabled as a subsystem.
|
|
476
|
+
* Returns both the aztec node service (for lifecycle management) and the prover node (for test internals access).
|
|
477
|
+
*/ export function createAndSyncProverNode(proverNodePrivateKey, baseConfig, configOverrides, deps, options) {
|
|
470
478
|
return withLoggerBindings({
|
|
471
479
|
actor: 'prover-0'
|
|
472
480
|
}, async ()=>{
|
|
473
|
-
const
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
...aztecNodeConfig,
|
|
481
|
-
dataDirectory: proverNodeConfig.dataDirectory
|
|
482
|
-
};
|
|
483
|
-
const archiver = await createArchiver(archiverConfig, {
|
|
484
|
-
blobClient,
|
|
485
|
-
dateProvider: proverNodeDeps.dateProvider
|
|
486
|
-
}, {
|
|
487
|
-
blockUntilSync: true
|
|
488
|
-
});
|
|
489
|
-
const proverConfig = {
|
|
490
|
-
...aztecNodeConfig,
|
|
491
|
-
txCollectionNodeRpcUrls: [],
|
|
492
|
-
realProofs: false,
|
|
493
|
-
proverAgentCount: 2,
|
|
494
|
-
publisherPrivateKeys: [
|
|
481
|
+
const proverNode = await AztecNodeService.createAndSync({
|
|
482
|
+
...baseConfig,
|
|
483
|
+
...configOverrides,
|
|
484
|
+
p2pPort: 0,
|
|
485
|
+
enableProverNode: true,
|
|
486
|
+
disableValidator: true,
|
|
487
|
+
proverPublisherPrivateKeys: [
|
|
495
488
|
new SecretValue(proverNodePrivateKey)
|
|
496
|
-
]
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
txGatheringIntervalMs: 1000,
|
|
501
|
-
txGatheringBatchSize: 10,
|
|
502
|
-
txGatheringMaxParallelRequestsPerNode: 10,
|
|
503
|
-
txGatheringTimeoutMs: 24_000,
|
|
504
|
-
proverNodeFailedEpochStore: undefined,
|
|
505
|
-
proverId: EthAddress.fromNumber(1),
|
|
506
|
-
proverNodeEpochProvingDelayMs: undefined,
|
|
507
|
-
...proverNodeConfig
|
|
508
|
-
};
|
|
509
|
-
const l1TxUtils = createDelayedL1TxUtils(aztecNodeConfig, proverNodePrivateKey, 'prover-node', proverNodeDeps.dateProvider);
|
|
510
|
-
const proverNode = await createProverNode(proverConfig, {
|
|
511
|
-
...proverNodeDeps,
|
|
512
|
-
aztecNodeTxProvider,
|
|
513
|
-
archiver: archiver,
|
|
514
|
-
l1TxUtils
|
|
515
|
-
}, {
|
|
516
|
-
prefilledPublicData
|
|
489
|
+
]
|
|
490
|
+
}, deps, {
|
|
491
|
+
...options,
|
|
492
|
+
dontStartProverNode: options.dontStart
|
|
517
493
|
});
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
});
|
|
521
|
-
if (!proverNodeConfig.dontStart) {
|
|
522
|
-
await proverNode.start();
|
|
494
|
+
if (!proverNode.getProverNode()) {
|
|
495
|
+
throw new Error('Prover node subsystem was not created despite enableProverNode being set');
|
|
523
496
|
}
|
|
524
|
-
|
|
497
|
+
getLogger().info(`Created and synced prover node`);
|
|
498
|
+
return {
|
|
499
|
+
proverNode
|
|
500
|
+
};
|
|
525
501
|
});
|
|
526
502
|
}
|
|
527
|
-
function createDelayedL1TxUtils(aztecNodeConfig, privateKey, logName, dateProvider) {
|
|
528
|
-
const l1Client = createExtendedL1Client(aztecNodeConfig.l1RpcUrls, privateKey, foundry);
|
|
529
|
-
const log = createLogger(logName);
|
|
530
|
-
const l1TxUtils = createDelayedL1TxUtilsFromViemWallet(l1Client, log, dateProvider, aztecNodeConfig);
|
|
531
|
-
l1TxUtils.enableDelayer(aztecNodeConfig.ethereumSlotDuration);
|
|
532
|
-
return l1TxUtils;
|
|
533
|
-
}
|
|
534
503
|
export function getBalancesFn(symbol, method, logger) {
|
|
535
504
|
const balances = async (...addressLikes)=>{
|
|
536
505
|
const addresses = addressLikes.map((addressLike)=>'address' in addressLike ? addressLike.address : addressLike);
|
|
537
|
-
const b = await Promise.all(addresses.map((address)=>method(address).simulate({
|
|
506
|
+
const b = await Promise.all(addresses.map(async (address)=>(await method(address).simulate({
|
|
538
507
|
from: address
|
|
539
|
-
})));
|
|
508
|
+
})).result));
|
|
540
509
|
const debugString = `${symbol} balances: ${addresses.map((address, i)=>`${address}: ${b[i]}`).join(', ')}`;
|
|
541
510
|
logger.verbose(debugString);
|
|
542
511
|
return b;
|
|
@@ -613,7 +582,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
613
582
|
...instances.map((instance)=>publishInstance(wallet, instance))
|
|
614
583
|
]);
|
|
615
584
|
const batch = new BatchCall(wallet, calls);
|
|
616
|
-
const txReceipt = await batch.send({
|
|
585
|
+
const { receipt: txReceipt } = await batch.send({
|
|
617
586
|
from: accountsToDeploy[0]
|
|
618
587
|
});
|
|
619
588
|
if (waitUntilProven) {
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
5
5
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
6
|
-
import type { ProverNodeDeps } from '@aztec/prover-node';
|
|
7
6
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
8
7
|
export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
|
|
9
8
|
export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
|
|
@@ -21,7 +20,11 @@ export type CreateNodeConfig = AztecNodeConfig & {
|
|
|
21
20
|
export declare function createNode(config: CreateNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
|
|
22
21
|
/** Creates a P2P enabled instance of Aztec Node Service without a validator */
|
|
23
22
|
export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
|
|
24
|
-
export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number,
|
|
23
|
+
export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, deps: {
|
|
24
|
+
dateProvider: DateProvider;
|
|
25
|
+
}, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<{
|
|
26
|
+
proverNode: AztecNodeService;
|
|
27
|
+
}>;
|
|
25
28
|
export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
26
29
|
export declare function createValidatorConfig(config: CreateNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXOUQsZUFBTyxNQUFNLGlDQUFpQyxJQUFJLENBQUM7QUFPbkQsd0JBQWdCLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sR0FBRyxLQUFLLE1BQU0sRUFBRSxFQUFFLENBTzdGO0FBRUQsd0JBQXNCLFdBQVcsQ0FDL0IsTUFBTSxFQUFFLGVBQWUsR0FBRztJQUFFLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQUUsRUFDMUQsWUFBWSxFQUFFLFlBQVksRUFDMUIsZ0JBQWdCLEVBQUUsTUFBTSxFQUN4QixRQUFRLEVBQUUsTUFBTSxFQUNoQixZQUFZLEVBQUUsTUFBTSxFQUNwQixtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQzFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUNwQixXQUFXLFNBQUksRUFDZixpQkFBaUIsU0FBSSxHQUNwQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQW1DN0I7QUFFRCx3RUFBd0U7QUFDeEUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLGVBQWUsR0FBRztJQUMvQyw4Q0FBOEM7SUFDOUMsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0Isd0VBQXdFO0lBQ3hFLG1CQUFtQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztDQUNyQyxDQUFDO0FBRUYsNkVBQTZFO0FBQzdFLHdCQUFzQixVQUFVLENBQzlCLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsWUFBWSxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsRUFDL0IsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sNkJBWXJCO0FBRUQsK0VBQStFO0FBQy9FLHdCQUFzQixzQkFBc0IsQ0FDMUMsVUFBVSxFQUFFLGVBQWUsRUFDM0IsWUFBWSxFQUFFLFlBQVksRUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sNkJBY3JCO0FBRUQsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsZUFBZSxFQUN2QixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNqQyxZQUFZLEVBQUUsTUFBTSxFQUNwQixJQUFJLEVBQUU7SUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFBO0NBQUUsRUFDcEMsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sR0FDbkIsT0FBTyxDQUFDO0lBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFBO0NBQUUsQ0FBQyxDQWdCM0M7QUFFRCx3QkFBc0IsZUFBZSxDQUNuQyxNQUFNLEVBQUUsZUFBZSxFQUN2QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFDekIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUNiLGFBQWEsQ0FBQyxFQUFFLE1BQU0sNEJBZ0J2QjtBQUVELHdCQUFzQixxQkFBcUIsQ0FDekMsTUFBTSxFQUFFLGdCQUFnQixFQUN4QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFDekIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUNiLFlBQVksR0FBRSxNQUFNLEdBQUcsTUFBTSxFQUFNLEVBQ25DLGFBQWEsQ0FBQyxFQUFFLE1BQU0sNEJBb0J2QiJ9
|
|
@@ -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,
|
|
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,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,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,6EAA6E;AAC7E,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,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,IAAI,EAAE;IAAE,YAAY,EAAE,YAAY,CAAA;CAAE,EACpC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAgB3C;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,gBAAgB,EACxB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,GAAE,MAAM,GAAG,MAAM,EAAM,EACnC,aAAa,CAAC,EAAE,MAAM,4BAoBvB"}
|
|
@@ -72,7 +72,7 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
72
72
|
...p2pConfig,
|
|
73
73
|
disableValidator: true,
|
|
74
74
|
validatorPrivateKeys: undefined,
|
|
75
|
-
|
|
75
|
+
sequencerPublisherPrivateKeys: []
|
|
76
76
|
};
|
|
77
77
|
const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
|
|
78
78
|
return await AztecNodeService.createAndSync(config, {
|
|
@@ -83,21 +83,24 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
83
83
|
});
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
|
-
export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex,
|
|
86
|
+
export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex, deps, prefilledPublicData, dataDirectory, metricsPort) {
|
|
87
87
|
const actorIndex = proverCounter++;
|
|
88
88
|
return await withLoggerBindings({
|
|
89
89
|
actor: `prover-${actorIndex}`
|
|
90
90
|
}, async ()=>{
|
|
91
91
|
const proverNodePrivateKey = getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex);
|
|
92
92
|
const telemetry = await getEndToEndTestTelemetryClient(metricsPort);
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
...
|
|
93
|
+
const p2pConfig = await createP2PConfig(config, bootstrapNode, tcpPort, dataDirectory);
|
|
94
|
+
return await createAndSyncProverNode(bufferToHex(proverNodePrivateKey), {
|
|
95
|
+
...config,
|
|
96
|
+
...p2pConfig
|
|
97
|
+
}, {
|
|
97
98
|
dataDirectory
|
|
98
|
-
},
|
|
99
|
-
...
|
|
99
|
+
}, {
|
|
100
|
+
...deps,
|
|
100
101
|
telemetry
|
|
102
|
+
}, {
|
|
103
|
+
prefilledPublicData: prefilledPublicData ?? []
|
|
101
104
|
});
|
|
102
105
|
});
|
|
103
106
|
}
|
|
@@ -133,7 +136,7 @@ export async function createValidatorConfig(config, bootstrapNodeEnr, port, addr
|
|
|
133
136
|
...config,
|
|
134
137
|
...p2pConfig,
|
|
135
138
|
validatorPrivateKeys: new SecretValue(attesterPrivateKeys),
|
|
136
|
-
|
|
139
|
+
sequencerPublisherPrivateKeys: [
|
|
137
140
|
new SecretValue(attesterPrivateKeys[0])
|
|
138
141
|
]
|
|
139
142
|
};
|
|
@@ -6,7 +6,7 @@ export declare function deployToken(wallet: Wallet, admin: AztecAddress, initial
|
|
|
6
6
|
contract: TokenContract;
|
|
7
7
|
instance: import("@aztec/aztec.js/contracts").ContractInstanceWithAddress;
|
|
8
8
|
}>;
|
|
9
|
-
export declare function mintTokensToPrivate(token: TokenContract, minter: AztecAddress, recipient: AztecAddress, amount: bigint): Promise<void>;
|
|
9
|
+
export declare function mintTokensToPrivate(token: TokenContract, minter: AztecAddress, recipient: AztecAddress, amount: bigint, additionalScopes?: AztecAddress[]): 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy90b2tlbl91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0Qsd0JBQXNCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNOzs7R0FnQmpIO0FBRUQsd0JBQXNCLG1CQUFtQixDQUN2QyxLQUFLLEVBQUUsYUFBYSxFQUNwQixNQUFNLEVBQUUsWUFBWSxFQUNwQixTQUFTLEVBQUUsWUFBWSxFQUN2QixNQUFNLEVBQUUsTUFBTSxFQUNkLGdCQUFnQixDQUFDLEVBQUUsWUFBWSxFQUFFLGlCQUdsQztBQUVELHdCQUFzQixrQkFBa0IsQ0FDdEMsTUFBTSxFQUFFLE1BQU0sRUFDZCxLQUFLLEVBQUUsYUFBYSxFQUNwQixLQUFLLEVBQUUsWUFBWSxFQUNuQixlQUFlLEVBQUUsTUFBTSxFQUN2QixNQUFNLEVBQUUsTUFBTSxpQkFPZjtBQUVELHdCQUFzQixTQUFTLENBQzdCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLFlBQVksRUFDcEIsU0FBUyxFQUFFLFlBQVksRUFDdkIsS0FBSyxFQUFFLGFBQWEsRUFDcEIsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUNwQixPQUFPLENBQUMsTUFBTSxDQUFDLENBV2pCIn0=
|
|
@@ -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;;;GAgBjH;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,YAAY,EAAE,iBAGlC;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"}
|
|
@@ -2,7 +2,7 @@ import { BatchCall } from '@aztec/aztec.js/contracts';
|
|
|
2
2
|
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
|
-
const { contract, instance } = await TokenContract.deploy(wallet, admin, 'TokenName', 'TokenSymbol', 18).send({
|
|
5
|
+
const { receipt: { contract, instance } } = await TokenContract.deploy(wallet, admin, 'TokenName', 'TokenSymbol', 18).send({
|
|
6
6
|
from: admin,
|
|
7
7
|
wait: {
|
|
8
8
|
returnReceipt: true
|
|
@@ -17,15 +17,16 @@ export async function deployToken(wallet, admin, initialAdminBalance, logger) {
|
|
|
17
17
|
instance
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
export async function mintTokensToPrivate(token, minter, recipient, amount) {
|
|
20
|
+
export async function mintTokensToPrivate(token, minter, recipient, amount, additionalScopes) {
|
|
21
21
|
await token.methods.mint_to_private(recipient, amount).send({
|
|
22
|
-
from: minter
|
|
22
|
+
from: minter,
|
|
23
|
+
additionalScopes
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
26
|
export async function expectTokenBalance(wallet, token, owner, expectedBalance, logger) {
|
|
26
27
|
// Then check the balance
|
|
27
28
|
const contractWithWallet = TokenContract.at(token.address, wallet);
|
|
28
|
-
const balance = await contractWithWallet.methods.balance_of_private(owner).simulate({
|
|
29
|
+
const { result: balance } = await contractWithWallet.methods.balance_of_private(owner).simulate({
|
|
29
30
|
from: owner
|
|
30
31
|
});
|
|
31
32
|
logger.info(`Account ${owner} balance: ${balance}`);
|
|
@@ -138,4 +138,4 @@ export declare class CrossChainTestHarness {
|
|
|
138
138
|
makeMessageConsumable(msgHash: Fr | Hex): Promise<void>;
|
|
139
139
|
toCrossChainContext(): CrossChainContext;
|
|
140
140
|
}
|
|
141
|
-
//# 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;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAI7C;;;;;;;;;GASG;AACH,wBAAsB,0CAA0C,CAC9D,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,wBAAwB,EAClC,qBAAqB,EAAE,UAAU,EACjC,KAAK,EAAE,YAAY,EACnB,sBAAsB,EAAE,UAAU,GACjC,OAAO,CAAC;IACT;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;OAEG;IACH,kBAAkB,EAAE,UAAU,CAAC;IAC/B;;OAEG;IACH,WAAW,EAAE,GAAG,CAAC;IACjB;;OAEG;IACH,eAAe,EAAE,GAAG,CAAC;CACtB,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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"}
|
|
@@ -26,30 +26,30 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
26
26
|
client: l1Client
|
|
27
27
|
});
|
|
28
28
|
// deploy l2 token
|
|
29
|
-
const token = await TokenContract.deploy(wallet, owner, 'TokenName', 'TokenSymbol', 18).send({
|
|
29
|
+
const { contract: 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
|
-
const bridge = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send({
|
|
33
|
+
const { contract: bridge } = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send({
|
|
34
34
|
from: owner
|
|
35
35
|
});
|
|
36
|
-
if (await token.methods.get_admin().simulate({
|
|
36
|
+
if ((await token.methods.get_admin().simulate({
|
|
37
37
|
from: owner
|
|
38
|
-
}) !== owner.toBigInt()) {
|
|
38
|
+
})).result !== owner.toBigInt()) {
|
|
39
39
|
throw new Error(`Token admin is not ${owner}`);
|
|
40
40
|
}
|
|
41
41
|
if (!(await bridge.methods.get_config().simulate({
|
|
42
42
|
from: owner
|
|
43
|
-
})).token.equals(token.address)) {
|
|
43
|
+
})).result.token.equals(token.address)) {
|
|
44
44
|
throw new Error(`Bridge token is not ${token.address}`);
|
|
45
45
|
}
|
|
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
|
-
if (await token.methods.is_minter(bridge.address).simulate({
|
|
50
|
+
if ((await token.methods.is_minter(bridge.address).simulate({
|
|
51
51
|
from: owner
|
|
52
|
-
}) === 1n) {
|
|
52
|
+
})).result === 1n) {
|
|
53
53
|
throw new Error(`Bridge is not a minter`);
|
|
54
54
|
}
|
|
55
55
|
// initialize portal
|
|
@@ -167,7 +167,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
async withdrawPrivateFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO, authWitness) {
|
|
170
|
-
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
|
|
170
|
+
const { receipt: withdrawReceipt } = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
|
|
171
171
|
authWitnesses: [
|
|
172
172
|
authWitness
|
|
173
173
|
],
|
|
@@ -176,15 +176,15 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
176
176
|
return withdrawReceipt;
|
|
177
177
|
}
|
|
178
178
|
async withdrawPublicFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO) {
|
|
179
|
-
const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
|
|
179
|
+
const { receipt: 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) {
|
|
185
|
-
return await this.l2Token.methods.balance_of_private(owner).simulate({
|
|
185
|
+
return (await this.l2Token.methods.balance_of_private(owner).simulate({
|
|
186
186
|
from: owner
|
|
187
|
-
});
|
|
187
|
+
})).result;
|
|
188
188
|
}
|
|
189
189
|
async expectPrivateBalanceOnL2(owner, expectedBalance) {
|
|
190
190
|
const balance = await this.getL2PrivateBalanceOf(owner);
|
|
@@ -192,9 +192,9 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
192
192
|
expect(balance).toBe(expectedBalance);
|
|
193
193
|
}
|
|
194
194
|
async getL2PublicBalanceOf(owner) {
|
|
195
|
-
return await this.l2Token.methods.balance_of_public(owner).simulate({
|
|
195
|
+
return (await this.l2Token.methods.balance_of_public(owner).simulate({
|
|
196
196
|
from: this.ownerAddress
|
|
197
|
-
});
|
|
197
|
+
})).result;
|
|
198
198
|
}
|
|
199
199
|
async expectPublicBalanceOnL2(owner, expectedBalance) {
|
|
200
200
|
const balance = await this.getL2PublicBalanceOf(owner);
|
|
@@ -75,9 +75,9 @@ export class FeeJuicePortalTestingHarnessFactory {
|
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
async getL2PublicBalanceOf(owner) {
|
|
78
|
-
return await this.feeJuice.methods.balance_of_public(owner).simulate({
|
|
78
|
+
return (await this.feeJuice.methods.balance_of_public(owner).simulate({
|
|
79
79
|
from: owner
|
|
80
|
-
});
|
|
80
|
+
})).result;
|
|
81
81
|
}
|
|
82
82
|
async expectPublicBalanceOnL2(owner, expectedBalance) {
|
|
83
83
|
const balance = await this.getL2PublicBalanceOf(owner);
|
package/dest/shared/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { uniswapL1L2TestSuite } from './uniswap_l1_l2.js';
|
|
2
|
-
|
|
2
|
+
export { MockStateView, diffInBps } from './mock_state_view.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dest/shared/index.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
2
|
-
import { beforeEach, expect } from '@jest/globals';
|
|
2
|
+
import { afterAll, afterEach, beforeEach, expect } from '@jest/globals';
|
|
3
|
+
import { readlinkSync } from 'fs';
|
|
3
4
|
import { basename } from 'path';
|
|
5
|
+
import { EluMonitor } from '../fixtures/elu_monitor.js';
|
|
6
|
+
const eluMonitor = process.env.ELU_MONITOR_FILE ? new EluMonitor(process.env.ELU_MONITOR_FILE, Number(process.env.ELU_MONITOR_INTERVAL_MS) || undefined) : undefined;
|
|
7
|
+
if (eluMonitor) {
|
|
8
|
+
process.on('exit', ()=>eluMonitor.stop());
|
|
9
|
+
}
|
|
4
10
|
beforeEach(()=>{
|
|
5
11
|
const { testPath, currentTestName } = expect.getState();
|
|
6
12
|
if (!testPath || !currentTestName) {
|
|
@@ -8,4 +14,38 @@ beforeEach(()=>{
|
|
|
8
14
|
}
|
|
9
15
|
const logger = createLogger(`e2e:${basename(testPath).replace('.test.ts', '')}`);
|
|
10
16
|
logger.info(`Running test: ${currentTestName}`);
|
|
17
|
+
eluMonitor?.startTest(currentTestName);
|
|
18
|
+
});
|
|
19
|
+
afterEach(()=>{
|
|
20
|
+
eluMonitor?.stopTest();
|
|
21
|
+
});
|
|
22
|
+
// Log leaked handles after all tests complete. This runs after test-level afterAll hooks,
|
|
23
|
+
// so any handles still alive at this point were not properly cleaned up during teardown.
|
|
24
|
+
// This diagnostic helps identify the source of exit hangs without masking them.
|
|
25
|
+
afterAll(()=>{
|
|
26
|
+
const handles = process._getActiveHandles();
|
|
27
|
+
if (handles.length > 0) {
|
|
28
|
+
const details = handles.map((h)=>{
|
|
29
|
+
const type = h?.constructor?.name ?? typeof h;
|
|
30
|
+
const fd = h?.fd ?? h?._handle?.fd ?? '?';
|
|
31
|
+
const destroyed = h?.destroyed ?? '?';
|
|
32
|
+
const hasRef = typeof h?.hasRef === 'function' ? h.hasRef() : '?';
|
|
33
|
+
const localAddr = h?.localAddress ?? '';
|
|
34
|
+
const remoteAddr = h?.remoteAddress ?? '';
|
|
35
|
+
const localPort = h?.localPort ?? '';
|
|
36
|
+
const remotePort = h?.remotePort ?? '';
|
|
37
|
+
const proto = Object.getPrototypeOf(h)?.constructor?.name ?? '?';
|
|
38
|
+
const keys = Object.keys(h).slice(0, 10).join(',');
|
|
39
|
+
let fdTarget = '';
|
|
40
|
+
if (typeof fd === 'number') {
|
|
41
|
+
try {
|
|
42
|
+
fdTarget = ` -> ${readlinkSync(`/proc/self/fd/${fd}`)}`;
|
|
43
|
+
} catch {
|
|
44
|
+
// ignore
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return ` ${type}(fd=${fd}, destroyed=${destroyed}, hasRef=${hasRef}${fdTarget}) proto=${proto} addr=${localAddr}:${localPort}->${remoteAddr}:${remotePort} keys=[${keys}]`;
|
|
48
|
+
});
|
|
49
|
+
process.stderr.write(`\n[jest_setup] WARNING: ${handles.length} handle(s) still active after teardown:\n${details.join('\n')}\n` + `These may prevent Jest from exiting. Investigate and fix the leak.\n\n`);
|
|
50
|
+
}
|
|
11
51
|
});
|