@aztec/archiver 0.0.1-commit.c7c42ec → 0.0.1-commit.c949de6bc

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 (204) hide show
  1. package/README.md +156 -22
  2. package/dest/archiver.d.ts +139 -0
  3. package/dest/archiver.d.ts.map +1 -0
  4. package/dest/archiver.js +699 -0
  5. package/dest/{archiver/config.d.ts → config.d.ts} +9 -1
  6. package/dest/config.d.ts.map +1 -0
  7. package/dest/{archiver/config.js → config.js} +11 -2
  8. package/dest/errors.d.ts +41 -0
  9. package/dest/errors.d.ts.map +1 -0
  10. package/dest/{archiver/errors.js → errors.js} +8 -0
  11. package/dest/factory.d.ts +9 -7
  12. package/dest/factory.d.ts.map +1 -1
  13. package/dest/factory.js +91 -11
  14. package/dest/index.d.ts +11 -4
  15. package/dest/index.d.ts.map +1 -1
  16. package/dest/index.js +9 -3
  17. package/dest/interfaces.d.ts +9 -0
  18. package/dest/interfaces.d.ts.map +1 -0
  19. package/dest/interfaces.js +3 -0
  20. package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.d.ts +1 -1
  21. package/dest/l1/bin/retrieve-calldata.d.ts.map +1 -0
  22. package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.js +35 -32
  23. package/dest/l1/calldata_retriever.d.ts +135 -0
  24. package/dest/l1/calldata_retriever.d.ts.map +1 -0
  25. package/dest/l1/calldata_retriever.js +402 -0
  26. package/dest/l1/data_retrieval.d.ts +88 -0
  27. package/dest/l1/data_retrieval.d.ts.map +1 -0
  28. package/dest/{archiver/l1 → l1}/data_retrieval.js +54 -71
  29. package/dest/{archiver/l1 → l1}/debug_tx.d.ts +1 -1
  30. package/dest/l1/debug_tx.d.ts.map +1 -0
  31. package/dest/{archiver/l1 → l1}/spire_proposer.d.ts +5 -5
  32. package/dest/l1/spire_proposer.d.ts.map +1 -0
  33. package/dest/{archiver/l1 → l1}/spire_proposer.js +9 -17
  34. package/dest/{archiver/l1 → l1}/trace_tx.d.ts +1 -1
  35. package/dest/l1/trace_tx.d.ts.map +1 -0
  36. package/dest/l1/types.d.ts +12 -0
  37. package/dest/l1/types.d.ts.map +1 -0
  38. package/dest/{archiver/l1 → l1}/validate_trace.d.ts +6 -3
  39. package/dest/l1/validate_trace.d.ts.map +1 -0
  40. package/dest/{archiver/l1 → l1}/validate_trace.js +14 -10
  41. package/dest/modules/data_source_base.d.ts +89 -0
  42. package/dest/modules/data_source_base.d.ts.map +1 -0
  43. package/dest/modules/data_source_base.js +216 -0
  44. package/dest/modules/data_store_updater.d.ts +80 -0
  45. package/dest/modules/data_store_updater.d.ts.map +1 -0
  46. package/dest/modules/data_store_updater.js +323 -0
  47. package/dest/modules/instrumentation.d.ts +50 -0
  48. package/dest/modules/instrumentation.d.ts.map +1 -0
  49. package/dest/{archiver → modules}/instrumentation.js +44 -68
  50. package/dest/modules/l1_synchronizer.d.ts +71 -0
  51. package/dest/modules/l1_synchronizer.d.ts.map +1 -0
  52. package/dest/modules/l1_synchronizer.js +1117 -0
  53. package/dest/modules/validation.d.ts +17 -0
  54. package/dest/modules/validation.d.ts.map +1 -0
  55. package/dest/{archiver → modules}/validation.js +7 -1
  56. package/dest/store/block_store.d.ts +196 -0
  57. package/dest/store/block_store.d.ts.map +1 -0
  58. package/dest/{archiver/kv_archiver_store → store}/block_store.js +228 -62
  59. package/dest/store/contract_class_store.d.ts +18 -0
  60. package/dest/store/contract_class_store.d.ts.map +1 -0
  61. package/dest/{archiver/kv_archiver_store → store}/contract_class_store.js +12 -8
  62. package/dest/store/contract_instance_store.d.ts +24 -0
  63. package/dest/store/contract_instance_store.d.ts.map +1 -0
  64. package/dest/{archiver/kv_archiver_store → store}/contract_instance_store.js +1 -1
  65. package/dest/store/kv_archiver_store.d.ts +354 -0
  66. package/dest/store/kv_archiver_store.d.ts.map +1 -0
  67. package/dest/store/kv_archiver_store.js +464 -0
  68. package/dest/store/l2_tips_cache.d.ts +19 -0
  69. package/dest/store/l2_tips_cache.d.ts.map +1 -0
  70. package/dest/store/l2_tips_cache.js +89 -0
  71. package/dest/store/log_store.d.ts +54 -0
  72. package/dest/store/log_store.d.ts.map +1 -0
  73. package/dest/{archiver/kv_archiver_store → store}/log_store.js +146 -91
  74. package/dest/{archiver/kv_archiver_store → store}/message_store.d.ts +1 -1
  75. package/dest/store/message_store.d.ts.map +1 -0
  76. package/dest/{archiver/structs → structs}/data_retrieval.d.ts +1 -1
  77. package/dest/structs/data_retrieval.d.ts.map +1 -0
  78. package/dest/structs/inbox_message.d.ts +15 -0
  79. package/dest/structs/inbox_message.d.ts.map +1 -0
  80. package/dest/{archiver/structs → structs}/published.d.ts +1 -1
  81. package/dest/structs/published.d.ts.map +1 -0
  82. package/dest/test/fake_l1_state.d.ts +195 -0
  83. package/dest/test/fake_l1_state.d.ts.map +1 -0
  84. package/dest/test/fake_l1_state.js +421 -0
  85. package/dest/test/index.d.ts +2 -1
  86. package/dest/test/index.d.ts.map +1 -1
  87. package/dest/test/index.js +4 -1
  88. package/dest/test/mock_archiver.d.ts +2 -2
  89. package/dest/test/mock_archiver.d.ts.map +1 -1
  90. package/dest/test/mock_archiver.js +3 -3
  91. package/dest/test/mock_l1_to_l2_message_source.d.ts +2 -2
  92. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  93. package/dest/test/mock_l1_to_l2_message_source.js +12 -3
  94. package/dest/test/mock_l2_block_source.d.ts +39 -17
  95. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  96. package/dest/test/mock_l2_block_source.js +232 -83
  97. package/dest/test/mock_structs.d.ts +78 -3
  98. package/dest/test/mock_structs.d.ts.map +1 -1
  99. package/dest/test/mock_structs.js +140 -7
  100. package/dest/test/noop_l1_archiver.d.ts +23 -0
  101. package/dest/test/noop_l1_archiver.d.ts.map +1 -0
  102. package/dest/test/noop_l1_archiver.js +68 -0
  103. package/package.json +16 -17
  104. package/src/archiver.ts +443 -0
  105. package/src/{archiver/config.ts → config.ts} +13 -2
  106. package/src/{archiver/errors.ts → errors.ts} +12 -0
  107. package/src/factory.ts +139 -11
  108. package/src/index.ts +11 -3
  109. package/src/interfaces.ts +9 -0
  110. package/src/l1/README.md +55 -0
  111. package/src/{archiver/l1 → l1}/bin/retrieve-calldata.ts +45 -33
  112. package/src/l1/calldata_retriever.ts +511 -0
  113. package/src/{archiver/l1 → l1}/data_retrieval.ts +75 -94
  114. package/src/{archiver/l1 → l1}/spire_proposer.ts +7 -15
  115. package/src/{archiver/l1 → l1}/validate_trace.ts +25 -7
  116. package/src/modules/data_source_base.ts +328 -0
  117. package/src/modules/data_store_updater.ts +448 -0
  118. package/src/{archiver → modules}/instrumentation.ts +53 -70
  119. package/src/modules/l1_synchronizer.ts +933 -0
  120. package/src/{archiver → modules}/validation.ts +11 -6
  121. package/src/{archiver/kv_archiver_store → store}/block_store.ts +293 -100
  122. package/src/{archiver/kv_archiver_store → store}/contract_class_store.ts +12 -8
  123. package/src/{archiver/kv_archiver_store → store}/contract_instance_store.ts +1 -1
  124. package/src/{archiver/kv_archiver_store → store}/kv_archiver_store.ts +273 -40
  125. package/src/store/l2_tips_cache.ts +89 -0
  126. package/src/{archiver/kv_archiver_store → store}/log_store.ts +242 -121
  127. package/src/test/fake_l1_state.ts +657 -0
  128. package/src/test/index.ts +4 -0
  129. package/src/test/mock_archiver.ts +4 -3
  130. package/src/test/mock_l1_to_l2_message_source.ts +10 -4
  131. package/src/test/mock_l2_block_source.ts +276 -90
  132. package/src/test/mock_structs.ts +269 -8
  133. package/src/test/noop_l1_archiver.ts +109 -0
  134. package/dest/archiver/archiver.d.ts +0 -304
  135. package/dest/archiver/archiver.d.ts.map +0 -1
  136. package/dest/archiver/archiver.js +0 -1645
  137. package/dest/archiver/archiver_store.d.ts +0 -308
  138. package/dest/archiver/archiver_store.d.ts.map +0 -1
  139. package/dest/archiver/archiver_store.js +0 -4
  140. package/dest/archiver/archiver_store_test_suite.d.ts +0 -8
  141. package/dest/archiver/archiver_store_test_suite.d.ts.map +0 -1
  142. package/dest/archiver/archiver_store_test_suite.js +0 -2770
  143. package/dest/archiver/config.d.ts.map +0 -1
  144. package/dest/archiver/errors.d.ts +0 -36
  145. package/dest/archiver/errors.d.ts.map +0 -1
  146. package/dest/archiver/index.d.ts +0 -7
  147. package/dest/archiver/index.d.ts.map +0 -1
  148. package/dest/archiver/index.js +0 -4
  149. package/dest/archiver/instrumentation.d.ts +0 -37
  150. package/dest/archiver/instrumentation.d.ts.map +0 -1
  151. package/dest/archiver/kv_archiver_store/block_store.d.ts +0 -157
  152. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +0 -1
  153. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +0 -18
  154. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +0 -1
  155. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +0 -24
  156. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +0 -1
  157. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +0 -158
  158. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +0 -1
  159. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +0 -313
  160. package/dest/archiver/kv_archiver_store/log_store.d.ts +0 -45
  161. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +0 -1
  162. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +0 -1
  163. package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +0 -1
  164. package/dest/archiver/l1/calldata_retriever.d.ts +0 -112
  165. package/dest/archiver/l1/calldata_retriever.d.ts.map +0 -1
  166. package/dest/archiver/l1/calldata_retriever.js +0 -471
  167. package/dest/archiver/l1/data_retrieval.d.ts +0 -90
  168. package/dest/archiver/l1/data_retrieval.d.ts.map +0 -1
  169. package/dest/archiver/l1/debug_tx.d.ts.map +0 -1
  170. package/dest/archiver/l1/spire_proposer.d.ts.map +0 -1
  171. package/dest/archiver/l1/trace_tx.d.ts.map +0 -1
  172. package/dest/archiver/l1/types.d.ts +0 -12
  173. package/dest/archiver/l1/types.d.ts.map +0 -1
  174. package/dest/archiver/l1/validate_trace.d.ts.map +0 -1
  175. package/dest/archiver/structs/data_retrieval.d.ts.map +0 -1
  176. package/dest/archiver/structs/inbox_message.d.ts +0 -15
  177. package/dest/archiver/structs/inbox_message.d.ts.map +0 -1
  178. package/dest/archiver/structs/published.d.ts.map +0 -1
  179. package/dest/archiver/validation.d.ts +0 -17
  180. package/dest/archiver/validation.d.ts.map +0 -1
  181. package/dest/rpc/index.d.ts +0 -9
  182. package/dest/rpc/index.d.ts.map +0 -1
  183. package/dest/rpc/index.js +0 -15
  184. package/src/archiver/archiver.ts +0 -2157
  185. package/src/archiver/archiver_store.ts +0 -372
  186. package/src/archiver/archiver_store_test_suite.ts +0 -2843
  187. package/src/archiver/index.ts +0 -6
  188. package/src/archiver/l1/README.md +0 -98
  189. package/src/archiver/l1/calldata_retriever.ts +0 -641
  190. package/src/rpc/index.ts +0 -16
  191. /package/dest/{archiver/l1 → l1}/debug_tx.js +0 -0
  192. /package/dest/{archiver/l1 → l1}/trace_tx.js +0 -0
  193. /package/dest/{archiver/l1 → l1}/types.js +0 -0
  194. /package/dest/{archiver/kv_archiver_store → store}/message_store.js +0 -0
  195. /package/dest/{archiver/structs → structs}/data_retrieval.js +0 -0
  196. /package/dest/{archiver/structs → structs}/inbox_message.js +0 -0
  197. /package/dest/{archiver/structs → structs}/published.js +0 -0
  198. /package/src/{archiver/l1 → l1}/debug_tx.ts +0 -0
  199. /package/src/{archiver/l1 → l1}/trace_tx.ts +0 -0
  200. /package/src/{archiver/l1 → l1}/types.ts +0 -0
  201. /package/src/{archiver/kv_archiver_store → store}/message_store.ts +0 -0
  202. /package/src/{archiver/structs → structs}/data_retrieval.ts +0 -0
  203. /package/src/{archiver/structs → structs}/inbox_message.ts +0 -0
  204. /package/src/{archiver/structs → structs}/published.ts +0 -0
