@aztec/end-to-end 4.0.0-nightly.20260119 → 4.0.0-nightly.20260121
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_l1_publisher/write_json.d.ts +3 -3
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +19 -13
- package/dest/spartan/tx_metrics.d.ts +1 -1
- package/dest/spartan/tx_metrics.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.js +3 -0
- package/package.json +39 -39
- package/src/e2e_l1_publisher/write_json.ts +22 -15
- package/src/spartan/tx_metrics.ts +6 -3
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import type { L2Block } from '@aztec/aztec.js/block';
|
|
3
2
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
4
3
|
import { BatchedBlob, Blob } from '@aztec/blob-lib';
|
|
4
|
+
import { L2BlockNew } from '@aztec/stdlib/block';
|
|
5
5
|
/**
|
|
6
6
|
* Creates a json object that can be used to test the solidity contract.
|
|
7
7
|
* The json object must be put into
|
|
8
8
|
*/
|
|
9
|
-
export declare function writeJson(fileName: string, block:
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
export declare function writeJson(fileName: string, block: L2BlockNew, l1ToL2Content: Fr[], blobs: Blob[], batchedBlob: BatchedBlob, recipientAddress: AztecAddress, deployerAddress: `0x${string}`): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVfanNvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV9sMV9wdWJsaXNoZXIvd3JpdGVfanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUE2RCxNQUFNLGlCQUFpQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU9qRDs7O0dBR0c7QUFDSCx3QkFBc0IsU0FBUyxDQUM3QixRQUFRLEVBQUUsTUFBTSxFQUNoQixLQUFLLEVBQUUsVUFBVSxFQUNqQixhQUFhLEVBQUUsRUFBRSxFQUFFLEVBQ25CLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFDYixXQUFXLEVBQUUsV0FBVyxFQUN4QixnQkFBZ0IsRUFBRSxZQUFZLEVBQzlCLGVBQWUsRUFBRSxLQUFLLE1BQU0sRUFBRSxHQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLENBMERmIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write_json.d.ts","sourceRoot":"","sources":["../../src/e2e_l1_publisher/write_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"write_json.d.ts","sourceRoot":"","sources":["../../src/e2e_l1_publisher/write_json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,IAAI,EAA6D,MAAM,iBAAiB,CAAC;AAE/G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOjD;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EACjB,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,CA0Df"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getEthBlobEvaluationInputs, getPrefixedEthBlobCommitments } from '@aztec/blob-lib';
|
|
2
|
+
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
2
3
|
import { writeFile } from 'fs/promises';
|
|
3
4
|
const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
4
5
|
/**
|
|
@@ -14,6 +15,11 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
|
14
15
|
const buffer = Buffer.isBuffer(value) ? value : value.toBuffer();
|
|
15
16
|
return `0x${buffer.toString('hex').padStart(size, '0')}`;
|
|
16
17
|
};
|
|
18
|
+
// Create a checkpoint header for this block
|
|
19
|
+
const checkpointHeader = CheckpointHeader.random({
|
|
20
|
+
slotNumber: block.slot,
|
|
21
|
+
timestamp: block.timestamp
|
|
22
|
+
});
|
|
17
23
|
const jsonObject = {
|
|
18
24
|
populate: {
|
|
19
25
|
l1ToL2Content: l1ToL2Content.map((value)=>asHex(value)),
|
|
@@ -32,22 +38,22 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
|
32
38
|
checkpointNumber: block.number,
|
|
33
39
|
body: `0x${block.body.toBuffer().toString('hex')}`,
|
|
34
40
|
header: {
|
|
35
|
-
lastArchiveRoot: asHex(
|
|
36
|
-
blockHeadersHash: asHex(
|
|
37
|
-
blobsHash: asHex(
|
|
38
|
-
inHash: asHex(
|
|
39
|
-
outHash: asHex(
|
|
40
|
-
slotNumber: Number(
|
|
41
|
-
timestamp: Number(
|
|
42
|
-
coinbase: asHex(
|
|
43
|
-
feeRecipient: asHex(
|
|
41
|
+
lastArchiveRoot: asHex(checkpointHeader.lastArchiveRoot),
|
|
42
|
+
blockHeadersHash: asHex(checkpointHeader.blockHeadersHash),
|
|
43
|
+
blobsHash: asHex(checkpointHeader.blobsHash),
|
|
44
|
+
inHash: asHex(checkpointHeader.inHash),
|
|
45
|
+
outHash: asHex(checkpointHeader.epochOutHash),
|
|
46
|
+
slotNumber: Number(checkpointHeader.slotNumber),
|
|
47
|
+
timestamp: Number(checkpointHeader.timestamp),
|
|
48
|
+
coinbase: asHex(checkpointHeader.coinbase, 40),
|
|
49
|
+
feeRecipient: asHex(checkpointHeader.feeRecipient),
|
|
44
50
|
gasFees: {
|
|
45
|
-
feePerDaGas: Number(
|
|
46
|
-
feePerL2Gas: Number(
|
|
51
|
+
feePerDaGas: Number(checkpointHeader.gasFees.feePerDaGas),
|
|
52
|
+
feePerL2Gas: Number(checkpointHeader.gasFees.feePerL2Gas)
|
|
47
53
|
},
|
|
48
|
-
totalManaUsed:
|
|
54
|
+
totalManaUsed: checkpointHeader.totalManaUsed.toNumber()
|
|
49
55
|
},
|
|
50
|
-
headerHash: asHex(
|
|
56
|
+
headerHash: asHex(checkpointHeader.hash()),
|
|
51
57
|
numTxs: block.body.txEffects.length
|
|
52
58
|
}
|
|
53
59
|
};
|
|
@@ -39,4 +39,4 @@ export declare class TxInclusionMetrics {
|
|
|
39
39
|
extra?: string;
|
|
40
40
|
}>;
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NwYXJ0YW4vdHhfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssU0FBUyxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFJaEUsTUFBTSxNQUFNLGVBQWUsR0FBRztJQUM1QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixlQUFlLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBRUYscUJBQWEsa0JBQWtCO0lBT2pCLE9BQU8sQ0FBQyxTQUFTO0lBTjdCLE9BQU8sQ0FBQyxJQUFJLENBQXNDO0lBQ2xELE9BQU8sQ0FBQyxNQUFNLENBQXFCO0lBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQXNEO0lBRXBFLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBZ0U7SUFFL0YsWUFBb0IsU0FBUyxFQUFFLFNBQVMsRUFBSTtJQUU1QyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FnQnhDO0lBRUssYUFBYSxDQUFDLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQW9CdkQ7SUFFTSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHO1FBQzVDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDO1FBQ2QsR0FBRyxFQUFFLE1BQU0sQ0FBQztRQUNaLElBQUksRUFBRSxNQUFNLENBQUM7UUFDYixHQUFHLEVBQUUsTUFBTSxDQUFDO1FBQ1osTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUNmLEdBQUcsRUFBRSxNQUFNLENBQUM7S0FDYixDQStCQTtJQUVNLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFbEY7SUFFRCwyQkFBMkIsSUFBSSxLQUFLLENBQUM7UUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLENBc0NsSDtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_metrics.d.ts","sourceRoot":"","sources":["../../src/spartan/tx_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAIhE,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,kBAAkB;IAOjB,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"tx_metrics.d.ts","sourceRoot":"","sources":["../../src/spartan/tx_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAIhE,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,kBAAkB;IAOjB,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAsD;IAEpE,OAAO,CAAC,uBAAuB,CAAgE;IAE/F,YAAoB,SAAS,EAAE,SAAS,EAAI;IAE5C,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAgBxC;IAEK,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvD;IAEM,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG;QAC5C,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CA+BA;IAEM,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAElF;IAED,2BAA2B,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAsClH;CACF"}
|
|
@@ -38,6 +38,9 @@ export class TxInclusionMetrics {
|
|
|
38
38
|
this.blocks.set(blockNumber, this.aztecNode.getBlock(blockNumber));
|
|
39
39
|
}
|
|
40
40
|
const block = await this.blocks.get(blockNumber);
|
|
41
|
+
if (!block) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
41
44
|
const data = this.data.get(txHash.toString());
|
|
42
45
|
data.blocknumber = blockNumber;
|
|
43
46
|
data.minedAt = Number(block.header.globalVariables.timestamp);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "4.0.0-nightly.
|
|
3
|
+
"version": "4.0.0-nightly.20260121",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,44 +25,44 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "4.0.0-nightly.
|
|
29
|
-
"@aztec/archiver": "4.0.0-nightly.
|
|
30
|
-
"@aztec/aztec": "4.0.0-nightly.
|
|
31
|
-
"@aztec/aztec-node": "4.0.0-nightly.
|
|
32
|
-
"@aztec/aztec.js": "4.0.0-nightly.
|
|
33
|
-
"@aztec/bb-prover": "4.0.0-nightly.
|
|
34
|
-
"@aztec/bb.js": "4.0.0-nightly.
|
|
35
|
-
"@aztec/blob-client": "4.0.0-nightly.
|
|
36
|
-
"@aztec/blob-lib": "4.0.0-nightly.
|
|
37
|
-
"@aztec/bot": "4.0.0-nightly.
|
|
38
|
-
"@aztec/cli": "4.0.0-nightly.
|
|
39
|
-
"@aztec/constants": "4.0.0-nightly.
|
|
40
|
-
"@aztec/entrypoints": "4.0.0-nightly.
|
|
41
|
-
"@aztec/epoch-cache": "4.0.0-nightly.
|
|
42
|
-
"@aztec/ethereum": "4.0.0-nightly.
|
|
43
|
-
"@aztec/foundation": "4.0.0-nightly.
|
|
44
|
-
"@aztec/kv-store": "4.0.0-nightly.
|
|
45
|
-
"@aztec/l1-artifacts": "4.0.0-nightly.
|
|
46
|
-
"@aztec/merkle-tree": "4.0.0-nightly.
|
|
47
|
-
"@aztec/node-keystore": "4.0.0-nightly.
|
|
48
|
-
"@aztec/noir-contracts.js": "4.0.0-nightly.
|
|
49
|
-
"@aztec/noir-noirc_abi": "4.0.0-nightly.
|
|
50
|
-
"@aztec/noir-protocol-circuits-types": "4.0.0-nightly.
|
|
51
|
-
"@aztec/noir-test-contracts.js": "4.0.0-nightly.
|
|
52
|
-
"@aztec/p2p": "4.0.0-nightly.
|
|
53
|
-
"@aztec/protocol-contracts": "4.0.0-nightly.
|
|
54
|
-
"@aztec/prover-client": "4.0.0-nightly.
|
|
55
|
-
"@aztec/prover-node": "4.0.0-nightly.
|
|
56
|
-
"@aztec/pxe": "4.0.0-nightly.
|
|
57
|
-
"@aztec/sequencer-client": "4.0.0-nightly.
|
|
58
|
-
"@aztec/simulator": "4.0.0-nightly.
|
|
59
|
-
"@aztec/slasher": "4.0.0-nightly.
|
|
60
|
-
"@aztec/stdlib": "4.0.0-nightly.
|
|
61
|
-
"@aztec/telemetry-client": "4.0.0-nightly.
|
|
62
|
-
"@aztec/test-wallet": "4.0.0-nightly.
|
|
63
|
-
"@aztec/validator-client": "4.0.0-nightly.
|
|
64
|
-
"@aztec/validator-ha-signer": "4.0.0-nightly.
|
|
65
|
-
"@aztec/world-state": "4.0.0-nightly.
|
|
28
|
+
"@aztec/accounts": "4.0.0-nightly.20260121",
|
|
29
|
+
"@aztec/archiver": "4.0.0-nightly.20260121",
|
|
30
|
+
"@aztec/aztec": "4.0.0-nightly.20260121",
|
|
31
|
+
"@aztec/aztec-node": "4.0.0-nightly.20260121",
|
|
32
|
+
"@aztec/aztec.js": "4.0.0-nightly.20260121",
|
|
33
|
+
"@aztec/bb-prover": "4.0.0-nightly.20260121",
|
|
34
|
+
"@aztec/bb.js": "4.0.0-nightly.20260121",
|
|
35
|
+
"@aztec/blob-client": "4.0.0-nightly.20260121",
|
|
36
|
+
"@aztec/blob-lib": "4.0.0-nightly.20260121",
|
|
37
|
+
"@aztec/bot": "4.0.0-nightly.20260121",
|
|
38
|
+
"@aztec/cli": "4.0.0-nightly.20260121",
|
|
39
|
+
"@aztec/constants": "4.0.0-nightly.20260121",
|
|
40
|
+
"@aztec/entrypoints": "4.0.0-nightly.20260121",
|
|
41
|
+
"@aztec/epoch-cache": "4.0.0-nightly.20260121",
|
|
42
|
+
"@aztec/ethereum": "4.0.0-nightly.20260121",
|
|
43
|
+
"@aztec/foundation": "4.0.0-nightly.20260121",
|
|
44
|
+
"@aztec/kv-store": "4.0.0-nightly.20260121",
|
|
45
|
+
"@aztec/l1-artifacts": "4.0.0-nightly.20260121",
|
|
46
|
+
"@aztec/merkle-tree": "4.0.0-nightly.20260121",
|
|
47
|
+
"@aztec/node-keystore": "4.0.0-nightly.20260121",
|
|
48
|
+
"@aztec/noir-contracts.js": "4.0.0-nightly.20260121",
|
|
49
|
+
"@aztec/noir-noirc_abi": "4.0.0-nightly.20260121",
|
|
50
|
+
"@aztec/noir-protocol-circuits-types": "4.0.0-nightly.20260121",
|
|
51
|
+
"@aztec/noir-test-contracts.js": "4.0.0-nightly.20260121",
|
|
52
|
+
"@aztec/p2p": "4.0.0-nightly.20260121",
|
|
53
|
+
"@aztec/protocol-contracts": "4.0.0-nightly.20260121",
|
|
54
|
+
"@aztec/prover-client": "4.0.0-nightly.20260121",
|
|
55
|
+
"@aztec/prover-node": "4.0.0-nightly.20260121",
|
|
56
|
+
"@aztec/pxe": "4.0.0-nightly.20260121",
|
|
57
|
+
"@aztec/sequencer-client": "4.0.0-nightly.20260121",
|
|
58
|
+
"@aztec/simulator": "4.0.0-nightly.20260121",
|
|
59
|
+
"@aztec/slasher": "4.0.0-nightly.20260121",
|
|
60
|
+
"@aztec/stdlib": "4.0.0-nightly.20260121",
|
|
61
|
+
"@aztec/telemetry-client": "4.0.0-nightly.20260121",
|
|
62
|
+
"@aztec/test-wallet": "4.0.0-nightly.20260121",
|
|
63
|
+
"@aztec/validator-client": "4.0.0-nightly.20260121",
|
|
64
|
+
"@aztec/validator-ha-signer": "4.0.0-nightly.20260121",
|
|
65
|
+
"@aztec/world-state": "4.0.0-nightly.20260121",
|
|
66
66
|
"@iarna/toml": "^2.2.5",
|
|
67
67
|
"@jest/globals": "^30.0.0",
|
|
68
68
|
"@noble/curves": "=1.0.0",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
-
import type { L2Block } from '@aztec/aztec.js/block';
|
|
3
2
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
4
3
|
import { BatchedBlob, Blob, getEthBlobEvaluationInputs, getPrefixedEthBlobCommitments } from '@aztec/blob-lib';
|
|
5
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
+
import { L2BlockNew } from '@aztec/stdlib/block';
|
|
6
|
+
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
6
7
|
|
|
7
8
|
import { writeFile } from 'fs/promises';
|
|
8
9
|
|
|
@@ -14,7 +15,7 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
|
14
15
|
*/
|
|
15
16
|
export async function writeJson(
|
|
16
17
|
fileName: string,
|
|
17
|
-
block:
|
|
18
|
+
block: L2BlockNew,
|
|
18
19
|
l1ToL2Content: Fr[],
|
|
19
20
|
blobs: Blob[],
|
|
20
21
|
batchedBlob: BatchedBlob,
|
|
@@ -32,6 +33,12 @@ export async function writeJson(
|
|
|
32
33
|
return `0x${buffer.toString('hex').padStart(size, '0')}`;
|
|
33
34
|
};
|
|
34
35
|
|
|
36
|
+
// Create a checkpoint header for this block
|
|
37
|
+
const checkpointHeader = CheckpointHeader.random({
|
|
38
|
+
slotNumber: block.slot,
|
|
39
|
+
timestamp: block.timestamp,
|
|
40
|
+
});
|
|
41
|
+
|
|
35
42
|
const jsonObject = {
|
|
36
43
|
populate: {
|
|
37
44
|
l1ToL2Content: l1ToL2Content.map(value => asHex(value)),
|
|
@@ -50,22 +57,22 @@ export async function writeJson(
|
|
|
50
57
|
checkpointNumber: block.number,
|
|
51
58
|
body: `0x${block.body.toBuffer().toString('hex')}`,
|
|
52
59
|
header: {
|
|
53
|
-
lastArchiveRoot: asHex(
|
|
54
|
-
blockHeadersHash: asHex(
|
|
55
|
-
blobsHash: asHex(
|
|
56
|
-
inHash: asHex(
|
|
57
|
-
outHash: asHex(
|
|
58
|
-
slotNumber: Number(
|
|
59
|
-
timestamp: Number(
|
|
60
|
-
coinbase: asHex(
|
|
61
|
-
feeRecipient: asHex(
|
|
60
|
+
lastArchiveRoot: asHex(checkpointHeader.lastArchiveRoot),
|
|
61
|
+
blockHeadersHash: asHex(checkpointHeader.blockHeadersHash),
|
|
62
|
+
blobsHash: asHex(checkpointHeader.blobsHash),
|
|
63
|
+
inHash: asHex(checkpointHeader.inHash),
|
|
64
|
+
outHash: asHex(checkpointHeader.epochOutHash),
|
|
65
|
+
slotNumber: Number(checkpointHeader.slotNumber),
|
|
66
|
+
timestamp: Number(checkpointHeader.timestamp),
|
|
67
|
+
coinbase: asHex(checkpointHeader.coinbase, 40),
|
|
68
|
+
feeRecipient: asHex(checkpointHeader.feeRecipient),
|
|
62
69
|
gasFees: {
|
|
63
|
-
feePerDaGas: Number(
|
|
64
|
-
feePerL2Gas: Number(
|
|
70
|
+
feePerDaGas: Number(checkpointHeader.gasFees.feePerDaGas),
|
|
71
|
+
feePerL2Gas: Number(checkpointHeader.gasFees.feePerL2Gas),
|
|
65
72
|
},
|
|
66
|
-
totalManaUsed:
|
|
73
|
+
totalManaUsed: checkpointHeader.totalManaUsed.toNumber(),
|
|
67
74
|
},
|
|
68
|
-
headerHash: asHex(
|
|
75
|
+
headerHash: asHex(checkpointHeader.hash()),
|
|
69
76
|
numTxs: block.body.txEffects.length,
|
|
70
77
|
},
|
|
71
78
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
2
|
-
import type {
|
|
2
|
+
import type { L2BlockNew } from '@aztec/stdlib/block';
|
|
3
3
|
import type { TopicType } from '@aztec/stdlib/p2p';
|
|
4
4
|
import { Tx, type TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
5
5
|
|
|
@@ -20,7 +20,7 @@ export type TxInclusionData = {
|
|
|
20
20
|
export class TxInclusionMetrics {
|
|
21
21
|
private data = new Map<string, TxInclusionData>();
|
|
22
22
|
private groups = new Set<string>();
|
|
23
|
-
private blocks = new Map<number, Promise<
|
|
23
|
+
private blocks = new Map<number, Promise<L2BlockNew | undefined>>();
|
|
24
24
|
|
|
25
25
|
private p2pGossipLatencyByTopic: Partial<Record<TopicType, { p50: number; p95: number }>> = {};
|
|
26
26
|
|
|
@@ -51,10 +51,13 @@ export class TxInclusionMetrics {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
if (!this.blocks.has(blockNumber)) {
|
|
54
|
-
this.blocks.set(blockNumber, this.aztecNode.getBlock(blockNumber)
|
|
54
|
+
this.blocks.set(blockNumber, this.aztecNode.getBlock(blockNumber));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
const block = await this.blocks.get(blockNumber)!;
|
|
58
|
+
if (!block) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
58
61
|
const data = this.data.get(txHash.toString())!;
|
|
59
62
|
data.blocknumber = blockNumber;
|
|
60
63
|
data.minedAt = Number(block.header.globalVariables.timestamp);
|