@aztec/archiver 0.0.0-test.1 → 0.0.1-commit.1142ef1

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 (151) hide show
  1. package/README.md +27 -6
  2. package/dest/archiver/archiver.d.ts +204 -94
  3. package/dest/archiver/archiver.d.ts.map +1 -1
  4. package/dest/archiver/archiver.js +1616 -414
  5. package/dest/archiver/archiver_store.d.ts +178 -83
  6. package/dest/archiver/archiver_store.d.ts.map +1 -1
  7. package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
  8. package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
  9. package/dest/archiver/archiver_store_test_suite.js +2373 -397
  10. package/dest/archiver/config.d.ts +7 -22
  11. package/dest/archiver/config.d.ts.map +1 -1
  12. package/dest/archiver/config.js +30 -14
  13. package/dest/archiver/errors.d.ts +33 -1
  14. package/dest/archiver/errors.d.ts.map +1 -1
  15. package/dest/archiver/errors.js +49 -0
  16. package/dest/archiver/index.d.ts +3 -4
  17. package/dest/archiver/index.d.ts.map +1 -1
  18. package/dest/archiver/index.js +1 -2
  19. package/dest/archiver/instrumentation.d.ts +14 -6
  20. package/dest/archiver/instrumentation.d.ts.map +1 -1
  21. package/dest/archiver/instrumentation.js +45 -41
  22. package/dest/archiver/kv_archiver_store/block_store.d.ts +98 -21
  23. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
  24. package/dest/archiver/kv_archiver_store/block_store.js +495 -86
  25. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +4 -4
  26. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
  27. package/dest/archiver/kv_archiver_store/contract_class_store.js +13 -19
  28. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +12 -9
  29. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
  30. package/dest/archiver/kv_archiver_store/contract_instance_store.js +30 -16
  31. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +81 -75
  32. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  33. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +145 -83
  34. package/dest/archiver/kv_archiver_store/log_store.d.ts +12 -16
  35. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
  36. package/dest/archiver/kv_archiver_store/log_store.js +151 -114
  37. package/dest/archiver/kv_archiver_store/message_store.d.ts +25 -18
  38. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
  39. package/dest/archiver/kv_archiver_store/message_store.js +152 -49
  40. package/dest/archiver/l1/bin/retrieve-calldata.d.ts +3 -0
  41. package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +1 -0
  42. package/dest/archiver/l1/bin/retrieve-calldata.js +149 -0
  43. package/dest/archiver/l1/calldata_retriever.d.ts +112 -0
  44. package/dest/archiver/l1/calldata_retriever.d.ts.map +1 -0
  45. package/dest/archiver/l1/calldata_retriever.js +471 -0
  46. package/dest/archiver/l1/data_retrieval.d.ts +90 -0
  47. package/dest/archiver/l1/data_retrieval.d.ts.map +1 -0
  48. package/dest/archiver/l1/data_retrieval.js +331 -0
  49. package/dest/archiver/l1/debug_tx.d.ts +19 -0
  50. package/dest/archiver/l1/debug_tx.d.ts.map +1 -0
  51. package/dest/archiver/l1/debug_tx.js +73 -0
  52. package/dest/archiver/l1/spire_proposer.d.ts +70 -0
  53. package/dest/archiver/l1/spire_proposer.d.ts.map +1 -0
  54. package/dest/archiver/l1/spire_proposer.js +157 -0
  55. package/dest/archiver/l1/trace_tx.d.ts +97 -0
  56. package/dest/archiver/l1/trace_tx.d.ts.map +1 -0
  57. package/dest/archiver/l1/trace_tx.js +91 -0
  58. package/dest/archiver/l1/types.d.ts +12 -0
  59. package/dest/archiver/l1/types.d.ts.map +1 -0
  60. package/dest/archiver/l1/types.js +3 -0
  61. package/dest/archiver/l1/validate_trace.d.ts +29 -0
  62. package/dest/archiver/l1/validate_trace.d.ts.map +1 -0
  63. package/dest/archiver/l1/validate_trace.js +150 -0
  64. package/dest/archiver/structs/data_retrieval.d.ts +1 -1
  65. package/dest/archiver/structs/inbox_message.d.ts +15 -0
  66. package/dest/archiver/structs/inbox_message.d.ts.map +1 -0
  67. package/dest/archiver/structs/inbox_message.js +39 -0
  68. package/dest/archiver/structs/published.d.ts +2 -11
  69. package/dest/archiver/structs/published.d.ts.map +1 -1
  70. package/dest/archiver/structs/published.js +1 -1
  71. package/dest/archiver/validation.d.ts +17 -0
  72. package/dest/archiver/validation.d.ts.map +1 -0
  73. package/dest/archiver/validation.js +98 -0
  74. package/dest/factory.d.ts +9 -14
  75. package/dest/factory.d.ts.map +1 -1
  76. package/dest/factory.js +22 -52
  77. package/dest/index.d.ts +2 -2
  78. package/dest/index.d.ts.map +1 -1
  79. package/dest/index.js +1 -1
  80. package/dest/rpc/index.d.ts +2 -3
  81. package/dest/rpc/index.d.ts.map +1 -1
  82. package/dest/rpc/index.js +1 -4
  83. package/dest/test/index.d.ts +1 -1
  84. package/dest/test/mock_archiver.d.ts +16 -8
  85. package/dest/test/mock_archiver.d.ts.map +1 -1
  86. package/dest/test/mock_archiver.js +19 -14
  87. package/dest/test/mock_l1_to_l2_message_source.d.ts +9 -6
  88. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  89. package/dest/test/mock_l1_to_l2_message_source.js +30 -7
  90. package/dest/test/mock_l2_block_source.d.ts +56 -13
  91. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  92. package/dest/test/mock_l2_block_source.js +196 -25
  93. package/dest/test/mock_structs.d.ts +10 -0
  94. package/dest/test/mock_structs.d.ts.map +1 -0
  95. package/dest/test/mock_structs.js +38 -0
  96. package/package.json +29 -30
  97. package/src/archiver/archiver.ts +1596 -512
  98. package/src/archiver/archiver_store.ts +205 -88
  99. package/src/archiver/archiver_store_test_suite.ts +2386 -354
  100. package/src/archiver/config.ts +38 -46
  101. package/src/archiver/errors.ts +85 -0
  102. package/src/archiver/index.ts +2 -3
  103. package/src/archiver/instrumentation.ts +65 -45
  104. package/src/archiver/kv_archiver_store/block_store.ts +668 -101
  105. package/src/archiver/kv_archiver_store/contract_class_store.ts +14 -24
  106. package/src/archiver/kv_archiver_store/contract_instance_store.ts +36 -28
  107. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +197 -113
  108. package/src/archiver/kv_archiver_store/log_store.ts +204 -132
  109. package/src/archiver/kv_archiver_store/message_store.ts +213 -54
  110. package/src/archiver/l1/README.md +98 -0
  111. package/src/archiver/l1/bin/retrieve-calldata.ts +182 -0
  112. package/src/archiver/l1/calldata_retriever.ts +641 -0
  113. package/src/archiver/l1/data_retrieval.ts +512 -0
  114. package/src/archiver/l1/debug_tx.ts +99 -0
  115. package/src/archiver/l1/spire_proposer.ts +160 -0
  116. package/src/archiver/l1/trace_tx.ts +128 -0
  117. package/src/archiver/l1/types.ts +13 -0
  118. package/src/archiver/l1/validate_trace.ts +211 -0
  119. package/src/archiver/structs/inbox_message.ts +41 -0
  120. package/src/archiver/structs/published.ts +1 -11
  121. package/src/archiver/validation.ts +124 -0
  122. package/src/factory.ts +28 -69
  123. package/src/index.ts +1 -1
  124. package/src/rpc/index.ts +1 -5
  125. package/src/test/fixtures/debug_traceTransaction-multicall3.json +88 -0
  126. package/src/test/fixtures/debug_traceTransaction-multiplePropose.json +153 -0
  127. package/src/test/fixtures/debug_traceTransaction-proxied.json +122 -0
  128. package/src/test/fixtures/trace_transaction-multicall3.json +65 -0
  129. package/src/test/fixtures/trace_transaction-multiplePropose.json +319 -0
  130. package/src/test/fixtures/trace_transaction-proxied.json +128 -0
  131. package/src/test/fixtures/trace_transaction-randomRevert.json +216 -0
  132. package/src/test/mock_archiver.ts +22 -16
  133. package/src/test/mock_l1_to_l2_message_source.ts +26 -8
  134. package/src/test/mock_l2_block_source.ts +254 -31
  135. package/src/test/mock_structs.ts +50 -0
  136. package/dest/archiver/data_retrieval.d.ts +0 -74
  137. package/dest/archiver/data_retrieval.d.ts.map +0 -1
  138. package/dest/archiver/data_retrieval.js +0 -283
  139. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +0 -12
  140. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +0 -1
  141. package/dest/archiver/kv_archiver_store/nullifier_store.js +0 -73
  142. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +0 -23
  143. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +0 -1
  144. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.js +0 -49
  145. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +0 -175
  146. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +0 -1
  147. package/dest/archiver/memory_archiver_store/memory_archiver_store.js +0 -636
  148. package/src/archiver/data_retrieval.ts +0 -422
  149. package/src/archiver/kv_archiver_store/nullifier_store.ts +0 -97
  150. package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +0 -61
  151. package/src/archiver/memory_archiver_store/memory_archiver_store.ts +0 -801
