@aztec/stdlib 4.0.0-nightly.20260118 → 4.0.0-nightly.20260120
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/avm/avm.d.ts +300 -300
- package/dest/block/block_parameter.d.ts +4 -3
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -0
- package/dest/block/checkpointed_l2_block.d.ts +10 -127
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +2 -41
- package/dest/block/in_block.d.ts +3 -3
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +1 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -2
- package/dest/block/l2_block_new.d.ts +11 -9
- package/dest/block/l2_block_new.d.ts.map +1 -1
- package/dest/block/l2_block_new.js +5 -5
- package/dest/block/l2_block_source.d.ts +20 -11
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.d.ts +10 -8
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +2 -2
- package/dest/checkpoint/published_checkpoint.d.ts +11 -9
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +9 -8
- package/dest/interfaces/aztec-node.d.ts +35 -40
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +6 -8
- package/dest/interfaces/block-builder.d.ts +18 -17
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +166 -166
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +14 -4
- package/dest/p2p/block_proposal.d.ts +9 -9
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +6 -5
- package/dest/p2p/checkpoint_proposal.d.ts +4 -4
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +3 -3
- package/dest/p2p/consensus_payload.d.ts +1 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +0 -3
- package/dest/tests/factories.d.ts +2 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +3 -13
- package/dest/tests/jest.d.ts +4 -4
- package/dest/tests/jest.js +9 -9
- package/dest/tests/mocks.d.ts +12 -12
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +33 -21
- package/package.json +9 -9
- package/src/block/block_parameter.ts +4 -2
- package/src/block/checkpointed_l2_block.ts +2 -53
- package/src/block/in_block.ts +2 -2
- package/src/block/index.ts +0 -2
- package/src/block/l2_block_new.ts +14 -7
- package/src/block/l2_block_source.ts +21 -11
- package/src/checkpoint/checkpoint.ts +8 -2
- package/src/interfaces/archiver.ts +9 -8
- package/src/interfaces/aztec-node.ts +39 -57
- package/src/interfaces/block-builder.ts +33 -28
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +22 -10
- package/src/p2p/block_proposal.ts +10 -10
- package/src/p2p/checkpoint_proposal.ts +4 -4
- package/src/p2p/consensus_payload.ts +0 -5
- package/src/tests/factories.ts +2 -25
- package/src/tests/jest.ts +9 -9
- package/src/tests/mocks.ts +35 -28
- package/dest/block/l2_block.d.ts +0 -150
- package/dest/block/l2_block.d.ts.map +0 -1
- package/dest/block/l2_block.js +0 -201
- package/dest/block/l2_block_code_to_purge.d.ts +0 -11
- package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
- package/dest/block/l2_block_code_to_purge.js +0 -55
- package/dest/block/l2_block_header.d.ts +0 -106
- package/dest/block/l2_block_header.d.ts.map +0 -1
- package/dest/block/l2_block_header.js +0 -167
- package/src/block/l2_block.ts +0 -274
- package/src/block/l2_block_code_to_purge.ts +0 -81
- package/src/block/l2_block_header.ts +0 -268
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { compact } from '@aztec/foundation/collection';
|
|
3
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
-
import type { FieldsOf } from '@aztec/foundation/types';
|
|
6
|
-
|
|
7
|
-
import { AztecAddress } from '../aztec-address/index.js';
|
|
8
|
-
import { GasFees } from '../gas/gas_fees.js';
|
|
9
|
-
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
10
|
-
import { GlobalVariables } from '../tx/global_variables.js';
|
|
11
|
-
import { PartialStateReference } from '../tx/partial_state_reference.js';
|
|
12
|
-
import { StateReference } from '../tx/state_reference.js';
|
|
13
|
-
import { L2BlockHeader } from './l2_block_header.js';
|
|
14
|
-
|
|
15
|
-
export function makeL2BlockHeader(
|
|
16
|
-
seed = 0,
|
|
17
|
-
blockNumber?: number,
|
|
18
|
-
slotNumber?: number,
|
|
19
|
-
overrides: Partial<FieldsOf<L2BlockHeader>> = {},
|
|
20
|
-
) {
|
|
21
|
-
return new L2BlockHeader(
|
|
22
|
-
makeAppendOnlyTreeSnapshot(seed + 0x100),
|
|
23
|
-
overrides.blobsHash ?? new Fr(seed + 0x200),
|
|
24
|
-
overrides.inHash ?? new Fr(seed + 0x300),
|
|
25
|
-
overrides.epochOutHash ?? new Fr(seed + 0x400),
|
|
26
|
-
overrides.state ?? makeStateReference(seed + 0x600),
|
|
27
|
-
makeGlobalVariables((seed += 0x700), {
|
|
28
|
-
...(blockNumber ? { blockNumber: BlockNumber(blockNumber) } : {}),
|
|
29
|
-
...(slotNumber ? { slotNumber: SlotNumber(slotNumber) } : {}),
|
|
30
|
-
}),
|
|
31
|
-
new Fr(seed + 0x300),
|
|
32
|
-
new Fr(seed + 0x800),
|
|
33
|
-
new Fr(seed + 0x900),
|
|
34
|
-
new Fr(seed + 0xa00),
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Makes arbitrary append only tree snapshot.
|
|
40
|
-
* @param seed - The seed to use for generating the append only tree snapshot.
|
|
41
|
-
* @returns An append only tree snapshot.
|
|
42
|
-
*/
|
|
43
|
-
export function makeAppendOnlyTreeSnapshot(seed = 1): AppendOnlyTreeSnapshot {
|
|
44
|
-
return new AppendOnlyTreeSnapshot(new Fr(seed), seed);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Makes arbitrary state reference.
|
|
49
|
-
* @param seed - The seed to use for generating the state reference.
|
|
50
|
-
* @returns A state reference.
|
|
51
|
-
*/
|
|
52
|
-
function makeStateReference(seed = 0): StateReference {
|
|
53
|
-
return new StateReference(makeAppendOnlyTreeSnapshot(seed), makePartialStateReference(seed + 1));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Makes arbitrary partial state reference.
|
|
58
|
-
* @param seed - The seed to use for generating the partial state reference.
|
|
59
|
-
* @returns A partial state reference.
|
|
60
|
-
*/
|
|
61
|
-
function makePartialStateReference(seed = 0): PartialStateReference {
|
|
62
|
-
return new PartialStateReference(
|
|
63
|
-
makeAppendOnlyTreeSnapshot(seed),
|
|
64
|
-
makeAppendOnlyTreeSnapshot(seed + 1),
|
|
65
|
-
makeAppendOnlyTreeSnapshot(seed + 2),
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function makeGlobalVariables(seed = 1, overrides: Partial<FieldsOf<GlobalVariables>> = {}): GlobalVariables {
|
|
70
|
-
return GlobalVariables.from({
|
|
71
|
-
chainId: new Fr(seed),
|
|
72
|
-
version: new Fr(seed + 1),
|
|
73
|
-
blockNumber: BlockNumber(seed + 2),
|
|
74
|
-
slotNumber: SlotNumber(seed + 3),
|
|
75
|
-
timestamp: BigInt(seed + 4),
|
|
76
|
-
coinbase: EthAddress.fromField(new Fr(seed + 5)),
|
|
77
|
-
feeRecipient: AztecAddress.fromField(new Fr(seed + 6)),
|
|
78
|
-
gasFees: new GasFees(seed + 7, seed + 8),
|
|
79
|
-
...compact(overrides),
|
|
80
|
-
});
|
|
81
|
-
}
|
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { type ZodFor, schemas } from '@aztec/foundation/schemas';
|
|
4
|
-
import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
5
|
-
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
|
-
import type { FieldsOf } from '@aztec/foundation/types';
|
|
7
|
-
|
|
8
|
-
import { inspect } from 'util';
|
|
9
|
-
import { z } from 'zod';
|
|
10
|
-
|
|
11
|
-
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
12
|
-
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
13
|
-
import { BlockHeader, GlobalVariables, StateReference } from '../tx/index.js';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* TO BE DELETED
|
|
17
|
-
*
|
|
18
|
-
* A header of an L2 block combining the block header and the checkpoint header.
|
|
19
|
-
* This is a temporary workaround to avoid changing too many things before building in chunks is properly implemented.
|
|
20
|
-
* This works for now because we only have one block per checkpoint.
|
|
21
|
-
*
|
|
22
|
-
* @deprecated Use BlockHeader or CheckpointHeader instead.
|
|
23
|
-
*/
|
|
24
|
-
export class L2BlockHeader {
|
|
25
|
-
constructor(
|
|
26
|
-
/** Snapshot of archive before the block is applied. */
|
|
27
|
-
public lastArchive: AppendOnlyTreeSnapshot,
|
|
28
|
-
public blobsHash: Fr,
|
|
29
|
-
public inHash: Fr,
|
|
30
|
-
/** Root of the epoch out hash tree. Leaves are the out hashes of this block and all previous blocks in the epoch. */
|
|
31
|
-
public epochOutHash: Fr,
|
|
32
|
-
/** State reference. */
|
|
33
|
-
public state: StateReference,
|
|
34
|
-
/** Global variables of an L2 block. */
|
|
35
|
-
public globalVariables: GlobalVariables,
|
|
36
|
-
/** Total fees in the block, computed by the root rollup circuit */
|
|
37
|
-
public totalFees: Fr,
|
|
38
|
-
/** Total mana used in the block, computed by the root rollup circuit */
|
|
39
|
-
public totalManaUsed: Fr,
|
|
40
|
-
/** Hash of the sponge blob of the block. */
|
|
41
|
-
public spongeBlobHash: Fr,
|
|
42
|
-
/** Hash of the block headers in the checkpoint. */
|
|
43
|
-
public blockHeadersHash: Fr,
|
|
44
|
-
) {}
|
|
45
|
-
|
|
46
|
-
static get schema(): ZodFor<L2BlockHeader> {
|
|
47
|
-
return z
|
|
48
|
-
.object({
|
|
49
|
-
lastArchive: AppendOnlyTreeSnapshot.schema,
|
|
50
|
-
blobsHash: schemas.Fr,
|
|
51
|
-
inHash: schemas.Fr,
|
|
52
|
-
epochOutHash: schemas.Fr,
|
|
53
|
-
state: StateReference.schema,
|
|
54
|
-
globalVariables: GlobalVariables.schema,
|
|
55
|
-
totalFees: schemas.Fr,
|
|
56
|
-
totalManaUsed: schemas.Fr,
|
|
57
|
-
spongeBlobHash: schemas.Fr,
|
|
58
|
-
blockHeadersHash: schemas.Fr,
|
|
59
|
-
})
|
|
60
|
-
.transform(L2BlockHeader.from);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static getFields(fields: FieldsOf<L2BlockHeader>) {
|
|
64
|
-
return [
|
|
65
|
-
fields.lastArchive,
|
|
66
|
-
fields.blobsHash,
|
|
67
|
-
fields.inHash,
|
|
68
|
-
fields.epochOutHash,
|
|
69
|
-
fields.state,
|
|
70
|
-
fields.globalVariables,
|
|
71
|
-
fields.totalFees,
|
|
72
|
-
fields.totalManaUsed,
|
|
73
|
-
fields.spongeBlobHash,
|
|
74
|
-
fields.blockHeadersHash,
|
|
75
|
-
] as const;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
static from(fields: FieldsOf<L2BlockHeader>) {
|
|
79
|
-
return new L2BlockHeader(...L2BlockHeader.getFields(fields));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
getSlot(): SlotNumber {
|
|
83
|
-
return this.globalVariables.slotNumber;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
getBlockNumber() {
|
|
87
|
-
return this.globalVariables.blockNumber;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
getSize() {
|
|
91
|
-
return (
|
|
92
|
-
this.lastArchive.getSize() +
|
|
93
|
-
this.blobsHash.size +
|
|
94
|
-
this.inHash.size +
|
|
95
|
-
this.epochOutHash.size +
|
|
96
|
-
this.state.getSize() +
|
|
97
|
-
this.globalVariables.getSize() +
|
|
98
|
-
this.totalFees.size +
|
|
99
|
-
this.totalManaUsed.size +
|
|
100
|
-
this.spongeBlobHash.size +
|
|
101
|
-
this.blockHeadersHash.size
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
toBuffer() {
|
|
106
|
-
return serializeToBuffer(...L2BlockHeader.getFields(this));
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
toFields(): Fr[] {
|
|
110
|
-
return serializeToFields(...L2BlockHeader.getFields(this));
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
clone() {
|
|
114
|
-
return L2BlockHeader.fromBuffer(this.toBuffer());
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
118
|
-
const reader = BufferReader.asReader(buffer);
|
|
119
|
-
|
|
120
|
-
return new L2BlockHeader(
|
|
121
|
-
reader.readObject(AppendOnlyTreeSnapshot),
|
|
122
|
-
reader.readObject(Fr),
|
|
123
|
-
reader.readObject(Fr),
|
|
124
|
-
reader.readObject(Fr),
|
|
125
|
-
reader.readObject(StateReference),
|
|
126
|
-
reader.readObject(GlobalVariables),
|
|
127
|
-
reader.readObject(Fr),
|
|
128
|
-
reader.readObject(Fr),
|
|
129
|
-
reader.readObject(Fr),
|
|
130
|
-
reader.readObject(Fr),
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
static fromFields(fields: Fr[] | FieldReader) {
|
|
135
|
-
const reader = FieldReader.asReader(fields);
|
|
136
|
-
|
|
137
|
-
return new L2BlockHeader(
|
|
138
|
-
AppendOnlyTreeSnapshot.fromFields(reader),
|
|
139
|
-
reader.readField(),
|
|
140
|
-
reader.readField(),
|
|
141
|
-
reader.readField(),
|
|
142
|
-
StateReference.fromFields(reader),
|
|
143
|
-
GlobalVariables.fromFields(reader),
|
|
144
|
-
reader.readField(),
|
|
145
|
-
reader.readField(),
|
|
146
|
-
reader.readField(),
|
|
147
|
-
reader.readField(),
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
static empty(fields: Partial<FieldsOf<L2BlockHeader>> = {}) {
|
|
152
|
-
return L2BlockHeader.from({
|
|
153
|
-
lastArchive: AppendOnlyTreeSnapshot.empty(),
|
|
154
|
-
blobsHash: Fr.ZERO,
|
|
155
|
-
inHash: Fr.ZERO,
|
|
156
|
-
epochOutHash: Fr.ZERO,
|
|
157
|
-
state: StateReference.empty(),
|
|
158
|
-
globalVariables: GlobalVariables.empty(),
|
|
159
|
-
totalFees: Fr.ZERO,
|
|
160
|
-
totalManaUsed: Fr.ZERO,
|
|
161
|
-
spongeBlobHash: Fr.ZERO,
|
|
162
|
-
blockHeadersHash: Fr.ZERO,
|
|
163
|
-
...fields,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
isEmpty(): boolean {
|
|
168
|
-
return (
|
|
169
|
-
this.lastArchive.isEmpty() &&
|
|
170
|
-
this.blobsHash.isZero() &&
|
|
171
|
-
this.inHash.isZero() &&
|
|
172
|
-
this.epochOutHash.isZero() &&
|
|
173
|
-
this.state.isEmpty() &&
|
|
174
|
-
this.globalVariables.isEmpty() &&
|
|
175
|
-
this.totalFees.isZero() &&
|
|
176
|
-
this.totalManaUsed.isZero() &&
|
|
177
|
-
this.spongeBlobHash.isZero() &&
|
|
178
|
-
this.blockHeadersHash.isZero()
|
|
179
|
-
);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Serializes this instance into a string.
|
|
184
|
-
* @returns Encoded string.
|
|
185
|
-
*/
|
|
186
|
-
public toString() {
|
|
187
|
-
return bufferToHex(this.toBuffer());
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
static fromString(str: string) {
|
|
191
|
-
return L2BlockHeader.fromBuffer(hexToBuffer(str));
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
toCheckpointHeader() {
|
|
195
|
-
return new CheckpointHeader(
|
|
196
|
-
this.lastArchive.root,
|
|
197
|
-
this.blockHeadersHash,
|
|
198
|
-
this.blobsHash,
|
|
199
|
-
this.inHash,
|
|
200
|
-
this.epochOutHash,
|
|
201
|
-
this.globalVariables.slotNumber,
|
|
202
|
-
this.globalVariables.timestamp,
|
|
203
|
-
this.globalVariables.coinbase,
|
|
204
|
-
this.globalVariables.feeRecipient,
|
|
205
|
-
this.globalVariables.gasFees,
|
|
206
|
-
this.totalManaUsed,
|
|
207
|
-
);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
toBlockHeader() {
|
|
211
|
-
return new BlockHeader(
|
|
212
|
-
this.lastArchive,
|
|
213
|
-
this.state,
|
|
214
|
-
this.spongeBlobHash,
|
|
215
|
-
this.globalVariables,
|
|
216
|
-
this.totalFees,
|
|
217
|
-
this.totalManaUsed,
|
|
218
|
-
);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
toInspect() {
|
|
222
|
-
return {
|
|
223
|
-
lastArchive: this.lastArchive.root.toString(),
|
|
224
|
-
blobsHash: this.blobsHash.toString(),
|
|
225
|
-
inHash: this.inHash.toString(),
|
|
226
|
-
epochOutHash: this.epochOutHash.toString(),
|
|
227
|
-
state: this.state.toInspect(),
|
|
228
|
-
globalVariables: this.globalVariables.toInspect(),
|
|
229
|
-
totalFees: this.totalFees.toBigInt(),
|
|
230
|
-
totalManaUsed: this.totalManaUsed.toBigInt(),
|
|
231
|
-
spongeBlobHash: this.spongeBlobHash.toString(),
|
|
232
|
-
blockHeadersHash: this.blockHeadersHash.toString(),
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
[inspect.custom]() {
|
|
237
|
-
return `L2BlockHeader {
|
|
238
|
-
lastArchive: ${inspect(this.lastArchive)},
|
|
239
|
-
blobsHash: ${inspect(this.blobsHash)},
|
|
240
|
-
inHash: ${inspect(this.inHash)},
|
|
241
|
-
epochOutHash: ${inspect(this.epochOutHash)},
|
|
242
|
-
state.l1ToL2MessageTree: ${inspect(this.state.l1ToL2MessageTree)},
|
|
243
|
-
state.noteHashTree: ${inspect(this.state.partial.noteHashTree)},
|
|
244
|
-
state.nullifierTree: ${inspect(this.state.partial.nullifierTree)},
|
|
245
|
-
state.publicDataTree: ${inspect(this.state.partial.publicDataTree)},
|
|
246
|
-
globalVariables: ${inspect(this.globalVariables)},
|
|
247
|
-
totalFees: ${this.totalFees},
|
|
248
|
-
totalManaUsed: ${this.totalManaUsed},
|
|
249
|
-
spongeBlobHash: ${this.spongeBlobHash},
|
|
250
|
-
blockHeadersHash: ${this.blockHeadersHash},
|
|
251
|
-
}`;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
public equals(other: this): boolean {
|
|
255
|
-
return (
|
|
256
|
-
this.lastArchive.equals(other.lastArchive) &&
|
|
257
|
-
this.blobsHash.equals(other.blobsHash) &&
|
|
258
|
-
this.inHash.equals(other.inHash) &&
|
|
259
|
-
this.epochOutHash.equals(other.epochOutHash) &&
|
|
260
|
-
this.state.equals(other.state) &&
|
|
261
|
-
this.globalVariables.equals(other.globalVariables) &&
|
|
262
|
-
this.totalFees.equals(other.totalFees) &&
|
|
263
|
-
this.totalManaUsed.equals(other.totalManaUsed) &&
|
|
264
|
-
this.spongeBlobHash.equals(other.spongeBlobHash) &&
|
|
265
|
-
this.blockHeadersHash.equals(other.blockHeadersHash)
|
|
266
|
-
);
|
|
267
|
-
}
|
|
268
|
-
}
|