@aztec/stdlib 1.0.0-nightly.20250708 → 1.0.0-staging.1

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 (164) hide show
  1. package/dest/abi/decoder.d.ts.map +1 -1
  2. package/dest/abi/decoder.js +6 -3
  3. package/dest/abi/index.d.ts +0 -1
  4. package/dest/abi/index.d.ts.map +1 -1
  5. package/dest/abi/index.js +0 -1
  6. package/dest/block/l2_block.d.ts +0 -7
  7. package/dest/block/l2_block.d.ts.map +1 -1
  8. package/dest/block/l2_block.js +0 -8
  9. package/dest/block/l2_block_stream/l2_block_stream.js +1 -1
  10. package/dest/gas/gas.d.ts +0 -1
  11. package/dest/gas/gas.d.ts.map +1 -1
  12. package/dest/gas/gas.js +0 -3
  13. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  14. package/dest/interfaces/aztec-node-admin.js +1 -3
  15. package/dest/interfaces/client.d.ts +0 -1
  16. package/dest/interfaces/client.d.ts.map +1 -1
  17. package/dest/interfaces/client.js +0 -1
  18. package/dest/interfaces/configs.d.ts +0 -10
  19. package/dest/interfaces/configs.d.ts.map +1 -1
  20. package/dest/interfaces/configs.js +1 -3
  21. package/dest/interfaces/proving-job.d.ts +18 -18
  22. package/dest/interfaces/pxe.d.ts +0 -2
  23. package/dest/interfaces/pxe.d.ts.map +1 -1
  24. package/dest/interfaces/server.d.ts +1 -3
  25. package/dest/interfaces/server.d.ts.map +1 -1
  26. package/dest/interfaces/server.js +1 -3
  27. package/dest/interfaces/tx-collector.d.ts +15 -0
  28. package/dest/interfaces/tx-collector.d.ts.map +1 -0
  29. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -6
  30. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  31. package/dest/kernel/hints/build_note_hash_read_request_hints.js +20 -18
  32. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +10 -7
  33. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  34. package/dest/kernel/hints/build_nullifier_read_request_hints.js +32 -17
  35. package/dest/kernel/hints/build_transient_data_hints.d.ts +1 -2
  36. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  37. package/dest/kernel/hints/build_transient_data_hints.js +8 -7
  38. package/dest/kernel/hints/index.d.ts +1 -0
  39. package/dest/kernel/hints/index.d.ts.map +1 -1
  40. package/dest/kernel/hints/index.js +1 -0
  41. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  42. package/dest/kernel/hints/note_hash_read_request_hints.js +4 -4
  43. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  44. package/dest/kernel/hints/nullifier_read_request_hints.js +4 -4
  45. package/dest/kernel/hints/read_request_hints.d.ts +17 -17
  46. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  47. package/dest/kernel/hints/read_request_hints.js +28 -28
  48. package/dest/kernel/hints/rollup_validation_requests.d.ts +34 -0
  49. package/dest/kernel/hints/rollup_validation_requests.d.ts.map +1 -0
  50. package/dest/kernel/hints/rollup_validation_requests.js +55 -0
  51. package/dest/kernel/index.d.ts +0 -1
  52. package/dest/kernel/index.d.ts.map +1 -1
  53. package/dest/kernel/index.js +0 -1
  54. package/dest/kernel/private_accumulated_data.d.ts +15 -16
  55. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  56. package/dest/kernel/private_accumulated_data.js +3 -3
  57. package/dest/kernel/private_circuit_public_inputs.d.ts +25 -26
  58. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  59. package/dest/kernel/private_circuit_public_inputs.js +15 -33
  60. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +0 -9
  61. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  62. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -8
  63. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  64. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  65. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +6 -9
  66. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -11
  67. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  68. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +18 -20
  69. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +4 -4
  70. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  71. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +10 -9
  72. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +11 -11
  73. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  74. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +12 -11
  75. package/dest/kernel/private_validation_requests.d.ts +20 -8
  76. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  77. package/dest/kernel/private_validation_requests.js +21 -9
  78. package/dest/kernel/utils/order_and_comparison.d.ts +3 -0
  79. package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -1
  80. package/dest/kernel/utils/order_and_comparison.js +19 -0
  81. package/dest/messaging/l2_to_l1_message.d.ts +0 -2
  82. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  83. package/dest/messaging/l2_to_l1_message.js +0 -7
  84. package/dest/p2p/block_proposal.d.ts +1 -8
  85. package/dest/p2p/block_proposal.d.ts.map +1 -1
  86. package/dest/p2p/block_proposal.js +8 -21
  87. package/dest/p2p/consensus_payload.d.ts +11 -3
  88. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  89. package/dest/p2p/consensus_payload.js +22 -13
  90. package/dest/p2p/topic_type.d.ts.map +1 -1
  91. package/dest/p2p/topic_type.js +3 -5
  92. package/dest/tests/factories.d.ts +2 -0
  93. package/dest/tests/factories.d.ts.map +1 -1
  94. package/dest/tests/factories.js +22 -20
  95. package/dest/tests/mocks.d.ts.map +1 -1
  96. package/dest/tests/mocks.js +12 -14
  97. package/dest/tx/include_by_timestamp.d.ts +54 -0
  98. package/dest/tx/include_by_timestamp.d.ts.map +1 -0
  99. package/dest/tx/include_by_timestamp.js +72 -0
  100. package/dest/tx/index.d.ts +1 -0
  101. package/dest/tx/index.d.ts.map +1 -1
  102. package/dest/tx/index.js +1 -0
  103. package/dest/tx/private_execution_result.d.ts +2 -2
  104. package/dest/tx/private_execution_result.d.ts.map +1 -1
  105. package/dest/tx/private_execution_result.js +11 -11
  106. package/dest/tx/simulated_tx.js +1 -1
  107. package/dest/tx/tx.d.ts +2 -7
  108. package/dest/tx/tx.d.ts.map +1 -1
  109. package/dest/tx/tx.js +0 -8
  110. package/dest/versioning/versioning.d.ts.map +1 -1
  111. package/package.json +7 -7
  112. package/src/abi/decoder.ts +6 -3
  113. package/src/abi/index.ts +0 -1
  114. package/src/block/l2_block.ts +0 -16
  115. package/src/block/l2_block_stream/l2_block_stream.ts +1 -1
  116. package/src/gas/gas.ts +0 -4
  117. package/src/interfaces/aztec-node-admin.ts +1 -8
  118. package/src/interfaces/client.ts +0 -1
  119. package/src/interfaces/configs.ts +0 -6
  120. package/src/interfaces/pxe.ts +0 -2
  121. package/src/interfaces/server.ts +1 -3
  122. package/src/interfaces/tx-collector.ts +17 -0
  123. package/src/kernel/hints/build_note_hash_read_request_hints.ts +30 -28
  124. package/src/kernel/hints/build_nullifier_read_request_hints.ts +59 -28
  125. package/src/kernel/hints/build_transient_data_hints.ts +11 -9
  126. package/src/kernel/hints/index.ts +1 -0
  127. package/src/kernel/hints/note_hash_read_request_hints.ts +16 -4
  128. package/src/kernel/hints/nullifier_read_request_hints.ts +16 -4
  129. package/src/kernel/hints/read_request_hints.ts +22 -22
  130. package/src/kernel/hints/rollup_validation_requests.ts +71 -0
  131. package/src/kernel/index.ts +0 -1
  132. package/src/kernel/private_accumulated_data.ts +23 -23
  133. package/src/kernel/private_circuit_public_inputs.ts +68 -92
  134. package/src/kernel/private_kernel_circuit_public_inputs.ts +1 -9
  135. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +4 -13
  136. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +20 -20
  137. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +7 -7
  138. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +10 -16
  139. package/src/kernel/private_validation_requests.ts +50 -19
  140. package/src/kernel/utils/order_and_comparison.ts +25 -0
  141. package/src/messaging/l2_to_l1_message.ts +0 -9
  142. package/src/p2p/block_proposal.ts +5 -23
  143. package/src/p2p/consensus_payload.ts +29 -10
  144. package/src/p2p/topic_type.ts +1 -3
  145. package/src/tests/factories.ts +26 -33
  146. package/src/tests/mocks.ts +9 -7
  147. package/src/tx/include_by_timestamp.ts +90 -0
  148. package/src/tx/index.ts +1 -0
  149. package/src/tx/private_execution_result.ts +9 -11
  150. package/src/tx/simulated_tx.ts +2 -2
  151. package/src/tx/tx.ts +1 -14
  152. package/src/versioning/versioning.ts +3 -0
  153. package/dest/abi/authorization_selector.d.ts +0 -52
  154. package/dest/abi/authorization_selector.d.ts.map +0 -1
  155. package/dest/abi/authorization_selector.js +0 -70
  156. package/dest/interfaces/tx_provider.d.ts +0 -24
  157. package/dest/interfaces/tx_provider.d.ts.map +0 -1
  158. package/dest/kernel/claimed_length_array.d.ts +0 -34
  159. package/dest/kernel/claimed_length_array.d.ts.map +0 -1
  160. package/dest/kernel/claimed_length_array.js +0 -58
  161. package/src/abi/authorization_selector.ts +0 -95
  162. package/src/interfaces/tx_provider.ts +0 -16
  163. package/src/kernel/claimed_length_array.ts +0 -104
  164. /package/dest/interfaces/{tx_provider.js → tx-collector.js} +0 -0
