@aztec/end-to-end 1.0.0-nightly.20250729 → 1.0.0-nightly.20250801
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/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +2 -3
- package/dest/fixtures/e2e_prover_test.js +3 -1
- package/dest/fixtures/utils.js +3 -1
- package/dest/integration_l1_publisher/write_json.d.ts +8 -0
- package/dest/integration_l1_publisher/write_json.d.ts.map +1 -0
- package/dest/integration_l1_publisher/write_json.js +57 -0
- package/dest/shared/uniswap_l1_l2.js +6 -6
- package/dest/spartan/utils.d.ts +8 -6
- package/dest/spartan/utils.d.ts.map +1 -1
- package/package.json +35 -35
- package/src/e2e_p2p/p2p_network.ts +2 -3
- package/src/fixtures/e2e_prover_test.ts +1 -1
- package/src/fixtures/utils.ts +1 -1
- package/src/integration_l1_publisher/write_json.ts +74 -0
- package/src/shared/uniswap_l1_l2.ts +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,KAAK,0BAA0B,EAAc,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAIL,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,UAAU,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAa,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { ChainMonitor } from '@aztec/ethereum/test';
|
|
|
5
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
6
6
|
import { RollupAbi, SlashFactoryAbi, SlasherAbi, SlashingProposerAbi, TestERC20Abi } from '@aztec/l1-artifacts';
|
|
7
7
|
import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
8
|
-
import { privateKeyFromHex } from '@aztec/p2p';
|
|
9
8
|
import { createBootstrapNodeFromPrivateKey, getBootstrapNodeEnr } from '@aztec/p2p/test-helpers';
|
|
10
9
|
import { tryStop } from '@aztec/stdlib/interfaces/server';
|
|
11
10
|
import { ZkPassportProofParams } from '@aztec/stdlib/zkpassport';
|
|
@@ -96,7 +95,7 @@ export class P2PNetworkTest {
|
|
|
96
95
|
}
|
|
97
96
|
static async create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode, mockZkPassportVerifier }) {
|
|
98
97
|
const port = basePort || await getPort();
|
|
99
|
-
const bootstrapNodeENR = getBootstrapNodeEnr(
|
|
98
|
+
const bootstrapNodeENR = await getBootstrapNodeEnr(BOOTSTRAP_NODE_PRIVATE_KEY, port);
|
|
100
99
|
const bootstrapNodeEnr = bootstrapNodeENR.encodeTxt();
|
|
101
100
|
const initialValidatorConfig = await createValidatorConfig(initialConfig ?? {}, bootstrapNodeEnr);
|
|
102
101
|
return new P2PNetworkTest(testName, bootstrapNodeEnr, port, numberOfValidators, initialValidatorConfig, numberOfNodes, metricsPort, startProverNode, mockZkPassportVerifier);
|
|
@@ -110,7 +109,7 @@ export class P2PNetworkTest {
|
|
|
110
109
|
async addBootstrapNode() {
|
|
111
110
|
await this.snapshotManager.snapshot('add-bootstrap-node', async ({ aztecNodeConfig })=>{
|
|
112
111
|
const telemetry = getEndToEndTestTelemetryClient(this.metricsPort);
|
|
113
|
-
this.bootstrapNode = await createBootstrapNodeFromPrivateKey(
|
|
112
|
+
this.bootstrapNode = await createBootstrapNodeFromPrivateKey(BOOTSTRAP_NODE_PRIVATE_KEY, this.bootNodePort, telemetry, aztecNodeConfig);
|
|
114
113
|
// Overwrite enr with updated info
|
|
115
114
|
this.bootstrapNodeEnr = this.bootstrapNode.getENR().encodeTxt();
|
|
116
115
|
});
|
|
@@ -177,7 +177,9 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
177
177
|
const archiver = await createArchiver({
|
|
178
178
|
...this.context.aztecNodeConfig,
|
|
179
179
|
dataDirectory: undefined
|
|
180
|
-
},
|
|
180
|
+
}, {
|
|
181
|
+
blobSinkClient
|
|
182
|
+
}, {
|
|
181
183
|
blockUntilSync: true
|
|
182
184
|
});
|
|
183
185
|
// The simulated prover node (now shutdown) used private key index 2
|
package/dest/fixtures/utils.js
CHANGED
|
@@ -600,7 +600,9 @@ export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, p
|
|
|
600
600
|
...aztecNodeConfig,
|
|
601
601
|
dataDirectory: proverNodeConfig.dataDirectory
|
|
602
602
|
};
|
|
603
|
-
const archiver = await createArchiver(archiverConfig,
|
|
603
|
+
const archiver = await createArchiver(archiverConfig, {
|
|
604
|
+
blobSinkClient
|
|
605
|
+
}, {
|
|
604
606
|
blockUntilSync: true
|
|
605
607
|
});
|
|
606
608
|
// Prover node config is for simulated proofs
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AztecAddress, Fr, type L2Block } from '@aztec/aztec.js';
|
|
2
|
+
import { BatchedBlob, Blob } from '@aztec/blob-lib';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a json object that can be used to test the solidity contract.
|
|
5
|
+
* The json object must be put into
|
|
6
|
+
*/
|
|
7
|
+
export declare function writeJson(fileName: string, block: L2Block, l1ToL2Content: Fr[], blobs: Blob[], batchedBlob: BatchedBlob, recipientAddress: AztecAddress, deployerAddress: `0x${string}`): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=write_json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write_json.d.ts","sourceRoot":"","sources":["../../src/integration_l1_publisher/write_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAOpD;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,EAAE,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,YAAY,EAC9B,eAAe,EAAE,KAAK,MAAM,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAqDf"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Blob } from '@aztec/blob-lib';
|
|
2
|
+
import { writeFile } from 'fs/promises';
|
|
3
|
+
const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
4
|
+
/**
|
|
5
|
+
* Creates a json object that can be used to test the solidity contract.
|
|
6
|
+
* The json object must be put into
|
|
7
|
+
*/ export async function writeJson(fileName, block, l1ToL2Content, blobs, batchedBlob, recipientAddress, deployerAddress) {
|
|
8
|
+
if (!AZTEC_GENERATE_TEST_DATA) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
// Path relative to the package.json in the end-to-end folder
|
|
12
|
+
const path = `../../l1-contracts/test/fixtures/${fileName}.json`;
|
|
13
|
+
const asHex = (value, size = 64)=>{
|
|
14
|
+
const buffer = Buffer.isBuffer(value) ? value : value.toBuffer();
|
|
15
|
+
return `0x${buffer.toString('hex').padStart(size, '0')}`;
|
|
16
|
+
};
|
|
17
|
+
const jsonObject = {
|
|
18
|
+
populate: {
|
|
19
|
+
l1ToL2Content: l1ToL2Content.map(asHex),
|
|
20
|
+
recipient: asHex(recipientAddress.toField()),
|
|
21
|
+
sender: deployerAddress
|
|
22
|
+
},
|
|
23
|
+
messages: {
|
|
24
|
+
l2ToL1Messages: block.body.txEffects.flatMap((txEffect)=>txEffect.l2ToL1Msgs).map(asHex)
|
|
25
|
+
},
|
|
26
|
+
block: {
|
|
27
|
+
// The json formatting in forge is a bit brittle, so we convert Fr to a number in the few values below.
|
|
28
|
+
// This should not be a problem for testing as long as the values are not larger than u32.
|
|
29
|
+
archive: asHex(block.archive.root),
|
|
30
|
+
blobCommitments: Blob.getPrefixedEthBlobCommitments(blobs),
|
|
31
|
+
batchedBlobInputs: batchedBlob.getEthBlobEvaluationInputs(),
|
|
32
|
+
blockNumber: block.number,
|
|
33
|
+
body: `0x${block.body.toBuffer().toString('hex')}`,
|
|
34
|
+
header: {
|
|
35
|
+
lastArchiveRoot: asHex(block.header.lastArchive.root),
|
|
36
|
+
contentCommitment: {
|
|
37
|
+
blobsHash: asHex(block.header.contentCommitment.blobsHash),
|
|
38
|
+
inHash: asHex(block.header.contentCommitment.inHash),
|
|
39
|
+
outHash: asHex(block.header.contentCommitment.outHash)
|
|
40
|
+
},
|
|
41
|
+
slotNumber: Number(block.header.globalVariables.slotNumber),
|
|
42
|
+
timestamp: Number(block.header.globalVariables.timestamp),
|
|
43
|
+
coinbase: asHex(block.header.globalVariables.coinbase, 40),
|
|
44
|
+
feeRecipient: asHex(block.header.globalVariables.feeRecipient),
|
|
45
|
+
gasFees: {
|
|
46
|
+
feePerDaGas: Number(block.header.globalVariables.gasFees.feePerDaGas),
|
|
47
|
+
feePerL2Gas: Number(block.header.globalVariables.gasFees.feePerL2Gas)
|
|
48
|
+
},
|
|
49
|
+
totalManaUsed: block.header.totalManaUsed.toNumber()
|
|
50
|
+
},
|
|
51
|
+
headerHash: asHex(block.header.toPropose().hash()),
|
|
52
|
+
numTxs: block.body.txEffects.length
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const output = JSON.stringify(jsonObject, null, 2);
|
|
56
|
+
await writeFile(path, output, 'utf8');
|
|
57
|
+
}
|
|
@@ -167,9 +167,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
167
167
|
const daiL1BalanceOfPortalBeforeSwap = await daiCrossChainHarness.getL1BalanceOf(daiCrossChainHarness.tokenPortalAddress);
|
|
168
168
|
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, l2UniswapInteractionReceipt.blockNumber, swapPrivateLeaf);
|
|
169
169
|
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, l2UniswapInteractionReceipt.blockNumber, withdrawLeaf);
|
|
170
|
-
const swapPrivateL2MessageIndex = swapResult.
|
|
170
|
+
const swapPrivateL2MessageIndex = swapResult.leafIndex;
|
|
171
171
|
const swapPrivateSiblingPath = swapResult.siblingPath;
|
|
172
|
-
const withdrawL2MessageIndex = withdrawResult.
|
|
172
|
+
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
173
173
|
const withdrawSiblingPath = withdrawResult.siblingPath;
|
|
174
174
|
const withdrawMessageMetadata = {
|
|
175
175
|
_l2BlockNumber: BigInt(l2UniswapInteractionReceipt.blockNumber),
|
|
@@ -559,9 +559,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
559
559
|
});
|
|
560
560
|
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawReceipt.blockNumber, swapPrivateLeaf);
|
|
561
561
|
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawReceipt.blockNumber, withdrawLeaf);
|
|
562
|
-
const swapPrivateL2MessageIndex = swapResult.
|
|
562
|
+
const swapPrivateL2MessageIndex = swapResult.leafIndex;
|
|
563
563
|
const swapPrivateSiblingPath = swapResult.siblingPath;
|
|
564
|
-
const withdrawL2MessageIndex = withdrawResult.
|
|
564
|
+
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
565
565
|
const withdrawSiblingPath = withdrawResult.siblingPath;
|
|
566
566
|
const withdrawMessageMetadata = {
|
|
567
567
|
_l2BlockNumber: BigInt(withdrawReceipt.blockNumber),
|
|
@@ -643,9 +643,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
|
|
|
643
643
|
});
|
|
644
644
|
const swapResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawReceipt.blockNumber, swapPublicLeaf);
|
|
645
645
|
const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawReceipt.blockNumber, withdrawLeaf);
|
|
646
|
-
const swapPublicL2MessageIndex = swapResult.
|
|
646
|
+
const swapPublicL2MessageIndex = swapResult.leafIndex;
|
|
647
647
|
const swapPublicSiblingPath = swapResult.siblingPath;
|
|
648
|
-
const withdrawL2MessageIndex = withdrawResult.
|
|
648
|
+
const withdrawL2MessageIndex = withdrawResult.leafIndex;
|
|
649
649
|
const withdrawSiblingPath = withdrawResult.siblingPath;
|
|
650
650
|
const withdrawMessageMetadata = {
|
|
651
651
|
_l2BlockNumber: BigInt(withdrawReceipt.blockNumber),
|
package/dest/spartan/utils.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ declare const k8sLocalConfigSchema: z.ZodObject<{
|
|
|
71
71
|
L1_ACCOUNT_MNEMONIC?: string | undefined;
|
|
72
72
|
SEPOLIA_RUN?: string | undefined;
|
|
73
73
|
}>;
|
|
74
|
-
declare const k8sGCloudConfigSchema: z.ZodObject<{
|
|
74
|
+
declare const k8sGCloudConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
75
75
|
ETHEREUM_SLOT_DURATION: z.ZodNumber;
|
|
76
76
|
AZTEC_SLOT_DURATION: z.ZodNumber;
|
|
77
77
|
AZTEC_EPOCH_DURATION: z.ZodNumber;
|
|
@@ -92,12 +92,13 @@ declare const k8sGCloudConfigSchema: z.ZodObject<{
|
|
|
92
92
|
ETHEREUM_HOSTS: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
93
93
|
L1_ACCOUNT_MNEMONIC: z.ZodDefault<z.ZodString>;
|
|
94
94
|
SEPOLIA_RUN: z.ZodDefault<z.ZodString>;
|
|
95
|
-
|
|
95
|
+
K8S: z.ZodLiteral<"local">;
|
|
96
|
+
}, {
|
|
96
97
|
K8S: z.ZodLiteral<"gcloud">;
|
|
97
98
|
CLUSTER_NAME: z.ZodString;
|
|
98
99
|
REGION: z.ZodString;
|
|
99
100
|
PROJECT_ID: z.ZodString;
|
|
100
|
-
}
|
|
101
|
+
}>, "strip", z.ZodTypeAny, {
|
|
101
102
|
ETHEREUM_SLOT_DURATION: number;
|
|
102
103
|
AZTEC_SLOT_DURATION: number;
|
|
103
104
|
AZTEC_EPOCH_DURATION: number;
|
|
@@ -233,7 +234,7 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
|
|
|
233
234
|
METRICS_API_PATH?: string | undefined;
|
|
234
235
|
L1_ACCOUNT_MNEMONIC?: string | undefined;
|
|
235
236
|
SEPOLIA_RUN?: string | undefined;
|
|
236
|
-
}>, z.ZodObject<{
|
|
237
|
+
}>, z.ZodObject<z.objectUtil.extendShape<{
|
|
237
238
|
ETHEREUM_SLOT_DURATION: z.ZodNumber;
|
|
238
239
|
AZTEC_SLOT_DURATION: z.ZodNumber;
|
|
239
240
|
AZTEC_EPOCH_DURATION: z.ZodNumber;
|
|
@@ -254,12 +255,13 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
|
|
|
254
255
|
ETHEREUM_HOSTS: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
255
256
|
L1_ACCOUNT_MNEMONIC: z.ZodDefault<z.ZodString>;
|
|
256
257
|
SEPOLIA_RUN: z.ZodDefault<z.ZodString>;
|
|
257
|
-
|
|
258
|
+
K8S: z.ZodLiteral<"local">;
|
|
259
|
+
}, {
|
|
258
260
|
K8S: z.ZodLiteral<"gcloud">;
|
|
259
261
|
CLUSTER_NAME: z.ZodString;
|
|
260
262
|
REGION: z.ZodString;
|
|
261
263
|
PROJECT_ID: z.ZodString;
|
|
262
|
-
}
|
|
264
|
+
}>, "strip", z.ZodTypeAny, {
|
|
263
265
|
ETHEREUM_SLOT_DURATION: number;
|
|
264
266
|
AZTEC_SLOT_DURATION: number;
|
|
265
267
|
AZTEC_EPOCH_DURATION: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAyB,MAAM,eAAe,CAAC;AAGpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAmBxF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBxB,CAAC;AAEH,QAAA,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAyB,MAAM,eAAe,CAAC;AAGpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAmBxF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBxB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEH,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAiG,CAAC;AAEjH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,IAAI,cAAc,GAAG,eAAe,CAEzF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,IAAI,eAAe,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAOxD;AAyBD,wBAAgB,WAAW,WAE1B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,mBAEvF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,mBAG5G;AAED,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,aAAa,EACb,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CA6DD;AAED,wBAAsB,oBAAoB,CAAC,EACzC,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAa,GACd,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,mBAOA;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAc,GACf,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,mBAKA;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAmB,EACnB,OAAe,GAChB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,mBAKA;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAEhE;AAuCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,YAAY,EACZ,eAAe,EACf,UAAU,EACV,YAAY,EACZ,kBAAiC,EACjC,OAAc,EACd,KAAY,EACZ,MAAW,EACX,MAAM,GACP,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB,mBA2BA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,UAAU,EACV,eAAe,EACf,MAAM,GACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,mBAWA;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,UAAU,EACV,MAAM,GACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,mBASA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,UAAU,EACV,MAAM,GACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,mBASA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,UAAU,EACV,eAAe,EACf,MAAM,GACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB,mBAWA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,UAAU,EACV,MAAM,GACP,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,mBAQA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,SAAS,EACT,UAAU,EACV,MAAM,GACP,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,mBAQA;AAED,wBAAsB,kBAAkB,CACtC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,iBAef;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAMjE;AAED,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,iBAgBf;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,iBAgB3F;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,iBAIxF;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,qBAIpD;AAsBD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,iBAU5F;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,iBAcpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAW1C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "1.0.0-nightly.
|
|
3
|
+
"version": "1.0.0-nightly.20250801",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,40 +25,40 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "1.0.0-nightly.
|
|
29
|
-
"@aztec/archiver": "1.0.0-nightly.
|
|
30
|
-
"@aztec/aztec": "1.0.0-nightly.
|
|
31
|
-
"@aztec/aztec-node": "1.0.0-nightly.
|
|
32
|
-
"@aztec/aztec.js": "1.0.0-nightly.
|
|
33
|
-
"@aztec/bb-prover": "1.0.0-nightly.
|
|
34
|
-
"@aztec/blob-lib": "1.0.0-nightly.
|
|
35
|
-
"@aztec/blob-sink": "1.0.0-nightly.
|
|
36
|
-
"@aztec/bot": "1.0.0-nightly.
|
|
37
|
-
"@aztec/cli": "1.0.0-nightly.
|
|
38
|
-
"@aztec/constants": "1.0.0-nightly.
|
|
39
|
-
"@aztec/entrypoints": "1.0.0-nightly.
|
|
40
|
-
"@aztec/epoch-cache": "1.0.0-nightly.
|
|
41
|
-
"@aztec/ethereum": "1.0.0-nightly.
|
|
42
|
-
"@aztec/foundation": "1.0.0-nightly.
|
|
43
|
-
"@aztec/kv-store": "1.0.0-nightly.
|
|
44
|
-
"@aztec/l1-artifacts": "1.0.0-nightly.
|
|
45
|
-
"@aztec/merkle-tree": "1.0.0-nightly.
|
|
46
|
-
"@aztec/noir-contracts.js": "1.0.0-nightly.
|
|
47
|
-
"@aztec/noir-noirc_abi": "1.0.0-nightly.
|
|
48
|
-
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.
|
|
49
|
-
"@aztec/noir-test-contracts.js": "1.0.0-nightly.
|
|
50
|
-
"@aztec/p2p": "1.0.0-nightly.
|
|
51
|
-
"@aztec/protocol-contracts": "1.0.0-nightly.
|
|
52
|
-
"@aztec/prover-client": "1.0.0-nightly.
|
|
53
|
-
"@aztec/prover-node": "1.0.0-nightly.
|
|
54
|
-
"@aztec/pxe": "1.0.0-nightly.
|
|
55
|
-
"@aztec/sequencer-client": "1.0.0-nightly.
|
|
56
|
-
"@aztec/simulator": "1.0.0-nightly.
|
|
57
|
-
"@aztec/slasher": "1.0.0-nightly.
|
|
58
|
-
"@aztec/stdlib": "1.0.0-nightly.
|
|
59
|
-
"@aztec/telemetry-client": "1.0.0-nightly.
|
|
60
|
-
"@aztec/validator-client": "1.0.0-nightly.
|
|
61
|
-
"@aztec/world-state": "1.0.0-nightly.
|
|
28
|
+
"@aztec/accounts": "1.0.0-nightly.20250801",
|
|
29
|
+
"@aztec/archiver": "1.0.0-nightly.20250801",
|
|
30
|
+
"@aztec/aztec": "1.0.0-nightly.20250801",
|
|
31
|
+
"@aztec/aztec-node": "1.0.0-nightly.20250801",
|
|
32
|
+
"@aztec/aztec.js": "1.0.0-nightly.20250801",
|
|
33
|
+
"@aztec/bb-prover": "1.0.0-nightly.20250801",
|
|
34
|
+
"@aztec/blob-lib": "1.0.0-nightly.20250801",
|
|
35
|
+
"@aztec/blob-sink": "1.0.0-nightly.20250801",
|
|
36
|
+
"@aztec/bot": "1.0.0-nightly.20250801",
|
|
37
|
+
"@aztec/cli": "1.0.0-nightly.20250801",
|
|
38
|
+
"@aztec/constants": "1.0.0-nightly.20250801",
|
|
39
|
+
"@aztec/entrypoints": "1.0.0-nightly.20250801",
|
|
40
|
+
"@aztec/epoch-cache": "1.0.0-nightly.20250801",
|
|
41
|
+
"@aztec/ethereum": "1.0.0-nightly.20250801",
|
|
42
|
+
"@aztec/foundation": "1.0.0-nightly.20250801",
|
|
43
|
+
"@aztec/kv-store": "1.0.0-nightly.20250801",
|
|
44
|
+
"@aztec/l1-artifacts": "1.0.0-nightly.20250801",
|
|
45
|
+
"@aztec/merkle-tree": "1.0.0-nightly.20250801",
|
|
46
|
+
"@aztec/noir-contracts.js": "1.0.0-nightly.20250801",
|
|
47
|
+
"@aztec/noir-noirc_abi": "1.0.0-nightly.20250801",
|
|
48
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250801",
|
|
49
|
+
"@aztec/noir-test-contracts.js": "1.0.0-nightly.20250801",
|
|
50
|
+
"@aztec/p2p": "1.0.0-nightly.20250801",
|
|
51
|
+
"@aztec/protocol-contracts": "1.0.0-nightly.20250801",
|
|
52
|
+
"@aztec/prover-client": "1.0.0-nightly.20250801",
|
|
53
|
+
"@aztec/prover-node": "1.0.0-nightly.20250801",
|
|
54
|
+
"@aztec/pxe": "1.0.0-nightly.20250801",
|
|
55
|
+
"@aztec/sequencer-client": "1.0.0-nightly.20250801",
|
|
56
|
+
"@aztec/simulator": "1.0.0-nightly.20250801",
|
|
57
|
+
"@aztec/slasher": "1.0.0-nightly.20250801",
|
|
58
|
+
"@aztec/stdlib": "1.0.0-nightly.20250801",
|
|
59
|
+
"@aztec/telemetry-client": "1.0.0-nightly.20250801",
|
|
60
|
+
"@aztec/validator-client": "1.0.0-nightly.20250801",
|
|
61
|
+
"@aztec/world-state": "1.0.0-nightly.20250801",
|
|
62
62
|
"@iarna/toml": "^2.2.5",
|
|
63
63
|
"@jest/globals": "^30.0.0",
|
|
64
64
|
"@noble/curves": "^1.0.0",
|
|
@@ -16,7 +16,6 @@ import { ChainMonitor } from '@aztec/ethereum/test';
|
|
|
16
16
|
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
17
17
|
import { RollupAbi, SlashFactoryAbi, SlasherAbi, SlashingProposerAbi, TestERC20Abi } from '@aztec/l1-artifacts';
|
|
18
18
|
import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
19
|
-
import { privateKeyFromHex } from '@aztec/p2p';
|
|
20
19
|
import type { BootstrapNode } from '@aztec/p2p/bootstrap';
|
|
21
20
|
import { createBootstrapNodeFromPrivateKey, getBootstrapNodeEnr } from '@aztec/p2p/test-helpers';
|
|
22
21
|
import { tryStop } from '@aztec/stdlib/interfaces/server';
|
|
@@ -155,7 +154,7 @@ export class P2PNetworkTest {
|
|
|
155
154
|
}) {
|
|
156
155
|
const port = basePort || (await getPort());
|
|
157
156
|
|
|
158
|
-
const bootstrapNodeENR = getBootstrapNodeEnr(
|
|
157
|
+
const bootstrapNodeENR = await getBootstrapNodeEnr(BOOTSTRAP_NODE_PRIVATE_KEY, port);
|
|
159
158
|
const bootstrapNodeEnr = bootstrapNodeENR.encodeTxt();
|
|
160
159
|
|
|
161
160
|
const initialValidatorConfig = await createValidatorConfig(
|
|
@@ -187,7 +186,7 @@ export class P2PNetworkTest {
|
|
|
187
186
|
await this.snapshotManager.snapshot('add-bootstrap-node', async ({ aztecNodeConfig }) => {
|
|
188
187
|
const telemetry = getEndToEndTestTelemetryClient(this.metricsPort);
|
|
189
188
|
this.bootstrapNode = await createBootstrapNodeFromPrivateKey(
|
|
190
|
-
|
|
189
|
+
BOOTSTRAP_NODE_PRIVATE_KEY,
|
|
191
190
|
this.bootNodePort,
|
|
192
191
|
telemetry,
|
|
193
192
|
aztecNodeConfig,
|
|
@@ -276,7 +276,7 @@ export class FullProverTest {
|
|
|
276
276
|
this.logger.verbose('Starting archiver for new prover node');
|
|
277
277
|
const archiver = await createArchiver(
|
|
278
278
|
{ ...this.context.aztecNodeConfig, dataDirectory: undefined },
|
|
279
|
-
blobSinkClient,
|
|
279
|
+
{ blobSinkClient },
|
|
280
280
|
{ blockUntilSync: true },
|
|
281
281
|
);
|
|
282
282
|
|
package/src/fixtures/utils.ts
CHANGED
|
@@ -903,7 +903,7 @@ export function createAndSyncProverNode(
|
|
|
903
903
|
|
|
904
904
|
// Creating temp store and archiver for simulated prover node
|
|
905
905
|
const archiverConfig = { ...aztecNodeConfig, dataDirectory: proverNodeConfig.dataDirectory };
|
|
906
|
-
const archiver = await createArchiver(archiverConfig, blobSinkClient, { blockUntilSync: true });
|
|
906
|
+
const archiver = await createArchiver(archiverConfig, { blobSinkClient }, { blockUntilSync: true });
|
|
907
907
|
|
|
908
908
|
// Prover node config is for simulated proofs
|
|
909
909
|
const proverConfig: ProverNodeConfig = {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { AztecAddress, Fr, type L2Block } from '@aztec/aztec.js';
|
|
2
|
+
import { BatchedBlob, Blob } from '@aztec/blob-lib';
|
|
3
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
+
|
|
5
|
+
import { writeFile } from 'fs/promises';
|
|
6
|
+
|
|
7
|
+
const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Creates a json object that can be used to test the solidity contract.
|
|
11
|
+
* The json object must be put into
|
|
12
|
+
*/
|
|
13
|
+
export async function writeJson(
|
|
14
|
+
fileName: string,
|
|
15
|
+
block: L2Block,
|
|
16
|
+
l1ToL2Content: Fr[],
|
|
17
|
+
blobs: Blob[],
|
|
18
|
+
batchedBlob: BatchedBlob,
|
|
19
|
+
recipientAddress: AztecAddress,
|
|
20
|
+
deployerAddress: `0x${string}`,
|
|
21
|
+
): Promise<void> {
|
|
22
|
+
if (!AZTEC_GENERATE_TEST_DATA) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Path relative to the package.json in the end-to-end folder
|
|
26
|
+
const path = `../../l1-contracts/test/fixtures/${fileName}.json`;
|
|
27
|
+
|
|
28
|
+
const asHex = (value: Fr | Buffer | EthAddress | AztecAddress, size = 64) => {
|
|
29
|
+
const buffer = Buffer.isBuffer(value) ? value : value.toBuffer();
|
|
30
|
+
return `0x${buffer.toString('hex').padStart(size, '0')}`;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const jsonObject = {
|
|
34
|
+
populate: {
|
|
35
|
+
l1ToL2Content: l1ToL2Content.map(asHex),
|
|
36
|
+
recipient: asHex(recipientAddress.toField()),
|
|
37
|
+
sender: deployerAddress,
|
|
38
|
+
},
|
|
39
|
+
messages: {
|
|
40
|
+
l2ToL1Messages: block.body.txEffects.flatMap(txEffect => txEffect.l2ToL1Msgs).map(asHex),
|
|
41
|
+
},
|
|
42
|
+
block: {
|
|
43
|
+
// The json formatting in forge is a bit brittle, so we convert Fr to a number in the few values below.
|
|
44
|
+
// This should not be a problem for testing as long as the values are not larger than u32.
|
|
45
|
+
archive: asHex(block.archive.root),
|
|
46
|
+
blobCommitments: Blob.getPrefixedEthBlobCommitments(blobs),
|
|
47
|
+
batchedBlobInputs: batchedBlob.getEthBlobEvaluationInputs(),
|
|
48
|
+
blockNumber: block.number,
|
|
49
|
+
body: `0x${block.body.toBuffer().toString('hex')}`,
|
|
50
|
+
header: {
|
|
51
|
+
lastArchiveRoot: asHex(block.header.lastArchive.root),
|
|
52
|
+
contentCommitment: {
|
|
53
|
+
blobsHash: asHex(block.header.contentCommitment.blobsHash),
|
|
54
|
+
inHash: asHex(block.header.contentCommitment.inHash),
|
|
55
|
+
outHash: asHex(block.header.contentCommitment.outHash),
|
|
56
|
+
},
|
|
57
|
+
slotNumber: Number(block.header.globalVariables.slotNumber),
|
|
58
|
+
timestamp: Number(block.header.globalVariables.timestamp),
|
|
59
|
+
coinbase: asHex(block.header.globalVariables.coinbase, 40),
|
|
60
|
+
feeRecipient: asHex(block.header.globalVariables.feeRecipient),
|
|
61
|
+
gasFees: {
|
|
62
|
+
feePerDaGas: Number(block.header.globalVariables.gasFees.feePerDaGas),
|
|
63
|
+
feePerL2Gas: Number(block.header.globalVariables.gasFees.feePerL2Gas),
|
|
64
|
+
},
|
|
65
|
+
totalManaUsed: block.header.totalManaUsed.toNumber(),
|
|
66
|
+
},
|
|
67
|
+
headerHash: asHex(block.header.toPropose().hash()),
|
|
68
|
+
numTxs: block.body.txEffects.length,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const output = JSON.stringify(jsonObject, null, 2);
|
|
73
|
+
await writeFile(path, output, 'utf8');
|
|
74
|
+
}
|
|
@@ -290,10 +290,10 @@ export const uniswapL1L2TestSuite = (
|
|
|
290
290
|
withdrawLeaf,
|
|
291
291
|
);
|
|
292
292
|
|
|
293
|
-
const swapPrivateL2MessageIndex = swapResult!.
|
|
293
|
+
const swapPrivateL2MessageIndex = swapResult!.leafIndex;
|
|
294
294
|
const swapPrivateSiblingPath = swapResult!.siblingPath;
|
|
295
295
|
|
|
296
|
-
const withdrawL2MessageIndex = withdrawResult!.
|
|
296
|
+
const withdrawL2MessageIndex = withdrawResult!.leafIndex;
|
|
297
297
|
const withdrawSiblingPath = withdrawResult!.siblingPath;
|
|
298
298
|
|
|
299
299
|
const withdrawMessageMetadata = {
|
|
@@ -868,10 +868,10 @@ export const uniswapL1L2TestSuite = (
|
|
|
868
868
|
withdrawLeaf,
|
|
869
869
|
);
|
|
870
870
|
|
|
871
|
-
const swapPrivateL2MessageIndex = swapResult!.
|
|
871
|
+
const swapPrivateL2MessageIndex = swapResult!.leafIndex;
|
|
872
872
|
const swapPrivateSiblingPath = swapResult!.siblingPath;
|
|
873
873
|
|
|
874
|
-
const withdrawL2MessageIndex = withdrawResult!.
|
|
874
|
+
const withdrawL2MessageIndex = withdrawResult!.leafIndex;
|
|
875
875
|
const withdrawSiblingPath = withdrawResult!.siblingPath;
|
|
876
876
|
|
|
877
877
|
const withdrawMessageMetadata = {
|
|
@@ -1002,10 +1002,10 @@ export const uniswapL1L2TestSuite = (
|
|
|
1002
1002
|
withdrawLeaf,
|
|
1003
1003
|
);
|
|
1004
1004
|
|
|
1005
|
-
const swapPublicL2MessageIndex = swapResult!.
|
|
1005
|
+
const swapPublicL2MessageIndex = swapResult!.leafIndex;
|
|
1006
1006
|
const swapPublicSiblingPath = swapResult!.siblingPath;
|
|
1007
1007
|
|
|
1008
|
-
const withdrawL2MessageIndex = withdrawResult!.
|
|
1008
|
+
const withdrawL2MessageIndex = withdrawResult!.leafIndex;
|
|
1009
1009
|
const withdrawSiblingPath = withdrawResult!.siblingPath;
|
|
1010
1010
|
|
|
1011
1011
|
const withdrawMessageMetadata = {
|