@aztec/stdlib 0.86.0-nightly.20250508 → 0.86.0-nightly.20250509
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_accumulated_data.d.ts +3 -0
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +18 -2
- package/dest/avm/avm_circuit_public_inputs.d.ts +1 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +26 -1
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +7 -1
- package/dest/avm/public_data_write.d.ts +1 -0
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +9 -1
- package/dest/interfaces/aztec-node-admin.d.ts +10 -0
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +4 -1
- package/dest/interfaces/aztec-node.d.ts +1 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +6 -2
- package/dest/interfaces/world_state.d.ts +2 -0
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +1 -0
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +7 -0
- package/dest/p2p/block_proposal.d.ts +7 -2
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +24 -8
- package/dest/tests/mocks.d.ts +1 -0
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +1 -1
- package/package.json +7 -7
- package/src/avm/avm_accumulated_data.ts +30 -2
- package/src/avm/avm_circuit_public_inputs.ts +26 -0
- package/src/avm/message_pack.ts +7 -1
- package/src/avm/public_data_write.ts +12 -1
- package/src/interfaces/aztec-node-admin.ts +16 -0
- package/src/interfaces/aztec-node.ts +2 -2
- package/src/interfaces/world_state.ts +3 -0
- package/src/kernel/private_to_avm_accumulated_data.ts +4 -0
- package/src/p2p/block_proposal.ts +31 -4
- package/src/tests/mocks.ts +2 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
3
|
/// <reference types="node" resolution-mode="require"/>
|
|
4
4
|
import { MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
|
|
5
|
+
import { type FieldsOf } from '@aztec/foundation/array';
|
|
5
6
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
7
|
import { BufferReader, FieldReader, type Tuple } from '@aztec/foundation/serialize';
|
|
7
8
|
import { inspect } from 'util';
|
|
@@ -147,7 +148,9 @@ export declare class AvmAccumulatedData {
|
|
|
147
148
|
getSize(): number;
|
|
148
149
|
static fromBuffer(buffer: Buffer | BufferReader): AvmAccumulatedData;
|
|
149
150
|
toBuffer(): Buffer;
|
|
151
|
+
static getFields(fields: FieldsOf<AvmAccumulatedData>): readonly [[Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [ScopedL2ToL1Message, ScopedL2ToL1Message, ScopedL2ToL1Message, ScopedL2ToL1Message, ScopedL2ToL1Message, ScopedL2ToL1Message, ScopedL2ToL1Message, ScopedL2ToL1Message], [PublicLog, PublicLog, PublicLog, PublicLog, PublicLog, PublicLog, PublicLog, PublicLog], [PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite, PublicDataWrite]];
|
|
150
152
|
static fromFields(fields: Fr[] | FieldReader): AvmAccumulatedData;
|
|
153
|
+
toFields(): Fr[];
|
|
151
154
|
static fromString(str: string): AvmAccumulatedData;
|
|
152
155
|
toString(): `0x${string}`;
|
|
153
156
|
static empty(): AvmAccumulatedData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_accumulated_data.d.ts","sourceRoot":"","sources":["../../src/avm/avm_accumulated_data.ts"],"names":[],"mappings":";;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"avm_accumulated_data.d.ts","sourceRoot":"","sources":["../../src/avm/avm_accumulated_data.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAEL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,4CAA4C,EAC7C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAIX,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,qBAAa,kBAAkB;IAE3B;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,sBAAsB,CAAC;IAC3D;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC;IAC1D;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IAC9E;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,sBAAsB,CAAC;IAClE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,OAAO,4CAA4C,CAAC;;IAnBpG;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,sBAAsB,CAAC;IAC3D;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC;IAC1D;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IAC9E;;OAEG;IACI,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,sBAAsB,CAAC;IAClE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,OAAO,4CAA4C,CAAC;IAGtG,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsBhB;IAED,OAAO;IAUP,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAW/C,QAAQ;IAIR,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAUrD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAW5C,QAAQ,IAAI,EAAE,EAAE;IAUhB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,MAAM,CAAC,KAAK;IAUZ,OAAO,IAAI,OAAO;IAUlB,CAAC,OAAO,CAAC,MAAM,CAAC;CAyBjB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
|
|
1
|
+
import { AVM_ACCUMULATED_DATA_LENGTH, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
|
|
2
2
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
3
|
import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { schemas } from '@aztec/foundation/schemas';
|
|
6
|
-
import { BufferReader, FieldReader, assertLength, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { BufferReader, FieldReader, assertLength, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
7
7
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
8
8
|
import { inspect } from 'util';
|
|
9
9
|
import { z } from 'zod';
|
|
@@ -52,10 +52,26 @@ export class AvmAccumulatedData {
|
|
|
52
52
|
toBuffer() {
|
|
53
53
|
return serializeToBuffer(this.noteHashes, this.nullifiers, this.l2ToL1Msgs, this.publicLogs, this.publicDataWrites);
|
|
54
54
|
}
|
|
55
|
+
static getFields(fields) {
|
|
56
|
+
return [
|
|
57
|
+
fields.noteHashes,
|
|
58
|
+
fields.nullifiers,
|
|
59
|
+
fields.l2ToL1Msgs,
|
|
60
|
+
fields.publicLogs,
|
|
61
|
+
fields.publicDataWrites
|
|
62
|
+
];
|
|
63
|
+
}
|
|
55
64
|
static fromFields(fields) {
|
|
56
65
|
const reader = FieldReader.asReader(fields);
|
|
57
66
|
return new this(reader.readFieldArray(MAX_NOTE_HASHES_PER_TX), reader.readFieldArray(MAX_NULLIFIERS_PER_TX), reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message), reader.readArray(MAX_PUBLIC_LOGS_PER_TX, PublicLog), reader.readArray(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite));
|
|
58
67
|
}
|
|
68
|
+
toFields() {
|
|
69
|
+
const fields = serializeToFields(...AvmAccumulatedData.getFields(this));
|
|
70
|
+
if (fields.length !== AVM_ACCUMULATED_DATA_LENGTH) {
|
|
71
|
+
throw new Error(`Invalid number of fields for AvmAccumulatedData. Expected ${AVM_ACCUMULATED_DATA_LENGTH}, got ${fields.length}`);
|
|
72
|
+
}
|
|
73
|
+
return fields;
|
|
74
|
+
}
|
|
59
75
|
static fromString(str) {
|
|
60
76
|
return this.fromBuffer(hexToBuffer(str));
|
|
61
77
|
}
|
|
@@ -1040,6 +1040,7 @@ export declare class AvmCircuitPublicInputs {
|
|
|
1040
1040
|
static fromString(str: string): AvmCircuitPublicInputs;
|
|
1041
1041
|
toString(): `0x${string}`;
|
|
1042
1042
|
static fromFields(fields: Fr[] | FieldReader): AvmCircuitPublicInputs;
|
|
1043
|
+
toFields(): (number | boolean | AztecAddress | Fr | Fr[])[];
|
|
1043
1044
|
static empty(): AvmCircuitPublicInputs;
|
|
1044
1045
|
serializeWithMessagePack(): Buffer;
|
|
1045
1046
|
[inspect.custom](): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/avm/avm_circuit_public_inputs.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,KAAK,EAAmC,MAAM,6BAA6B,CAAC;AAGrH,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACxC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAK/D,qBAAa,sBAAsB;
|
|
1
|
+
{"version":3,"file":"avm_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/avm/avm_circuit_public_inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,11 @@ export class AvmCircuitPublicInputs {
|
|
|
34
34
|
accumulatedData;
|
|
35
35
|
transactionFee;
|
|
36
36
|
reverted;
|
|
37
|
-
constructor(
|
|
37
|
+
constructor(///////////////////////////////////
|
|
38
|
+
// Inputs.
|
|
39
|
+
globalVariables, startTreeSnapshots, startGasUsed, gasSettings, feePayer, publicSetupCallRequests, publicAppLogicCallRequests, publicTeardownCallRequest, previousNonRevertibleAccumulatedDataArrayLengths, previousRevertibleAccumulatedDataArrayLengths, previousNonRevertibleAccumulatedData, previousRevertibleAccumulatedData, ///////////////////////////////////
|
|
40
|
+
// Outputs.
|
|
41
|
+
endTreeSnapshots, endGasUsed, accumulatedData, transactionFee, reverted){
|
|
38
42
|
this.globalVariables = globalVariables;
|
|
39
43
|
this.startTreeSnapshots = startTreeSnapshots;
|
|
40
44
|
this.startGasUsed = startGasUsed;
|
|
@@ -91,6 +95,27 @@ export class AvmCircuitPublicInputs {
|
|
|
91
95
|
const reader = FieldReader.asReader(fields);
|
|
92
96
|
return new AvmCircuitPublicInputs(GlobalVariables.fromFields(reader), TreeSnapshots.fromFields(reader), Gas.fromFields(reader), GasSettings.fromFields(reader), AztecAddress.fromFields(reader), reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest), reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest), PublicCallRequest.fromFields(reader), PrivateToAvmAccumulatedDataArrayLengths.fromFields(reader), PrivateToAvmAccumulatedDataArrayLengths.fromFields(reader), PrivateToAvmAccumulatedData.fromFields(reader), PrivateToAvmAccumulatedData.fromFields(reader), TreeSnapshots.fromFields(reader), Gas.fromFields(reader), AvmAccumulatedData.fromFields(reader), reader.readField(), reader.readBoolean());
|
|
93
97
|
}
|
|
98
|
+
toFields() {
|
|
99
|
+
return [
|
|
100
|
+
...this.globalVariables.toFields(),
|
|
101
|
+
...this.startTreeSnapshots.toFields(),
|
|
102
|
+
...this.startGasUsed.toFields(),
|
|
103
|
+
...this.gasSettings.toFields(),
|
|
104
|
+
this.feePayer,
|
|
105
|
+
...this.publicSetupCallRequests.map((request)=>request.toFields()),
|
|
106
|
+
...this.publicAppLogicCallRequests.map((request)=>request.toFields()),
|
|
107
|
+
...this.publicTeardownCallRequest.toFields(),
|
|
108
|
+
...this.previousNonRevertibleAccumulatedDataArrayLengths.toFields(),
|
|
109
|
+
...this.previousRevertibleAccumulatedDataArrayLengths.toFields(),
|
|
110
|
+
...this.previousNonRevertibleAccumulatedData.toFields(),
|
|
111
|
+
...this.previousRevertibleAccumulatedData.toFields(),
|
|
112
|
+
...this.endTreeSnapshots.toFields(),
|
|
113
|
+
...this.endGasUsed.toFields(),
|
|
114
|
+
...this.accumulatedData.toFields(),
|
|
115
|
+
this.transactionFee,
|
|
116
|
+
this.reverted
|
|
117
|
+
];
|
|
118
|
+
}
|
|
94
119
|
static empty() {
|
|
95
120
|
return new AvmCircuitPublicInputs(GlobalVariables.empty(), TreeSnapshots.empty(), Gas.empty(), GasSettings.empty(), AztecAddress.zero(), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty), PublicCallRequest.empty(), PrivateToAvmAccumulatedDataArrayLengths.empty(), PrivateToAvmAccumulatedDataArrayLengths.empty(), PrivateToAvmAccumulatedData.empty(), PrivateToAvmAccumulatedData.empty(), TreeSnapshots.empty(), Gas.empty(), AvmAccumulatedData.empty(), Fr.zero(), false);
|
|
96
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_pack.d.ts","sourceRoot":"","sources":["../../src/avm/message_pack.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"message_pack.d.ts","sourceRoot":"","sources":["../../src/avm/message_pack.ts"],"names":[],"mappings":";;AAQA,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CASzD"}
|
package/dest/avm/message_pack.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
1
2
|
import { Fq, Fr, Point } from '@aztec/foundation/fields';
|
|
2
3
|
import { strict as assert } from 'assert';
|
|
3
4
|
import { Encoder, addExtension } from 'msgpackr';
|
|
@@ -26,7 +27,7 @@ function setUpMessagePackExtensions() {
|
|
|
26
27
|
Class: Fq,
|
|
27
28
|
write: (fq)=>fq.toBuffer()
|
|
28
29
|
});
|
|
29
|
-
// AztecAddress is a class that has a field in TS, but
|
|
30
|
+
// AztecAddress is a class that has a field in TS, but is itself a field in C++.
|
|
30
31
|
addExtension({
|
|
31
32
|
Class: AztecAddress,
|
|
32
33
|
write: (addr)=>addr.toField()
|
|
@@ -43,5 +44,10 @@ function setUpMessagePackExtensions() {
|
|
|
43
44
|
};
|
|
44
45
|
}
|
|
45
46
|
});
|
|
47
|
+
// EthAddress is a class that has a buffer in TS, but is itself just a field in C++.
|
|
48
|
+
addExtension({
|
|
49
|
+
Class: EthAddress,
|
|
50
|
+
write: (addr)=>addr.toField().toBuffer()
|
|
51
|
+
});
|
|
46
52
|
messagePackWasSetUp = true;
|
|
47
53
|
}
|
|
@@ -42,6 +42,7 @@ export declare class PublicDataWrite {
|
|
|
42
42
|
static from(fields: FieldsOf<PublicDataWrite>): PublicDataWrite;
|
|
43
43
|
static getFields(fields: FieldsOf<PublicDataWrite>): readonly [Fr, Fr];
|
|
44
44
|
static fromFields(fields: Fr[] | FieldReader): PublicDataWrite;
|
|
45
|
+
toFields(): Fr[];
|
|
45
46
|
static fromBuffer(buffer: Buffer | BufferReader): PublicDataWrite;
|
|
46
47
|
toBuffer(): Buffer;
|
|
47
48
|
static fromString(str: string): PublicDataWrite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_data_write.d.ts","sourceRoot":"","sources":["../../src/avm/public_data_write.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"public_data_write.d.ts","sourceRoot":"","sources":["../../src/avm/public_data_write.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,qBAAa,eAAe;IAIxB;;OAEG;aACa,QAAQ,EAAE,EAAE;IAC5B;;OAEG;aACa,KAAK,EAAE,EAAE;IAV3B,MAAM,CAAC,aAAa,SAAwB;;IAG1C;;OAEG;IACa,QAAQ,EAAE,EAAE;IAC5B;;OAEG;IACa,KAAK,EAAE,EAAE;IAG3B,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI7C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;IAIlD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,eAAe;IAK9D,QAAQ,IAAI,EAAE,EAAE;IAUhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,MAAM;IAIb,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO;IAI9C,OAAO;IAIP,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;CAGxC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { PUBLIC_DATA_WRITE_LENGTH } from '@aztec/constants';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
3
|
-
import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
|
+
import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
4
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
5
6
|
import { z } from 'zod';
|
|
6
7
|
/**
|
|
@@ -36,6 +37,13 @@ import { z } from 'zod';
|
|
|
36
37
|
const reader = FieldReader.asReader(fields);
|
|
37
38
|
return new PublicDataWrite(reader.readField(), reader.readField());
|
|
38
39
|
}
|
|
40
|
+
toFields() {
|
|
41
|
+
const fields = serializeToFields(...PublicDataWrite.getFields(this));
|
|
42
|
+
if (fields.length !== PUBLIC_DATA_WRITE_LENGTH) {
|
|
43
|
+
throw new Error(`Invalid number of fields for PublicDataWrite. Expected ${PUBLIC_DATA_WRITE_LENGTH}, got ${fields.length}`);
|
|
44
|
+
}
|
|
45
|
+
return fields;
|
|
46
|
+
}
|
|
39
47
|
static fromBuffer(buffer) {
|
|
40
48
|
const reader = BufferReader.asReader(buffer);
|
|
41
49
|
return new PublicDataWrite(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
@@ -24,6 +24,16 @@ export interface AztecNodeAdmin {
|
|
|
24
24
|
* @param location - The location to upload the snapshot to.
|
|
25
25
|
*/
|
|
26
26
|
startSnapshotUpload(location: string): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Pauses syncing and rolls back the database to the target L2 block number.
|
|
29
|
+
* @param targetBlockNumber - The block number to roll back to.
|
|
30
|
+
* @param force - If true, clears the world state db and p2p dbs if rolling back to behind the finalized block.
|
|
31
|
+
*/
|
|
32
|
+
rollbackTo(targetBlockNumber: number, force?: boolean): Promise<void>;
|
|
33
|
+
/** Pauses archiver and world state syncing. */
|
|
34
|
+
pauseSync(): Promise<void>;
|
|
35
|
+
/** Resumes archiver and world state syncing. */
|
|
36
|
+
resumeSync(): Promise<void>;
|
|
27
37
|
}
|
|
28
38
|
export declare const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin>;
|
|
29
39
|
export declare function createAztecNodeAdminClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof defaultFetch): AztecNodeAdmin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAI1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,GAAG,YAAY,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtG;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAI1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,GAAG,YAAY,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtG;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAOhE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,GACnB,cAAc,CAMhB"}
|
|
@@ -6,7 +6,10 @@ import { ProverConfigSchema } from './prover-client.js';
|
|
|
6
6
|
export const AztecNodeAdminApiSchema = {
|
|
7
7
|
setConfig: z.function().args(SequencerConfigSchema.merge(ProverConfigSchema).partial()).returns(z.void()),
|
|
8
8
|
flushTxs: z.function().returns(z.void()),
|
|
9
|
-
startSnapshotUpload: z.function().args(z.string()).returns(z.void())
|
|
9
|
+
startSnapshotUpload: z.function().args(z.string()).returns(z.void()),
|
|
10
|
+
rollbackTo: z.function().args(z.number()).returns(z.void()),
|
|
11
|
+
pauseSync: z.function().returns(z.void()),
|
|
12
|
+
resumeSync: z.function().returns(z.void())
|
|
10
13
|
};
|
|
11
14
|
export function createAztecNodeAdminClient(url, versions = {}, fetch = defaultFetch) {
|
|
12
15
|
return createSafeJsonRpcClient(url, AztecNodeAdminApiSchema, {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT, NULLIFIER_TREE_HEIGHT, PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { type L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
3
3
|
import type { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { defaultFetch } from '@aztec/foundation/json-rpc/client';
|
|
5
4
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
6
5
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
7
6
|
import { type InBlock } from '../block/in_block.js';
|
|
@@ -315,5 +314,5 @@ export interface AztecNode extends Pick<L2BlockSource, 'getBlocks' | 'getPublish
|
|
|
315
314
|
getEncodedEnr(): Promise<string | undefined>;
|
|
316
315
|
}
|
|
317
316
|
export declare const AztecNodeApiSchema: ApiSchemaFor<AztecNode>;
|
|
318
|
-
export declare function createAztecNodeClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof defaultFetch): AztecNode;
|
|
317
|
+
export declare function createAztecNodeClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof import("@aztec/foundation/json-rpc/client").defaultFetch): AztecNode;
|
|
319
318
|
//# sourceMappingURL=aztec-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec-node.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,uCAAuC,CAAC;AAC5G,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"aztec-node.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT, NULLIFIER_TREE_HEIGHT, PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { L1ContractAddressesSchema } from '@aztec/ethereum/l1-contract-addresses';
|
|
3
|
-
import { createSafeJsonRpcClient,
|
|
3
|
+
import { createSafeJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
|
|
4
4
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { inBlockSchemaFor } from '../block/in_block.js';
|
|
@@ -79,7 +79,11 @@ export const AztecNodeApiSchema = {
|
|
|
79
79
|
getContract: z.function().args(schemas.AztecAddress).returns(ContractInstanceWithAddressSchema.optional()),
|
|
80
80
|
getEncodedEnr: z.function().returns(z.string().optional())
|
|
81
81
|
};
|
|
82
|
-
export function createAztecNodeClient(url, versions = {}, fetch =
|
|
82
|
+
export function createAztecNodeClient(url, versions = {}, fetch = makeFetch([
|
|
83
|
+
1,
|
|
84
|
+
2,
|
|
85
|
+
3
|
|
86
|
+
], false)) {
|
|
83
87
|
return createSafeJsonRpcClient(url, AztecNodeApiSchema, {
|
|
84
88
|
namespaceMethods: 'node',
|
|
85
89
|
fetch,
|
|
@@ -61,6 +61,8 @@ export interface WorldStateSynchronizer extends ForkMerkleTreeOperations {
|
|
|
61
61
|
syncImmediate(minBlockNumber?: number, skipThrowIfTargetNotReached?: boolean): Promise<number>;
|
|
62
62
|
/** Returns an instance of MerkleTreeAdminOperations that will not include uncommitted data. */
|
|
63
63
|
getCommitted(): MerkleTreeReadOperations;
|
|
64
|
+
/** Deletes the db */
|
|
65
|
+
clear(): Promise<void>;
|
|
64
66
|
}
|
|
65
67
|
export declare const WorldStateSyncStatusSchema: z.ZodObject<{
|
|
66
68
|
finalisedBlockNumber: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world_state.d.ts","sourceRoot":"","sources":["../../src/interfaces/world_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAEvG,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;GAEG;AACH,oBAAY,sBAAsB;IAChC,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,KAAK,EAAE,sBAAsB,CAAC;IAC9B;;OAEG;IACH,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED,2EAA2E;AAC3E,MAAM,WAAW,wBAAwB;IACvC,qFAAqF;IACrF,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEzD,uFAAuF;IACvF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAAC;IAE3D,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9G;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IACtE,+BAA+B;IAC/B,KAAK,IAAI,IAAI,CAAC;IAEd,sDAAsD;IACtD,MAAM,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,0EAA0E;IAC1E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,8CAA8C;IAC9C,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/F,+FAA+F;IAC/F,YAAY,IAAI,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"world_state.d.ts","sourceRoot":"","sources":["../../src/interfaces/world_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAEvG,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;GAEG;AACH,oBAAY,sBAAsB;IAChC,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,KAAK,EAAE,sBAAsB,CAAC;IAC9B;;OAEG;IACH,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED,2EAA2E;AAC3E,MAAM,WAAW,wBAAwB;IACvC,qFAAqF;IACrF,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEzD,uFAAuF;IACvF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAAC;IAE3D,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9G;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IACtE,+BAA+B;IAC/B,KAAK,IAAI,IAAI,CAAC;IAEd,sDAAsD;IACtD,MAAM,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,0EAA0E;IAC1E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,8CAA8C;IAC9C,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/F,+FAA+F;IAC/F,YAAY,IAAI,wBAAwB,CAAC;IAEzC,qBAAqB;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAMK,CAAC"}
|
|
@@ -116,6 +116,7 @@ export declare class PrivateToAvmAccumulatedDataArrayLengths {
|
|
|
116
116
|
getSize(): number;
|
|
117
117
|
static getFields(fields: FieldsOf<PrivateToAvmAccumulatedDataArrayLengths>): readonly [number, number, number];
|
|
118
118
|
static fromFields(fields: Fr[] | FieldReader): PrivateToAvmAccumulatedDataArrayLengths;
|
|
119
|
+
toFields(): number[];
|
|
119
120
|
static from(fields: FieldsOf<PrivateToAvmAccumulatedDataArrayLengths>): PrivateToAvmAccumulatedDataArrayLengths;
|
|
120
121
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateToAvmAccumulatedDataArrayLengths;
|
|
121
122
|
toBuffer(): Buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_to_avm_accumulated_data.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_avm_accumulated_data.ts"],"names":[],"mappings":";;;AAAA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAIX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,2BAA2B;IAE7B,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,sBAAsB,CAAC;IACpD,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC;IACnD,UAAU,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;gBAFvE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,sBAAsB,CAAC,EACpD,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC,EACnD,UAAU,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IAGhF,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAehB;IAED,OAAO;IAQP,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,2BAA2B,CAAC;IAI9D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAS5C,QAAQ,IAAI,EAAE,EAAE;IAUhB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,2BAA2B,CAAC;IAIzD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,MAAM,CAAC,KAAK;IAQZ,CAAC,OAAO,CAAC,MAAM,CAAC;CAgBjB;AAED,qBAAa,uCAAuC;IAC/B,UAAU,EAAE,MAAM;IAAS,UAAU,EAAE,MAAM;IAAS,UAAU,EAAE,MAAM;gBAAxE,UAAU,EAAE,MAAM,EAAS,UAAU,EAAE,MAAM,EAAS,UAAU,EAAE,MAAM;IAE3F,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAWhB;IAED,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,uCAAuC,CAAC;IAI1E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,uCAAuC,CAAC;IAIrE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,CAAC,OAAO,CAAC,MAAM,CAAC;CAOjB"}
|
|
1
|
+
{"version":3,"file":"private_to_avm_accumulated_data.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_avm_accumulated_data.ts"],"names":[],"mappings":";;;AAAA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAIX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,2BAA2B;IAE7B,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,sBAAsB,CAAC;IACpD,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC;IACnD,UAAU,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;gBAFvE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,sBAAsB,CAAC,EACpD,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC,EACnD,UAAU,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IAGhF,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAehB;IAED,OAAO;IAQP,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,2BAA2B,CAAC;IAI9D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAS5C,QAAQ,IAAI,EAAE,EAAE;IAUhB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,2BAA2B,CAAC;IAIzD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,MAAM,CAAC,KAAK;IAQZ,CAAC,OAAO,CAAC,MAAM,CAAC;CAgBjB;AAED,qBAAa,uCAAuC;IAC/B,UAAU,EAAE,MAAM;IAAS,UAAU,EAAE,MAAM;IAAS,UAAU,EAAE,MAAM;gBAAxE,UAAU,EAAE,MAAM,EAAS,UAAU,EAAE,MAAM,EAAS,UAAU,EAAE,MAAM;IAE3F,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAWhB;IAED,OAAO;IAIP,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,uCAAuC,CAAC;IAI1E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C,QAAQ;IAIR,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,uCAAuC,CAAC;IAIrE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,CAAC,OAAO,CAAC,MAAM,CAAC;CAOjB"}
|
|
@@ -95,6 +95,13 @@ export class PrivateToAvmAccumulatedDataArrayLengths {
|
|
|
95
95
|
const reader = FieldReader.asReader(fields);
|
|
96
96
|
return new this(reader.readU32(), reader.readU32(), reader.readU32());
|
|
97
97
|
}
|
|
98
|
+
toFields() {
|
|
99
|
+
return [
|
|
100
|
+
this.noteHashes,
|
|
101
|
+
this.nullifiers,
|
|
102
|
+
this.l2ToL1Msgs
|
|
103
|
+
];
|
|
104
|
+
}
|
|
98
105
|
static from(fields) {
|
|
99
106
|
return new PrivateToAvmAccumulatedDataArrayLengths(...PrivateToAvmAccumulatedDataArrayLengths.getFields(fields));
|
|
100
107
|
}
|
|
@@ -5,6 +5,7 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
5
5
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
6
6
|
import { Fr } from '@aztec/foundation/fields';
|
|
7
7
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
8
|
+
import { Tx } from '../tx/tx.js';
|
|
8
9
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
9
10
|
import { Gossipable } from './gossipable.js';
|
|
10
11
|
import { TopicType } from './topic_type.js';
|
|
@@ -24,6 +25,8 @@ export declare class BlockProposal extends Gossipable {
|
|
|
24
25
|
readonly payload: ConsensusPayload;
|
|
25
26
|
/** The signer of the BlockProposal over the header of the new block*/
|
|
26
27
|
readonly signature: Signature;
|
|
28
|
+
/** The transactions in the block */
|
|
29
|
+
readonly txs?: Tx[] | undefined;
|
|
27
30
|
static p2pTopic: TopicType;
|
|
28
31
|
private sender;
|
|
29
32
|
constructor(
|
|
@@ -32,11 +35,13 @@ export declare class BlockProposal extends Gossipable {
|
|
|
32
35
|
/** The payload of the message, and what the signature is over */
|
|
33
36
|
payload: ConsensusPayload,
|
|
34
37
|
/** The signer of the BlockProposal over the header of the new block*/
|
|
35
|
-
signature: Signature
|
|
38
|
+
signature: Signature,
|
|
39
|
+
/** The transactions in the block */
|
|
40
|
+
txs?: Tx[] | undefined);
|
|
36
41
|
p2pMessageIdentifier(): Promise<Buffer32>;
|
|
37
42
|
get archive(): Fr;
|
|
38
43
|
get slotNumber(): Fr;
|
|
39
|
-
static createProposalFromSigner(blockNumber: Fr, payload: ConsensusPayload, payloadSigner: (payload: Buffer32) => Promise<Signature>): Promise<BlockProposal>;
|
|
44
|
+
static createProposalFromSigner(blockNumber: Fr, payload: ConsensusPayload, txs: Tx[], payloadSigner: (payload: Buffer32) => Promise<Signature>): Promise<BlockProposal>;
|
|
40
45
|
/**Get Sender
|
|
41
46
|
* Lazily evaluate the sender of the proposal; result is cached
|
|
42
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,IAAI,EAAE,MAAM;CAGzB;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAMzC,8BAA8B;aACd,WAAW,EAAE,EAAE;IAE/B,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,sEAAsE;aACtD,SAAS,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,iBAAkB,SAAQ,QAAQ;gBACjC,IAAI,EAAE,MAAM;CAGzB;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAMzC,8BAA8B;aACd,WAAW,EAAE,EAAE;IAE/B,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,sEAAsE;aACtD,SAAS,EAAE,SAAS;IAGpC,oCAAoC;aACpB,GAAG,CAAC;IAhBtB,OAAgB,QAAQ,YAA4B;IAEpD,OAAO,CAAC,MAAM,CAAyB;;IAGrC,8BAA8B;IACd,WAAW,EAAE,EAAE;IAE/B,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,sEAAsE;IACtD,SAAS,EAAE,SAAS;IAGpC,oCAAoC;IACpB,GAAG,CAAC,kBAAM;IAKnB,oBAAoB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIlD,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,EAAE,CAEnB;WAEY,wBAAwB,CACnC,WAAW,EAAE,EAAE,EACf,OAAO,EAAE,gBAAgB,EAEzB,GAAG,EAAE,EAAE,EAAE,EACT,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC;IAQ1D;;OAEG;IACH,SAAS;IAUT,UAAU;IAIV,QAAQ,IAAI,MAAM;IASlB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa;IAe5D,OAAO,IAAI,MAAM;CAQlB"}
|
|
@@ -3,6 +3,7 @@ import { keccak256, recoverAddress } from '@aztec/foundation/crypto';
|
|
|
3
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { Tx } from '../tx/tx.js';
|
|
6
7
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
7
8
|
import { Gossipable } from './gossipable.js';
|
|
8
9
|
import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
|
|
@@ -21,10 +22,12 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
21
22
|
blockNumber;
|
|
22
23
|
payload;
|
|
23
24
|
signature;
|
|
25
|
+
txs;
|
|
24
26
|
static p2pTopic = TopicType.block_proposal;
|
|
25
27
|
sender;
|
|
26
|
-
constructor(/** The number of the block */ blockNumber, /** The payload of the message, and what the signature is over */ payload, /** The signer of the BlockProposal over the header of the new block*/ signature)
|
|
27
|
-
|
|
28
|
+
constructor(/** The number of the block */ blockNumber, /** The payload of the message, and what the signature is over */ payload, /** The signer of the BlockProposal over the header of the new block*/ signature, // Note(md): this is placed after the txs payload in order to be backwards compatible with previous versions
|
|
29
|
+
/** The transactions in the block */ txs){
|
|
30
|
+
super(), this.blockNumber = blockNumber, this.payload = payload, this.signature = signature, this.txs = txs;
|
|
28
31
|
}
|
|
29
32
|
p2pMessageIdentifier() {
|
|
30
33
|
return Promise.resolve(new BlockProposalHash(keccak256(this.signature.toBuffer())));
|
|
@@ -35,10 +38,11 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
35
38
|
get slotNumber() {
|
|
36
39
|
return this.payload.header.slotNumber;
|
|
37
40
|
}
|
|
38
|
-
static async createProposalFromSigner(blockNumber, payload,
|
|
41
|
+
static async createProposalFromSigner(blockNumber, payload, // Note(md): Provided seperately to tx hashes such that this function can be optional
|
|
42
|
+
txs, payloadSigner) {
|
|
39
43
|
const hashed = getHashedSignaturePayload(payload, SignatureDomainSeparator.blockProposal);
|
|
40
44
|
const sig = await payloadSigner(hashed);
|
|
41
|
-
return new BlockProposal(blockNumber, payload, sig);
|
|
45
|
+
return new BlockProposal(blockNumber, payload, sig, txs);
|
|
42
46
|
}
|
|
43
47
|
/**Get Sender
|
|
44
48
|
* Lazily evaluate the sender of the proposal; result is cached
|
|
@@ -54,17 +58,29 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
54
58
|
return this.payload.getPayloadToSign(SignatureDomainSeparator.blockProposal);
|
|
55
59
|
}
|
|
56
60
|
toBuffer() {
|
|
57
|
-
|
|
61
|
+
const buffer = [
|
|
58
62
|
this.blockNumber,
|
|
59
63
|
this.payload,
|
|
60
64
|
this.signature
|
|
61
|
-
]
|
|
65
|
+
];
|
|
66
|
+
if (this.txs) {
|
|
67
|
+
buffer.push(this.txs.length);
|
|
68
|
+
buffer.push(this.txs);
|
|
69
|
+
}
|
|
70
|
+
return serializeToBuffer(buffer);
|
|
62
71
|
}
|
|
63
72
|
static fromBuffer(buf) {
|
|
64
73
|
const reader = BufferReader.asReader(buf);
|
|
65
|
-
|
|
74
|
+
const blockNumber = reader.readObject(Fr);
|
|
75
|
+
const payload = reader.readObject(ConsensusPayload);
|
|
76
|
+
const sig = reader.readObject(Signature);
|
|
77
|
+
if (!reader.isEmpty()) {
|
|
78
|
+
const txs = reader.readArray(reader.readNumber(), Tx);
|
|
79
|
+
return new BlockProposal(blockNumber, payload, sig, txs);
|
|
80
|
+
}
|
|
81
|
+
return new BlockProposal(blockNumber, payload, sig);
|
|
66
82
|
}
|
|
67
83
|
getSize() {
|
|
68
|
-
return this.blockNumber.size + this.payload.getSize() + this.signature.getSize();
|
|
84
|
+
return this.blockNumber.size + this.payload.getSize() + this.signature.getSize() + (this.txs ? this.txs.reduce((acc, tx)=>acc + tx.getSize(), 0) : 0);
|
|
69
85
|
}
|
|
70
86
|
}
|
package/dest/tests/mocks.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export interface MakeConsensusPayloadOptions {
|
|
|
45
45
|
archive?: Fr;
|
|
46
46
|
stateReference?: StateReference;
|
|
47
47
|
txHashes?: TxHash[];
|
|
48
|
+
txs?: Tx[];
|
|
48
49
|
}
|
|
49
50
|
export declare const makeBlockProposal: (options?: MakeConsensusPayloadOptions) => BlockProposal;
|
|
50
51
|
export declare const makeBlockAttestation: (options?: MakeConsensusPayloadOptions) => BlockAttestation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,WAAW,EAIX,cAAc,EACd,EAAE,EACH,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAiC,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,eAAO,MAAM,YAAY,QAAO,MAAyB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,gEAM5B,QAAQ,YAAY,CAAC,0BAQvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,uEAO1B,QAAQ,UAAU,CAAC,wBASrB,CAAC;AAEF,eAAO,MAAM,MAAM,gSAed;IACD,uCAAuC,CAAC,EAAE,MAAM,CAAC;IACjD,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,UAAU,CAAC,EAAE,EAAE,CAAC;IAChB,wBAAwB,CAAC,EAAE,EAAE,CAAC;CAC/B,gBAyDF,CAAC;AAEF,eAAO,MAAM,eAAe,yBAAoB,WAAW,aAAa,CAAC,CAAC,CAAC,CAAC,gBACoC,CAAC;AAkBjH,eAAO,MAAM,eAAe,gDAgB3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,gBAWxC,CAAC;AAEH,eAAO,MAAM,iCAAiC,UACtC;IAAE,eAAe,CAAC,EAAE,EAAE,CAAA;CAAE,YACpB,YAAY,KACrB,QAAQ,2BAA2B,CAUrC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;EAIlC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,WAAW,EAIX,cAAc,EACd,EAAE,EACH,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAiC,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,eAAO,MAAM,YAAY,QAAO,MAAyB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,gEAM5B,QAAQ,YAAY,CAAC,0BAQvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,uEAO1B,QAAQ,UAAU,CAAC,wBASrB,CAAC;AAEF,eAAO,MAAM,MAAM,gSAed;IACD,uCAAuC,CAAC,EAAE,MAAM,CAAC;IACjD,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,UAAU,CAAC,EAAE,EAAE,CAAC;IAChB,wBAAwB,CAAC,EAAE,EAAE,CAAC;CAC/B,gBAyDF,CAAC;AAEF,eAAO,MAAM,eAAe,yBAAoB,WAAW,aAAa,CAAC,CAAC,CAAC,CAAC,gBACoC,CAAC;AAkBjH,eAAO,MAAM,eAAe,gDAgB3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,gBAWxC,CAAC;AAEH,eAAO,MAAM,iCAAiC,UACtC;IAAE,eAAe,CAAC,EAAE,EAAE,CAAA;CAAE,YACpB,YAAY,KACrB,QAAQ,2BAA2B,CAUrC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;EAIlC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;CACZ;AA2BD,eAAO,MAAM,iBAAiB,aAAc,2BAA2B,KAAG,aAMzE,CAAC;AAGF,eAAO,MAAM,oBAAoB,aAAc,2BAA2B,KAAG,gBAM5E,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAAO,GACzC,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
|
package/dest/tests/mocks.js
CHANGED
|
@@ -150,7 +150,7 @@ const makeAndSignConsensusPayload = (domainSeparator, options)=>{
|
|
|
150
150
|
};
|
|
151
151
|
export const makeBlockProposal = (options)=>{
|
|
152
152
|
const { blockNumber, payload, signature } = makeAndSignConsensusPayload(SignatureDomainSeparator.blockProposal, options);
|
|
153
|
-
return new BlockProposal(blockNumber, payload, signature);
|
|
153
|
+
return new BlockProposal(blockNumber, payload, signature, options?.txs ?? []);
|
|
154
154
|
};
|
|
155
155
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
|
|
156
156
|
export const makeBlockAttestation = (options)=>{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "0.86.0-nightly.
|
|
3
|
+
"version": "0.86.0-nightly.20250509",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -66,12 +66,12 @@
|
|
|
66
66
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@aztec/bb.js": "0.86.0-nightly.
|
|
70
|
-
"@aztec/blob-lib": "0.86.0-nightly.
|
|
71
|
-
"@aztec/constants": "0.86.0-nightly.
|
|
72
|
-
"@aztec/ethereum": "0.86.0-nightly.
|
|
73
|
-
"@aztec/foundation": "0.86.0-nightly.
|
|
74
|
-
"@aztec/noir-noirc_abi": "0.86.0-nightly.
|
|
69
|
+
"@aztec/bb.js": "0.86.0-nightly.20250509",
|
|
70
|
+
"@aztec/blob-lib": "0.86.0-nightly.20250509",
|
|
71
|
+
"@aztec/constants": "0.86.0-nightly.20250509",
|
|
72
|
+
"@aztec/ethereum": "0.86.0-nightly.20250509",
|
|
73
|
+
"@aztec/foundation": "0.86.0-nightly.20250509",
|
|
74
|
+
"@aztec/noir-noirc_abi": "0.86.0-nightly.20250509",
|
|
75
75
|
"@google-cloud/storage": "^7.15.0",
|
|
76
76
|
"lodash.chunk": "^4.2.0",
|
|
77
77
|
"lodash.isequal": "^4.5.0",
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AVM_ACCUMULATED_DATA_LENGTH,
|
|
2
3
|
MAX_L2_TO_L1_MSGS_PER_TX,
|
|
3
4
|
MAX_NOTE_HASHES_PER_TX,
|
|
4
5
|
MAX_NULLIFIERS_PER_TX,
|
|
5
6
|
MAX_PUBLIC_LOGS_PER_TX,
|
|
6
7
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
7
8
|
} from '@aztec/constants';
|
|
8
|
-
import { makeTuple } from '@aztec/foundation/array';
|
|
9
|
+
import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
|
|
9
10
|
import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
|
|
10
11
|
import { Fr } from '@aztec/foundation/fields';
|
|
11
12
|
import { schemas } from '@aztec/foundation/schemas';
|
|
12
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
BufferReader,
|
|
15
|
+
FieldReader,
|
|
16
|
+
type Tuple,
|
|
17
|
+
assertLength,
|
|
18
|
+
serializeToBuffer,
|
|
19
|
+
serializeToFields,
|
|
20
|
+
} from '@aztec/foundation/serialize';
|
|
13
21
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
14
22
|
|
|
15
23
|
import { inspect } from 'util';
|
|
@@ -92,6 +100,16 @@ export class AvmAccumulatedData {
|
|
|
92
100
|
return serializeToBuffer(this.noteHashes, this.nullifiers, this.l2ToL1Msgs, this.publicLogs, this.publicDataWrites);
|
|
93
101
|
}
|
|
94
102
|
|
|
103
|
+
static getFields(fields: FieldsOf<AvmAccumulatedData>) {
|
|
104
|
+
return [
|
|
105
|
+
fields.noteHashes,
|
|
106
|
+
fields.nullifiers,
|
|
107
|
+
fields.l2ToL1Msgs,
|
|
108
|
+
fields.publicLogs,
|
|
109
|
+
fields.publicDataWrites,
|
|
110
|
+
] as const;
|
|
111
|
+
}
|
|
112
|
+
|
|
95
113
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
96
114
|
const reader = FieldReader.asReader(fields);
|
|
97
115
|
return new this(
|
|
@@ -103,6 +121,16 @@ export class AvmAccumulatedData {
|
|
|
103
121
|
);
|
|
104
122
|
}
|
|
105
123
|
|
|
124
|
+
toFields(): Fr[] {
|
|
125
|
+
const fields = serializeToFields(...AvmAccumulatedData.getFields(this));
|
|
126
|
+
if (fields.length !== AVM_ACCUMULATED_DATA_LENGTH) {
|
|
127
|
+
throw new Error(
|
|
128
|
+
`Invalid number of fields for AvmAccumulatedData. Expected ${AVM_ACCUMULATED_DATA_LENGTH}, got ${fields.length}`,
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
return fields;
|
|
132
|
+
}
|
|
133
|
+
|
|
106
134
|
static fromString(str: string) {
|
|
107
135
|
return this.fromBuffer(hexToBuffer(str));
|
|
108
136
|
}
|
|
@@ -24,6 +24,8 @@ import { serializeWithMessagePack } from './message_pack.js';
|
|
|
24
24
|
// At some point it might be worth writing Zod schemas for all dependent types and get rid of that.
|
|
25
25
|
export class AvmCircuitPublicInputs {
|
|
26
26
|
constructor(
|
|
27
|
+
///////////////////////////////////
|
|
28
|
+
// Inputs.
|
|
27
29
|
public globalVariables: GlobalVariables,
|
|
28
30
|
public startTreeSnapshots: TreeSnapshots,
|
|
29
31
|
public startGasUsed: Gas,
|
|
@@ -36,6 +38,8 @@ export class AvmCircuitPublicInputs {
|
|
|
36
38
|
public previousRevertibleAccumulatedDataArrayLengths: PrivateToAvmAccumulatedDataArrayLengths,
|
|
37
39
|
public previousNonRevertibleAccumulatedData: PrivateToAvmAccumulatedData,
|
|
38
40
|
public previousRevertibleAccumulatedData: PrivateToAvmAccumulatedData,
|
|
41
|
+
///////////////////////////////////
|
|
42
|
+
// Outputs.
|
|
39
43
|
public endTreeSnapshots: TreeSnapshots,
|
|
40
44
|
public endGasUsed: Gas,
|
|
41
45
|
public accumulatedData: AvmAccumulatedData,
|
|
@@ -182,6 +186,28 @@ export class AvmCircuitPublicInputs {
|
|
|
182
186
|
);
|
|
183
187
|
}
|
|
184
188
|
|
|
189
|
+
toFields() {
|
|
190
|
+
return [
|
|
191
|
+
...this.globalVariables.toFields(),
|
|
192
|
+
...this.startTreeSnapshots.toFields(),
|
|
193
|
+
...this.startGasUsed.toFields(),
|
|
194
|
+
...this.gasSettings.toFields(),
|
|
195
|
+
this.feePayer,
|
|
196
|
+
...this.publicSetupCallRequests.map(request => request.toFields()),
|
|
197
|
+
...this.publicAppLogicCallRequests.map(request => request.toFields()),
|
|
198
|
+
...this.publicTeardownCallRequest.toFields(),
|
|
199
|
+
...this.previousNonRevertibleAccumulatedDataArrayLengths.toFields(),
|
|
200
|
+
...this.previousRevertibleAccumulatedDataArrayLengths.toFields(),
|
|
201
|
+
...this.previousNonRevertibleAccumulatedData.toFields(),
|
|
202
|
+
...this.previousRevertibleAccumulatedData.toFields(),
|
|
203
|
+
...this.endTreeSnapshots.toFields(),
|
|
204
|
+
...this.endGasUsed.toFields(),
|
|
205
|
+
...this.accumulatedData.toFields(),
|
|
206
|
+
this.transactionFee,
|
|
207
|
+
this.reverted,
|
|
208
|
+
];
|
|
209
|
+
}
|
|
210
|
+
|
|
185
211
|
static empty() {
|
|
186
212
|
return new AvmCircuitPublicInputs(
|
|
187
213
|
GlobalVariables.empty(),
|
package/src/avm/message_pack.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
1
2
|
import { Fq, Fr, Point } from '@aztec/foundation/fields';
|
|
2
3
|
|
|
3
4
|
import { strict as assert } from 'assert';
|
|
@@ -30,7 +31,7 @@ function setUpMessagePackExtensions() {
|
|
|
30
31
|
Class: Fq,
|
|
31
32
|
write: (fq: Fq) => fq.toBuffer(),
|
|
32
33
|
});
|
|
33
|
-
// AztecAddress is a class that has a field in TS, but
|
|
34
|
+
// AztecAddress is a class that has a field in TS, but is itself a field in C++.
|
|
34
35
|
addExtension({
|
|
35
36
|
Class: AztecAddress,
|
|
36
37
|
write: (addr: AztecAddress) => addr.toField(),
|
|
@@ -44,5 +45,10 @@ function setUpMessagePackExtensions() {
|
|
|
44
45
|
return { x: new Fq(p.x.toBigInt()), y: new Fq(p.y.toBigInt()) };
|
|
45
46
|
},
|
|
46
47
|
});
|
|
48
|
+
// EthAddress is a class that has a buffer in TS, but is itself just a field in C++.
|
|
49
|
+
addExtension({
|
|
50
|
+
Class: EthAddress,
|
|
51
|
+
write: (addr: EthAddress) => addr.toField().toBuffer(),
|
|
52
|
+
});
|
|
47
53
|
messagePackWasSetUp = true;
|
|
48
54
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { PUBLIC_DATA_WRITE_LENGTH } from '@aztec/constants';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
3
|
-
import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
|
+
import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
4
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
5
6
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
6
7
|
|
|
@@ -45,6 +46,16 @@ export class PublicDataWrite {
|
|
|
45
46
|
return new PublicDataWrite(reader.readField(), reader.readField());
|
|
46
47
|
}
|
|
47
48
|
|
|
49
|
+
toFields(): Fr[] {
|
|
50
|
+
const fields = serializeToFields(...PublicDataWrite.getFields(this));
|
|
51
|
+
if (fields.length !== PUBLIC_DATA_WRITE_LENGTH) {
|
|
52
|
+
throw new Error(
|
|
53
|
+
`Invalid number of fields for PublicDataWrite. Expected ${PUBLIC_DATA_WRITE_LENGTH}, got ${fields.length}`,
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
return fields;
|
|
57
|
+
}
|
|
58
|
+
|
|
48
59
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
49
60
|
const reader = BufferReader.asReader(buffer);
|
|
50
61
|
return new PublicDataWrite(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
@@ -28,12 +28,28 @@ export interface AztecNodeAdmin {
|
|
|
28
28
|
* @param location - The location to upload the snapshot to.
|
|
29
29
|
*/
|
|
30
30
|
startSnapshotUpload(location: string): Promise<void>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Pauses syncing and rolls back the database to the target L2 block number.
|
|
34
|
+
* @param targetBlockNumber - The block number to roll back to.
|
|
35
|
+
* @param force - If true, clears the world state db and p2p dbs if rolling back to behind the finalized block.
|
|
36
|
+
*/
|
|
37
|
+
rollbackTo(targetBlockNumber: number, force?: boolean): Promise<void>;
|
|
38
|
+
|
|
39
|
+
/** Pauses archiver and world state syncing. */
|
|
40
|
+
pauseSync(): Promise<void>;
|
|
41
|
+
|
|
42
|
+
/** Resumes archiver and world state syncing. */
|
|
43
|
+
resumeSync(): Promise<void>;
|
|
31
44
|
}
|
|
32
45
|
|
|
33
46
|
export const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin> = {
|
|
34
47
|
setConfig: z.function().args(SequencerConfigSchema.merge(ProverConfigSchema).partial()).returns(z.void()),
|
|
35
48
|
flushTxs: z.function().returns(z.void()),
|
|
36
49
|
startSnapshotUpload: z.function().args(z.string()).returns(z.void()),
|
|
50
|
+
rollbackTo: z.function().args(z.number()).returns(z.void()),
|
|
51
|
+
pauseSync: z.function().returns(z.void()),
|
|
52
|
+
resumeSync: z.function().returns(z.void()),
|
|
37
53
|
};
|
|
38
54
|
|
|
39
55
|
export function createAztecNodeAdminClient(
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from '@aztec/constants';
|
|
8
8
|
import { type L1ContractAddresses, L1ContractAddressesSchema } from '@aztec/ethereum/l1-contract-addresses';
|
|
9
9
|
import type { Fr } from '@aztec/foundation/fields';
|
|
10
|
-
import { createSafeJsonRpcClient,
|
|
10
|
+
import { createSafeJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
|
|
11
11
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
12
12
|
|
|
13
13
|
import { z } from 'zod';
|
|
@@ -551,7 +551,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
|
|
|
551
551
|
export function createAztecNodeClient(
|
|
552
552
|
url: string,
|
|
553
553
|
versions: Partial<ComponentsVersions> = {},
|
|
554
|
-
fetch =
|
|
554
|
+
fetch = makeFetch([1, 2, 3], false),
|
|
555
555
|
): AztecNode {
|
|
556
556
|
return createSafeJsonRpcClient<AztecNode>(url, AztecNodeApiSchema, {
|
|
557
557
|
namespaceMethods: 'node',
|
|
@@ -76,6 +76,9 @@ export interface WorldStateSynchronizer extends ForkMerkleTreeOperations {
|
|
|
76
76
|
|
|
77
77
|
/** Returns an instance of MerkleTreeAdminOperations that will not include uncommitted data. */
|
|
78
78
|
getCommitted(): MerkleTreeReadOperations;
|
|
79
|
+
|
|
80
|
+
/** Deletes the db */
|
|
81
|
+
clear(): Promise<void>;
|
|
79
82
|
}
|
|
80
83
|
|
|
81
84
|
export const WorldStateSyncStatusSchema = z.object({
|
|
@@ -150,6 +150,10 @@ export class PrivateToAvmAccumulatedDataArrayLengths {
|
|
|
150
150
|
return new this(reader.readU32(), reader.readU32(), reader.readU32());
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
+
toFields() {
|
|
154
|
+
return [this.noteHashes, this.nullifiers, this.l2ToL1Msgs];
|
|
155
|
+
}
|
|
156
|
+
|
|
153
157
|
static from(fields: FieldsOf<PrivateToAvmAccumulatedDataArrayLengths>) {
|
|
154
158
|
return new PrivateToAvmAccumulatedDataArrayLengths(...PrivateToAvmAccumulatedDataArrayLengths.getFields(fields));
|
|
155
159
|
}
|
|
@@ -5,6 +5,7 @@ import { Signature } from '@aztec/foundation/eth-signature';
|
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
7
7
|
|
|
8
|
+
import { Tx } from '../tx/tx.js';
|
|
8
9
|
import { ConsensusPayload } from './consensus_payload.js';
|
|
9
10
|
import { Gossipable } from './gossipable.js';
|
|
10
11
|
import {
|
|
@@ -40,6 +41,10 @@ export class BlockProposal extends Gossipable {
|
|
|
40
41
|
|
|
41
42
|
/** The signer of the BlockProposal over the header of the new block*/
|
|
42
43
|
public readonly signature: Signature,
|
|
44
|
+
|
|
45
|
+
// Note(md): this is placed after the txs payload in order to be backwards compatible with previous versions
|
|
46
|
+
/** The transactions in the block */
|
|
47
|
+
public readonly txs?: Tx[],
|
|
43
48
|
) {
|
|
44
49
|
super();
|
|
45
50
|
}
|
|
@@ -59,12 +64,14 @@ export class BlockProposal extends Gossipable {
|
|
|
59
64
|
static async createProposalFromSigner(
|
|
60
65
|
blockNumber: Fr,
|
|
61
66
|
payload: ConsensusPayload,
|
|
67
|
+
// Note(md): Provided seperately to tx hashes such that this function can be optional
|
|
68
|
+
txs: Tx[],
|
|
62
69
|
payloadSigner: (payload: Buffer32) => Promise<Signature>,
|
|
63
70
|
) {
|
|
64
71
|
const hashed = getHashedSignaturePayload(payload, SignatureDomainSeparator.blockProposal);
|
|
65
72
|
const sig = await payloadSigner(hashed);
|
|
66
73
|
|
|
67
|
-
return new BlockProposal(blockNumber, payload, sig);
|
|
74
|
+
return new BlockProposal(blockNumber, payload, sig, txs);
|
|
68
75
|
}
|
|
69
76
|
|
|
70
77
|
/**Get Sender
|
|
@@ -85,15 +92,35 @@ export class BlockProposal extends Gossipable {
|
|
|
85
92
|
}
|
|
86
93
|
|
|
87
94
|
toBuffer(): Buffer {
|
|
88
|
-
|
|
95
|
+
const buffer: any[] = [this.blockNumber, this.payload, this.signature];
|
|
96
|
+
if (this.txs) {
|
|
97
|
+
buffer.push(this.txs.length);
|
|
98
|
+
buffer.push(this.txs);
|
|
99
|
+
}
|
|
100
|
+
return serializeToBuffer(buffer);
|
|
89
101
|
}
|
|
90
102
|
|
|
91
103
|
static fromBuffer(buf: Buffer | BufferReader): BlockProposal {
|
|
92
104
|
const reader = BufferReader.asReader(buf);
|
|
93
|
-
|
|
105
|
+
|
|
106
|
+
const blockNumber = reader.readObject(Fr);
|
|
107
|
+
const payload = reader.readObject(ConsensusPayload);
|
|
108
|
+
const sig = reader.readObject(Signature);
|
|
109
|
+
|
|
110
|
+
if (!reader.isEmpty()) {
|
|
111
|
+
const txs = reader.readArray(reader.readNumber(), Tx);
|
|
112
|
+
return new BlockProposal(blockNumber, payload, sig, txs);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return new BlockProposal(blockNumber, payload, sig);
|
|
94
116
|
}
|
|
95
117
|
|
|
96
118
|
getSize(): number {
|
|
97
|
-
return
|
|
119
|
+
return (
|
|
120
|
+
this.blockNumber.size +
|
|
121
|
+
this.payload.getSize() +
|
|
122
|
+
this.signature.getSize() +
|
|
123
|
+
(this.txs ? this.txs.reduce((acc, tx) => acc + tx.getSize(), 0) : 0)
|
|
124
|
+
);
|
|
98
125
|
}
|
|
99
126
|
}
|
package/src/tests/mocks.ts
CHANGED
|
@@ -242,6 +242,7 @@ export interface MakeConsensusPayloadOptions {
|
|
|
242
242
|
archive?: Fr;
|
|
243
243
|
stateReference?: StateReference;
|
|
244
244
|
txHashes?: TxHash[];
|
|
245
|
+
txs?: Tx[];
|
|
245
246
|
}
|
|
246
247
|
|
|
247
248
|
const makeAndSignConsensusPayload = (
|
|
@@ -274,7 +275,7 @@ export const makeBlockProposal = (options?: MakeConsensusPayloadOptions): BlockP
|
|
|
274
275
|
SignatureDomainSeparator.blockProposal,
|
|
275
276
|
options,
|
|
276
277
|
);
|
|
277
|
-
return new BlockProposal(blockNumber, payload, signature);
|
|
278
|
+
return new BlockProposal(blockNumber, payload, signature, options?.txs ?? []);
|
|
278
279
|
};
|
|
279
280
|
|
|
280
281
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
|