@aztec/end-to-end 0.82.2 → 0.82.3-nightly.20250403
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 +66 -0
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -0
- package/dest/bench/client_flows/client_flows_benchmark.js +281 -0
- package/dest/bench/client_flows/config.d.ts +14 -0
- package/dest/bench/client_flows/config.d.ts.map +1 -0
- package/dest/bench/client_flows/config.js +85 -0
- package/dest/bench/client_flows/data_extractor.d.ts +23 -0
- package/dest/bench/client_flows/data_extractor.d.ts.map +1 -0
- package/dest/bench/client_flows/data_extractor.js +198 -0
- package/dest/bench/utils.d.ts +0 -12
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +2 -28
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +0 -12
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +1 -13
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +3 -14
- package/dest/e2e_p2p/p2p_network.d.ts +5 -0
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +13 -4
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +1 -0
- package/dest/fixtures/l1_to_l2_messaging.d.ts +2 -2
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +2 -1
- package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
- package/dest/fixtures/setup_l1_contracts.js +1 -2
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +7 -2
- package/dest/fixtures/token_utils.d.ts +2 -1
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +14 -1
- package/dest/fixtures/utils.d.ts +0 -4
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +216 -238
- package/dest/sample-dapp/contracts.js +4 -4
- package/dest/shared/capture_private_execution_steps.d.ts +2 -2
- package/dest/shared/capture_private_execution_steps.d.ts.map +1 -1
- package/dest/shared/capture_private_execution_steps.js +24 -6
- package/dest/shared/cross_chain_test_harness.d.ts +12 -1
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +14 -3
- package/dest/shared/uniswap_l1_l2.js +8 -6
- package/package.json +32 -32
- package/src/bench/client_flows/client_flows_benchmark.ts +395 -0
- package/src/bench/client_flows/config.ts +53 -0
- package/src/bench/client_flows/data_extractor.ts +217 -0
- package/src/bench/utils.ts +2 -30
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +1 -25
- package/src/e2e_fees/fees_test.ts +2 -15
- package/src/e2e_p2p/p2p_network.ts +10 -6
- package/src/e2e_p2p/shared.ts +1 -0
- package/src/fixtures/l1_to_l2_messaging.ts +12 -3
- package/src/fixtures/setup_l1_contracts.ts +1 -2
- package/src/fixtures/snapshot_manager.ts +7 -2
- package/src/fixtures/token_utils.ts +22 -2
- package/src/fixtures/utils.ts +235 -261
- package/src/sample-dapp/contracts.mjs +4 -4
- package/src/shared/capture_private_execution_steps.ts +43 -6
- package/src/shared/cross_chain_test_harness.ts +26 -2
- package/src/shared/uniswap_l1_l2.ts +8 -8
|
@@ -11,30 +11,48 @@ const logger = createLogger('e2e:capture-private-execution-steps');
|
|
|
11
11
|
// Longer term we won't use this hacked together msgpack format
|
|
12
12
|
// Leaving duplicated as this eventually bb will provide a serialization
|
|
13
13
|
// helper for passing to a generic msgpack RPC endpoint.
|
|
14
|
-
async function _createClientIvcProofFiles(directory, executionSteps) {
|
|
14
|
+
async function _createClientIvcProofFiles(directory, executionSteps, rawWitnesses = false) {
|
|
15
15
|
const acirPath = path.join(directory, 'acir.msgpack');
|
|
16
16
|
const witnessPath = path.join(directory, 'witnesses.msgpack');
|
|
17
17
|
await fs.writeFile(acirPath, encode(executionSteps.map((map)=>map.bytecode)));
|
|
18
18
|
await fs.writeFile(witnessPath, encode(executionSteps.map((map)=>serializeWitness(map.witness))));
|
|
19
|
+
let rawWitnessesPath;
|
|
20
|
+
if (rawWitnesses) {
|
|
21
|
+
rawWitnessesPath = path.join(directory, 'witnesses.json');
|
|
22
|
+
await fs.writeFile(rawWitnessesPath, JSON.stringify(executionSteps.map((step)=>Object.fromEntries(step.witness))));
|
|
23
|
+
}
|
|
19
24
|
return {
|
|
20
25
|
acirPath,
|
|
21
|
-
witnessPath
|
|
26
|
+
witnessPath,
|
|
27
|
+
rawWitnessesPath
|
|
22
28
|
};
|
|
23
29
|
}
|
|
24
|
-
export async function capturePrivateExecutionStepsIfEnvSet(label, interaction) {
|
|
30
|
+
export async function capturePrivateExecutionStepsIfEnvSet(label, interaction, opts, expectedSteps) {
|
|
25
31
|
// Not included in env_var.ts as internal to e2e tests.
|
|
26
32
|
const ivcFolder = process.env.CAPTURE_IVC_FOLDER;
|
|
27
33
|
if (ivcFolder) {
|
|
28
|
-
|
|
34
|
+
const profileMode = [
|
|
35
|
+
'execution-steps',
|
|
36
|
+
'full'
|
|
37
|
+
].includes(process.env.PROFILE_MODE ?? '') ? process.env.PROFILE_MODE : 'execution-steps';
|
|
38
|
+
logger.info(`Capturing client ivc execution profile for ${label} in mode ${profileMode}`);
|
|
29
39
|
const result = await interaction.profile({
|
|
30
|
-
|
|
40
|
+
...opts,
|
|
41
|
+
profileMode: profileMode
|
|
31
42
|
});
|
|
43
|
+
if (expectedSteps !== undefined && result.executionSteps.length !== expectedSteps) {
|
|
44
|
+
throw new Error(`Expected ${expectedSteps} execution steps, got ${result.executionSteps.length}`);
|
|
45
|
+
}
|
|
32
46
|
const resultsDirectory = path.join(ivcFolder, label);
|
|
33
47
|
logger.info(`Writing private execution steps to ${resultsDirectory}`);
|
|
34
48
|
await fs.mkdir(resultsDirectory, {
|
|
35
49
|
recursive: true
|
|
36
50
|
});
|
|
37
|
-
await
|
|
51
|
+
await fs.writeFile(path.join(resultsDirectory, 'steps.json'), JSON.stringify(result.executionSteps.map((step)=>({
|
|
52
|
+
fnName: step.functionName,
|
|
53
|
+
gateCount: step.gateCount
|
|
54
|
+
})), null, 2));
|
|
55
|
+
await _createClientIvcProofFiles(resultsDirectory, result.executionSteps, profileMode === 'full');
|
|
38
56
|
logger.info(`Wrote private execution steps to ${resultsDirectory}`);
|
|
39
57
|
}
|
|
40
58
|
}
|
|
@@ -35,6 +35,16 @@ export declare function deployAndInitializeTokenAndBridgeContracts(wallet: Walle
|
|
|
35
35
|
*/
|
|
36
36
|
underlyingERC20: any;
|
|
37
37
|
}>;
|
|
38
|
+
export type CrossChainContext = {
|
|
39
|
+
l2Token: AztecAddress;
|
|
40
|
+
l2Bridge: AztecAddress;
|
|
41
|
+
tokenPortal: EthAddress;
|
|
42
|
+
underlying: EthAddress;
|
|
43
|
+
ethAccount: EthAddress;
|
|
44
|
+
ownerAddress: AztecAddress;
|
|
45
|
+
inbox: EthAddress;
|
|
46
|
+
outbox: EthAddress;
|
|
47
|
+
};
|
|
38
48
|
/**
|
|
39
49
|
* A Class for testing cross chain interactions, contains common interactions
|
|
40
50
|
* shared between cross chain tests.
|
|
@@ -108,7 +118,7 @@ export declare class CrossChainTestHarness {
|
|
|
108
118
|
expectPrivateBalanceOnL2(owner: AztecAddress, expectedBalance: bigint): Promise<void>;
|
|
109
119
|
getL2PublicBalanceOf(owner: AztecAddress): Promise<any>;
|
|
110
120
|
expectPublicBalanceOnL2(owner: AztecAddress, expectedBalance: bigint): Promise<void>;
|
|
111
|
-
getL2ToL1MessageLeaf(withdrawAmount: bigint, callerOnL1?: EthAddress): Fr
|
|
121
|
+
getL2ToL1MessageLeaf(withdrawAmount: bigint, callerOnL1?: EthAddress): Promise<Fr>;
|
|
112
122
|
withdrawFundsFromBridgeOnL1(amount: bigint, blockNumber: number | bigint, messageIndex: bigint, siblingPath: SiblingPath<number>): Promise<void>;
|
|
113
123
|
transferToPrivateOnL2(shieldAmount: bigint): Promise<void>;
|
|
114
124
|
transferToPublicOnL2(amount: bigint, nonce?: Fr): Promise<void>;
|
|
@@ -120,5 +130,6 @@ export declare class CrossChainTestHarness {
|
|
|
120
130
|
* it's included it becomes available for consumption in the next block because the l1 to l2 message tree.
|
|
121
131
|
*/
|
|
122
132
|
makeMessageConsumable(msgHash: Fr | Hex): Promise<void>;
|
|
133
|
+
toCrossChainContext(): CrossChainContext;
|
|
123
134
|
}
|
|
124
135
|
//# sourceMappingURL=cross_chain_test_harness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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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
|
|
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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"}
|
|
@@ -58,7 +58,6 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
58
58
|
underlyingERC20
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
// docs:end:deployAndInitializeTokenAndBridgeContracts
|
|
62
61
|
/**
|
|
63
62
|
* A Class for testing cross chain interactions, contains common interactions
|
|
64
63
|
* shared between cross chain tests.
|
|
@@ -175,8 +174,8 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
175
174
|
const balance = await this.getL2PublicBalanceOf(owner);
|
|
176
175
|
expect(balance).toBe(expectedBalance);
|
|
177
176
|
}
|
|
178
|
-
getL2ToL1MessageLeaf(withdrawAmount, callerOnL1 = EthAddress.ZERO) {
|
|
179
|
-
return this.l1TokenPortalManager.getL2ToL1MessageLeaf(withdrawAmount, this.ethAccount, this.l2Bridge.address, callerOnL1);
|
|
177
|
+
async getL2ToL1MessageLeaf(withdrawAmount, callerOnL1 = EthAddress.ZERO) {
|
|
178
|
+
return await this.l1TokenPortalManager.getL2ToL1MessageLeaf(withdrawAmount, this.ethAccount, this.l2Bridge.address, callerOnL1);
|
|
180
179
|
}
|
|
181
180
|
withdrawFundsFromBridgeOnL1(amount, blockNumber, messageIndex, siblingPath) {
|
|
182
181
|
return this.l1TokenPortalManager.withdrawFunds(amount, this.ethAccount, BigInt(blockNumber), messageIndex, siblingPath);
|
|
@@ -202,4 +201,16 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
|
202
201
|
await this.mintTokensPublicOnL2(0n);
|
|
203
202
|
await this.mintTokensPublicOnL2(0n);
|
|
204
203
|
}
|
|
204
|
+
toCrossChainContext() {
|
|
205
|
+
return {
|
|
206
|
+
l2Token: this.l2Token.address,
|
|
207
|
+
l2Bridge: this.l2Bridge.address,
|
|
208
|
+
tokenPortal: this.tokenPortalAddress,
|
|
209
|
+
underlying: this.underlyingERC20Address,
|
|
210
|
+
ethAccount: this.ethAccount,
|
|
211
|
+
ownerAddress: this.ownerAddress,
|
|
212
|
+
inbox: this.l1ContractAddresses.inboxAddress,
|
|
213
|
+
outbox: this.l1ContractAddresses.outboxAddress
|
|
214
|
+
};
|
|
215
|
+
}
|
|
205
216
|
} // docs:end:cross_chain_test_harness
|
|
@@ -44,12 +44,14 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
44
44
|
const uniswapFeeTier = 3000n;
|
|
45
45
|
const minimumOutputAmount = 0n;
|
|
46
46
|
let cheatCodes;
|
|
47
|
+
let version;
|
|
47
48
|
beforeAll(async ()=>{
|
|
48
49
|
({ aztecNode, pxe, logger, publicClient, walletClient, ownerWallet, sponsorWallet, deployL1ContractsValues, cheatCodes } = await setup());
|
|
49
50
|
if (Number(await publicClient.getBlockNumber()) < expectedForkBlockNumber) {
|
|
50
51
|
throw new Error('This test must be run on a fork of mainnet with the expected fork block');
|
|
51
52
|
}
|
|
52
53
|
rollup = new RollupContract(deployL1ContractsValues.publicClient, deployL1ContractsValues.l1ContractAddresses.rollupAddress);
|
|
54
|
+
version = Number(await rollup.getVersion());
|
|
53
55
|
ownerAddress = ownerWallet.getAddress();
|
|
54
56
|
// sponsorAddress = sponsorWallet.getAddress();
|
|
55
57
|
ownerEthAddress = EthAddress.fromString((await walletClient.getAddresses())[0]);
|
|
@@ -135,7 +137,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
135
137
|
]);
|
|
136
138
|
const swapPrivateLeaf = sha256ToField([
|
|
137
139
|
uniswapL2Contract.address,
|
|
138
|
-
new Fr(
|
|
140
|
+
new Fr(version),
|
|
139
141
|
EthAddress.fromString(uniswapPortal.address).toBuffer32(),
|
|
140
142
|
new Fr(publicClient.chain.id),
|
|
141
143
|
swapPrivateContent
|
|
@@ -148,7 +150,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
148
150
|
]);
|
|
149
151
|
const withdrawLeaf = sha256ToField([
|
|
150
152
|
wethCrossChainHarness.l2Bridge.address,
|
|
151
|
-
new Fr(
|
|
153
|
+
new Fr(version),
|
|
152
154
|
wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
|
|
153
155
|
new Fr(publicClient.chain.id),
|
|
154
156
|
withdrawContent
|
|
@@ -532,7 +534,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
532
534
|
]);
|
|
533
535
|
const swapPrivateLeaf = sha256ToField([
|
|
534
536
|
uniswapL2Contract.address,
|
|
535
|
-
new Fr(
|
|
537
|
+
new Fr(version),
|
|
536
538
|
EthAddress.fromString(uniswapPortal.address).toBuffer32(),
|
|
537
539
|
new Fr(publicClient.chain.id),
|
|
538
540
|
swapPrivateContent
|
|
@@ -545,7 +547,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
545
547
|
]);
|
|
546
548
|
const withdrawLeaf = sha256ToField([
|
|
547
549
|
wethCrossChainHarness.l2Bridge.address,
|
|
548
|
-
new Fr(
|
|
550
|
+
new Fr(version),
|
|
549
551
|
wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
|
|
550
552
|
new Fr(publicClient.chain.id),
|
|
551
553
|
withdrawContent
|
|
@@ -612,7 +614,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
612
614
|
]);
|
|
613
615
|
const swapPublicLeaf = sha256ToField([
|
|
614
616
|
uniswapL2Contract.address,
|
|
615
|
-
new Fr(
|
|
617
|
+
new Fr(version),
|
|
616
618
|
EthAddress.fromString(uniswapPortal.address).toBuffer32(),
|
|
617
619
|
new Fr(publicClient.chain.id),
|
|
618
620
|
swapPublicContent
|
|
@@ -625,7 +627,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
625
627
|
]);
|
|
626
628
|
const withdrawLeaf = sha256ToField([
|
|
627
629
|
wethCrossChainHarness.l2Bridge.address,
|
|
628
|
-
new Fr(
|
|
630
|
+
new Fr(version),
|
|
629
631
|
wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
|
|
630
632
|
new Fr(publicClient.chain.id),
|
|
631
633
|
withdrawContent
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "0.82.
|
|
3
|
+
"version": "0.82.3-nightly.20250403",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -26,37 +26,37 @@
|
|
|
26
26
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aztec/accounts": "0.82.
|
|
30
|
-
"@aztec/archiver": "0.82.
|
|
31
|
-
"@aztec/aztec": "0.82.
|
|
32
|
-
"@aztec/aztec-node": "0.82.
|
|
33
|
-
"@aztec/aztec.js": "0.82.
|
|
34
|
-
"@aztec/bb-prover": "0.82.
|
|
35
|
-
"@aztec/blob-lib": "0.82.
|
|
36
|
-
"@aztec/blob-sink": "0.82.
|
|
37
|
-
"@aztec/bot": "0.82.
|
|
38
|
-
"@aztec/constants": "0.82.
|
|
39
|
-
"@aztec/entrypoints": "0.82.
|
|
40
|
-
"@aztec/epoch-cache": "0.82.
|
|
41
|
-
"@aztec/ethereum": "0.82.
|
|
42
|
-
"@aztec/foundation": "0.82.
|
|
43
|
-
"@aztec/kv-store": "0.82.
|
|
44
|
-
"@aztec/l1-artifacts": "0.82.
|
|
45
|
-
"@aztec/merkle-tree": "0.82.
|
|
46
|
-
"@aztec/noir-contracts.js": "0.82.
|
|
47
|
-
"@aztec/noir-noirc_abi": "0.82.
|
|
48
|
-
"@aztec/noir-protocol-circuits-types": "0.82.
|
|
49
|
-
"@aztec/p2p": "0.82.
|
|
50
|
-
"@aztec/protocol-contracts": "0.82.
|
|
51
|
-
"@aztec/prover-client": "0.82.
|
|
52
|
-
"@aztec/prover-node": "0.82.
|
|
53
|
-
"@aztec/pxe": "0.82.
|
|
54
|
-
"@aztec/sequencer-client": "0.82.
|
|
55
|
-
"@aztec/simulator": "0.82.
|
|
56
|
-
"@aztec/stdlib": "0.82.
|
|
57
|
-
"@aztec/telemetry-client": "0.82.
|
|
58
|
-
"@aztec/validator-client": "0.82.
|
|
59
|
-
"@aztec/world-state": "0.82.
|
|
29
|
+
"@aztec/accounts": "0.82.3-nightly.20250403",
|
|
30
|
+
"@aztec/archiver": "0.82.3-nightly.20250403",
|
|
31
|
+
"@aztec/aztec": "0.82.3-nightly.20250403",
|
|
32
|
+
"@aztec/aztec-node": "0.82.3-nightly.20250403",
|
|
33
|
+
"@aztec/aztec.js": "0.82.3-nightly.20250403",
|
|
34
|
+
"@aztec/bb-prover": "0.82.3-nightly.20250403",
|
|
35
|
+
"@aztec/blob-lib": "0.82.3-nightly.20250403",
|
|
36
|
+
"@aztec/blob-sink": "0.82.3-nightly.20250403",
|
|
37
|
+
"@aztec/bot": "0.82.3-nightly.20250403",
|
|
38
|
+
"@aztec/constants": "0.82.3-nightly.20250403",
|
|
39
|
+
"@aztec/entrypoints": "0.82.3-nightly.20250403",
|
|
40
|
+
"@aztec/epoch-cache": "0.82.3-nightly.20250403",
|
|
41
|
+
"@aztec/ethereum": "0.82.3-nightly.20250403",
|
|
42
|
+
"@aztec/foundation": "0.82.3-nightly.20250403",
|
|
43
|
+
"@aztec/kv-store": "0.82.3-nightly.20250403",
|
|
44
|
+
"@aztec/l1-artifacts": "0.82.3-nightly.20250403",
|
|
45
|
+
"@aztec/merkle-tree": "0.82.3-nightly.20250403",
|
|
46
|
+
"@aztec/noir-contracts.js": "0.82.3-nightly.20250403",
|
|
47
|
+
"@aztec/noir-noirc_abi": "0.82.3-nightly.20250403",
|
|
48
|
+
"@aztec/noir-protocol-circuits-types": "0.82.3-nightly.20250403",
|
|
49
|
+
"@aztec/p2p": "0.82.3-nightly.20250403",
|
|
50
|
+
"@aztec/protocol-contracts": "0.82.3-nightly.20250403",
|
|
51
|
+
"@aztec/prover-client": "0.82.3-nightly.20250403",
|
|
52
|
+
"@aztec/prover-node": "0.82.3-nightly.20250403",
|
|
53
|
+
"@aztec/pxe": "0.82.3-nightly.20250403",
|
|
54
|
+
"@aztec/sequencer-client": "0.82.3-nightly.20250403",
|
|
55
|
+
"@aztec/simulator": "0.82.3-nightly.20250403",
|
|
56
|
+
"@aztec/stdlib": "0.82.3-nightly.20250403",
|
|
57
|
+
"@aztec/telemetry-client": "0.82.3-nightly.20250403",
|
|
58
|
+
"@aztec/validator-client": "0.82.3-nightly.20250403",
|
|
59
|
+
"@aztec/world-state": "0.82.3-nightly.20250403",
|
|
60
60
|
"@iarna/toml": "^2.2.5",
|
|
61
61
|
"@jest/globals": "^29.5.0",
|
|
62
62
|
"@msgpack/msgpack": "^3.0.0-beta2",
|