@@ -1,471 +0,0 @@
1
- import { MULTI_CALL_3_ADDRESS } from '@aztec/ethereum/contracts';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { EthAddress } from '@aztec/foundation/eth-address';
4
- import { EmpireSlashingProposerAbi, GovernanceProposerAbi, RollupAbi, SlashFactoryAbi, TallySlashingProposerAbi } from '@aztec/l1-artifacts';
5
- import { CommitteeAttestation } from '@aztec/stdlib/block';
6
- import { ConsensusPayload, SignatureDomainSeparator } from '@aztec/stdlib/p2p';
7
- import { CheckpointHeader } from '@aztec/stdlib/rollup';
8
- import { decodeFunctionData, encodeAbiParameters, hexToBytes, keccak256, multicall3Abi, toFunctionSelector } from 'viem';
9
- import { getSuccessfulCallsFromDebug } from './debug_tx.js';
10
- import { getCallFromSpireProposer } from './spire_proposer.js';
11
- import { getSuccessfulCallsFromTrace } from './trace_tx.js';
12
- /**
13
- * Extracts calldata to the `propose` method of the rollup contract from an L1 transaction
14
- * in order to reconstruct an L2 block header.
15
- */ export class CalldataRetriever {
16
- publicClient;
17
- debugClient;
18
- targetCommitteeSize;
19
- instrumentation;
20
- logger;
21
- /** Pre-computed valid contract calls for validation */ validContractCalls;
22
- rollupAddress;
23
- constructor(publicClient, debugClient, targetCommitteeSize, instrumentation, logger, contractAddresses){
24
- this.publicClient = publicClient;
25
- this.debugClient = debugClient;
26
- this.targetCommitteeSize = targetCommitteeSize;
27
- this.instrumentation = instrumentation;
28
- this.logger = logger;
29
- this.rollupAddress = contractAddresses.rollupAddress;
30
- this.validContractCalls = computeValidContractCalls(contractAddresses);
31
- }
32
- /**
33
- * Gets checkpoint header and metadata from the calldata of an L1 transaction.
34
- * Tries multicall3 decoding, falls back to trace-based extraction.
35
- * @param txHash - Hash of the tx that published it.
36
- * @param blobHashes - Blob hashes for the checkpoint.
37
- * @param checkpointNumber - Checkpoint number.
38
- * @param expectedHashes - Optional expected hashes from the CheckpointProposed event for validation
39
- * @returns Checkpoint header and metadata from the calldata, deserialized
40
- */ async getCheckpointFromRollupTx(txHash, blobHashes, checkpointNumber, expectedHashes) {
41
- this.logger.trace(`Fetching checkpoint ${checkpointNumber} from rollup tx ${txHash}`, {
42
- willValidateHashes: !!expectedHashes.attestationsHash || !!expectedHashes.payloadDigest,
43
- hasAttestationsHash: !!expectedHashes.attestationsHash,
44
- hasPayloadDigest: !!expectedHashes.payloadDigest
45
- });
46
- const tx = await this.publicClient.getTransaction({
47
- hash: txHash
48
- });
49
- const proposeCalldata = await this.getProposeCallData(tx, checkpointNumber);
50
- return this.decodeAndBuildCheckpoint(proposeCalldata, tx.blockHash, checkpointNumber, expectedHashes);
51
- }
52
- /** Gets rollup propose calldata from a transaction */ async getProposeCallData(tx, checkpointNumber) {
53
- // Try to decode as multicall3 with validation
54
- const proposeCalldata = this.tryDecodeMulticall3(tx);
55
- if (proposeCalldata) {
56
- this.logger.trace(`Decoded propose calldata from multicall3 for tx ${tx.hash}`);
57
- this.instrumentation?.recordBlockProposalTxTarget(tx.to, false);
58
- return proposeCalldata;
59
- }
60
- // Try to decode as direct propose call
61
- const directProposeCalldata = this.tryDecodeDirectPropose(tx);
62
- if (directProposeCalldata) {
63
- this.logger.trace(`Decoded propose calldata from direct call for tx ${tx.hash}`);
64
- this.instrumentation?.recordBlockProposalTxTarget(tx.to, false);
65
- return directProposeCalldata;
66
- }
67
- // Try to decode as Spire Proposer multicall wrapper
68
- const spireProposeCalldata = await this.tryDecodeSpireProposer(tx);
69
- if (spireProposeCalldata) {
70
- this.logger.trace(`Decoded propose calldata from Spire Proposer for tx ${tx.hash}`);
71
- this.instrumentation?.recordBlockProposalTxTarget(tx.to, false);
72
- return spireProposeCalldata;
73
- }
74
- // Fall back to trace-based extraction
75
- this.logger.warn(`Failed to decode multicall3, direct propose, or Spire proposer for L1 tx ${tx.hash}, falling back to trace for checkpoint ${checkpointNumber}`);
76
- this.instrumentation?.recordBlockProposalTxTarget(tx.to ?? EthAddress.ZERO.toString(), true);
77
- return await this.extractCalldataViaTrace(tx.hash);
78
- }
79
- /**
80
- * Attempts to decode a transaction as a Spire Proposer multicall wrapper.
81
- * If successful, extracts the wrapped call and validates it as either multicall3 or direct propose.
82
- * @param tx - The transaction to decode
83
- * @returns The propose calldata if successfully decoded and validated, undefined otherwise
84
- */ async tryDecodeSpireProposer(tx) {
85
- // Try to decode as Spire Proposer multicall (extracts the wrapped call)
86
- const spireWrappedCall = await getCallFromSpireProposer(tx, this.publicClient, this.logger);
87
- if (!spireWrappedCall) {
88
- return undefined;
89
- }
90
- this.logger.trace(`Decoded Spire Proposer wrapping for tx ${tx.hash}, inner call to ${spireWrappedCall.to}`);
91
- // Now try to decode the wrapped call as either multicall3 or direct propose
92
- const wrappedTx = {
93
- to: spireWrappedCall.to,
94
- input: spireWrappedCall.data,
95
- hash: tx.hash
96
- };
97
- const multicall3Calldata = this.tryDecodeMulticall3(wrappedTx);
98
- if (multicall3Calldata) {
99
- this.logger.trace(`Decoded propose calldata from Spire Proposer to multicall3 for tx ${tx.hash}`);
100
- return multicall3Calldata;
101
- }
102
- const directProposeCalldata = this.tryDecodeDirectPropose(wrappedTx);
103
- if (directProposeCalldata) {
104
- this.logger.trace(`Decoded propose calldata from Spire Proposer to direct propose for tx ${tx.hash}`);
105
- return directProposeCalldata;
106
- }
107
- this.logger.warn(`Spire Proposer wrapped call could not be decoded as multicall3 or direct propose for tx ${tx.hash}`);
108
- return undefined;
109
- }
110
- /**
111
- * Attempts to decode transaction input as multicall3 and extract propose calldata.
112
- * Returns undefined if validation fails.
113
- * @param tx - The transaction-like object with to, input, and hash
114
- * @returns The propose calldata if successfully validated, undefined otherwise
115
- */ tryDecodeMulticall3(tx) {
116
- const txHash = tx.hash;
117
- try {
118
- // Check if transaction is to Multicall3 address
119
- if (!tx.to || !EthAddress.areEqual(tx.to, MULTI_CALL_3_ADDRESS)) {
120
- this.logger.debug(`Transaction is not to Multicall3 address (to: ${tx.to})`, {
121
- txHash,
122
- to: tx.to
123
- });
124
- return undefined;
125
- }
126
- // Try to decode as multicall3 aggregate3 call
127
- const { functionName: multicall3Fn, args: multicall3Args } = decodeFunctionData({
128
- abi: multicall3Abi,
129
- data: tx.input
130
- });
131
- // If not aggregate3, return undefined (not a multicall3 transaction)
132
- if (multicall3Fn !== 'aggregate3') {
133
- this.logger.warn(`Transaction is not multicall3 aggregate3 (got ${multicall3Fn})`, {
134
- txHash
135
- });
136
- return undefined;
137
- }
138
- if (multicall3Args.length !== 1) {
139
- this.logger.warn(`Unexpected number of arguments for multicall3 (got ${multicall3Args.length})`, {
140
- txHash
141
- });
142
- return undefined;
143
- }
144
- const [calls] = multicall3Args;
145
- // Validate all calls and find propose calls
146
- const rollupAddressLower = this.rollupAddress.toString().toLowerCase();
147
- const proposeCalls = [];
148
- for(let i = 0; i < calls.length; i++){
149
- const addr = calls[i].target.toLowerCase();
150
- const callData = calls[i].callData;
151
- // Extract function selector (first 4 bytes)
152
- if (callData.length < 10) {
153
- // "0x" + 8 hex chars = 10 chars minimum for a valid function call
154
- this.logger.warn(`Invalid calldata length at index ${i} (${callData.length})`, {
155
- txHash
156
- });
157
- return undefined;
158
- }
159
- const functionSelector = callData.slice(0, 10);
160
- // Validate this call is allowed by searching through valid calls
161
- const validCall = this.validContractCalls.find((vc)=>vc.address === addr && vc.functionSelector === functionSelector);
162
- if (!validCall) {
163
- this.logger.warn(`Invalid contract call detected in multicall3`, {
164
- index: i,
165
- targetAddress: addr,
166
- functionSelector,
167
- validCalls: this.validContractCalls.map((c)=>({
168
- address: c.address,
169
- selector: c.functionSelector
170
- })),
171
- txHash
172
- });
173
- return undefined;
174
- }
175
- this.logger.trace(`Valid call found to ${addr}`, {
176
- validCall
177
- });
178
- // Collect propose calls specifically
179
- if (addr === rollupAddressLower && validCall.functionName === 'propose') {
180
- proposeCalls.push(callData);
181
- }
182
- }
183
- // Validate exactly ONE propose call
184
- if (proposeCalls.length === 0) {
185
- this.logger.warn(`No propose calls found in multicall3`, {
186
- txHash
187
- });
188
- return undefined;
189
- }
190
- if (proposeCalls.length > 1) {
191
- this.logger.warn(`Multiple propose calls found in multicall3 (${proposeCalls.length})`, {
192
- txHash
193
- });
194
- return undefined;
195
- }
196
- // Successfully extracted single propose call
197
- return proposeCalls[0];
198
- } catch (err) {
199
- // Any decoding error triggers fallback to trace
200
- this.logger.warn(`Failed to decode multicall3: ${err}`, {
201
- txHash
202
- });
203
- return undefined;
204
- }
205
- }
206
- /**
207
- * Attempts to decode transaction as a direct propose call to the rollup contract.
208
- * Returns undefined if validation fails.
209
- * @param tx - The transaction-like object with to, input, and hash
210
- * @returns The propose calldata if successfully validated, undefined otherwise
211
- */ tryDecodeDirectPropose(tx) {
212
- const txHash = tx.hash;
213
- try {
214
- // Check if transaction is to the rollup address
215
- if (!tx.to || !EthAddress.areEqual(tx.to, this.rollupAddress)) {
216
- this.logger.debug(`Transaction is not to rollup address (to: ${tx.to})`, {
217
- txHash
218
- });
219
- return undefined;
220
- }
221
- // Try to decode as propose call
222
- const { functionName } = decodeFunctionData({
223
- abi: RollupAbi,
224
- data: tx.input
225
- });
226
- // If not propose, return undefined
227
- if (functionName !== 'propose') {
228
- this.logger.warn(`Transaction to rollup is not propose (got ${functionName})`, {
229
- txHash
230
- });
231
- return undefined;
232
- }
233
- // Successfully validated direct propose call
234
- this.logger.trace(`Validated direct propose call to rollup`, {
235
- txHash
236
- });
237
- return tx.input;
238
- } catch (err) {
239
- // Any decoding error means it's not a valid propose call
240
- this.logger.warn(`Failed to decode as direct propose: ${err}`, {
241
- txHash
242
- });
243
- return undefined;
244
- }
245
- }
246
- /**
247
- * Uses debug/trace RPC to extract the actual calldata from the successful propose call.
248
- * This is the definitive fallback that works for any transaction pattern.
249
- * Tries trace_transaction first, then falls back to debug_traceTransaction.
250
- * @param txHash - The transaction hash to trace
251
- * @returns The propose calldata from the successful call
252
- */ async extractCalldataViaTrace(txHash) {
253
- const rollupAddress = this.rollupAddress;
254
- const selector = PROPOSE_SELECTOR;
255
- let calls;
256
- try {
257
- // Try trace_transaction first (using Parity/OpenEthereum/Erigon RPC)
258
- this.logger.debug(`Attempting to trace transaction ${txHash} using trace_transaction`);
259
- calls = await getSuccessfulCallsFromTrace(this.debugClient, txHash, rollupAddress, selector, this.logger);
260
- this.logger.debug(`Successfully traced using trace_transaction, found ${calls.length} calls`);
261
- } catch (err) {
262
- const traceError = err instanceof Error ? err : new Error(String(err));
263
- this.logger.verbose(`Failed trace_transaction for ${txHash}`, {
264
- traceError
265
- });
266
- try {
267
- // Fall back to debug_traceTransaction (Geth RPC)
268
- this.logger.debug(`Attempting to trace transaction ${txHash} using debug_traceTransaction`);
269
- calls = await getSuccessfulCallsFromDebug(this.debugClient, txHash, rollupAddress, selector, this.logger);
270
- this.logger.debug(`Successfully traced using debug_traceTransaction, found ${calls.length} calls`);
271
- } catch (debugErr) {
272
- const debugError = debugErr instanceof Error ? debugErr : new Error(String(debugErr));
273
- this.logger.warn(`All tracing methods failed for tx ${txHash}`, {
274
- traceError,
275
- debugError,
276
- txHash
277
- });
278
- throw new Error(`Failed to trace transaction ${txHash} to extract propose calldata`);
279
- }
280
- }
281
- // Validate exactly ONE successful propose call
282
- if (calls.length === 0) {
283
- throw new Error(`No successful propose calls found in transaction ${txHash}`);
284
- }
285
- if (calls.length > 1) {
286
- throw new Error(`Multiple successful propose calls found in transaction ${txHash} (${calls.length})`);
287
- }
288
- // Return the calldata from the single successful propose call
289
- return calls[0].input;
290
- }
291
- /**
292
- * Extracts the CommitteeAttestations struct definition from RollupAbi.
293
- * Finds the _attestations parameter by name in the propose function.
294
- * Lazy-loaded to avoid issues during module initialization.
295
- */ getCommitteeAttestationsStructDef() {
296
- const proposeFunction = RollupAbi.find((item)=>item.type === 'function' && item.name === 'propose');
297
- if (!proposeFunction) {
298
- throw new Error('propose function not found in RollupAbi');
299
- }
300
- // Find the _attestations parameter by name, not by index
301
- const attestationsParam = proposeFunction.inputs.find((param)=>param.name === '_attestations');
302
- if (!attestationsParam) {
303
- throw new Error('_attestations parameter not found in propose function');
304
- }
305
- if (attestationsParam.type !== 'tuple') {
306
- throw new Error(`Expected _attestations parameter to be a tuple, got ${attestationsParam.type}`);
307
- }
308
- // Extract the tuple components (struct fields)
309
- const tupleParam = attestationsParam;
310
- return {
311
- type: 'tuple',
312
- components: tupleParam.components || []
313
- };
314
- }
315
- /**
316
- * Decodes propose calldata and builds the checkpoint header structure.
317
- * @param proposeCalldata - The propose function calldata
318
- * @param blockHash - The L1 block hash containing this transaction
319
- * @param checkpointNumber - The checkpoint number
320
- * @param expectedHashes - Optional expected hashes from the CheckpointProposed event for validation
321
- * @returns The decoded checkpoint header and metadata
322
- */ decodeAndBuildCheckpoint(proposeCalldata, blockHash, checkpointNumber, expectedHashes) {
323
- const { functionName: rollupFunctionName, args: rollupArgs } = decodeFunctionData({
324
- abi: RollupAbi,
325
- data: proposeCalldata
326
- });
327
- if (rollupFunctionName !== 'propose') {
328
- throw new Error(`Unexpected rollup method called ${rollupFunctionName}`);
329
- }
330
- const [decodedArgs, packedAttestations, _signers, _attestationsAndSignersSignature, _blobInput] = rollupArgs;
331
- const attestations = CommitteeAttestation.fromPacked(packedAttestations, this.targetCommitteeSize);
332
- const header = CheckpointHeader.fromViem(decodedArgs.header);
333
- const archiveRoot = new Fr(Buffer.from(hexToBytes(decodedArgs.archive)));
334
- // Validate attestationsHash if provided (skip for backwards compatibility with older events)
335
- if (expectedHashes.attestationsHash) {
336
- // Compute attestationsHash: keccak256(abi.encode(CommitteeAttestations))
337
- const computedAttestationsHash = keccak256(encodeAbiParameters([
338
- this.getCommitteeAttestationsStructDef()
339
- ], [
340
- packedAttestations
341
- ]));
342
- // Compare as buffers to avoid case-sensitivity and string comparison issues
343
- const computedBuffer = Buffer.from(hexToBytes(computedAttestationsHash));
344
- const expectedBuffer = Buffer.from(hexToBytes(expectedHashes.attestationsHash));
345
- if (!computedBuffer.equals(expectedBuffer)) {
346
- throw new Error(`Attestations hash mismatch for checkpoint ${checkpointNumber}: ` + `computed=${computedAttestationsHash}, expected=${expectedHashes.attestationsHash}`);
347
- }
348
- this.logger.trace(`Validated attestationsHash for checkpoint ${checkpointNumber}`, {
349
- computedAttestationsHash,
350
- expectedAttestationsHash: expectedHashes.attestationsHash
351
- });
352
- }
353
- // Validate payloadDigest if provided (skip for backwards compatibility with older events)
354
- if (expectedHashes.payloadDigest) {
355
- // Use ConsensusPayload to compute the digest - this ensures we match the exact logic
356
- // used by the network for signing and verification
357
- const consensusPayload = new ConsensusPayload(header, archiveRoot);
358
- const payloadToSign = consensusPayload.getPayloadToSign(SignatureDomainSeparator.blockAttestation);
359
- const computedPayloadDigest = keccak256(payloadToSign);
360
- // Compare as buffers to avoid case-sensitivity and string comparison issues
361
- const computedBuffer = Buffer.from(hexToBytes(computedPayloadDigest));
362
- const expectedBuffer = Buffer.from(hexToBytes(expectedHashes.payloadDigest));
363
- if (!computedBuffer.equals(expectedBuffer)) {
364
- throw new Error(`Payload digest mismatch for checkpoint ${checkpointNumber}: ` + `computed=${computedPayloadDigest}, expected=${expectedHashes.payloadDigest}`);
365
- }
366
- this.logger.trace(`Validated payloadDigest for checkpoint ${checkpointNumber}`, {
367
- computedPayloadDigest,
368
- expectedPayloadDigest: expectedHashes.payloadDigest
369
- });
370
- }
371
- this.logger.trace(`Decoded propose calldata`, {
372
- checkpointNumber,
373
- archive: decodedArgs.archive,
374
- header: decodedArgs.header,
375
- l1BlockHash: blockHash,
376
- attestations,
377
- packedAttestations,
378
- targetCommitteeSize: this.targetCommitteeSize
379
- });
380
- return {
381
- checkpointNumber,
382
- archiveRoot,
383
- header,
384
- attestations,
385
- blockHash
386
- };
387
- }
388
- }
389
- /**
390
- * Pre-computed function selectors for all valid contract calls.
391
- * These are computed once at module load time from the ABIs.
392
- * Based on analysis of sequencer-client/src/publisher/sequencer-publisher.ts
393
- */ // Rollup contract function selectors (always valid)
394
- const PROPOSE_SELECTOR = toFunctionSelector(RollupAbi.find((x)=>x.type === 'function' && x.name === 'propose'));
395
- const INVALIDATE_BAD_ATTESTATION_SELECTOR = toFunctionSelector(RollupAbi.find((x)=>x.type === 'function' && x.name === 'invalidateBadAttestation'));
396
- const INVALIDATE_INSUFFICIENT_ATTESTATIONS_SELECTOR = toFunctionSelector(RollupAbi.find((x)=>x.type === 'function' && x.name === 'invalidateInsufficientAttestations'));
397
- // Governance proposer function selectors
398
- const GOVERNANCE_SIGNAL_WITH_SIG_SELECTOR = toFunctionSelector(GovernanceProposerAbi.find((x)=>x.type === 'function' && x.name === 'signalWithSig'));
399
- // Slash factory function selectors
400
- const CREATE_SLASH_PAYLOAD_SELECTOR = toFunctionSelector(SlashFactoryAbi.find((x)=>x.type === 'function' && x.name === 'createSlashPayload'));
401
- // Empire slashing proposer function selectors
402
- const EMPIRE_SIGNAL_WITH_SIG_SELECTOR = toFunctionSelector(EmpireSlashingProposerAbi.find((x)=>x.type === 'function' && x.name === 'signalWithSig'));
403
- const EMPIRE_SUBMIT_ROUND_WINNER_SELECTOR = toFunctionSelector(EmpireSlashingProposerAbi.find((x)=>x.type === 'function' && x.name === 'submitRoundWinner'));
404
- // Tally slashing proposer function selectors
405
- const TALLY_VOTE_SELECTOR = toFunctionSelector(TallySlashingProposerAbi.find((x)=>x.type === 'function' && x.name === 'vote'));
406
- const TALLY_EXECUTE_ROUND_SELECTOR = toFunctionSelector(TallySlashingProposerAbi.find((x)=>x.type === 'function' && x.name === 'executeRound'));
407
- /**
408
- * All valid contract calls that the sequencer publisher can make.
409
- * Builds the list of valid (address, selector) pairs for validation.
410
- *
411
- * Alternatively, if we are absolutely sure that no code path from any of these
412
- * contracts can eventually land on another call to `propose`, we can remove the
413
- * function selectors.
414
- */ function computeValidContractCalls(addresses) {
415
- const { rollupAddress, governanceProposerAddress, slashFactoryAddress, slashingProposerAddress } = addresses;
416
- const calls = [];
417
- // Rollup contract calls (always present)
418
- calls.push({
419
- address: rollupAddress.toString().toLowerCase(),
420
- functionSelector: PROPOSE_SELECTOR,
421
- functionName: 'propose'
422
- }, {
423
- address: rollupAddress.toString().toLowerCase(),
424
- functionSelector: INVALIDATE_BAD_ATTESTATION_SELECTOR,
425
- functionName: 'invalidateBadAttestation'
426
- }, {
427
- address: rollupAddress.toString().toLowerCase(),
428
- functionSelector: INVALIDATE_INSUFFICIENT_ATTESTATIONS_SELECTOR,
429
- functionName: 'invalidateInsufficientAttestations'
430
- });
431
- // Governance proposer calls (optional)
432
- if (governanceProposerAddress && !governanceProposerAddress.isZero()) {
433
- calls.push({
434
- address: governanceProposerAddress.toString().toLowerCase(),
435
- functionSelector: GOVERNANCE_SIGNAL_WITH_SIG_SELECTOR,
436
- functionName: 'signalWithSig'
437
- });
438
- }
439
- // Slash factory calls (optional)
440
- if (slashFactoryAddress && !slashFactoryAddress.isZero()) {
441
- calls.push({
442
- address: slashFactoryAddress.toString().toLowerCase(),
443
- functionSelector: CREATE_SLASH_PAYLOAD_SELECTOR,
444
- functionName: 'createSlashPayload'
445
- });
446
- }
447
- // Slashing proposer calls (optional, can be either Empire or Tally)
448
- if (slashingProposerAddress && !slashingProposerAddress.isZero()) {
449
- // Empire calls
450
- calls.push({
451
- address: slashingProposerAddress.toString().toLowerCase(),
452
- functionSelector: EMPIRE_SIGNAL_WITH_SIG_SELECTOR,
453
- functionName: 'signalWithSig (empire)'
454
- }, {
455
- address: slashingProposerAddress.toString().toLowerCase(),
456
- functionSelector: EMPIRE_SUBMIT_ROUND_WINNER_SELECTOR,
457
- functionName: 'submitRoundWinner'
458
- });
459
- // Tally calls
460
- calls.push({
461
- address: slashingProposerAddress.toString().toLowerCase(),
462
- functionSelector: TALLY_VOTE_SELECTOR,
463
- functionName: 'vote'
464
- }, {
465
- address: slashingProposerAddress.toString().toLowerCase(),
466
- functionSelector: TALLY_EXECUTE_ROUND_SELECTOR,
467
- functionName: 'executeRound'
468
- });
469
- }
470
- return calls;
471
- }
@@ -1,90 +0,0 @@
1
- import type { BlobClientInterface } from '@aztec/blob-client/client';
2
- import { type CheckpointBlobData } from '@aztec/blob-lib';
3
- import type { ViemClient, ViemPublicClient, ViemPublicDebugClient } from '@aztec/ethereum/types';
4
- import { CheckpointNumber } from '@aztec/foundation/branded-types';
5
- import { Fr } from '@aztec/foundation/curves/bn254';
6
- import { EthAddress } from '@aztec/foundation/eth-address';
7
- import { type Logger } from '@aztec/foundation/log';
8
- import { type InboxAbi, RollupAbi } from '@aztec/l1-artifacts';
9
- import { CommitteeAttestation } from '@aztec/stdlib/block';
10
- import { L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
11
- import { Proof } from '@aztec/stdlib/proofs';
12
- import { CheckpointHeader } from '@aztec/stdlib/rollup';
13
- import { type GetContractReturnType, type Hex } from 'viem';
14
- import type { ArchiverInstrumentation } from '../instrumentation.js';
15
- import type { DataRetrieval } from '../structs/data_retrieval.js';
16
- import type { InboxMessage } from '../structs/inbox_message.js';
17
- export type RetrievedCheckpoint = {
18
- checkpointNumber: CheckpointNumber;
19
- archiveRoot: Fr;
20
- header: CheckpointHeader;
21
- checkpointBlobData: CheckpointBlobData;
22
- l1: L1PublishedData;
23
- chainId: Fr;
24
- version: Fr;
25
- attestations: CommitteeAttestation[];
26
- };
27
- export declare function retrievedToPublishedCheckpoint({ checkpointNumber, archiveRoot, header: checkpointHeader, checkpointBlobData, l1, chainId, version, attestations }: RetrievedCheckpoint): Promise<PublishedCheckpoint>;
28
- /**
29
- * Fetches new checkpoints.
30
- * @param rollup - The rollup contract instance.
31
- * @param publicClient - The viem public client to use for transaction retrieval.
32
- * @param debugClient - The viem debug client to use for trace/debug RPC methods (optional).
33
- * @param blobClient - The blob client client for fetching blob data.
34
- * @param searchStartBlock - The block number to use for starting the search.
35
- * @param searchEndBlock - The highest block number that we should search up to.
36
- * @param contractAddresses - The contract addresses (governanceProposerAddress, slashFactoryAddress, slashingProposerAddress).
37
- * @param instrumentation - The archiver instrumentation instance.
38
- * @param logger - The logger instance.
39
- * @param isHistoricalSync - Whether this is a historical sync.
40
- * @returns An array of retrieved checkpoints.
41
- */
42
- export declare function retrieveCheckpointsFromRollup(rollup: GetContractReturnType<typeof RollupAbi, ViemPublicClient>, publicClient: ViemPublicClient, debugClient: ViemPublicDebugClient, blobClient: BlobClientInterface, searchStartBlock: bigint, searchEndBlock: bigint, contractAddresses: {
43
- governanceProposerAddress: EthAddress;
44
- slashFactoryAddress?: EthAddress;
45
- slashingProposerAddress: EthAddress;
46
- }, instrumentation: ArchiverInstrumentation, logger?: Logger, isHistoricalSync?: boolean): Promise<RetrievedCheckpoint[]>;
47
- export declare function getL1BlockTime(publicClient: ViemPublicClient, blockNumber: bigint): Promise<bigint>;
48
- export declare function getCheckpointBlobDataFromBlobs(blobClient: BlobClientInterface, blockHash: string, blobHashes: Buffer<ArrayBufferLike>[], checkpointNumber: CheckpointNumber, logger: Logger, isHistoricalSync: boolean): Promise<CheckpointBlobData>;
49
- /** Given an L1 to L2 message, retrieves its corresponding event from the Inbox within a specific block range. */
50
- export declare function retrieveL1ToL2Message(inbox: GetContractReturnType<typeof InboxAbi, ViemClient>, leaf: Fr, fromBlock: bigint, toBlock: bigint): Promise<InboxMessage | undefined>;
51
- /**
52
- * Fetch L1 to L2 messages.
53
- * @param publicClient - The viem public client to use for transaction retrieval.
54
- * @param inboxAddress - The address of the inbox contract to fetch messages from.
55
- * @param blockUntilSynced - If true, blocks until the archiver has fully synced.
56
- * @param searchStartBlock - The block number to use for starting the search.
57
- * @param searchEndBlock - The highest block number that we should search up to.
58
- * @returns An array of InboxLeaf and next eth block to search from.
59
- */
60
- export declare function retrieveL1ToL2Messages(inbox: GetContractReturnType<typeof InboxAbi, ViemClient>, searchStartBlock: bigint, searchEndBlock: bigint): Promise<InboxMessage[]>;
61
- /** Retrieves L2ProofVerified events from the rollup contract. */
62
- export declare function retrieveL2ProofVerifiedEvents(publicClient: ViemPublicClient, rollupAddress: EthAddress, searchStartBlock: bigint, searchEndBlock?: bigint): Promise<{
63
- l1BlockNumber: bigint;
64
- checkpointNumber: CheckpointNumber;
65
- proverId: Fr;
66
- txHash: Hex;
67
- }[]>;
68
- /** Retrieve submitted proofs from the rollup contract */
69
- export declare function retrieveL2ProofsFromRollup(publicClient: ViemPublicClient, rollupAddress: EthAddress, searchStartBlock: bigint, searchEndBlock?: bigint): Promise<DataRetrieval<{
70
- proof: Proof;
71
- proverId: Fr;
72
- checkpointNumber: number;
73
- txHash: `0x${string}`;
74
- }>>;
75
- export type SubmitEpochProof = {
76
- archiveRoot: Fr;
77
- proverId: Fr;
78
- proof: Proof;
79
- };
80
- /**
81
- * Gets epoch proof metadata (archive root and proof) from the calldata of an L1 transaction.
82
- * Assumes that the block was published from an EOA.
83
- * TODO: Add retries and error management.
84
- * @param publicClient - The viem public client to use for transaction retrieval.
85
- * @param txHash - Hash of the tx that published it.
86
- * @param expectedProverId - Expected prover ID.
87
- * @returns Epoch proof metadata from the calldata, deserialized.
88
- */
89
- export declare function getProofFromSubmitProofTx(publicClient: ViemPublicClient, txHash: `0x${string}`, expectedProverId: Fr): Promise<SubmitEpochProof>;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9yZXRyaWV2YWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9sMS9kYXRhX3JldHJpZXZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFFTCxLQUFLLGtCQUFrQixFQUl4QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQVEsb0JBQW9CLEVBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQWMsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXhELE9BQU8sRUFFTCxLQUFLLHFCQUFxQixFQUMxQixLQUFLLEdBQUcsRUFJVCxNQUFNLE1BQU0sQ0FBQztBQUdkLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFD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
@@ -1 +0,0 @@
1
- {"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../../src/archiver/l1/data_retrieval.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug_tx.d.ts","sourceRoot":"","sources":["../../../src/archiver/l1/debug_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AAGjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,CAalD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,EAAE,CAAC,CAwDrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"spire_proposer.d.ts","sourceRoot":"","sources":["../../../src/archiver/l1/spire_proposer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAwC,MAAM,MAAM,CAAC;AAGxF,eAAO,MAAM,sBAAsB,+CAA+C,CAAC;AACnF,eAAO,MAAM,sCAAsC,+CAA+C,CAAC;AAInG,eAAO,MAAM,2BAA2B,sEACuC,CAAC;AAGhF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBnB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE;IAAE,YAAY,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAA;CAAE,EACjG,YAAY,EAAE,GAAG,EACjB,sBAAsB,EAAE,GAAG,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAiClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,WAAW,EACf,YAAY,EAAE;IAAE,YAAY,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAA;CAAE,EACjG,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,GAAG,SAAS,CAAC,CA4D7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace_tx.d.ts","sourceRoot":"","sources":["../../../src/archiver/l1/trace_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AAGjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkB3C,2DAA2D;AAC3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOtB,CAAC;AAEH,0CAA0C;AAC1C,KAAK,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAwB,CAAC;AAE/F;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,EAAE,CAAC,CAoErB"}
@@ -1,12 +0,0 @@
1
- import { EthAddress } from '@aztec/foundation/eth-address';
2
- import type { Hex } from 'viem';
3
- /**
4
- * Information about a matching CALL
5
- */
6
- export interface CallInfo {
7
- from: EthAddress;
8
- gasUsed?: bigint;
9
- input: Hex;
10
- value: bigint;
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9sMS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFFBQVE7SUFDdkIsSUFBSSxFQUFFLFVBQVUsQ0FBQztJQUNqQixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsS0FBSyxFQUFFLEdBQUcsQ0FBQztJQUNYLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZiJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/archiver/l1/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate_trace.d.ts","sourceRoot":"","sources":["../../../src/archiver/l1/validate_trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AA6CnE,0CAA0C;AAC1C,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,sBAAsB,EAAE,OAAO,CAAC;IAChC,2EAA2E;IAC3E,aAAa,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsFzG;AAMD;;;;;;;GAOG;AACH,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,qBAAqB,EAC7B,yBAAyB,EAAE,OAAO,GACjC,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../../src/archiver/structs/data_retrieval.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,aAAa,EAAE,CAAC,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC;CAClB,CAAC"}
@@ -1,15 +0,0 @@
1
- import { CheckpointNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
3
- import { Fr } from '@aztec/foundation/curves/bn254';
4
- export type InboxMessage = {
5
- index: bigint;
6
- leaf: Fr;
7
- checkpointNumber: CheckpointNumber;
8
- l1BlockNumber: bigint;
9
- l1BlockHash: Buffer32;
10
- rollingHash: Buffer16;
11
- };
12
- export declare function updateRollingHash(currentRollingHash: Buffer16, leaf: Fr): Buffer16;
13
- export declare function serializeInboxMessage(message: InboxMessage): Buffer;
14
- export declare function deserializeInboxMessage(buffer: Buffer): InboxMessage;
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL3N0cnVjdHMvaW5ib3hfbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxNQUFNLE1BQU0sWUFBWSxHQUFHO0lBQ3pCLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDZCxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ1QsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkMsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixXQUFXLEVBQUUsUUFBUSxDQUFDO0lBQ3RCLFdBQVcsRUFBRSxRQUFRLENBQUM7Q0FDdkIsQ0FBQztBQUVGLHdCQUFnQixpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBR2xGO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsTUFBTSxDQVNuRTtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksQ0FTcEUifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"inbox_message.d.ts","sourceRoot":"","sources":["../../../src/archiver/structs/inbox_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,EAAE,CAAC;IACT,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,QAAQ,CAGlF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CASnE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CASpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"published.d.ts","sourceRoot":"","sources":["../../../src/archiver/structs/published.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}