@@ -1,15 +1,20 @@
1
1
  import { MAX_NULLIFIER_READ_REQUESTS_PER_TX } from '@aztec/constants';
2
+ import { padArrayEnd } from '@aztec/foundation/collection';
3
+ import { AztecAddress } from '../../aztec-address/index.js';
2
4
  import { siloNullifier } from '../../hash/hash.js';
5
+ import { Nullifier } from '../nullifier.js';
6
+ import { countAccumulatedItems, getNonEmptyItems } from '../utils/order_and_comparison.js';
3
7
  import { NullifierReadRequestHintsBuilder } from './nullifier_read_request_hints.js';
4
- import { PendingReadHint, ReadRequestActionEnum, ReadRequestResetActions } from './read_request_hints.js';
8
+ import { ReadRequest, ScopedReadRequest } from './read_request.js';
9
+ import { PendingReadHint, ReadRequestResetStates, ReadRequestState } from './read_request_hints.js';
5
10
  import { ScopedValueCache } from './scoped_value_cache.js';
6
11
  export function isValidNullifierReadRequest(readRequest, nullifier) {
7
12
  return readRequest.value.equals(nullifier.value) && nullifier.contractAddress.equals(readRequest.contractAddress) && readRequest.counter > nullifier.counter;
8
13
  }
