@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.
Files changed (39) hide show
  1. package/dest/avm/avm_accumulated_data.d.ts +3 -0
  2. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  3. package/dest/avm/avm_accumulated_data.js +18 -2
  4. package/dest/avm/avm_circuit_public_inputs.d.ts +1 -0
  5. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  6. package/dest/avm/avm_circuit_public_inputs.js +26 -1
  7. package/dest/avm/message_pack.d.ts.map +1 -1
  8. package/dest/avm/message_pack.js +7 -1
  9. package/dest/avm/public_data_write.d.ts +1 -0
  10. package/dest/avm/public_data_write.d.ts.map +1 -1
  11. package/dest/avm/public_data_write.js +9 -1
  12. package/dest/interfaces/aztec-node-admin.d.ts +10 -0
  13. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  14. package/dest/interfaces/aztec-node-admin.js +4 -1
  15. package/dest/interfaces/aztec-node.d.ts +1 -2
  16. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  17. package/dest/interfaces/aztec-node.js +6 -2
  18. package/dest/interfaces/world_state.d.ts +2 -0
  19. package/dest/interfaces/world_state.d.ts.map +1 -1
  20. package/dest/kernel/private_to_avm_accumulated_data.d.ts +1 -0
  21. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  22. package/dest/kernel/private_to_avm_accumulated_data.js +7 -0
  23. package/dest/p2p/block_proposal.d.ts +7 -2
  24. package/dest/p2p/block_proposal.d.ts.map +1 -1
  25. package/dest/p2p/block_proposal.js +24 -8
  26. package/dest/tests/mocks.d.ts +1 -0
  27. package/dest/tests/mocks.d.ts.map +1 -1
  28. package/dest/tests/mocks.js +1 -1
  29. package/package.json +7 -7
  30. package/src/avm/avm_accumulated_data.ts +30 -2
  31. package/src/avm/avm_circuit_public_inputs.ts +26 -0
  32. package/src/avm/message_pack.ts +7 -1
  33. package/src/avm/public_data_write.ts +12 -1
  34. package/src/interfaces/aztec-node-admin.ts +16 -0
  35. package/src/interfaces/aztec-node.ts +2 -2
  36. package/src/interfaces/world_state.ts +3 -0
  37. package/src/kernel/private_to_avm_accumulated_data.ts +4 -0
  38. package/src/p2p/block_proposal.ts +31 -4
  39. 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,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,4CAA4C,EAC7C,MAAM,kBAAkB,CAAC;AAG1B,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,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,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAW5C,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
+ {"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;IAExB,eAAe,EAAE,eAAe;IAChC,kBAAkB,EAAE,aAAa;IACjC,YAAY,EAAE,GAAG;IACjB,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE,YAAY;IACtB,uBAAuB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,yBAAyB,CAAC;IACnF,0BAA0B,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,yBAAyB,CAAC;IACtF,yBAAyB,EAAE,iBAAiB;IAC5C,gDAAgD,EAAE,uCAAuC;IACzF,6CAA6C,EAAE,uCAAuC;IACtF,oCAAoC,EAAE,2BAA2B;IACjE,iCAAiC,EAAE,2BAA2B;IAC9D,gBAAgB,EAAE,aAAa;IAC/B,UAAU,EAAE,GAAG;IACf,eAAe,EAAE,kBAAkB;IACnC,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,OAAO;gBAhBjB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,aAAa,EACjC,YAAY,EAAE,GAAG,EACjB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,EACtB,uBAAuB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,yBAAyB,CAAC,EACnF,0BAA0B,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,yBAAyB,CAAC,EACtF,yBAAyB,EAAE,iBAAiB,EAC5C,gDAAgD,EAAE,uCAAuC,EACzF,6CAA6C,EAAE,uCAAuC,EACtF,oCAAoC,EAAE,2BAA2B,EACjE,iCAAiC,EAAE,2BAA2B,EAC9D,gBAAgB,EAAE,aAAa,EAC/B,UAAU,EAAE,GAAG,EACf,eAAe,EAAE,kBAAkB,EACnC,cAAc,EAAE,EAAE,EAClB,QAAQ,EAAE,OAAO;IAG1B,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DhB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAuB/C,QAAQ;IAsBR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAuB5C,MAAM,CAAC,KAAK;IAsBL,wBAAwB,IAAI,MAAM;IAIzC,CAAC,OAAO,CAAC,MAAM,CAAC;CA6BjB"}
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(globalVariables, startTreeSnapshots, startGasUsed, gasSettings, feePayer, publicSetupCallRequests, publicAppLogicCallRequests, publicTeardownCallRequest, previousNonRevertibleAccumulatedDataArrayLengths, previousRevertibleAccumulatedDataArrayLengths, previousNonRevertibleAccumulatedData, previousRevertibleAccumulatedData, endTreeSnapshots, endGasUsed, accumulatedData, transactionFee, reverted){
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":";;AAOA,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CASzD"}
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"}
@@ -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 just a field in C++.
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":";;AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,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,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
+ {"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;CACtD;AAED,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAIhE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,GACnB,cAAc,CAMhB"}
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":"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"}
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, defaultFetch } from '@aztec/foundation/json-rpc/client';
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 = defaultFetch) {
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;CAC1C;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAMK,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;IAZtC,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;IAK7B,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,EACzB,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC;IAQ1D;;OAEG;IACH,SAAS;IAUT,UAAU;IAIV,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa;IAK5D,OAAO,IAAI,MAAM;CAGlB"}
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
- super(), this.blockNumber = blockNumber, this.payload = payload, this.signature = signature;
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, payloadSigner) {
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
- return serializeToBuffer([
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
- return new BlockProposal(reader.readObject(Fr), reader.readObject(ConsensusPayload), reader.readObject(Signature));
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
  }
@@ -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;CACrB;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"}
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"}
@@ -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.20250508",
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.20250508",
70
- "@aztec/blob-lib": "0.86.0-nightly.20250508",
71
- "@aztec/constants": "0.86.0-nightly.20250508",
72
- "@aztec/ethereum": "0.86.0-nightly.20250508",
73
- "@aztec/foundation": "0.86.0-nightly.20250508",
74
- "@aztec/noir-noirc_abi": "0.86.0-nightly.20250508",
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 { BufferReader, FieldReader, type Tuple, assertLength, serializeToBuffer } from '@aztec/foundation/serialize';
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(),
@@ -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 just a field in C++.
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, defaultFetch } from '@aztec/foundation/json-rpc/client';
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 = defaultFetch,
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
- return serializeToBuffer([this.blockNumber, this.payload, this.signature]);
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
- return new BlockProposal(reader.readObject(Fr), reader.readObject(ConsensusPayload), reader.readObject(Signature));
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 this.blockNumber.size + this.payload.getSize() + this.signature.getSize();
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
  }
@@ -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)