@aztec/stdlib 3.0.0-nightly.20251219 → 3.0.0-nightly.20251220
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/block/l2_block_new.d.ts +8 -3
- package/dest/block/l2_block_new.d.ts.map +1 -1
- package/dest/block/l2_block_new.js +10 -9
- package/dest/logs/private_log.d.ts +1 -1
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +2 -1
- package/dest/tx/block_header.d.ts +8 -7
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +5 -1
- package/package.json +8 -8
- package/src/block/l2_block_new.ts +17 -7
- package/src/logs/private_log.ts +2 -1
- package/src/tx/block_header.ts +12 -7
|
@@ -18,7 +18,6 @@ export declare class L2BlockNew {
|
|
|
18
18
|
body: Body;
|
|
19
19
|
checkpointNumber: CheckpointNumber;
|
|
20
20
|
indexWithinCheckpoint: number;
|
|
21
|
-
private blockHash;
|
|
22
21
|
constructor(
|
|
23
22
|
/** Snapshot of archive tree after the block is applied. */
|
|
24
23
|
archive: AppendOnlyTreeSnapshot,
|
|
@@ -29,7 +28,7 @@ export declare class L2BlockNew {
|
|
|
29
28
|
/** Number of the checkpoint that the block belongs to. */
|
|
30
29
|
checkpointNumber: CheckpointNumber,
|
|
31
30
|
/** Index of the block within the checkpoint. */
|
|
32
|
-
indexWithinCheckpoint: number
|
|
31
|
+
indexWithinCheckpoint: number);
|
|
33
32
|
get number(): BlockNumber;
|
|
34
33
|
get timestamp(): bigint;
|
|
35
34
|
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
@@ -92,6 +91,12 @@ export declare class L2BlockNew {
|
|
|
92
91
|
* @returns The block's hash.
|
|
93
92
|
*/
|
|
94
93
|
hash(): Promise<Fr>;
|
|
94
|
+
/**
|
|
95
|
+
* Checks if this block equals another block.
|
|
96
|
+
* @param other - The other block to compare with.
|
|
97
|
+
* @returns True if both blocks are equal.
|
|
98
|
+
*/
|
|
99
|
+
equals(other: this): boolean;
|
|
95
100
|
toBlobFields(): Fr[];
|
|
96
101
|
toBlockBlobData(): BlockBlobData;
|
|
97
102
|
static empty(): L2BlockNew;
|
|
@@ -127,4 +132,4 @@ export declare class L2BlockNew {
|
|
|
127
132
|
getPrivateLogs(): PrivateLog[];
|
|
128
133
|
toBlockInfo(): L2BlockInfo;
|
|
129
134
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfbmV3LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBdUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQ7OztHQUdHO0FBQ0gscUJBQWEsVUFBVTtJQUdaLE9BQU8sRUFBRSxzQkFBc0I7SUFFL0IsTUFBTSxFQUFFLFdBQVc7SUFFbkIsSUFBSSxFQUFFLElBQUk7SUFFVixnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFFbEMscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDJEQUEyRDtJQUNwRCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLDJCQUEyQjtJQUNwQixNQUFNLEVBQUUsV0FBVztJQUMxQixxQkFBcUI7SUFDZCxJQUFJLEVBQUUsSUFBSTtJQUNqQiwwREFBMEQ7SUFDbkQsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ3pDLGdEQUFnRDtJQUN6QyxxQkFBcUIsRUFBRSxNQUFNLEVBQ2xDO0lBRUosSUFBSSxNQUFNLElBQUksV0FBVyxDQUV4QjtJQUVELElBQUksU0FBUyxJQUFJLE1BQU0sQ0FFdEI7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxjQVMzQztJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRDs7O09BR0c7SUFDSSxJQUFJLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV6QjtJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxPQUFPLENBUWxDO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLGVBQWUsSUFBSSxhQUFhLENBc0J0QztJQUVELE1BQU0sQ0FBQyxLQUFLLGVBRVg7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQWEsTUFBTSxDQUNqQixXQUFXLEVBQUUsV0FBVyxFQUN4QixFQUNFLGdCQUF3RCxFQUN4RCxxQkFBeUIsRUFDekIsV0FBZSxFQUNmLFNBQWMsRUFDZCxhQUFhLEVBQ2IsR0FBRyxvQkFBb0IsRUFDeEIsR0FBRTtRQUNELGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7UUFDcEMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDL0IsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxhQUFhLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pGLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSxHQUN6RCxPQUFPLENBQUMsVUFBVSxDQUFDLENBS3JCO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTs7Ozs7Ozs7TUFxQlA7SUFFRCxjQUFjLElBQUksVUFBVSxFQUFFLENBRTdCO0lBRUQsV0FBVyxJQUFJLFdBQVcsQ0FTekI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_new.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,UAAU;IAGZ,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,WAAW;IAEnB,IAAI,EAAE,IAAI;IAEV,gBAAgB,EAAE,gBAAgB;IAElC,qBAAqB,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"l2_block_new.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,UAAU;IAGZ,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,WAAW;IAEnB,IAAI,EAAE,IAAI;IAEV,gBAAgB,EAAE,gBAAgB;IAElC,qBAAqB,EAAE,MAAM;IAVtC;IACE,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,2BAA2B;IACpB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,0DAA0D;IACnD,gBAAgB,EAAE,gBAAgB;IACzC,gDAAgD;IACzC,qBAAqB,EAAE,MAAM,EAClC;IAEJ,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAS3C;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAEzB;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAQlC;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,eAAe,IAAI,aAAa,CAsBtC;IAED,MAAM,CAAC,KAAK,eAEX;IAED;;;;;;;;OAQG;IACH,OAAa,MAAM,CACjB,WAAW,EAAE,WAAW,EACxB,EACE,gBAAwD,EACxD,qBAAyB,EACzB,WAAe,EACf,SAAc,EACd,aAAa,EACb,GAAG,oBAAoB,EACxB,GAAE;QACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjF,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,GACzD,OAAO,CAAC,UAAU,CAAC,CAKrB;IAED;;;OAGG;IACH,QAAQ;;;;;;;;MAqBP;IAED,cAAc,IAAI,UAAU,EAAE,CAE7B;IAED,WAAW,IAAI,WAAW,CASzB;CACF"}
|
|
@@ -15,14 +15,12 @@ import { Body } from './body.js';
|
|
|
15
15
|
body;
|
|
16
16
|
checkpointNumber;
|
|
17
17
|
indexWithinCheckpoint;
|
|
18
|
-
|
|
19
|
-
constructor(/** Snapshot of archive tree after the block is applied. */ archive, /** Header of the block. */ header, /** L2 block body. */ body, /** Number of the checkpoint that the block belongs to. */ checkpointNumber, /** Index of the block within the checkpoint. */ indexWithinCheckpoint, blockHash = undefined){
|
|
18
|
+
constructor(/** Snapshot of archive tree after the block is applied. */ archive, /** Header of the block. */ header, /** L2 block body. */ body, /** Number of the checkpoint that the block belongs to. */ checkpointNumber, /** Index of the block within the checkpoint. */ indexWithinCheckpoint){
|
|
20
19
|
this.archive = archive;
|
|
21
20
|
this.header = header;
|
|
22
21
|
this.body = body;
|
|
23
22
|
this.checkpointNumber = checkpointNumber;
|
|
24
23
|
this.indexWithinCheckpoint = indexWithinCheckpoint;
|
|
25
|
-
this.blockHash = blockHash;
|
|
26
24
|
}
|
|
27
25
|
get number() {
|
|
28
26
|
return this.header.globalVariables.blockNumber;
|
|
@@ -60,11 +58,15 @@ import { Body } from './body.js';
|
|
|
60
58
|
/**
|
|
61
59
|
* Returns the block's hash (hash of block header).
|
|
62
60
|
* @returns The block's hash.
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
61
|
+
*/ hash() {
|
|
62
|
+
return this.header.hash();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Checks if this block equals another block.
|
|
66
|
+
* @param other - The other block to compare with.
|
|
67
|
+
* @returns True if both blocks are equal.
|
|
68
|
+
*/ equals(other) {
|
|
69
|
+
return this.archive.equals(other.archive) && this.header.equals(other.header) && this.body.equals(other.body) && this.checkpointNumber === other.checkpointNumber && this.indexWithinCheckpoint === other.indexWithinCheckpoint;
|
|
68
70
|
}
|
|
69
71
|
toBlobFields() {
|
|
70
72
|
const blockBlobData = this.toBlockBlobData();
|
|
@@ -139,7 +141,6 @@ import { Body } from './body.js';
|
|
|
139
141
|
}
|
|
140
142
|
toBlockInfo() {
|
|
141
143
|
return {
|
|
142
|
-
blockHash: this.blockHash,
|
|
143
144
|
archive: this.archive.root,
|
|
144
145
|
lastArchive: this.header.lastArchive.root,
|
|
145
146
|
blockNumber: this.number,
|
|
@@ -46,4 +46,4 @@ export declare class PrivateLog {
|
|
|
46
46
|
equals(other: PrivateLog): boolean;
|
|
47
47
|
[inspect.custom](): string;
|
|
48
48
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9sb2cuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL3ByaXZhdGVfbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxLQUFLLEVBR1gsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIscUJBQWEsVUFBVTtJQUlaLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sMEJBQTBCLENBQUM7SUFFcEQsYUFBYSxFQUFFLE1BQU07SUFMOUIsTUFBTSxDQUFDLGFBQWEsU0FBeUM7SUFFN0QsWUFDUyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLDBCQUEwQixDQUFDLEVBRXBELGFBQWEsRUFBRSxNQUFNLEVBQzFCO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUV2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsK0ZBRTVDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUczQztJQUVELGdCQUFnQixTQUVmO0lBRUQsMEJBQTBCLFNBRXpCO0lBRUQsWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUVuQjtJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUl0RTtJQUVELE9BQU8sWUFHTjtJQUVELE1BQU0sQ0FBQyxLQUFLLGVBRVg7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBRzlDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQWMsY0FJOUI7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FRM0M7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsV0FFdkI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBS3pCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_log.d.ts","sourceRoot":"","sources":["../../src/logs/private_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAGX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,UAAU;IAIZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC;IAEpD,aAAa,EAAE,MAAM;IAL9B,MAAM,CAAC,aAAa,SAAyC;IAE7D,YACS,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC,EAEpD,aAAa,EAAE,MAAM,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,+FAE5C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED,gBAAgB,SAEf;IAED,0BAA0B,SAEzB;IAED,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAItE;IAED,OAAO,
|
|
1
|
+
{"version":3,"file":"private_log.d.ts","sourceRoot":"","sources":["../../src/logs/private_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAGX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,UAAU;IAIZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC;IAEpD,aAAa,EAAE,MAAM;IAL9B,MAAM,CAAC,aAAa,SAAyC;IAE7D,YACS,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC,EAEpD,aAAa,EAAE,MAAM,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,+FAE5C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED,gBAAgB,SAEf;IAED,0BAA0B,SAEzB;IAED,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAItE;IAED,OAAO,YAGN;IAED,MAAM,CAAC,KAAK,eAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,cAG9C;IAED,MAAM,CAAC,MAAM,CAAC,GAAG,KAAc,cAI9B;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAQ3C;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,WAEvB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
|
package/dest/logs/private_log.js
CHANGED
|
@@ -46,7 +46,8 @@ export class PrivateLog {
|
|
|
46
46
|
return new PrivateLog(padArrayEnd(emittedFields, Fr.ZERO, PRIVATE_LOG_SIZE_IN_FIELDS), emittedLength);
|
|
47
47
|
}
|
|
48
48
|
isEmpty() {
|
|
49
|
-
|
|
49
|
+
// Faster to check emittedLength than compare all fields against zero
|
|
50
|
+
return this.emittedLength === 0;
|
|
50
51
|
}
|
|
51
52
|
static empty() {
|
|
52
53
|
return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr.zero), 0);
|
|
@@ -9,12 +9,13 @@ import { GlobalVariables } from './global_variables.js';
|
|
|
9
9
|
import { StateReference } from './state_reference.js';
|
|
10
10
|
/** A header of an L2 block. */
|
|
11
11
|
export declare class BlockHeader {
|
|
12
|
-
lastArchive: AppendOnlyTreeSnapshot;
|
|
13
|
-
state: StateReference;
|
|
14
|
-
spongeBlobHash: Fr;
|
|
15
|
-
globalVariables: GlobalVariables;
|
|
16
|
-
totalFees: Fr;
|
|
17
|
-
totalManaUsed: Fr;
|
|
12
|
+
readonly lastArchive: AppendOnlyTreeSnapshot;
|
|
13
|
+
readonly state: StateReference;
|
|
14
|
+
readonly spongeBlobHash: Fr;
|
|
15
|
+
readonly globalVariables: GlobalVariables;
|
|
16
|
+
readonly totalFees: Fr;
|
|
17
|
+
readonly totalManaUsed: Fr;
|
|
18
|
+
private _cachedHash?;
|
|
18
19
|
constructor(
|
|
19
20
|
/** Snapshot of archive before the block is applied. */
|
|
20
21
|
lastArchive: AppendOnlyTreeSnapshot,
|
|
@@ -78,4 +79,4 @@ export declare class BlockHeader {
|
|
|
78
79
|
[inspect.custom](): string;
|
|
79
80
|
equals(other: this): boolean;
|
|
80
81
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvYmxvY2tfaGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHMUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUF3QyxNQUFNLDZCQUE2QixDQUFDO0FBRTlHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCwrQkFBK0I7QUFDL0IscUJBQWEsV0FBVzthQUtKLFdBQVcsRUFBRSxzQkFBc0I7YUFFbkMsS0FBSyxFQUFFLGNBQWM7YUFLckIsY0FBYyxFQUFFLEVBQUU7YUFFbEIsZUFBZSxFQUFFLGVBQWU7YUFFaEMsU0FBUyxFQUFFLEVBQUU7YUFFYixhQUFhLEVBQUUsRUFBRTtJQWpCbkMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFjO0lBRWxDO0lBQ0UsdURBQXVEO0lBQ3ZDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkQsdUJBQXVCO0lBQ1AsS0FBSyxFQUFFLGNBQWM7SUFDckM7OztPQUdHO0lBQ2EsY0FBYyxFQUFFLEVBQUU7SUFDbEMsdUNBQXVDO0lBQ3ZCLGVBQWUsRUFBRSxlQUFlO0lBQ2hELG1FQUFtRTtJQUNuRCxTQUFTLEVBQUUsRUFBRTtJQUM3Qix3RUFBd0U7SUFDeEQsYUFBYSxFQUFFLEVBQUUsRUFDL0I7SUFFSixNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FXdkM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLGtGQVM3QztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsZUFFeEM7SUFFRCxPQUFPLElBQUksVUFBVSxDQUVwQjtJQUVELGNBQWMsSUFBSSxXQUFXLENBRTVCO0lBRUQsT0FBTyxXQVNOO0lBRUQsUUFBUSw0QkFFUDtJQUVELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FNZjtJQUVELEtBQUssSUFBSSxXQUFXLENBRW5CO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxXQUFXLENBVzVEO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FXekQ7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFNLEdBQUcsV0FBVyxDQVVyRTtJQUVELE9BQU8sSUFBSSxPQUFPLENBU2pCO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxrQkFFZDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBRTFDO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLbEI7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBTSxHQUFHLFdBQVcsQ0FVOUc7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BU1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FZZjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FTbEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;aAKJ,WAAW,EAAE,sBAAsB;aAEnC,KAAK,EAAE,cAAc;aAKrB,cAAc,EAAE,EAAE;aAElB,eAAe,EAAE,eAAe;aAEhC,SAAS,EAAE,EAAE;aAEb,aAAa,EAAE,EAAE;IAjBnC,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC;IACE,uDAAuD;IACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;IACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;IACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;IACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;IACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;IACxD,aAAa,EAAE,EAAE,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,kFAS7C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,eAExC;IAED,OAAO,IAAI,UAAU,CAEpB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,OAAO,WASN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,KAAK,IAAI,WAAW,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAW5D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAWzD;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAUrE;IAED,OAAO,IAAI,OAAO,CASjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAE1C;IAED,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAKlB;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,WAAW,CAU9G;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MASR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAYf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CASlC;CACF"}
|
package/dest/tx/block_header.js
CHANGED
|
@@ -17,6 +17,7 @@ import { StateReference } from './state_reference.js';
|
|
|
17
17
|
globalVariables;
|
|
18
18
|
totalFees;
|
|
19
19
|
totalManaUsed;
|
|
20
|
+
_cachedHash;
|
|
20
21
|
constructor(/** Snapshot of archive before the block is applied. */ lastArchive, /** State reference. */ state, /**
|
|
21
22
|
* Hash of the sponge blob after the tx effects of this block has been applied.
|
|
22
23
|
* May contain tx effects from the previous blocks in the same checkpoint.
|
|
@@ -105,7 +106,10 @@ import { StateReference } from './state_reference.js';
|
|
|
105
106
|
return BlockHeader.fromBuffer(hexToBuffer(str));
|
|
106
107
|
}
|
|
107
108
|
hash() {
|
|
108
|
-
|
|
109
|
+
if (!this._cachedHash) {
|
|
110
|
+
this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HASH);
|
|
111
|
+
}
|
|
112
|
+
return this._cachedHash;
|
|
109
113
|
}
|
|
110
114
|
static random(overrides = {}) {
|
|
111
115
|
return BlockHeader.from({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251220",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -77,13 +77,13 @@
|
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
80
|
-
"@aztec/bb.js": "3.0.0-nightly.
|
|
81
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
82
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
83
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
84
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
85
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
86
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
80
|
+
"@aztec/bb.js": "3.0.0-nightly.20251220",
|
|
81
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251220",
|
|
82
|
+
"@aztec/constants": "3.0.0-nightly.20251220",
|
|
83
|
+
"@aztec/ethereum": "3.0.0-nightly.20251220",
|
|
84
|
+
"@aztec/foundation": "3.0.0-nightly.20251220",
|
|
85
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251220",
|
|
86
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20251220",
|
|
87
87
|
"@google-cloud/storage": "^7.15.0",
|
|
88
88
|
"axios": "^1.12.0",
|
|
89
89
|
"json-stringify-deterministic": "1.0.12",
|
|
@@ -27,7 +27,6 @@ export class L2BlockNew {
|
|
|
27
27
|
public checkpointNumber: CheckpointNumber,
|
|
28
28
|
/** Index of the block within the checkpoint. */
|
|
29
29
|
public indexWithinCheckpoint: number,
|
|
30
|
-
private blockHash: Fr | undefined = undefined,
|
|
31
30
|
) {}
|
|
32
31
|
|
|
33
32
|
get number(): BlockNumber {
|
|
@@ -80,11 +79,23 @@ export class L2BlockNew {
|
|
|
80
79
|
* Returns the block's hash (hash of block header).
|
|
81
80
|
* @returns The block's hash.
|
|
82
81
|
*/
|
|
83
|
-
public
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
public hash(): Promise<Fr> {
|
|
83
|
+
return this.header.hash();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Checks if this block equals another block.
|
|
88
|
+
* @param other - The other block to compare with.
|
|
89
|
+
* @returns True if both blocks are equal.
|
|
90
|
+
*/
|
|
91
|
+
public equals(other: this): boolean {
|
|
92
|
+
return (
|
|
93
|
+
this.archive.equals(other.archive) &&
|
|
94
|
+
this.header.equals(other.header) &&
|
|
95
|
+
this.body.equals(other.body) &&
|
|
96
|
+
this.checkpointNumber === other.checkpointNumber &&
|
|
97
|
+
this.indexWithinCheckpoint === other.indexWithinCheckpoint
|
|
98
|
+
);
|
|
88
99
|
}
|
|
89
100
|
|
|
90
101
|
public toBlobFields(): Fr[] {
|
|
@@ -185,7 +196,6 @@ export class L2BlockNew {
|
|
|
185
196
|
|
|
186
197
|
toBlockInfo(): L2BlockInfo {
|
|
187
198
|
return {
|
|
188
|
-
blockHash: this.blockHash,
|
|
189
199
|
archive: this.archive.root,
|
|
190
200
|
lastArchive: this.header.lastArchive.root,
|
|
191
201
|
blockNumber: this.number,
|
package/src/logs/private_log.ts
CHANGED
package/src/tx/block_header.ts
CHANGED
|
@@ -17,22 +17,24 @@ import { StateReference } from './state_reference.js';
|
|
|
17
17
|
|
|
18
18
|
/** A header of an L2 block. */
|
|
19
19
|
export class BlockHeader {
|
|
20
|
+
private _cachedHash?: Promise<Fr>;
|
|
21
|
+
|
|
20
22
|
constructor(
|
|
21
23
|
/** Snapshot of archive before the block is applied. */
|
|
22
|
-
public lastArchive: AppendOnlyTreeSnapshot,
|
|
24
|
+
public readonly lastArchive: AppendOnlyTreeSnapshot,
|
|
23
25
|
/** State reference. */
|
|
24
|
-
public state: StateReference,
|
|
26
|
+
public readonly state: StateReference,
|
|
25
27
|
/**
|
|
26
28
|
* Hash of the sponge blob after the tx effects of this block has been applied.
|
|
27
29
|
* May contain tx effects from the previous blocks in the same checkpoint.
|
|
28
30
|
*/
|
|
29
|
-
public spongeBlobHash: Fr,
|
|
31
|
+
public readonly spongeBlobHash: Fr,
|
|
30
32
|
/** Global variables of an L2 block. */
|
|
31
|
-
public globalVariables: GlobalVariables,
|
|
33
|
+
public readonly globalVariables: GlobalVariables,
|
|
32
34
|
/** Total fees in the block, computed by the root rollup circuit */
|
|
33
|
-
public totalFees: Fr,
|
|
35
|
+
public readonly totalFees: Fr,
|
|
34
36
|
/** Total mana used in the block, computed by the root rollup circuit */
|
|
35
|
-
public totalManaUsed: Fr,
|
|
37
|
+
public readonly totalManaUsed: Fr,
|
|
36
38
|
) {}
|
|
37
39
|
|
|
38
40
|
static get schema(): ZodFor<BlockHeader> {
|
|
@@ -160,7 +162,10 @@ export class BlockHeader {
|
|
|
160
162
|
}
|
|
161
163
|
|
|
162
164
|
hash(): Promise<Fr> {
|
|
163
|
-
|
|
165
|
+
if (!this._cachedHash) {
|
|
166
|
+
this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HASH);
|
|
167
|
+
}
|
|
168
|
+
return this._cachedHash;
|
|
164
169
|
}
|
|
165
170
|
|
|
166
171
|
static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
|