9
- export function getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers, futureNullifiers) {
10
- const resetActions = ReadRequestResetActions.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
14
+ export function getNullifierReadRequestResetStates(nullifierReadRequests, nullifiers, futureNullifiers) {
15
+ const resetStates = ReadRequestResetStates.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
11
16
  const nullifierMap = new Map();
12
- nullifiers.getActiveItems().forEach((nullifier, index)=>{
17
+ getNonEmptyItems(nullifiers).forEach((nullifier, index)=>{
13
18
  const value = nullifier.value.toBigInt();
14
19
  const arr = nullifierMap.get(value) ?? [];
15
20
  arr.push({
@@ -19,26 +24,27 @@ export function getNullifierReadRequestResetActions(nullifierReadRequests, nulli
19
24
  nullifierMap.set(value, arr);
20
25
  });
21
26
  const futureNullifiersMap = new ScopedValueCache(futureNullifiers);
22
- for(let i = 0; i < nullifierReadRequests.claimedLength; ++i){
23
- const readRequest = nullifierReadRequests.array[i];
27
+ const numReadRequests = countAccumulatedItems(nullifierReadRequests);
28
+ for(let i = 0; i < numReadRequests; ++i){
29
+ const readRequest = nullifierReadRequests[i];
24
30
  const pendingNullifier = nullifierMap.get(readRequest.value.toBigInt())?.find(({ nullifier })=>isValidNullifierReadRequest(readRequest, nullifier));
25
31
  if (pendingNullifier !== undefined) {
26
- resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
27
- resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNullifier.index));
32
+ resetStates.states[i] = ReadRequestState.PENDING;
33
+ resetStates.pendingReadHints.push(new PendingReadHint(i, pendingNullifier.index));
28
34
  } else if (!futureNullifiersMap.get(readRequest).some((futureNullifier)=>isValidNullifierReadRequest(readRequest, futureNullifier))) {
29
- resetActions.actions[i] = ReadRequestActionEnum.READ_AS_SETTLED;
35
+ resetStates.states[i] = ReadRequestState.SETTLED;
30
36
  }
31
37
  }
32
- return resetActions;
38
+ return resetStates;
33
39
  }
34
- export async function buildNullifierReadRequestHintsFromResetActions(oracle, nullifierReadRequests, resetActions, maxPending = MAX_NULLIFIER_READ_REQUESTS_PER_TX, maxSettled = MAX_NULLIFIER_READ_REQUESTS_PER_TX, siloed = false) {
40
+ export async function buildNullifierReadRequestHintsFromResetStates(oracle, nullifierReadRequests, resetStates, maxPending = MAX_NULLIFIER_READ_REQUESTS_PER_TX, maxSettled = MAX_NULLIFIER_READ_REQUESTS_PER_TX, siloed = false) {
35
41
  const builder = new NullifierReadRequestHintsBuilder(maxPending, maxSettled);
36
- resetActions.pendingReadHints.forEach((hint)=>{
42
+ resetStates.pendingReadHints.forEach((hint)=>{
37
43
  builder.addPendingReadRequest(hint.readRequestIndex, hint.pendingValueIndex);
38
44
  });
39
- for(let i = 0; i < resetActions.actions.length; i++){
40
- if (resetActions.actions[i] === ReadRequestActionEnum.READ_AS_SETTLED) {
41
- const readRequest = nullifierReadRequests.array[i];
45
+ for(let i = 0; i < resetStates.states.length; i++){
46
+ if (resetStates.states[i] === ReadRequestState.SETTLED) {
47
+ const readRequest = nullifierReadRequests[i];
42
48
  const siloedValue = siloed ? readRequest.value : await siloNullifier(readRequest.contractAddress, readRequest.value);
43
49
  const membershipWitnessWithPreimage = await oracle.getNullifierMembershipWitness(siloedValue);
44
50
  builder.addSettledReadRequest(i, membershipWitnessWithPreimage.membershipWitness, membershipWitnessWithPreimage.leafPreimage);
@@ -47,6 +53,15 @@ export async function buildNullifierReadRequestHintsFromResetActions(oracle, nul
47
53
  return builder.toHints();
48
54
  }
49
55
  export async function buildNullifierReadRequestHints(oracle, nullifierReadRequests, nullifiers, futureNullifiers, maxPending = MAX_NULLIFIER_READ_REQUESTS_PER_TX, maxSettled = MAX_NULLIFIER_READ_REQUESTS_PER_TX, siloed = false) {
50
- const resetActions = getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers, futureNullifiers);
51
- return await buildNullifierReadRequestHintsFromResetActions(oracle, nullifierReadRequests, resetActions, maxPending, maxSettled, siloed);
56
+ const resetStates = getNullifierReadRequestResetStates(nullifierReadRequests, nullifiers, futureNullifiers);
57
+ return await buildNullifierReadRequestHintsFromResetStates(oracle, nullifierReadRequests, resetStates, maxPending, maxSettled, siloed);
58
+ }
59
+ export async function buildSiloedNullifierReadRequestHints(oracle, nullifierReadRequests, nullifiers, maxPending = MAX_NULLIFIER_READ_REQUESTS_PER_TX, maxSettled = MAX_NULLIFIER_READ_REQUESTS_PER_TX) {
60
+ // Nullifiers outputted from public kernels are already siloed while read requests are not.
61
+ // Siloing the read request values and set the contract addresses to zero to find the matching nullifier contexts.
62
+ const nonEmptyNullifierReadRequests = getNonEmptyItems(nullifierReadRequests);
63
+ const readRequests = await Promise.all(nonEmptyNullifierReadRequests.map(async (r)=>new ReadRequest(await siloNullifier(r.contractAddress, r.value), r.counter).scope(AztecAddress.ZERO)));
64
+ const siloedReadRequests = padArrayEnd(readRequests, ScopedReadRequest.empty(), MAX_NULLIFIER_READ_REQUESTS_PER_TX);
65
+ const scopedNullifiers = nullifiers.map((n)=>new Nullifier(n.value, n.counter, n.noteHash).scope(AztecAddress.ZERO));
66
+ return buildNullifierReadRequestHints(oracle, siloedReadRequests, scopedNullifiers, [], maxPending, maxSettled, true);
52
67
  }
@@ -1,10 +1,9 @@
1
1
  import type { Tuple } from '@aztec/foundation/serialize';
2
- import type { ClaimedLengthArray } from '../claimed_length_array.js';
3
2
  import type { ScopedNoteHash } from '../note_hash.js';
4
3
  import type { ScopedNullifier } from '../nullifier.js';
5
4
  import type { ScopedReadRequest } from './read_request.js';
6
5
  import { TransientDataIndexHint } from './transient_data_index_hint.js';
7
- export declare function buildTransientDataHints<NOTE_HASHES_LEN extends number, NULLIFIERS_LEN extends number>(noteHashes: ClaimedLengthArray<ScopedNoteHash, NOTE_HASHES_LEN>, nullifiers: ClaimedLengthArray<ScopedNullifier, NULLIFIERS_LEN>, futureNoteHashReads: ScopedReadRequest[], futureNullifierReads: ScopedReadRequest[], noteHashNullifierCounterMap: Map<number, number>, validationRequestsSplitCounter: number): {
6
+ export declare function buildTransientDataHints<NOTE_HASHES_LEN extends number, NULLIFIERS_LEN extends number>(noteHashes: Tuple<ScopedNoteHash, NOTE_HASHES_LEN>, nullifiers: Tuple<ScopedNullifier, NULLIFIERS_LEN>, futureNoteHashReads: ScopedReadRequest[], futureNullifierReads: ScopedReadRequest[], noteHashNullifierCounterMap: Map<number, number>, validationRequestsSplitCounter: number, noteHashesLength?: NOTE_HASHES_LEN, nullifiersLength?: NULLIFIERS_LEN): {
8
7
  numTransientData: number;
9
8
  hints: Tuple<TransientDataIndexHint, NULLIFIERS_LEN>;
10
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build_transient_data_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_transient_data_hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,wBAAgB,uBAAuB,CAAC,eAAe,SAAS,MAAM,EAAE,cAAc,SAAS,MAAM,EACnG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,EAC/D,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,cAAc,CAAC,EAC/D,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,oBAAoB,EAAE,iBAAiB,EAAE,EACzC,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChD,8BAA8B,EAAE,MAAM,GACrC;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAA;CAAE,CA2DpF"}
1
+ {"version":3,"file":"build_transient_data_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_transient_data_hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,wBAAgB,uBAAuB,CAAC,eAAe,SAAS,MAAM,EAAE,cAAc,SAAS,MAAM,EACnG,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,EAClD,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,cAAc,CAAC,EAClD,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,oBAAoB,EAAE,iBAAiB,EAAE,EACzC,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChD,8BAA8B,EAAE,MAAM,EACtC,gBAAgB,GAAE,eAAsD,EACxE,gBAAgB,GAAE,cAAoD,GACrE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAA;CAAE,CA2DpF"}
@@ -1,16 +1,18 @@
1
1
  import { padArrayEnd } from '@aztec/foundation/collection';
2
+ import { countAccumulatedItems } from '../utils/order_and_comparison.js';
2
3
  import { isValidNoteHashReadRequest } from './build_note_hash_read_request_hints.js';
3
4
  import { isValidNullifierReadRequest } from './build_nullifier_read_request_hints.js';
4
5
  import { ScopedValueCache } from './scoped_value_cache.js';
5
6
  import { TransientDataIndexHint } from './transient_data_index_hint.js';
6
- export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashReads, futureNullifierReads, noteHashNullifierCounterMap, validationRequestsSplitCounter) {
7
+ export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashReads, futureNullifierReads, noteHashNullifierCounterMap, validationRequestsSplitCounter, noteHashesLength = noteHashes.length, nullifiersLength = nullifiers.length) {
7
8
  const futureNoteHashReadsMap = new ScopedValueCache(futureNoteHashReads);
8
9
  const futureNullifierReadsMap = new ScopedValueCache(futureNullifierReads);
9
10
  const nullifierIndexMap = new Map();
10
- nullifiers.getActiveItems().forEach((n, i)=>nullifierIndexMap.set(n.counter, i));
11
+ nullifiers.forEach((n, i)=>nullifierIndexMap.set(n.counter, i));
11
12
  const hints = [];
12
- for(let noteHashIndex = 0; noteHashIndex < noteHashes.claimedLength; noteHashIndex++){
13
- const noteHash = noteHashes.array[noteHashIndex];
13
+ const numNoteHashes = countAccumulatedItems(noteHashes);
14
+ for(let noteHashIndex = 0; noteHashIndex < numNoteHashes; noteHashIndex++){
15
+ const noteHash = noteHashes[noteHashIndex];
14
16
  const noteHashNullifierCounter = noteHashNullifierCounterMap.get(noteHash.counter);
15
17
  // The note hash might not be linked to a nullifier or it might be read in the future
16
18
  if (!noteHashNullifierCounter || futureNoteHashReadsMap.get(noteHash).find((read)=>isValidNoteHashReadRequest(read, noteHash))) {
@@ -21,7 +23,7 @@ export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashRe
21
23
  if (nullifierIndex === undefined) {
22
24
  continue;
23
25
  }
24
- const nullifier = nullifiers.array[nullifierIndex];
26
+ const nullifier = nullifiers[nullifierIndex];
25
27
  // Cannot nullify a non-revertible note hash with a revertible nullifier.
26
28
  if (noteHash.counter < validationRequestsSplitCounter && nullifier.counter >= validationRequestsSplitCounter) {
27
29
  continue;
@@ -42,9 +44,8 @@ export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashRe
42
44
  }
43
45
  hints.push(new TransientDataIndexHint(nullifierIndex, noteHashIndex));
44
46
  }
45
- const noActionHint = new TransientDataIndexHint(nullifiers.array.length, noteHashes.array.length);
46
47
  return {
47
48
  numTransientData: hints.length,
48
- hints: padArrayEnd(hints, noActionHint, nullifiers.array.length)
49
+ hints: padArrayEnd(hints, new TransientDataIndexHint(nullifiersLength, noteHashesLength), nullifiersLength)
49
50
  };
50
51
  }
@@ -10,6 +10,7 @@ export * from './key_validation_request_and_generator.js';
10
10
  export * from './read_request.js';
11
11
  export * from './key_validation_request.js';
12
12
  export * from './scoped_key_validation_request_and_generator.js';
13
+ export * from './rollup_validation_requests.js';
13
14
  export * from './transient_data_index_hint.js';
14
15
  export * from './private_kernel_reset_hints.js';
15
16
  export * from './tree_leaf_read_request.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kDAAkD,CAAC;AACjE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kDAAkD,CAAC;AACjE,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
@@ -10,6 +10,7 @@ export * from './key_validation_request_and_generator.js';
10
10
  export * from './read_request.js';
11
11
  export * from './key_validation_request.js';
12
12
  export * from './scoped_key_validation_request_and_generator.js';
13
+ export * from './rollup_validation_requests.js';
13
14
  export * from './transient_data_index_hint.js';
14
15
  export * from './private_kernel_reset_hints.js';
15
16
  export * from './tree_leaf_read_request.js';
@@ -1 +1 @@
1
- {"version":3,"file":"note_hash_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/note_hash_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAsC,qBAAqB,EAAmB,MAAM,yBAAyB,CAAC;AAErH,KAAK,iBAAiB,GAAG,EAAE,CAAC;AAE5B,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI,qBAAqB,CAC1G,OAAO,kCAAkC,EACzC,OAAO,EACP,OAAO,EACP,OAAO,qBAAqB,EAC5B,iBAAiB,CAClB,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAC/F,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,GAClB,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAS5C;AAED,qBAAa,+BAA+B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM;aAMvE,UAAU,EAAE,OAAO;aACnB,UAAU,EAAE,OAAO;IANrC,OAAO,CAAC,KAAK,CAA6C;IACnD,mBAAmB,SAAK;IACxB,mBAAmB,SAAK;gBAGb,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO;IAWrC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAIrG,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IASrE,qBAAqB,CACnB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,EAClE,KAAK,EAAE,iBAAiB;IAc1B,OAAO;CAGR"}
1
+ {"version":3,"file":"note_hash_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/note_hash_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAEL,qBAAqB,EAItB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,iBAAiB,GAAG,EAAE,CAAC;AAE5B,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI,qBAAqB,CAC1G,OAAO,kCAAkC,EACzC,OAAO,EACP,OAAO,EACP,OAAO,qBAAqB,EAC5B,iBAAiB,CAClB,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAC/F,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,GAClB,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAS5C;AAED,qBAAa,+BAA+B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM;aAMvE,UAAU,EAAE,OAAO;aACnB,UAAU,EAAE,OAAO;IANrC,OAAO,CAAC,KAAK,CAA6C;IACnD,mBAAmB,SAAK;IACxB,mBAAmB,SAAK;gBAGb,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO;IAWrC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAIrG,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAYrE,qBAAqB,CACnB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,EAClE,KAAK,EAAE,iBAAiB;IAiB1B,OAAO;CAGR"}
@@ -1,7 +1,7 @@
1
1
  import { MAX_NOTE_HASH_READ_REQUESTS_PER_TX, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import { Fr } from '@aztec/foundation/fields';
4
- import { PendingReadHint, ReadRequestAction, ReadRequestResetHints, SettledReadHint } from './read_request_hints.js';
4
+ import { PendingReadHint, ReadRequestResetHints, ReadRequestState, ReadRequestStatus, SettledReadHint } from './read_request_hints.js';
5
5
  export function noteHashReadRequestHintsFromBuffer(buffer, numPending, numSettled) {
6
6
  return ReadRequestResetHints.fromBuffer(buffer, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, numPending, numSettled, NOTE_HASH_TREE_HEIGHT, Fr);
7
7
  }
@@ -16,7 +16,7 @@ export class NoteHashReadRequestHintsBuilder {
16
16
  this.maxSettled = maxSettled;
17
17
  this.numPendingReadHints = 0;
18
18
  this.numSettledReadHints = 0;
19
- this.hints = new ReadRequestResetHints(makeTuple(MAX_NOTE_HASH_READ_REQUESTS_PER_TX, ReadRequestAction.skip), makeTuple(maxPending, ()=>PendingReadHint.nada(MAX_NOTE_HASH_READ_REQUESTS_PER_TX)), makeTuple(maxSettled, ()=>SettledReadHint.nada(MAX_NOTE_HASH_READ_REQUESTS_PER_TX, NOTE_HASH_TREE_HEIGHT, Fr.zero)));
19
+ this.hints = new ReadRequestResetHints(makeTuple(MAX_NOTE_HASH_READ_REQUESTS_PER_TX, ReadRequestStatus.nada), makeTuple(maxPending, ()=>PendingReadHint.nada(MAX_NOTE_HASH_READ_REQUESTS_PER_TX)), makeTuple(maxSettled, ()=>SettledReadHint.nada(MAX_NOTE_HASH_READ_REQUESTS_PER_TX, NOTE_HASH_TREE_HEIGHT, Fr.zero)));
20
20
  }
21
21
  static empty(maxPending, maxSettled) {
22
22
  return new NoteHashReadRequestHintsBuilder(maxPending, maxSettled).toHints();
@@ -25,7 +25,7 @@ export class NoteHashReadRequestHintsBuilder {
25
25
  if (this.numPendingReadHints === this.maxPending) {
26
26
  throw new Error('Cannot add more pending read request.');
27
27
  }
28
- this.hints.readRequestActions[readRequestIndex] = ReadRequestAction.readAsPending(this.numPendingReadHints);
28
+ this.hints.readRequestStatuses[readRequestIndex] = new ReadRequestStatus(ReadRequestState.PENDING, this.numPendingReadHints);
29
29
  this.hints.pendingReadHints[this.numPendingReadHints] = new PendingReadHint(readRequestIndex, noteHashIndex);
30
30
  this.numPendingReadHints++;
31
31
  }
@@ -33,7 +33,7 @@ export class NoteHashReadRequestHintsBuilder {
33
33
  if (this.numSettledReadHints === this.maxSettled) {
34
34
  throw new Error('Cannot add more settled read request.');
35
35
  }
36
- this.hints.readRequestActions[readRequestIndex] = ReadRequestAction.readAsSettled(this.numSettledReadHints);
36
+ this.hints.readRequestStatuses[readRequestIndex] = new ReadRequestStatus(ReadRequestState.SETTLED, this.numSettledReadHints);
37
37
  this.hints.settledReadHints[this.numSettledReadHints] = new SettledReadHint(readRequestIndex, membershipWitness, value);
38
38
  this.numSettledReadHints++;
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nullifier_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/nullifier_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGnF,OAAO,EAAsC,qBAAqB,EAAmB,MAAM,yBAAyB,CAAC;AAErH,MAAM,MAAM,yBAAyB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI,qBAAqB,CAC3G,OAAO,kCAAkC,EACzC,OAAO,EACP,OAAO,EACP,OAAO,qBAAqB,EAC5B,gBAAgB,CACjB,CAAC;AAEF,wBAAgB,mCAAmC,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChG,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,eAAe,EAAE,OAAO,EACxB,eAAe,EAAE,OAAO,GACvB,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAS7C;AAED,qBAAa,gCAAgC,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM;aAMxE,UAAU,EAAE,OAAO;aACnB,UAAU,EAAE,OAAO;IANrC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,mBAAmB,CAAK;gBAGd,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO;IAWrC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAIrG,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAUtE,qBAAqB,CACnB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,EAClE,YAAY,EAAE,gBAAgB;IAchC,OAAO;CAGR"}
1
+ {"version":3,"file":"nullifier_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/nullifier_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGnF,OAAO,EAEL,qBAAqB,EAItB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,yBAAyB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI,qBAAqB,CAC3G,OAAO,kCAAkC,EACzC,OAAO,EACP,OAAO,EACP,OAAO,qBAAqB,EAC5B,gBAAgB,CACjB,CAAC;AAEF,wBAAgB,mCAAmC,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChG,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,eAAe,EAAE,OAAO,EACxB,eAAe,EAAE,OAAO,GACvB,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAS7C;AAED,qBAAa,gCAAgC,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM;aAMxE,UAAU,EAAE,OAAO;aACnB,UAAU,EAAE,OAAO;IANrC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,mBAAmB,CAAK;gBAGd,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO;IAWrC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAIrG,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAatE,qBAAqB,CACnB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,EAClE,YAAY,EAAE,gBAAgB;IAiBhC,OAAO;CAGR"}
@@ -1,7 +1,7 @@
1
1
  import { MAX_NULLIFIER_READ_REQUESTS_PER_TX, NULLIFIER_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import { NullifierLeafPreimage } from '../../trees/index.js';
4
- import { PendingReadHint, ReadRequestAction, ReadRequestResetHints, SettledReadHint } from './read_request_hints.js';
4
+ import { PendingReadHint, ReadRequestResetHints, ReadRequestState, ReadRequestStatus, SettledReadHint } from './read_request_hints.js';
5
5
  export function nullifierReadRequestHintsFromBuffer(buffer, numPendingReads, numSettledReads) {
6
6
  return ReadRequestResetHints.fromBuffer(buffer, MAX_NULLIFIER_READ_REQUESTS_PER_TX, numPendingReads, numSettledReads, NULLIFIER_TREE_HEIGHT, NullifierLeafPreimage);
7
7
  }
@@ -16,7 +16,7 @@ export class NullifierReadRequestHintsBuilder {
16
16
  this.maxSettled = maxSettled;
17
17
  this.numPendingReadHints = 0;
18
18
  this.numSettledReadHints = 0;
19
- this.hints = new ReadRequestResetHints(makeTuple(MAX_NULLIFIER_READ_REQUESTS_PER_TX, ReadRequestAction.skip), makeTuple(maxPending, ()=>PendingReadHint.nada(MAX_NULLIFIER_READ_REQUESTS_PER_TX)), makeTuple(maxSettled, ()=>SettledReadHint.nada(MAX_NULLIFIER_READ_REQUESTS_PER_TX, NULLIFIER_TREE_HEIGHT, NullifierLeafPreimage.empty)));
19
+ this.hints = new ReadRequestResetHints(makeTuple(MAX_NULLIFIER_READ_REQUESTS_PER_TX, ReadRequestStatus.nada), makeTuple(maxPending, ()=>PendingReadHint.nada(MAX_NULLIFIER_READ_REQUESTS_PER_TX)), makeTuple(maxSettled, ()=>SettledReadHint.nada(MAX_NULLIFIER_READ_REQUESTS_PER_TX, NULLIFIER_TREE_HEIGHT, NullifierLeafPreimage.empty)));
20
20
  }
21
21
  static empty(maxPending, maxSettled) {
22
22
  return new NullifierReadRequestHintsBuilder(maxPending, maxSettled).toHints();
@@ -25,7 +25,7 @@ export class NullifierReadRequestHintsBuilder {
25
25
  if (this.numPendingReadHints === this.maxPending) {
26
26
  throw new Error('Cannot add more pending read request.');
27
27
  }
28
- this.hints.readRequestActions[readRequestIndex] = ReadRequestAction.readAsPending(this.numPendingReadHints);
28
+ this.hints.readRequestStatuses[readRequestIndex] = new ReadRequestStatus(ReadRequestState.PENDING, this.numPendingReadHints);
29
29
  this.hints.pendingReadHints[this.numPendingReadHints] = new PendingReadHint(readRequestIndex, nullifierIndex);
30
30
  this.numPendingReadHints++;
31
31
  }
@@ -33,7 +33,7 @@ export class NullifierReadRequestHintsBuilder {
33
33
  if (this.numSettledReadHints === this.maxSettled) {
34
34
  throw new Error('Cannot add more settled read request.');
35
35
  }
36
- this.hints.readRequestActions[readRequestIndex] = ReadRequestAction.readAsSettled(this.numSettledReadHints);
36
+ this.hints.readRequestStatuses[readRequestIndex] = new ReadRequestStatus(ReadRequestState.SETTLED, this.numSettledReadHints);
37
37
  this.hints.settledReadHints[this.numSettledReadHints] = new SettledReadHint(readRequestIndex, membershipWitness, leafPreimage);
38
38
  this.numSettledReadHints++;
39
39
  }
@@ -1,18 +1,18 @@
1
1
  import { BufferReader, type Bufferable, type Tuple } from '@aztec/foundation/serialize';
2
2
  import { MembershipWitness } from '@aztec/foundation/trees';
3
- export declare enum ReadRequestActionEnum {
4
- SKIP = 0,
5
- READ_AS_PENDING = 1,
6
- READ_AS_SETTLED = 2
3
+ export declare enum ReadRequestState {
4
+ NADA = 0,
5
+ PENDING = 1,
6
+ SETTLED = 2
7
7
  }
8
- export declare class ReadRequestAction {
9
- action: ReadRequestActionEnum;
8
+ export declare class ReadRequestStatus {
9
+ state: ReadRequestState;
10
10
  hintIndex: number;
11
- constructor(action: ReadRequestActionEnum, hintIndex: number);
12
- static skip(): ReadRequestAction;
13
- static readAsPending(hintIndex: number): ReadRequestAction;
14
- static readAsSettled(hintIndex: number): ReadRequestAction;
15
- static fromBuffer(buffer: Buffer | BufferReader): ReadRequestAction;
11
+ constructor(state: ReadRequestState, hintIndex: number);
12
+ static nada(): ReadRequestStatus;
13
+ static pending(hintIndex: number): ReadRequestStatus;
14
+ static settled(hintIndex: number): ReadRequestStatus;
15
+ static fromBuffer(buffer: Buffer | BufferReader): ReadRequestStatus;
16
16
  toBuffer(): Buffer<ArrayBufferLike>;
17
17
  }
18
18
  export declare class PendingReadHint {
@@ -38,7 +38,7 @@ export declare class SettledReadHint<TREE_HEIGHT extends number, LEAF_PREIMAGE e
38
38
  * Hints for read request reset circuit.
39
39
  */
40
40
  export declare class ReadRequestResetHints<READ_REQUEST_LEN extends number, PENDING_READ_HINTS_LEN extends number, SETTLED_READ_HINTS_LEN extends number, TREE_HEIGHT extends number, LEAF_PREIMAGE extends Bufferable> {
41
- readRequestActions: Tuple<ReadRequestAction, READ_REQUEST_LEN>;
41
+ readRequestStatuses: Tuple<ReadRequestStatus, READ_REQUEST_LEN>;
42
42
  /**
43
43
  * The hints for read requests reading pending values.
44
44
  */
@@ -47,7 +47,7 @@ export declare class ReadRequestResetHints<READ_REQUEST_LEN extends number, PEND
47
47
  * The hints for read requests reading settled values.
48
48
  */
49
49
  settledReadHints: Tuple<SettledReadHint<TREE_HEIGHT, LEAF_PREIMAGE>, SETTLED_READ_HINTS_LEN>;
50
- constructor(readRequestActions: Tuple<ReadRequestAction, READ_REQUEST_LEN>,
50
+ constructor(readRequestStatuses: Tuple<ReadRequestStatus, READ_REQUEST_LEN>,
51
51
  /**
52
52
  * The hints for read requests reading pending values.
53
53
  */
@@ -67,10 +67,10 @@ export declare class ReadRequestResetHints<READ_REQUEST_LEN extends number, PEND
67
67
  }): ReadRequestResetHints<READ_REQUEST_LEN, PENDING_READ_HINTS_LEN, SETTLED_READ_HINTS_LEN, TREE_HEIGHT, LEAF_PREIMAGE>;
68
68
  toBuffer(): Buffer<ArrayBufferLike>;
69
69
  }
70
- export declare class ReadRequestResetActions<NUM_READS extends number> {
71
- actions: Tuple<ReadRequestActionEnum, NUM_READS>;
70
+ export declare class ReadRequestResetStates<NUM_READS extends number> {
71
+ states: Tuple<ReadRequestState, NUM_READS>;
72
72
  pendingReadHints: PendingReadHint[];
73
- constructor(actions: Tuple<ReadRequestActionEnum, NUM_READS>, pendingReadHints: PendingReadHint[]);
74
- static empty<NUM_READS extends number>(numReads: NUM_READS): ReadRequestResetActions<NUM_READS>;
73
+ constructor(states: Tuple<ReadRequestState, NUM_READS>, pendingReadHints: PendingReadHint[]);
74
+ static empty<NUM_READS extends number>(numReads: NUM_READS): ReadRequestResetStates<NUM_READS>;
75
75
  }
76
76
  //# sourceMappingURL=read_request_hints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/read_request_hints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,oBAAY,qBAAqB;IAC/B,IAAI,IAAI;IACR,eAAe,IAAI;IACnB,eAAe,IAAI;CACpB;AAED,qBAAa,iBAAiB;IAEnB,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,MAAM;gBADjB,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,MAAM;IAG1B,MAAM,CAAC,IAAI;IAIX,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAItC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAItC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ;CAGT;AAED,qBAAa,eAAe;IAEjB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,MAAM;gBADzB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM;IAGlC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM;IAIlC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ;CAGT;AAED,qBAAa,eAAe,CAAC,WAAW,SAAS,MAAM,EAAE,aAAa,SAAS,UAAU;IAE9E,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACjD,YAAY,EAAE,aAAa;gBAF3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,iBAAiB,CAAC,WAAW,CAAC,EACjD,YAAY,EAAE,aAAa;IAGpC,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,MAAM,EAAE,aAAa,SAAS,UAAU,EACtE,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,MAAM,aAAa;IAKxC,MAAM,CAAC,UAAU,CAAC,WAAW,SAAS,MAAM,EAAE,aAAa,SAAS,UAAU,EAC5E,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE;QAAE,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAA;KAAE,GAChE,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC;IAS9C,QAAQ;CAGT;AAED;;GAEG;AACH,qBAAa,qBAAqB,CAChC,gBAAgB,SAAS,MAAM,EAC/B,sBAAsB,SAAS,MAAM,EACrC,sBAAsB,SAAS,MAAM,EACrC,WAAW,SAAS,MAAM,EAC1B,aAAa,SAAS,UAAU;IAGvB,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IACrE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACvE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,sBAAsB,CAAC;gBAR5F,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IACrE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACvE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAGrG,WAAW,CAAC,0BAA0B,SAAS,MAAM,EAAE,0BAA0B,SAAS,MAAM,EAC9F,eAAe,EAAE,0BAA0B,EAC3C,eAAe,EAAE,0BAA0B,GAC1C,qBAAqB,CACtB,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,WAAW,EACX,aAAa,CACd;IAWD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CACf,gBAAgB,SAAS,MAAM,EAC/B,sBAAsB,SAAS,MAAM,EACrC,sBAAsB,SAAS,MAAM,EACrC,WAAW,SAAS,MAAM,EAC1B,aAAa,SAAS,UAAU,EAEhC,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,cAAc,EAAE,gBAAgB,EAChC,eAAe,EAAE,sBAAsB,EACvC,eAAe,EAAE,sBAAsB,EACvC,UAAU,EAAE,WAAW,EACvB,sBAAsB,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,aAAa,CAAA;KAAE,GAC9E,qBAAqB,CACtB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,aAAa,CACd;IAWD,QAAQ;CAGT;AAED,qBAAa,uBAAuB,CAAC,SAAS,SAAS,MAAM;IAElD,OAAO,EAAE,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC;IAChD,gBAAgB,EAAE,eAAe,EAAE;gBADnC,OAAO,EAAE,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAChD,gBAAgB,EAAE,eAAe,EAAE;IAG5C,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,QAAQ,EAAE,SAAS;CAM3D"}
1
+ {"version":3,"file":"read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/read_request_hints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IACR,OAAO,IAAI;IACX,OAAO,IAAI;CACZ;AAED,qBAAa,iBAAiB;IAEnB,KAAK,EAAE,gBAAgB;IACvB,SAAS,EAAE,MAAM;gBADjB,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM;IAG1B,MAAM,CAAC,IAAI;IAIX,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM;IAIhC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM;IAIhC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ;CAGT;AAED,qBAAa,eAAe;IAEjB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,MAAM;gBADzB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM;IAGlC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM;IAIlC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ;CAGT;AAED,qBAAa,eAAe,CAAC,WAAW,SAAS,MAAM,EAAE,aAAa,SAAS,UAAU;IAE9E,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACjD,YAAY,EAAE,aAAa;gBAF3B,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,iBAAiB,CAAC,WAAW,CAAC,EACjD,YAAY,EAAE,aAAa;IAGpC,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,MAAM,EAAE,aAAa,SAAS,UAAU,EACtE,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,MAAM,aAAa;IAKxC,MAAM,CAAC,UAAU,CAAC,WAAW,SAAS,MAAM,EAAE,aAAa,SAAS,UAAU,EAC5E,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE;QAAE,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAA;KAAE,GAChE,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC;IAS9C,QAAQ;CAGT;AAED;;GAEG;AACH,qBAAa,qBAAqB,CAChC,gBAAgB,SAAS,MAAM,EAC/B,sBAAsB,SAAS,MAAM,EACrC,sBAAsB,SAAS,MAAM,EACrC,WAAW,SAAS,MAAM,EAC1B,aAAa,SAAS,UAAU;IAGvB,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IACtE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACvE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,sBAAsB,CAAC;gBAR5F,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IACtE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACvE;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAGrG,WAAW,CAAC,0BAA0B,SAAS,MAAM,EAAE,0BAA0B,SAAS,MAAM,EAC9F,eAAe,EAAE,0BAA0B,EAC3C,eAAe,EAAE,0BAA0B,GAC1C,qBAAqB,CACtB,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,WAAW,EACX,aAAa,CACd;IAWD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CACf,gBAAgB,SAAS,MAAM,EAC/B,sBAAsB,SAAS,MAAM,EACrC,sBAAsB,SAAS,MAAM,EACrC,WAAW,SAAS,MAAM,EAC1B,aAAa,SAAS,UAAU,EAEhC,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,cAAc,EAAE,gBAAgB,EAChC,eAAe,EAAE,sBAAsB,EACvC,eAAe,EAAE,sBAAsB,EACvC,UAAU,EAAE,WAAW,EACvB,sBAAsB,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,aAAa,CAAA;KAAE,GAC9E,qBAAqB,CACtB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,aAAa,CACd;IAWD,QAAQ;CAGT;AAED,qBAAa,sBAAsB,CAAC,SAAS,SAAS,MAAM;IAEjD,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC;IAC1C,gBAAgB,EAAE,eAAe,EAAE;gBADnC,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC1C,gBAAgB,EAAE,eAAe,EAAE;IAG5C,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,QAAQ,EAAE,SAAS;CAM3D"}
@@ -1,34 +1,34 @@
1
1
  import { makeTuple } from '@aztec/foundation/array';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
  import { MembershipWitness } from '@aztec/foundation/trees';
4
- export var ReadRequestActionEnum = /*#__PURE__*/ function(ReadRequestActionEnum) {
5
- ReadRequestActionEnum[ReadRequestActionEnum["SKIP"] = 0] = "SKIP";
6
- ReadRequestActionEnum[ReadRequestActionEnum["READ_AS_PENDING"] = 1] = "READ_AS_PENDING";
7
- ReadRequestActionEnum[ReadRequestActionEnum["READ_AS_SETTLED"] = 2] = "READ_AS_SETTLED";
8
- return ReadRequestActionEnum;
4
+ export var ReadRequestState = /*#__PURE__*/ function(ReadRequestState) {
5
+ ReadRequestState[ReadRequestState["NADA"] = 0] = "NADA";
6
+ ReadRequestState[ReadRequestState["PENDING"] = 1] = "PENDING";
7
+ ReadRequestState[ReadRequestState["SETTLED"] = 2] = "SETTLED";
8
+ return ReadRequestState;
9
9
  }({});
10
- export class ReadRequestAction {
11
- action;
10
+ export class ReadRequestStatus {
11
+ state;
12
12
  hintIndex;
13
- constructor(action, hintIndex){
14
- this.action = action;
13
+ constructor(state, hintIndex){
14
+ this.state = state;
15
15
  this.hintIndex = hintIndex;
16
16
  }
17
- static skip() {
18
- return new ReadRequestAction(0, 0);
17
+ static nada() {
18
+ return new ReadRequestStatus(0, 0);
19
19
  }
20
- static readAsPending(hintIndex) {
21
- return new ReadRequestAction(1, hintIndex);
20
+ static pending(hintIndex) {
21
+ return new ReadRequestStatus(1, hintIndex);
22
22
  }
23
- static readAsSettled(hintIndex) {
24
- return new ReadRequestAction(2, hintIndex);
23
+ static settled(hintIndex) {
24
+ return new ReadRequestStatus(2, hintIndex);
25
25
  }
26
26
  static fromBuffer(buffer) {
27
27
  const reader = BufferReader.asReader(buffer);
28
- return new ReadRequestAction(reader.readNumber(), reader.readNumber());
28
+ return new ReadRequestStatus(reader.readNumber(), reader.readNumber());
29
29
  }
30
30
  toBuffer() {
31
- return serializeToBuffer(this.action, this.hintIndex);
31
+ return serializeToBuffer(this.state, this.hintIndex);
32
32
  }
33
33
  }
34
34
  export class PendingReadHint {
@@ -72,20 +72,20 @@ export class SettledReadHint {
72
72
  /**
73
73
  * Hints for read request reset circuit.
74
74
  */ export class ReadRequestResetHints {
75
- readRequestActions;
75
+ readRequestStatuses;
76
76
  pendingReadHints;
77
77
  settledReadHints;
78
- constructor(readRequestActions, /**
78
+ constructor(readRequestStatuses, /**
79
79
  * The hints for read requests reading pending values.
80
80
  */ pendingReadHints, /**
81
81
  * The hints for read requests reading settled values.
82
82
  */ settledReadHints){
83
- this.readRequestActions = readRequestActions;
83
+ this.readRequestStatuses = readRequestStatuses;
84
84
  this.pendingReadHints = pendingReadHints;
85
85
  this.settledReadHints = settledReadHints;
86
86
  }
87
87
  trimToSizes(numPendingReads, numSettledReads) {
88
- return new ReadRequestResetHints(this.readRequestActions, this.pendingReadHints.slice(0, numPendingReads), this.settledReadHints.slice(0, numSettledReads));
88
+ return new ReadRequestResetHints(this.readRequestStatuses, this.pendingReadHints.slice(0, numPendingReads), this.settledReadHints.slice(0, numSettledReads));
89
89
  }
90
90
  /**
91
91
  * Deserializes from a buffer or reader.
@@ -93,22 +93,22 @@ export class SettledReadHint {
93
93
  * @returns The deserialized instance.
94
94
  */ static fromBuffer(buffer, readRequestLen, numPendingReads, numSettledReads, treeHeight, leafPreimageFromBuffer) {
95
95
  const reader = BufferReader.asReader(buffer);
96
- return new ReadRequestResetHints(reader.readArray(readRequestLen, ReadRequestAction), reader.readArray(numPendingReads, PendingReadHint), reader.readArray(numSettledReads, {
96
+ return new ReadRequestResetHints(reader.readArray(readRequestLen, ReadRequestStatus), reader.readArray(numPendingReads, PendingReadHint), reader.readArray(numSettledReads, {
97
97
  fromBuffer: (r)=>SettledReadHint.fromBuffer(r, treeHeight, leafPreimageFromBuffer)
98
98
  }));
99
99
  }
100
100
  toBuffer() {
101
- return serializeToBuffer(this.readRequestActions, this.pendingReadHints, this.settledReadHints);
101
+ return serializeToBuffer(this.readRequestStatuses, this.pendingReadHints, this.settledReadHints);
102
102
  }
103
103
  }
104
- export class ReadRequestResetActions {
105
- actions;
104
+ export class ReadRequestResetStates {
105
+ states;
106
106
  pendingReadHints;
107
- constructor(actions, pendingReadHints){
108
- this.actions = actions;
107
+ constructor(states, pendingReadHints){
108
+ this.states = states;
109
109
  this.pendingReadHints = pendingReadHints;
110
110
  }
111
111
  static empty(numReads) {
112
- return new ReadRequestResetActions(makeTuple(numReads, ()=>0), []);
112
+ return new ReadRequestResetStates(makeTuple(numReads, ()=>0), []);
113
113
  }
114
114
  }
@@ -0,0 +1,34 @@
1
+ import type { Fr } from '@aztec/foundation/fields';
2
+ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
3
+ import type { FieldsOf } from '@aztec/foundation/types';
4
+ import { IncludeByTimestamp } from '../../tx/include_by_timestamp.js';
5
+ /**
6
+ * Validation requests directed at the rollup, accumulated during the execution of the transaction.
7
+ */
8
+ export declare class RollupValidationRequests {
9
+ /** The highest timestamp of a block in which this transaction can still be included. */
10
+ includeByTimestamp: IncludeByTimestamp;
11
+ constructor(
12
+ /** The highest timestamp of a block in which this transaction can still be included. */
13
+ includeByTimestamp: IncludeByTimestamp);
14
+ getSize(): number;
15
+ toBuffer(): Buffer<ArrayBufferLike>;
16
+ toString(): `0x${string}`;
17
+ static getFields(fields: FieldsOf<RollupValidationRequests>): readonly [IncludeByTimestamp];
18
+ static fromFields(fields: Fr[] | FieldReader): RollupValidationRequests;
19
+ toFields(): Fr[];
20
+ /**
21
+ * Deserializes from a buffer or reader, corresponding to a write in cpp.
22
+ * @param buffer - Buffer or reader to read from.
23
+ * @returns Deserialized object.
24
+ */
25
+ static fromBuffer(buffer: Buffer | BufferReader): RollupValidationRequests;
26
+ /**
27
+ * Deserializes from a string, corresponding to a write in cpp.
28
+ * @param str - String to read from.
29
+ * @returns Deserialized object.
30
+ */
31
+ static fromString(str: string): RollupValidationRequests;
32
+ static empty(): RollupValidationRequests;
33
+ }
34
+ //# sourceMappingURL=rollup_validation_requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollup_validation_requests.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/rollup_validation_requests.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;GAEG;AACH,qBAAa,wBAAwB;IAEjC,wFAAwF;IACjF,kBAAkB,EAAE,kBAAkB;;IAD7C,wFAAwF;IACjF,kBAAkB,EAAE,kBAAkB;IAG/C,OAAO;IAIP,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,wBAAwB,CAAC;IAI3D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C,QAAQ,IAAI,EAAE,EAAE;IAUhB;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,MAAM,CAAC,KAAK;CAGb"}
@@ -0,0 +1,55 @@
1
+ import { ROLLUP_VALIDATION_REQUESTS_LENGTH } from '@aztec/constants';
2
+ import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
3
+ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
4
+ import { IncludeByTimestamp } from '../../tx/include_by_timestamp.js';
5
+ /**
6
+ * Validation requests directed at the rollup, accumulated during the execution of the transaction.
7
+ */ export class RollupValidationRequests {
8
+ includeByTimestamp;
9
+ constructor(/** The highest timestamp of a block in which this transaction can still be included. */ includeByTimestamp){
10
+ this.includeByTimestamp = includeByTimestamp;
11
+ }
12
+ getSize() {
13
+ return this.toBuffer().length;
14
+ }
15
+ toBuffer() {
16
+ return serializeToBuffer(this.includeByTimestamp);
17
+ }
18
+ toString() {
19
+ return bufferToHex(this.toBuffer());
20
+ }
21
+ static getFields(fields) {
22
+ return [
23
+ fields.includeByTimestamp
24
+ ];
25
+ }
26
+ static fromFields(fields) {
27
+ const reader = FieldReader.asReader(fields);
28
+ return new RollupValidationRequests(IncludeByTimestamp.fromFields(reader));
29
+ }
30
+ toFields() {
31
+ const fields = serializeToFields(...RollupValidationRequests.getFields(this));
32
+ if (fields.length !== ROLLUP_VALIDATION_REQUESTS_LENGTH) {
33
+ throw new Error(`Invalid number of fields for RollupValidationRequests. Expected ${ROLLUP_VALIDATION_REQUESTS_LENGTH}, got ${fields.length}`);
34
+ }
35
+ return fields;
36
+ }
37
+ /**
38
+ * Deserializes from a buffer or reader, corresponding to a write in cpp.
39
+ * @param buffer - Buffer or reader to read from.
40
+ * @returns Deserialized object.
41
+ */ static fromBuffer(buffer) {
42
+ const reader = BufferReader.asReader(buffer);
43
+ return new RollupValidationRequests(reader.readObject(IncludeByTimestamp));
44
+ }
45
+ /**
46
+ * Deserializes from a string, corresponding to a write in cpp.
47
+ * @param str - String to read from.
48
+ * @returns Deserialized object.
49
+ */ static fromString(str) {
50
+ return RollupValidationRequests.fromBuffer(hexToBuffer(str));
51
+ }
52
+ static empty() {
53
+ return new RollupValidationRequests(IncludeByTimestamp.empty());
54
+ }
55
+ }
@@ -1,4 +1,3 @@
1
- export * from './claimed_length_array.js';
2
1
  export * from './private_to_rollup_accumulated_data.js';
3
2
  export * from './private_to_rollup_kernel_circuit_public_inputs.js';
4
3
  export * from './private_accumulated_data.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qDAAqD,CAAC;AACpE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,iDAAiD,CAAC;AAChE,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oCAAoC,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,qDAAqD,CAAC;AACpE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,iDAAiD,CAAC;AAChE,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AACjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oCAAoC,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './claimed_length_array.js';
2
1
  export * from './private_to_rollup_accumulated_data.js';
3
2
  export * from './private_to_rollup_kernel_circuit_public_inputs.js';
4
3
  export * from './private_accumulated_data.js';