@@ -0,0 +1,216 @@
1
+ [
2
+ {
3
+ "action": {
4
+ "from": "0x28c6c06298d514db089934071355e5743bf21d60",
5
+ "callType": "call",
6
+ "gas": "0x5f1fc",
7
+ "input": "0x34fcd5be0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000a587116d5cf08e53bd75f3a0a434bf06671098590000000000000000000000000000000000000000000000000000000029a6d78000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000009f863dfdb5df33fe5f87601b8d2f23c816d5fde8000000000000000000000000000000000000000000000000000000000b7ff86f00000000000000000000000000000000000000000000000000000000",
8
+ "to": "0xee7ae85f2fe2239e27d9c1e23fffe168d63b4055",
9
+ "value": "0x0"
10
+ },
11
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
12
+ "blockNumber": 23934803,
13
+ "result": {
14
+ "gasUsed": "0x15b9b",
15
+ "output": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001"
16
+ },
17
+ "subtraces": 1,
18
+ "traceAddress": [],
19
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
20
+ "transactionPosition": 333,
21
+ "type": "call"
22
+ },
23
+ {
24
+ "action": {
25
+ "from": "0xee7ae85f2fe2239e27d9c1e23fffe168d63b4055",
26
+ "callType": "delegatecall",
27
+ "gas": "0x5c75c",
28
+ "input": "0x34fcd5be0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000a587116d5cf08e53bd75f3a0a434bf06671098590000000000000000000000000000000000000000000000000000000029a6d78000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000009f863dfdb5df33fe5f87601b8d2f23c816d5fde8000000000000000000000000000000000000000000000000000000000b7ff86f00000000000000000000000000000000000000000000000000000000",
29
+ "to": "0xd206ac7fef53d83ed4563e770b28dba90d0d9ec8",
30
+ "value": "0x0"
31
+ },
32
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
33
+ "blockNumber": 23934803,
34
+ "result": {
35
+ "gasUsed": "0x1483e",
36
+ "output": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001"
37
+ },
38
+ "subtraces": 4,
39
+ "traceAddress": [0],
40
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
41
+ "transactionPosition": 333,
42
+ "type": "call"
43
+ },
44
+ {
45
+ "action": {
46
+ "from": "0xee7ae85f2fe2239e27d9c1e23fffe168d63b4055",
47
+ "callType": "staticcall",
48
+ "gas": "0x7530",
49
+ "input": "0x01ffc9a701ffc9a700000000000000000000000000000000000000000000000000000000",
50
+ "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
51
+ "value": "0x0"
52
+ },
53
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
54
+ "blockNumber": 23934803,
55
+ "error": "Reverted",
56
+ "result": {
57
+ "gasUsed": "0x1d64",
58
+ "output": "0x"
59
+ },
60
+ "subtraces": 1,
61
+ "traceAddress": [0, 0],
62
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
63
+ "transactionPosition": 333,
64
+ "type": "call"
65
+ },
66
+ {
67
+ "action": {
68
+ "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
69
+ "callType": "delegatecall",
70
+ "gas": "0x5783",
71
+ "input": "0x01ffc9a701ffc9a700000000000000000000000000000000000000000000000000000000",
72
+ "to": "0x43506849d7c04f9138d1a2050bbf3a0c054402dd",
73
+ "value": "0x0"
74
+ },
75
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
76
+ "blockNumber": 23934803,
77
+ "error": "Reverted",
78
+ "result": {
79
+ "gasUsed": "0xf0",
80
+ "output": "0x"
81
+ },
82
+ "subtraces": 0,
83
+ "traceAddress": [0, 0, 0],
84
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
85
+ "transactionPosition": 333,
86
+ "type": "call"
87
+ },
88
+ {
89
+ "action": {
90
+ "from": "0xee7ae85f2fe2239e27d9c1e23fffe168d63b4055",
91
+ "callType": "call",
92
+ "gas": "0x541ba",
93
+ "input": "0xa9059cbb000000000000000000000000a587116d5cf08e53bd75f3a0a434bf06671098590000000000000000000000000000000000000000000000000000000029a6d780",
94
+ "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
95
+ "value": "0x0"
96
+ },
97
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
98
+ "blockNumber": 23934803,
99
+ "result": {
100
+ "gasUsed": "0x9ecc",
101
+ "output": "0x0000000000000000000000000000000000000000000000000000000000000001"
102
+ },
103
+ "subtraces": 1,
104
+ "traceAddress": [0, 1],
105
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
106
+ "transactionPosition": 333,
107
+ "type": "call"
108
+ },
109
+ {
110
+ "action": {
111
+ "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
112
+ "callType": "delegatecall",
113
+ "gas": "0x510d8",
114
+ "input": "0xa9059cbb000000000000000000000000a587116d5cf08e53bd75f3a0a434bf06671098590000000000000000000000000000000000000000000000000000000029a6d780",
115
+ "to": "0x43506849d7c04f9138d1a2050bbf3a0c054402dd",
116
+ "value": "0x0"
117
+ },
118
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
119
+ "blockNumber": 23934803,
120
+ "result": {
121
+ "gasUsed": "0x8253",
122
+ "output": "0x0000000000000000000000000000000000000000000000000000000000000001"
123
+ },
124
+ "subtraces": 0,
125
+ "traceAddress": [0, 1, 0],
126
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
127
+ "transactionPosition": 333,
128
+ "type": "call"
129
+ },
130
+ {
131
+ "action": {
132
+ "from": "0xee7ae85f2fe2239e27d9c1e23fffe168d63b4055",
133
+ "callType": "staticcall",
134
+ "gas": "0x7530",
135
+ "input": "0x01ffc9a701ffc9a700000000000000000000000000000000000000000000000000000000",
136
+ "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
137
+ "value": "0x0"
138
+ },
139
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
140
+ "blockNumber": 23934803,
141
+ "error": "Reverted",
142
+ "result": {
143
+ "gasUsed": "0x400",
144
+ "output": "0x"
145
+ },
146
+ "subtraces": 1,
147
+ "traceAddress": [0, 2],
148
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
149
+ "transactionPosition": 333,
150
+ "type": "call"
151
+ },
152
+ {
153
+ "action": {
154
+ "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
155
+ "callType": "delegatecall",
156
+ "gas": "0x7081",
157
+ "input": "0x01ffc9a701ffc9a700000000000000000000000000000000000000000000000000000000",
158
+ "to": "0x43506849d7c04f9138d1a2050bbf3a0c054402dd",
159
+ "value": "0x0"
160
+ },
161
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
162
+ "blockNumber": 23934803,
163
+ "error": "Reverted",
164
+ "result": {
165
+ "gasUsed": "0xf0",
166
+ "output": "0x"
167
+ },
168
+ "subtraces": 0,
169
+ "traceAddress": [0, 2, 0],
170
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
171
+ "transactionPosition": 333,
172
+ "type": "call"
173
+ },
174
+ {
175
+ "action": {
176
+ "from": "0xee7ae85f2fe2239e27d9c1e23fffe168d63b4055",
177
+ "callType": "call",
178
+ "gas": "0x4997e",
179
+ "input": "0xa9059cbb0000000000000000000000009f863dfdb5df33fe5f87601b8d2f23c816d5fde8000000000000000000000000000000000000000000000000000000000b7ff86f",
180
+ "to": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
181
+ "value": "0x0"
182
+ },
183
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
184
+ "blockNumber": 23934803,
185
+ "result": {
186
+ "gasUsed": "0x280c",
187
+ "output": "0x0000000000000000000000000000000000000000000000000000000000000001"
188
+ },
189
+ "subtraces": 1,
190
+ "traceAddress": [0, 3],
191
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
192
+ "transactionPosition": 333,
193
+ "type": "call"
194
+ },
195
+ {
196
+ "action": {
197
+ "from": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
198
+ "callType": "delegatecall",
199
+ "gas": "0x4843b",
200
+ "input": "0xa9059cbb0000000000000000000000009f863dfdb5df33fe5f87601b8d2f23c816d5fde8000000000000000000000000000000000000000000000000000000000b7ff86f",
201
+ "to": "0x43506849d7c04f9138d1a2050bbf3a0c054402dd",
202
+ "value": "0x0"
203
+ },
204
+ "blockHash": "0x5c463f21273435fbe71ab85a203ce4566e8f0d83deafcc757913ac2b5839367d",
205
+ "blockNumber": 23934803,
206
+ "result": {
207
+ "gasUsed": "0x24f7",
208
+ "output": "0x0000000000000000000000000000000000000000000000000000000000000001"
209
+ },
210
+ "subtraces": 0,
211
+ "traceAddress": [0, 3, 0],
212
+ "transactionHash": "0x622c1ca0d4c20a4d58f4111bf24cafa633318ededb24819ee3d977a73b1a1ff9",
213
+ "transactionPosition": 333,
214
+ "type": "call"
215
+ }
216
+ ]
@@ -1,5 +1,7 @@
1
- import type { Fr } from '@aztec/foundation/fields';
2
- import type { L2Block, L2BlockSource } from '@aztec/stdlib/block';
1
+ import type { CheckpointNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { L2Block, type L2BlockSource } from '@aztec/stdlib/block';
4
+ import type { Checkpoint } from '@aztec/stdlib/checkpoint';
3
5
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
4
6
 
5
7
  import { MockL1ToL2MessageSource } from './mock_l1_to_l2_message_source.js';
@@ -11,12 +13,12 @@ import { MockL2BlockSource } from './mock_l2_block_source.js';
11
13
  export class MockArchiver extends MockL2BlockSource implements L2BlockSource, L1ToL2MessageSource {
12
14
  private messageSource = new MockL1ToL2MessageSource(0);
13
15
 
14
- public setL1ToL2Messages(blockNumber: number, msgs: Fr[]) {
15
- this.messageSource.setL1ToL2Messages(blockNumber, msgs);
16
+ public setL1ToL2Messages(checkpointNumber: CheckpointNumber, msgs: Fr[]) {
17
+ this.messageSource.setL1ToL2Messages(checkpointNumber, msgs);
16
18
  }
17
19
 
18
- getL1ToL2Messages(blockNumber: bigint): Promise<Fr[]> {
19
- return this.messageSource.getL1ToL2Messages(blockNumber);
20
+ getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]> {
21
+ return this.messageSource.getL1ToL2Messages(checkpointNumber);
20
22
  }
21
23
 
22
24
  getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined> {
@@ -28,30 +30,34 @@ export class MockArchiver extends MockL2BlockSource implements L2BlockSource, L1
28
30
  * A mocked implementation of the archiver with a set of precomputed blocks and messages.
29
31
  */
30
32
  export class MockPrefilledArchiver extends MockArchiver {
31
- private precomputed: L2Block[];
33
+ private prefilled: Checkpoint[] = [];
32
34
 
33
- constructor(precomputed: L2Block[], messages: Fr[][]) {
35
+ constructor(prefilled: { checkpoint: Checkpoint; messages: Fr[] }[]) {
34
36
  super();
35
- this.precomputed = precomputed.slice();
36
- messages.forEach((msgs, i) => this.setL1ToL2Messages(i + 1, msgs));
37
+ this.setPrefilled(prefilled);
37
38
  }
38
39
 
39
- public setPrefilledBlocks(blocks: L2Block[], messages: Fr[][]) {
40
- for (const block of blocks) {
41
- this.precomputed[block.number - 1] = block;
40
+ public setPrefilled(prefilled: { checkpoint: Checkpoint; messages: Fr[] }[]) {
41
+ for (const { checkpoint, messages } of prefilled) {
42
+ this.prefilled[checkpoint.number - 1] = checkpoint;
43
+ if (checkpoint.blocks.length !== 1) {
44
+ throw new Error('Prefilled checkpoint must only have 1 block at the moment.');
45
+ }
46
+ this.setL1ToL2Messages(checkpoint.number, messages);
42
47
  }
43
- messages.forEach((msgs, i) => this.setL1ToL2Messages(blocks[i].number, msgs));
44
48
  }
45
49
 
46
50
  public override createBlocks(numBlocks: number) {
47
- if (this.l2Blocks.length + numBlocks > this.precomputed.length) {
51
+ const flattenedBlocks = this.prefilled.flatMap(c => c.blocks);
52
+ if (this.l2Blocks.length + numBlocks > flattenedBlocks.length) {
48
53
  throw new Error(
49
54
  `Not enough precomputed blocks to create ${numBlocks} more blocks (already at ${this.l2Blocks.length})`,
50
55
  );
51
56
  }
52
57
 
53
58
  const fromBlock = this.l2Blocks.length;
54
- this.addBlocks(this.precomputed.slice(fromBlock, fromBlock + numBlocks));
59
+ // TODO: Add L2 blocks and checkpoints separately once archiver has the apis for that.
60
+ this.addBlocks(this.prefilled.slice(fromBlock, fromBlock + numBlocks).map(c => L2Block.fromCheckpoint(c)));
55
61
  return Promise.resolve();
56
62
  }
57
63
  }
@@ -1,31 +1,49 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { CheckpointId, L2BlockId, L2TipId, L2Tips } from '@aztec/stdlib/block';
2
4
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
3
5
 
4
6
  /**
5
7
  * A mocked implementation of L1ToL2MessageSource to be used in tests.
6
8
  */
7
9
  export class MockL1ToL2MessageSource implements L1ToL2MessageSource {
8
- private messagesPerBlock = new Map<number, Fr[]>();
10
+ private messagesPerCheckpoint = new Map<CheckpointNumber, Fr[]>();
9
11
 
10
12
  constructor(private blockNumber: number) {}
11
13
 
12
- public setL1ToL2Messages(blockNumber: number, msgs: Fr[]) {
13
- this.messagesPerBlock.set(blockNumber, msgs);
14
+ public setL1ToL2Messages(checkpointNumber: CheckpointNumber, msgs: Fr[]) {
15
+ this.messagesPerCheckpoint.set(checkpointNumber, msgs);
14
16
  }
15
17
 
16
18
  public setBlockNumber(blockNumber: number) {
17
19
  this.blockNumber = blockNumber;
18
20
  }
19
21
 
20
- getL1ToL2Messages(blockNumber: bigint): Promise<Fr[]> {
21
- return Promise.resolve(this.messagesPerBlock.get(Number(blockNumber)) ?? []);
22
+ getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]> {
23
+ return Promise.resolve(this.messagesPerCheckpoint.get(checkpointNumber) ?? []);
22
24
  }
23
25
 
24
26
  getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined> {
25
27
  throw new Error('Method not implemented.');
26
28
  }
27
29
 
28
- getBlockNumber(): Promise<number> {
29
- return Promise.resolve(this.blockNumber);
30
+ getBlockNumber() {
31
+ return Promise.resolve(BlockNumber(this.blockNumber));
32
+ }
33
+
34
+ getL2Tips(): Promise<L2Tips> {
35
+ const number = this.blockNumber;
36
+ const blockId: L2BlockId = { number: BlockNumber(number), hash: new Fr(number).toString() };
37
+ const checkpointId: CheckpointId = {
38
+ number: CheckpointNumber(number),
39
+ hash: new Fr(number + 1).toString(),
40
+ };
41
+ const tip: L2TipId = { block: blockId, checkpoint: checkpointId };
42
+ return Promise.resolve({
43
+ proposed: blockId,
44
+ checkpointed: tip,
45
+ proven: tip,
46
+ finalized: tip,
47
+ });
30
48
  }
31
49
  }