@aztec/end-to-end 0.0.1-commit.ffe5b04ea → 0.0.1-commit.fff30aa
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/README.md +27 -0
- 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 +3 -4
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +3 -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 +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +3 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +5 -2
- package/dest/e2e_fees/fees_test.js +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +1 -0
- package/dest/e2e_p2p/p2p_network.d.ts +1 -1
- package/dest/e2e_p2p/p2p_network.js +1 -1
- package/dest/e2e_p2p/shared.d.ts +19 -1
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +31 -0
- package/dest/fixtures/authwit_proxy.d.ts +1 -1
- package/dest/fixtures/authwit_proxy.d.ts.map +1 -1
- package/dest/fixtures/authwit_proxy.js +4 -0
- package/dest/fixtures/setup.d.ts +9 -5
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +13 -9
- package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
- package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
- package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
- package/dest/forward-compatibility/wallet_service.d.ts +3 -0
- package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
- package/dest/forward-compatibility/wallet_service.js +109 -0
- package/dest/install_legacy_contracts.d.cts +10 -0
- package/dest/install_legacy_contracts.d.cts.map +1 -0
- package/dest/legacy-jest-resolver.d.cts +3 -0
- package/dest/legacy-jest-resolver.d.cts.map +1 -0
- package/dest/shared/jest_setup.js +1 -41
- package/dest/shared/submit-transactions.d.ts +1 -1
- package/dest/shared/submit-transactions.d.ts.map +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 +9 -12
- 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/spartan/setup_test_wallets.d.ts +4 -2
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +24 -12
- package/dest/spartan/tx_metrics.js +1 -1
- package/dest/spartan/utils/config.d.ts +1 -4
- package/dest/spartan/utils/config.d.ts.map +1 -1
- package/dest/spartan/utils/config.js +1 -2
- package/dest/spartan/utils/nodes.d.ts +5 -4
- 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 +24 -23
- package/dest/test-wallet/test_wallet.d.ts.map +1 -1
- package/dest/test-wallet/test_wallet.js +115 -80
- package/dest/test-wallet/worker_wallet.d.ts +4 -4
- package/dest/test-wallet/worker_wallet.d.ts.map +1 -1
- package/dest/test-wallet/worker_wallet_schema.d.ts +3 -3
- package/package.json +45 -43
- package/src/bench/client_flows/client_flows_benchmark.ts +3 -3
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +3 -6
- package/src/e2e_epochs/epochs_test.ts +14 -2
- package/src/e2e_fees/fees_test.ts +1 -1
- package/src/e2e_p2p/inactivity_slash_test.ts +1 -0
- package/src/e2e_p2p/p2p_network.ts +1 -1
- package/src/e2e_p2p/shared.ts +52 -0
- package/src/fixtures/authwit_proxy.ts +4 -0
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/setup.ts +20 -12
- package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
- package/src/forward-compatibility/wallet_service.ts +104 -0
- package/src/install_legacy_contracts.cjs +75 -0
- package/src/legacy-jest-resolver.cjs +101 -0
- package/src/shared/jest_setup.ts +1 -51
- package/src/shared/submit-transactions.ts +4 -1
- package/src/shared/uniswap_l1_l2.ts +29 -24
- package/src/simulators/lending_simulator.ts +4 -2
- package/src/spartan/setup_test_wallets.ts +48 -9
- package/src/spartan/tx_metrics.ts +1 -1
- package/src/spartan/utils/config.ts +0 -1
- package/src/spartan/utils/nodes.ts +10 -15
- package/src/test-wallet/test_wallet.ts +144 -99
- package/src/test-wallet/worker_wallet.ts +3 -2
- package/dest/fixtures/elu_monitor.d.ts +0 -21
- package/dest/fixtures/elu_monitor.d.ts.map +0 -1
- package/dest/fixtures/elu_monitor.js +0 -102
- package/src/fixtures/elu_monitor.ts +0 -126
package/dest/fixtures/setup.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
|
|
2
2
|
import { generateSchnorrAccounts } from '@aztec/accounts/testing';
|
|
3
3
|
import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
|
|
4
|
-
import {
|
|
4
|
+
import { NO_FROM } from '@aztec/aztec.js/account';
|
|
5
|
+
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
5
6
|
import { BatchCall, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js/contracts';
|
|
6
7
|
import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
|
|
7
8
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
@@ -140,6 +141,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
140
141
|
if (!config.dataDirectory) {
|
|
141
142
|
config.dataDirectory = directoryToCleanup;
|
|
142
143
|
}
|
|
144
|
+
const dateProvider = new TestDateProvider();
|
|
143
145
|
if (!config.l1RpcUrls?.length) {
|
|
144
146
|
if (!isAnvilTestChain(chain.id)) {
|
|
145
147
|
throw new Error(`No ETHEREUM_HOSTS set but non anvil chain requested`);
|
|
@@ -147,7 +149,9 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
147
149
|
const res = await startAnvil({
|
|
148
150
|
l1BlockTime: opts.ethereumSlotDuration,
|
|
149
151
|
accounts: opts.anvilAccounts,
|
|
150
|
-
port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined)
|
|
152
|
+
port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined),
|
|
153
|
+
slotsInAnEpoch: opts.anvilSlotsInAnEpoch,
|
|
154
|
+
dateProvider
|
|
151
155
|
});
|
|
152
156
|
anvil = res.anvil;
|
|
153
157
|
config.l1RpcUrls = [
|
|
@@ -160,7 +164,6 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
160
164
|
logger.info(`Logging metrics to ${filename}`);
|
|
161
165
|
setupMetricsLogger(filename);
|
|
162
166
|
}
|
|
163
|
-
const dateProvider = new TestDateProvider();
|
|
164
167
|
const ethCheatCodes = new EthCheatCodesWithState(config.l1RpcUrls, dateProvider);
|
|
165
168
|
if (opts.stateLoad) {
|
|
166
169
|
await ethCheatCodes.loadChainState(opts.stateLoad);
|
|
@@ -233,11 +236,12 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
233
236
|
await ethCheatCodes.setAutomine(false);
|
|
234
237
|
await ethCheatCodes.setIntervalMining(config.ethereumSlotDuration);
|
|
235
238
|
}
|
|
236
|
-
//
|
|
237
|
-
//
|
|
238
|
-
//
|
|
239
|
-
|
|
240
|
-
|
|
239
|
+
// In compose mode (no local anvil), sync dateProvider to L1 time since it may have drifted
|
|
240
|
+
// ahead of system time due to the local-network watcher warping time forward on each filled slot.
|
|
241
|
+
// When running with a local anvil, the dateProvider is kept in sync via the stdout listener.
|
|
242
|
+
if (!anvil) {
|
|
243
|
+
dateProvider.setTime(await ethCheatCodes.lastBlockTimestamp() * 1000);
|
|
244
|
+
}
|
|
241
245
|
if (opts.l2StartTime) {
|
|
242
246
|
await ethCheatCodes.warp(opts.l2StartTime, {
|
|
243
247
|
resetBlockInterval: true
|
|
@@ -560,7 +564,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
560
564
|
const accountManager = await wallet.createSchnorrAccount(deployedAccounts[i].secret, deployedAccounts[i].salt, deployedAccounts[i].signingKey);
|
|
561
565
|
const deployMethod = await accountManager.getDeployMethod();
|
|
562
566
|
await deployMethod.send({
|
|
563
|
-
from:
|
|
567
|
+
from: NO_FROM,
|
|
564
568
|
skipClassPublication: i !== 0
|
|
565
569
|
});
|
|
566
570
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a JSON-RPC client that connects to a remote wallet service.
|
|
4
|
+
* The returned object implements the {@link Wallet} interface, proxying all calls over HTTP to the specified URL.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createWalletClient(url: string): Wallet;
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X3JwY19jbGllbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3J3YXJkLWNvbXBhdGliaWxpdHkvd2FsbGV0X3JwY19jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJckQ7OztHQUdHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUt0RCJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet_rpc_client.d.ts","sourceRoot":"","sources":["../../src/forward-compatibility/wallet_rpc_client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKtD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { WalletSchema } from '@aztec/aztec.js/wallet';
|
|
2
|
+
import { createSafeJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a JSON-RPC client that connects to a remote wallet service.
|
|
5
|
+
* The returned object implements the {@link Wallet} interface, proxying all calls over HTTP to the specified URL.
|
|
6
|
+
*/ export function createWalletClient(url) {
|
|
7
|
+
return createSafeJsonRpcClient(url, WalletSchema, {
|
|
8
|
+
namespaceMethods: 'wallet',
|
|
9
|
+
fetch: makeFetch([
|
|
10
|
+
1,
|
|
11
|
+
2,
|
|
12
|
+
3
|
|
13
|
+
], false)
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env -S node --no-warnings
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3J3YXJkLWNvbXBhdGliaWxpdHkvd2FsbGV0X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet_service.d.ts","sourceRoot":"","sources":["../../src/forward-compatibility/wallet_service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
#!/usr/bin/env -S node --no-warnings
|
|
2
|
+
/**
|
|
3
|
+
* Standalone entrypoint that spins up a local Aztec network (L1 + node) and exposes a {@link NodeEmbeddedWallet} over
|
|
4
|
+
* JSON-RPC.
|
|
5
|
+
*
|
|
6
|
+
* Intended for forward-compatibility testing: an **old** release image runs this script so that **new** tests can send
|
|
7
|
+
* new artifacts to old runtime code (loadContractArtifact, ACIR simulator, class-ID computation, entrypoint encoding,
|
|
8
|
+
* etc.).
|
|
9
|
+
*/ import { getSchnorrAccountContractAddress } from '@aztec/accounts/schnorr';
|
|
10
|
+
import { getInitialTestAccountsData } from '@aztec/accounts/testing';
|
|
11
|
+
import { createLocalNetwork } from '@aztec/aztec';
|
|
12
|
+
import { Fr } from '@aztec/aztec.js/fields';
|
|
13
|
+
import { WalletSchema } from '@aztec/aztec.js/wallet';
|
|
14
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
15
|
+
import { createNamespacedSafeJsonRpcServer, startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
16
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
17
|
+
import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
18
|
+
import { EmbeddedWallet } from '@aztec/wallets/embedded';
|
|
19
|
+
const logger = createLogger('wallet-service');
|
|
20
|
+
const { ETHEREUM_HOSTS = 'http://localhost:8545', NODE_PORT = '8080', WALLET_PORT = '8081' } = process.env;
|
|
21
|
+
async function main() {
|
|
22
|
+
const l1RpcUrls = ETHEREUM_HOSTS.split(',').map((url)=>url.trim());
|
|
23
|
+
// Some tests (e.g. AMM) need 4 accounts but only 3 are funded via genesis. Generate deterministic keys for a 4th
|
|
24
|
+
// account so we can compute its address before network startup and include it in genesis funding. We cannot do this
|
|
25
|
+
// in the test because Wallet interface does not expose account creation functionality (only TestWallet exposes that
|
|
26
|
+
// but that's not used in forward compatibility testing).
|
|
27
|
+
const extraAccountSecret = Fr.fromHexString('0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef');
|
|
28
|
+
const extraAccountSalt = Fr.ZERO;
|
|
29
|
+
const extraAccountSigningKey = GrumpkinScalar.random();
|
|
30
|
+
const extraAccountAddress = await getSchnorrAccountContractAddress(extraAccountSecret, extraAccountSalt, extraAccountSigningKey);
|
|
31
|
+
logger.info('Starting wallet service...', {
|
|
32
|
+
l1RpcUrls
|
|
33
|
+
});
|
|
34
|
+
// createLocalNetwork deploys L1 contracts, starts the node, and optionally deploys funded test accounts (when
|
|
35
|
+
// TEST_ACCOUNTS=true via env). We are not proving anything just like is done when local network is started by
|
|
36
|
+
// the `aztecStart` function. The extra account address is passed via prefundAddresses so it gets fee juice at genesis.
|
|
37
|
+
const { node, stop: stopNetwork } = await createLocalNetwork({
|
|
38
|
+
l1RpcUrls,
|
|
39
|
+
realProofs: false,
|
|
40
|
+
prefundAddresses: [
|
|
41
|
+
extraAccountAddress.toString()
|
|
42
|
+
]
|
|
43
|
+
}, logger.info);
|
|
44
|
+
// Create an ephemeral embedded wallet backed by the local node.
|
|
45
|
+
const wallet = await EmbeddedWallet.create(node, {
|
|
46
|
+
ephemeral: true
|
|
47
|
+
});
|
|
48
|
+
// Re-register the initial test accounts so they are available via wallet.getAccounts(). createLocalNetwork deploys
|
|
49
|
+
// them onchain but uses a temporary wallet that is then stopped.
|
|
50
|
+
//
|
|
51
|
+
// We use the non-lazy import path (@aztec/accounts/testing, not /lazy) to avoid the dynamic JSON import that is
|
|
52
|
+
// incompatible with Node.js import attribute enforcement.
|
|
53
|
+
const testAccountsData = await getInitialTestAccountsData();
|
|
54
|
+
const accounts = await Promise.all(testAccountsData.map(({ secret, salt, signingKey })=>wallet.createSchnorrAccount(secret, salt, signingKey)));
|
|
55
|
+
// Register and deploy the 4th account.
|
|
56
|
+
const extraAccount = await wallet.createSchnorrAccount(extraAccountSecret, extraAccountSalt, extraAccountSigningKey);
|
|
57
|
+
const deployMethod = await extraAccount.getDeployMethod();
|
|
58
|
+
await deployMethod.send({
|
|
59
|
+
from: accounts[0].address
|
|
60
|
+
});
|
|
61
|
+
logger.info('Embedded wallet created', {
|
|
62
|
+
accounts: [
|
|
63
|
+
...accounts,
|
|
64
|
+
extraAccount
|
|
65
|
+
].map((a)=>a.address.toString())
|
|
66
|
+
});
|
|
67
|
+
// Contract artifacts are large, so allow generous body sizes for RPC requests.
|
|
68
|
+
const rpcOptions = {
|
|
69
|
+
maxBodySizeBytes: '50mb'
|
|
70
|
+
};
|
|
71
|
+
// Serve node RPC
|
|
72
|
+
const nodeRpcServer = createNamespacedSafeJsonRpcServer({
|
|
73
|
+
node: [
|
|
74
|
+
node,
|
|
75
|
+
AztecNodeApiSchema
|
|
76
|
+
]
|
|
77
|
+
}, rpcOptions);
|
|
78
|
+
const nodeHttpServer = await startHttpRpcServer(nodeRpcServer, {
|
|
79
|
+
port: NODE_PORT
|
|
80
|
+
});
|
|
81
|
+
logger.info(`Node JSON-RPC server listening on port ${nodeHttpServer.port}`);
|
|
82
|
+
// Serve wallet RPC
|
|
83
|
+
const walletRpcServer = createNamespacedSafeJsonRpcServer({
|
|
84
|
+
wallet: [
|
|
85
|
+
wallet,
|
|
86
|
+
WalletSchema
|
|
87
|
+
]
|
|
88
|
+
}, rpcOptions);
|
|
89
|
+
const walletHttpServer = await startHttpRpcServer(walletRpcServer, {
|
|
90
|
+
port: WALLET_PORT
|
|
91
|
+
});
|
|
92
|
+
logger.info(`Wallet JSON-RPC server listening on port ${walletHttpServer.port}`);
|
|
93
|
+
const shutdown = async ()=>{
|
|
94
|
+
logger.info('Shutting down...');
|
|
95
|
+
nodeHttpServer.close();
|
|
96
|
+
walletHttpServer.close();
|
|
97
|
+
await wallet.stop();
|
|
98
|
+
await stopNetwork();
|
|
99
|
+
process.exit(0);
|
|
100
|
+
};
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
102
|
+
process.once('SIGINT', shutdown);
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
104
|
+
process.once('SIGTERM', shutdown);
|
|
105
|
+
}
|
|
106
|
+
main().catch((err)=>{
|
|
107
|
+
logger.error('Wallet service failed to start', err);
|
|
108
|
+
process.exit(1);
|
|
109
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
declare function cacheRoot(version: any): string;
|
|
3
|
+
declare function installLegacyContracts(version: any): void;
|
|
4
|
+
declare const _default: {
|
|
5
|
+
installLegacyContracts: typeof installLegacyContracts;
|
|
6
|
+
REDIRECTED: string[];
|
|
7
|
+
cacheRoot: typeof cacheRoot;
|
|
8
|
+
};
|
|
9
|
+
export = _default;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbF9sZWdhY3lfY29udHJhY3RzLmQuY3RzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luc3RhbGxfbGVnYWN5X2NvbnRyYWN0cy5janMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQW9CQSxpQkFBUyxTQUFTLENBQUMsT0FBTyxLQUFBLFVBRXpCO0FBTUQsaUJBQVMsc0JBQXNCLENBQUMsT0FBTyxLQUFBLFFBd0N0Qzs7Ozs7O0FBRUQsa0JBQWtFIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install_legacy_contracts.d.cts","sourceRoot":"","sources":["../src/install_legacy_contracts.cjs"],"names":[],"mappings":";AAoBA,iBAAS,SAAS,CAAC,OAAO,KAAA,UAEzB;AAMD,iBAAS,sBAAsB,CAAC,OAAO,KAAA,QAwCtC;;;;;;AAED,kBAAkE"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: (request: any, options: any) => any;
|
|
2
|
+
export = _default;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LWplc3QtcmVzb2x2ZXIuZC5jdHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGVnYWN5LWplc3QtcmVzb2x2ZXIuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUEyRUEsa0JBeUJDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-jest-resolver.d.cts","sourceRoot":"","sources":["../src/legacy-jest-resolver.cjs"],"names":[],"mappings":";AA2EA,kBAyBC"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
2
|
-
import {
|
|
3
|
-
import { readlinkSync } from 'fs';
|
|
2
|
+
import { beforeEach, expect } from '@jest/globals';
|
|
4
3
|
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
|
-
}
|
|
10
4
|
beforeEach(()=>{
|
|
11
5
|
const { testPath, currentTestName } = expect.getState();
|
|
12
6
|
if (!testPath || !currentTestName) {
|
|
@@ -14,38 +8,4 @@ beforeEach(()=>{
|
|
|
14
8
|
}
|
|
15
9
|
const logger = createLogger(`e2e:${basename(testPath).replace('.test.ts', '')}`);
|
|
16
10
|
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
|
-
}
|
|
51
11
|
});
|
|
@@ -3,4 +3,4 @@ import type { Logger } from '@aztec/aztec.js/log';
|
|
|
3
3
|
import { TxHash } from '@aztec/aztec.js/tx';
|
|
4
4
|
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
5
5
|
export declare const submitTxsTo: (wallet: TestWallet, submitter: AztecAddress, numTxs: number, logger: Logger) => Promise<TxHash[]>;
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBR3RFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLGVBQU8sTUFBTSxXQUFXLG9HQXdCdkIsQ0FBQyJ9
|
|
@@ -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;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,WAAW,
|
|
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;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,WAAW,oGAwBvB,CAAC"}
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFhN0YsZUFBTyxNQUFNLG9CQUFvQixpSEF1K0JoQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAa7F,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAa7F,eAAO,MAAM,oBAAoB,iHAu+BhC,CAAC"}
|
|
@@ -166,8 +166,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
166
166
|
// ensure that uniswap contract didn't eat the funds.
|
|
167
167
|
await wethCrossChainHarness.expectPublicBalanceOnL2(uniswapL2Contract.address, 0n);
|
|
168
168
|
// Since the outbox is only consumable when the epoch is proven, we need to advance to the next epoch.
|
|
169
|
-
const
|
|
170
|
-
const epoch =
|
|
169
|
+
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, swapPrivateLeaf, l2UniswapInteractionReceipt.txHash);
|
|
170
|
+
const { epochNumber: epoch } = swapResult;
|
|
171
171
|
await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
|
|
172
172
|
await waitForProven(aztecNode, l2UniswapInteractionReceipt, {
|
|
173
173
|
provenTimeout: 300
|
|
@@ -175,8 +175,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
175
175
|
// 5. Consume L2 to L1 message by calling uniswapPortal.swap_private()
|
|
176
176
|
logger.info('Execute withdraw and swap on the uniswapPortal!');
|
|
177
177
|
const daiL1BalanceOfPortalBeforeSwap = await daiCrossChainHarness.getL1BalanceOf(daiCrossChainHarness.tokenPortalAddress);
|
|
178
|
-
const
|
|
179
|
-
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
|
|
178
|
+
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, l2UniswapInteractionReceipt.txHash);
|
|
180
179
|
const swapPrivateL2MessageIndex = swapResult.leafIndex;
|
|
181
180
|
const swapPrivateSiblingPath = swapResult.siblingPath;
|
|
182
181
|
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
@@ -574,10 +573,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
574
573
|
rollupVersion: new Fr(version),
|
|
575
574
|
chainId: new Fr(l1Client.chain.id)
|
|
576
575
|
});
|
|
577
|
-
const
|
|
578
|
-
const epoch =
|
|
579
|
-
const
|
|
580
|
-
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
|
|
576
|
+
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, swapPrivateLeaf, withdrawReceipt.txHash);
|
|
577
|
+
const { epochNumber: epoch } = swapResult;
|
|
578
|
+
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, withdrawReceipt.txHash);
|
|
581
579
|
const swapPrivateL2MessageIndex = swapResult.leafIndex;
|
|
582
580
|
const swapPrivateSiblingPath = swapResult.siblingPath;
|
|
583
581
|
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
@@ -665,10 +663,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
665
663
|
rollupVersion: new Fr(version),
|
|
666
664
|
chainId: new Fr(l1Client.chain.id)
|
|
667
665
|
});
|
|
668
|
-
const
|
|
669
|
-
const epoch =
|
|
670
|
-
const
|
|
671
|
-
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
|
|
666
|
+
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, swapPublicLeaf, withdrawReceipt.txHash);
|
|
667
|
+
const { epochNumber: epoch } = swapResult;
|
|
668
|
+
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, withdrawReceipt.txHash);
|
|
672
669
|
const swapPublicL2MessageIndex = swapResult.leafIndex;
|
|
673
670
|
const swapPublicSiblingPath = swapResult.siblingPath;
|
|
674
671
|
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
@@ -66,4 +66,4 @@ export declare class LendingSimulator {
|
|
|
66
66
|
mintStableCoinOutsideLoan(recipient: AztecAddress, amount: bigint, priv?: boolean): void;
|
|
67
67
|
check(): Promise<void>;
|
|
68
68
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVuZGluZ19zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3JzL2xlbmRpbmdfc2ltdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxxQkFBYSxjQUFjO0lBQ3pCLHlDQUF5QztJQUN6QyxTQUFnQixPQUFPLEVBQUUsWUFBWSxDQUFDO0lBQ3RDLDJDQUEyQztJQUMzQyxTQUFnQixNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRTNCLFlBQVksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUc1QztJQUVEOzs7T0FHRztJQUNJLEdBQUcsZ0JBRVQ7Q0FDRjtBQWdDRDs7R0FFRztBQUNILHFCQUFhLGdCQUFnQjtJQVl6QixPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsb0JBQW9CO0lBQzVCLDBCQUEwQjtJQUNuQixNQUFNLEVBQUUsY0FBYztJQUM3QiwyQkFBMkI7SUFDcEIsZUFBZSxFQUFFLGVBQWU7SUFDdkMsd0RBQXdEO0lBQ2pELGVBQWUsRUFBRSxjQUFjO0lBQ3RDLHVEQUF1RDtJQUNoRCxVQUFVLEVBQUUsY0FBYztJQXRCbkMsZ0NBQWdDO0lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQU07SUFDaEMsb0NBQW9DO0lBQzdCLElBQUksRUFBRSxNQUFNLENBQUs7SUFFeEIsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFVBQVUsQ0FBNkI7SUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBYztJQUM5QixPQUFPLENBQUMsYUFBYSxDQUFjO0lBRW5DLFlBQ1UsRUFBRSxFQUFFLFVBQVUsRUFDZCxPQUFPLEVBQUUsY0FBYyxFQUN2QixJQUFJLEVBQUUsTUFBTSxFQUNaLG9CQUFvQixFQUFFLE1BQU07SUFDcEMsMEJBQTBCO0lBQ25CLE1BQU0sRUFBRSxjQUFjO0lBQzdCLDJCQUEyQjtJQUNwQixlQUFlLEVBQUUsZUFBZTtJQUN2Qyx3REFBd0Q7SUFDakQsZUFBZSxFQUFFLGNBQWM7SUFDdEMsdURBQXVEO0lBQ2hELFVBQVUsRUFBRSxjQUFjLEVBQy9CO0lBRUUsT0FBTyxrQkFNWjtJQUVLLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxFQUFFLGdCQUFnQixpQkFrQmhFO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdoRTtJQUVELGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHL0Q7SUFFRCxPQUFPLENBQUMsT0FBTztJQUtmLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFJMUQ7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBT3hEO0lBRUQsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUc5RDtJQUVELFdBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFHN0Q7SUFFRCxPQUFPLENBQUMsS0FBSztJQVFiLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLFVBQVEsUUFPOUU7SUFFSyxLQUFLLGtCQTJCVjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lending_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/lending_simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,qBAAa,cAAc;IACzB,yCAAyC;IACzC,SAAgB,OAAO,EAAE,YAAY,CAAC;IACtC,2CAA2C;IAC3C,SAAgB,MAAM,EAAE,EAAE,CAAC;IAE3B,YAAY,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAG5C;IAED;;;OAGG;IACI,GAAG,gBAET;CACF;AAgCD;;GAEG;AACH,qBAAa,gBAAgB;IAYzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,oBAAoB;IAC5B,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc;IAtBnC,gCAAgC;IACzB,WAAW,EAAE,MAAM,CAAM;IAChC,oCAAoC;IAC7B,IAAI,EAAE,MAAM,CAAK;IAExB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAc;IAEnC,YACU,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,MAAM;IACpC,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc,EAC/B;IAEE,OAAO,
|
|
1
|
+
{"version":3,"file":"lending_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/lending_simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,qBAAa,cAAc;IACzB,yCAAyC;IACzC,SAAgB,OAAO,EAAE,YAAY,CAAC;IACtC,2CAA2C;IAC3C,SAAgB,MAAM,EAAE,EAAE,CAAC;IAE3B,YAAY,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAG5C;IAED;;;OAGG;IACI,GAAG,gBAET;CACF;AAgCD;;GAEG;AACH,qBAAa,gBAAgB;IAYzB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,oBAAoB;IAC5B,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc;IAtBnC,gCAAgC;IACzB,WAAW,EAAE,MAAM,CAAM;IAChC,oCAAoC;IAC7B,IAAI,EAAE,MAAM,CAAK;IAExB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAc;IAEnC,YACU,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,MAAM;IACpC,0BAA0B;IACnB,MAAM,EAAE,cAAc;IAC7B,2BAA2B;IACpB,eAAe,EAAE,eAAe;IACvC,wDAAwD;IACjD,eAAe,EAAE,cAAc;IACtC,uDAAuD;IAChD,UAAU,EAAE,cAAc,EAC/B;IAEE,OAAO,kBAMZ;IAEK,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,gBAAgB,iBAkBhE;IAED,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAGhE;IAED,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAG/D;IAED,OAAO,CAAC,OAAO;IAKf,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAI1D;IAED,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOxD;IAED,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAG9D;IAED,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAG7D;IAED,OAAO,CAAC,KAAK;IAQb,yBAAyB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,UAAQ,QAO9E;IAEK,KAAK,kBA2BV;CACF"}
|
|
@@ -78,14 +78,14 @@ const computeMultiplier = (rate, dt)=>{
|
|
|
78
78
|
}
|
|
79
79
|
async prepare() {
|
|
80
80
|
this.accumulator = BASE;
|
|
81
|
-
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.
|
|
81
|
+
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.lastBlockTimestamp()) + BigInt(this.ethereumSlotDuration));
|
|
82
82
|
this.time = Number(await this.rollup.getTimestampForSlot(slot));
|
|
83
83
|
}
|
|
84
84
|
async progressSlots(diff, dateProvider) {
|
|
85
85
|
if (diff <= 1) {
|
|
86
86
|
return;
|
|
87
87
|
}
|
|
88
|
-
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.
|
|
88
|
+
const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.lastBlockTimestamp()));
|
|
89
89
|
const targetSlot = SlotNumber(slot + diff);
|
|
90
90
|
const ts = Number(await this.rollup.getTimestampForSlot(targetSlot));
|
|
91
91
|
const timeDiff = ts - this.time;
|
|
@@ -18,7 +18,9 @@ export interface TestAccounts {
|
|
|
18
18
|
export type TestAccountsWithoutTokens = Omit<TestAccounts, 'tokenAddress' | 'tokenContract' | 'tokenName' | 'tokenAdminAddress'>;
|
|
19
19
|
export declare function setupTestAccountsWithTokens(nodeUrl: string, mintAmount: bigint, logger: Logger): Promise<TestAccounts>;
|
|
20
20
|
export declare function deploySponsoredTestAccountsWithTokens(wallet: TestWallet, aztecNode: AztecNode, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
|
|
21
|
-
export declare function deploySponsoredTestAccounts(wallet: TestWallet, aztecNode: AztecNode, logger: Logger, numberOfFundedWallets?: number
|
|
21
|
+
export declare function deploySponsoredTestAccounts(wallet: TestWallet, aztecNode: AztecNode, logger: Logger, numberOfFundedWallets?: number, opts?: {
|
|
22
|
+
estimateGas?: boolean;
|
|
23
|
+
}): Promise<TestAccountsWithoutTokens>;
|
|
22
24
|
export declare function deployTestAccountsWithTokens(nodeUrl: string, l1RpcUrls: string[], mnemonicOrPrivateKey: string, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestAccounts>;
|
|
23
25
|
export declare function performTransfers({ wallet, testAccounts, rounds, transferAmount, logger, feePaymentMethod }: {
|
|
24
26
|
wallet: TestWallet;
|
|
@@ -40,4 +42,4 @@ export type WorkerWalletWrapper = {
|
|
|
40
42
|
cleanup: () => Promise<void>;
|
|
41
43
|
};
|
|
42
44
|
export declare function createWorkerWalletClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WorkerWalletWrapper>;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQTBFRCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QscUJBQXFCLFNBQUksRUFDekIsSUFBSSxDQUFDLEVBQUU7SUFBRSxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUE7Q0FBRSxHQUMvQixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FpQ3BDO0FBRUQsd0JBQXNCLDRCQUE0QixDQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0ErQ3ZCO0FBNkVELHdCQUFzQixnQkFBZ0IsQ0FBQyxFQUNyQyxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsTUFBTSxFQUNOLGdCQUFnQixFQUNqQixFQUFFO0lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixnQkFBZ0IsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQ3JDLGlCQXFCQTtBQUVELE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLDhCQUE4QixDQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQXFCeEI7QUFFRCxNQUFNLE1BQU0sbUJBQW1CLEdBQUc7SUFDaEMsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUNyQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLHdCQUF3QixDQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBMkI5QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { generateSchnorrAccounts } from '@aztec/accounts/testing';
|
|
2
|
-
import {
|
|
2
|
+
import { NO_FROM } from '@aztec/aztec.js/account';
|
|
3
3
|
import { NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
4
4
|
import { L1FeeJuicePortalManager } from '@aztec/aztec.js/ethereum';
|
|
5
5
|
import { FeeJuicePaymentMethodWithClaim } from '@aztec/aztec.js/fee';
|
|
@@ -47,7 +47,7 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
|
|
|
47
47
|
const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
|
|
48
48
|
const recipientDeployMethod = await recipientAccount.getDeployMethod();
|
|
49
49
|
await recipientDeployMethod.send({
|
|
50
|
-
from:
|
|
50
|
+
from: NO_FROM,
|
|
51
51
|
fee: {
|
|
52
52
|
paymentMethod
|
|
53
53
|
},
|
|
@@ -58,7 +58,7 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
|
|
|
58
58
|
await Promise.all(fundedAccounts.map(async (a)=>{
|
|
59
59
|
const deployMethod = await a.getDeployMethod();
|
|
60
60
|
await deployMethod.send({
|
|
61
|
-
from:
|
|
61
|
+
from: NO_FROM,
|
|
62
62
|
fee: {
|
|
63
63
|
paymentMethod
|
|
64
64
|
},
|
|
@@ -82,14 +82,26 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
|
|
|
82
82
|
recipientAddress: recipientAccount.address
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, accountLabel) {
|
|
85
|
+
async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, accountLabel, estimateGas) {
|
|
86
86
|
const deployMethod = await account.getDeployMethod();
|
|
87
87
|
let txHash;
|
|
88
88
|
try {
|
|
89
|
+
let gasSettings;
|
|
90
|
+
if (estimateGas) {
|
|
91
|
+
const sim = await deployMethod.simulate({
|
|
92
|
+
from: NO_FROM,
|
|
93
|
+
fee: {
|
|
94
|
+
paymentMethod
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
gasSettings = sim.estimatedGas;
|
|
98
|
+
logger.info(`${accountLabel} estimated gas: DA=${gasSettings.gasLimits.daGas} L2=${gasSettings.gasLimits.l2Gas}`);
|
|
99
|
+
}
|
|
89
100
|
const deployResult = await deployMethod.send({
|
|
90
|
-
from:
|
|
101
|
+
from: NO_FROM,
|
|
91
102
|
fee: {
|
|
92
|
-
paymentMethod
|
|
103
|
+
paymentMethod,
|
|
104
|
+
gasSettings
|
|
93
105
|
},
|
|
94
106
|
wait: NO_WAIT
|
|
95
107
|
});
|
|
@@ -115,20 +127,20 @@ async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, l
|
|
|
115
127
|
throw error;
|
|
116
128
|
}
|
|
117
129
|
}
|
|
118
|
-
async function deployAccountsInBatches(accounts, paymentMethod, aztecNode, logger, labelPrefix, batchSize = 2) {
|
|
130
|
+
async function deployAccountsInBatches(accounts, paymentMethod, aztecNode, logger, labelPrefix, batchSize = 2, estimateGas) {
|
|
119
131
|
for(let i = 0; i < accounts.length; i += batchSize){
|
|
120
132
|
const batch = accounts.slice(i, i + batchSize);
|
|
121
|
-
await Promise.all(batch.map((account, idx)=>deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, `${labelPrefix}${i + idx + 1}
|
|
133
|
+
await Promise.all(batch.map((account, idx)=>deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, `${labelPrefix}${i + idx + 1}`, estimateGas)));
|
|
122
134
|
}
|
|
123
135
|
}
|
|
124
|
-
export async function deploySponsoredTestAccounts(wallet, aztecNode, logger, numberOfFundedWallets = 1) {
|
|
136
|
+
export async function deploySponsoredTestAccounts(wallet, aztecNode, logger, numberOfFundedWallets = 1, opts) {
|
|
125
137
|
const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
|
|
126
138
|
const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
|
|
127
139
|
const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
|
|
128
140
|
await registerSponsoredFPC(wallet);
|
|
129
141
|
const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
|
|
130
|
-
await deployAccountWithDiagnostics(recipientAccount, paymentMethod, aztecNode, logger, 'Recipient account');
|
|
131
|
-
await deployAccountsInBatches(fundedAccounts, paymentMethod, aztecNode, logger, 'Funded account ', 2);
|
|
142
|
+
await deployAccountWithDiagnostics(recipientAccount, paymentMethod, aztecNode, logger, 'Recipient account', opts?.estimateGas);
|
|
143
|
+
await deployAccountsInBatches(fundedAccounts, paymentMethod, aztecNode, logger, 'Funded account ', 2, opts?.estimateGas);
|
|
132
144
|
return {
|
|
133
145
|
aztecNode,
|
|
134
146
|
wallet,
|
|
@@ -151,7 +163,7 @@ export async function deployTestAccountsWithTokens(nodeUrl, l1RpcUrls, mnemonicO
|
|
|
151
163
|
const paymentMethod = new FeeJuicePaymentMethodWithClaim(a.address, claims[i]);
|
|
152
164
|
const deployMethod = await a.getDeployMethod();
|
|
153
165
|
await deployMethod.send({
|
|
154
|
-
from:
|
|
166
|
+
from: NO_FROM,
|
|
155
167
|
fee: {
|
|
156
168
|
paymentMethod
|
|
157
169
|
}
|
|
@@ -10,7 +10,6 @@ declare const testConfigSchema: z.ZodObject<{
|
|
|
10
10
|
AZTEC_PROOF_SUBMISSION_WINDOW: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
11
11
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
12
12
|
FUNDING_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
|
|
13
|
-
AZTEC_ADMIN_API_KEY: z.ZodOptional<z.ZodString>;
|
|
14
13
|
}, "strip", z.ZodTypeAny, {
|
|
15
14
|
NAMESPACE: string;
|
|
16
15
|
REAL_VERIFIER: boolean;
|
|
@@ -22,7 +21,6 @@ declare const testConfigSchema: z.ZodObject<{
|
|
|
22
21
|
AZTEC_PROOF_SUBMISSION_WINDOW: number;
|
|
23
22
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: number;
|
|
24
23
|
FUNDING_PRIVATE_KEY?: string | undefined;
|
|
25
|
-
AZTEC_ADMIN_API_KEY?: string | undefined;
|
|
26
24
|
}, {
|
|
27
25
|
NAMESPACE?: string | undefined;
|
|
28
26
|
REAL_VERIFIER?: string | number | boolean | undefined;
|
|
@@ -34,9 +32,8 @@ declare const testConfigSchema: z.ZodObject<{
|
|
|
34
32
|
AZTEC_PROOF_SUBMISSION_WINDOW?: number | undefined;
|
|
35
33
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET?: number | undefined;
|
|
36
34
|
FUNDING_PRIVATE_KEY?: string | undefined;
|
|
37
|
-
AZTEC_ADMIN_API_KEY?: string | undefined;
|
|
38
35
|
}>;
|
|
39
36
|
export type TestConfig = z.infer<typeof testConfigSchema>;
|
|
40
37
|
export declare function setupEnvironment(env: unknown): TestConfig;
|
|
41
38
|
export {};
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixRQUFBLE1BQU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFXcEIsQ0FBQztBQUVILE1BQU0sTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGdCQUFnQixDQUFDLENBQUM7QUFFMUQsd0JBQWdCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsVUFBVSxDQUl6RCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIzD"}
|
|
@@ -12,8 +12,7 @@ const testConfigSchema = z.object({
|
|
|
12
12
|
AZTEC_EPOCH_DURATION: z.coerce.number().optional().default(32),
|
|
13
13
|
AZTEC_PROOF_SUBMISSION_WINDOW: z.coerce.number().optional().default(5),
|
|
14
14
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: z.coerce.number().optional().default(2),
|
|
15
|
-
FUNDING_PRIVATE_KEY: z.string().optional()
|
|
16
|
-
AZTEC_ADMIN_API_KEY: z.string().optional()
|
|
15
|
+
FUNDING_PRIVATE_KEY: z.string().optional()
|
|
17
16
|
});
|
|
18
17
|
export function setupEnvironment(env) {
|
|
19
18
|
const config = testConfigSchema.parse(env);
|