@aztec-labs/stdlib 6.0.0-rc.3 → 6.0.0-rc.4

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 (334) hide show
  1. package/dest/abi/abi.d.ts +2 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +1 -0
  4. package/dest/abi/authorization_selector.d.ts +2 -1
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/authorization_selector.js +1 -0
  7. package/dest/abi/buffer.d.ts +2 -1
  8. package/dest/abi/buffer.d.ts.map +1 -1
  9. package/dest/abi/buffer.js +1 -0
  10. package/dest/abi/contract_artifact.d.ts +2 -1
  11. package/dest/abi/contract_artifact.d.ts.map +1 -1
  12. package/dest/abi/contract_artifact.js +1 -0
  13. package/dest/abi/encoder.d.ts +1 -1
  14. package/dest/abi/encoder.d.ts.map +1 -1
  15. package/dest/abi/encoder.js +1 -0
  16. package/dest/abi/event_selector.d.ts +2 -1
  17. package/dest/abi/event_selector.d.ts.map +1 -1
  18. package/dest/abi/event_selector.js +1 -0
  19. package/dest/abi/function_selector.d.ts +2 -1
  20. package/dest/abi/function_selector.d.ts.map +1 -1
  21. package/dest/abi/function_selector.js +1 -0
  22. package/dest/abi/note_selector.d.ts +2 -1
  23. package/dest/abi/note_selector.d.ts.map +1 -1
  24. package/dest/abi/note_selector.js +1 -0
  25. package/dest/abi/selector.d.ts +2 -2
  26. package/dest/abi/selector.d.ts.map +1 -1
  27. package/dest/abi/selector.js +1 -1
  28. package/dest/abi/utils.d.ts +2 -1
  29. package/dest/abi/utils.d.ts.map +1 -1
  30. package/dest/abi/utils.js +1 -0
  31. package/dest/avm/avm.d.ts +212 -211
  32. package/dest/avm/avm.d.ts.map +1 -1
  33. package/dest/avm/avm.js +1 -0
  34. package/dest/avm/avm_accumulated_data.d.ts +2 -2
  35. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  36. package/dest/avm/avm_accumulated_data.js +1 -1
  37. package/dest/avm/avm_circuit_public_inputs.d.ts +2 -2
  38. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  39. package/dest/avm/avm_circuit_public_inputs.js +1 -1
  40. package/dest/avm/message_pack.js +1 -1
  41. package/dest/avm/revert_code.d.ts +3 -2
  42. package/dest/avm/revert_code.d.ts.map +1 -1
  43. package/dest/avm/revert_code.js +2 -1
  44. package/dest/aztec-address/index.d.ts +3 -2
  45. package/dest/aztec-address/index.d.ts.map +1 -1
  46. package/dest/aztec-address/index.js +2 -1
  47. package/dest/block/block_hash.d.ts +2 -2
  48. package/dest/block/block_hash.d.ts.map +1 -1
  49. package/dest/block/block_hash.js +1 -1
  50. package/dest/block/body.d.ts +2 -2
  51. package/dest/block/body.d.ts.map +1 -1
  52. package/dest/block/body.js +1 -1
  53. package/dest/block/l2_block_source.d.ts +19 -3
  54. package/dest/block/l2_block_source.d.ts.map +1 -1
  55. package/dest/block/proposal/attestations_and_signers.d.ts +2 -1
  56. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  57. package/dest/block/proposal/attestations_and_signers.js +1 -0
  58. package/dest/block/proposal/committee_attestation.d.ts +2 -1
  59. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  60. package/dest/block/proposal/committee_attestation.js +1 -0
  61. package/dest/checkpoint/checkpoint_data.d.ts +11 -3
  62. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  63. package/dest/checkpoint/checkpoint_data.js +3 -2
  64. package/dest/config/network-consensus-config.d.ts +1 -1
  65. package/dest/config/network-consensus-config.d.ts.map +1 -1
  66. package/dest/config/network-consensus-config.js +3 -2
  67. package/dest/contract/artifact_hash.d.ts +2 -1
  68. package/dest/contract/artifact_hash.d.ts.map +1 -1
  69. package/dest/contract/artifact_hash.js +1 -0
  70. package/dest/contract/complete_address.d.ts +2 -1
  71. package/dest/contract/complete_address.d.ts.map +1 -1
  72. package/dest/contract/complete_address.js +1 -0
  73. package/dest/contract/contract_class.d.ts +1 -1
  74. package/dest/contract/contract_class.d.ts.map +1 -1
  75. package/dest/contract/contract_class.js +1 -0
  76. package/dest/contract/contract_class_id.js +1 -1
  77. package/dest/contract/interfaces/contract_class.d.ts +2 -1
  78. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  79. package/dest/contract/interfaces/contract_class.js +1 -0
  80. package/dest/database-version/database_version.d.ts +2 -1
  81. package/dest/database-version/database_version.d.ts.map +1 -1
  82. package/dest/database-version/database_version.js +1 -0
  83. package/dest/fees/transaction_fee.js +1 -1
  84. package/dest/file-store/http.d.ts +2 -1
  85. package/dest/file-store/http.d.ts.map +1 -1
  86. package/dest/file-store/http.js +1 -0
  87. package/dest/file-store/memory.d.ts +2 -1
  88. package/dest/file-store/memory.d.ts.map +1 -1
  89. package/dest/file-store/memory.js +1 -0
  90. package/dest/file-store/s3.d.ts +2 -1
  91. package/dest/file-store/s3.d.ts.map +1 -1
  92. package/dest/file-store/s3.js +3 -1
  93. package/dest/gas/gas.d.ts +2 -2
  94. package/dest/gas/gas.d.ts.map +1 -1
  95. package/dest/gas/gas.js +1 -1
  96. package/dest/gas/gas_fees.d.ts +2 -2
  97. package/dest/gas/gas_fees.d.ts.map +1 -1
  98. package/dest/gas/gas_fees.js +1 -1
  99. package/dest/ha-signing/config.d.ts +4 -2
  100. package/dest/ha-signing/config.d.ts.map +1 -1
  101. package/dest/ha-signing/config.js +5 -3
  102. package/dest/ha-signing/index.d.ts +2 -2
  103. package/dest/ha-signing/index.d.ts.map +1 -1
  104. package/dest/ha-signing/index.js +1 -1
  105. package/dest/interfaces/aztec-node-admin.d.ts +9 -1
  106. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  107. package/dest/interfaces/aztec-node-admin.js +3 -1
  108. package/dest/interfaces/configs.d.ts +7 -1
  109. package/dest/interfaces/configs.d.ts.map +1 -1
  110. package/dest/interfaces/configs.js +1 -0
  111. package/dest/kernel/claimed_length_array.d.ts +2 -2
  112. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  113. package/dest/kernel/claimed_length_array.js +1 -1
  114. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
  115. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  116. package/dest/kernel/hints/transient_data_squashing_hint.js +1 -1
  117. package/dest/kernel/log_hash.d.ts +2 -2
  118. package/dest/kernel/log_hash.d.ts.map +1 -1
  119. package/dest/kernel/log_hash.js +1 -1
  120. package/dest/kernel/private_log_data.d.ts +2 -2
  121. package/dest/kernel/private_log_data.d.ts.map +1 -1
  122. package/dest/kernel/private_log_data.js +1 -1
  123. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  124. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  125. package/dest/kernel/private_to_avm_accumulated_data.js +1 -1
  126. package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -2
  127. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  128. package/dest/kernel/private_to_public_accumulated_data.js +1 -1
  129. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +2 -2
  130. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  131. package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
  132. package/dest/kernel/private_validation_requests.d.ts +2 -2
  133. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  134. package/dest/kernel/private_validation_requests.js +1 -1
  135. package/dest/kernel/public_call_request.d.ts +2 -2
  136. package/dest/kernel/public_call_request.d.ts.map +1 -1
  137. package/dest/kernel/public_call_request.js +1 -1
  138. package/dest/keys/public_keys.d.ts +2 -1
  139. package/dest/keys/public_keys.d.ts.map +1 -1
  140. package/dest/keys/public_keys.js +1 -0
  141. package/dest/logs/contract_class_log.d.ts +2 -2
  142. package/dest/logs/contract_class_log.d.ts.map +1 -1
  143. package/dest/logs/contract_class_log.js +1 -1
  144. package/dest/logs/log_cursor.d.ts +2 -1
  145. package/dest/logs/log_cursor.d.ts.map +1 -1
  146. package/dest/logs/log_cursor.js +1 -0
  147. package/dest/logs/private_log.d.ts +2 -2
  148. package/dest/logs/private_log.d.ts.map +1 -1
  149. package/dest/logs/private_log.js +1 -1
  150. package/dest/logs/public_log.d.ts +2 -2
  151. package/dest/logs/public_log.d.ts.map +1 -1
  152. package/dest/logs/public_log.js +1 -1
  153. package/dest/messaging/l1_to_l2_message.d.ts +2 -1
  154. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  155. package/dest/messaging/l1_to_l2_message.js +1 -0
  156. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  157. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  158. package/dest/messaging/l2_to_l1_membership.js +1 -0
  159. package/dest/messaging/out_hash.d.ts +1 -1
  160. package/dest/messaging/out_hash.d.ts.map +1 -1
  161. package/dest/messaging/out_hash.js +1 -0
  162. package/dest/note/note_dao.d.ts +2 -1
  163. package/dest/note/note_dao.d.ts.map +1 -1
  164. package/dest/note/note_dao.js +1 -0
  165. package/dest/proofs/chonk_proof.d.ts +2 -1
  166. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  167. package/dest/proofs/chonk_proof.js +1 -0
  168. package/dest/proofs/proof.d.ts +2 -1
  169. package/dest/proofs/proof.d.ts.map +1 -1
  170. package/dest/proofs/proof.js +2 -1
  171. package/dest/rollup/block_headers_hash.d.ts +1 -1
  172. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  173. package/dest/rollup/block_headers_hash.js +1 -0
  174. package/dest/rollup/checkpoint_constant_data.d.ts +2 -2
  175. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  176. package/dest/rollup/checkpoint_constant_data.js +1 -1
  177. package/dest/rollup/checkpoint_header.d.ts +2 -2
  178. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  179. package/dest/rollup/checkpoint_header.js +1 -1
  180. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -1
  181. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  182. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +1 -0
  183. package/dest/slashing/votes.d.ts +2 -1
  184. package/dest/slashing/votes.d.ts.map +1 -1
  185. package/dest/slashing/votes.js +1 -0
  186. package/dest/snapshots/download.d.ts +2 -2
  187. package/dest/snapshots/download.d.ts.map +1 -1
  188. package/dest/snapshots/download.js +8 -2
  189. package/dest/snapshots/index.d.ts +2 -2
  190. package/dest/snapshots/index.d.ts.map +1 -1
  191. package/dest/snapshots/index.js +1 -1
  192. package/dest/snapshots/upload.d.ts +1 -1
  193. package/dest/snapshots/upload.d.ts.map +1 -1
  194. package/dest/snapshots/upload.js +1 -0
  195. package/dest/tests/factories.d.ts +2 -1
  196. package/dest/tests/factories.d.ts.map +1 -1
  197. package/dest/tests/factories.js +1 -0
  198. package/dest/tests/mocks.d.ts +1 -1
  199. package/dest/tests/mocks.d.ts.map +1 -1
  200. package/dest/tests/mocks.js +1 -0
  201. package/dest/trees/append_only_tree_snapshot.d.ts +2 -2
  202. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  203. package/dest/trees/append_only_tree_snapshot.js +1 -1
  204. package/dest/trees/nullifier_leaf.d.ts +2 -1
  205. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  206. package/dest/trees/nullifier_leaf.js +1 -0
  207. package/dest/trees/public_data_leaf.d.ts +2 -1
  208. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  209. package/dest/trees/public_data_leaf.js +1 -0
  210. package/dest/tx/block_header.d.ts +2 -2
  211. package/dest/tx/block_header.d.ts.map +1 -1
  212. package/dest/tx/block_header.js +1 -1
  213. package/dest/tx/call_context.d.ts +2 -2
  214. package/dest/tx/call_context.d.ts.map +1 -1
  215. package/dest/tx/call_context.js +1 -1
  216. package/dest/tx/global_variables.d.ts +2 -2
  217. package/dest/tx/global_variables.d.ts.map +1 -1
  218. package/dest/tx/global_variables.js +1 -1
  219. package/dest/tx/profiling.d.ts +1 -1
  220. package/dest/tx/profiling.d.ts.map +1 -1
  221. package/dest/tx/profiling.js +1 -0
  222. package/dest/tx/public_call_request_with_calldata.d.ts +2 -2
  223. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  224. package/dest/tx/public_call_request_with_calldata.js +1 -1
  225. package/dest/tx/state_reference.d.ts +2 -2
  226. package/dest/tx/state_reference.d.ts.map +1 -1
  227. package/dest/tx/state_reference.js +1 -1
  228. package/dest/tx/tree_snapshots.d.ts +2 -2
  229. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  230. package/dest/tx/tree_snapshots.js +1 -1
  231. package/dest/tx/tx.d.ts +7 -1
  232. package/dest/tx/tx.d.ts.map +1 -1
  233. package/dest/tx/tx.js +8 -1
  234. package/dest/tx/tx_effect.d.ts +2 -2
  235. package/dest/tx/tx_effect.d.ts.map +1 -1
  236. package/dest/tx/tx_effect.js +1 -1
  237. package/dest/tx/tx_execution_request.d.ts +2 -2
  238. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  239. package/dest/tx/tx_execution_request.js +1 -1
  240. package/dest/tx/validator/error_texts.d.ts +2 -1
  241. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  242. package/dest/tx/validator/error_texts.js +13 -0
  243. package/dest/vks/verification_key.d.ts +2 -1
  244. package/dest/vks/verification_key.d.ts.map +1 -1
  245. package/dest/vks/verification_key.js +1 -0
  246. package/dest/zkpassport/index.d.ts +2 -1
  247. package/dest/zkpassport/index.d.ts.map +1 -1
  248. package/dest/zkpassport/index.js +1 -0
  249. package/package.json +10 -9
  250. package/src/abi/abi.ts +1 -0
  251. package/src/abi/authorization_selector.ts +1 -0
  252. package/src/abi/buffer.ts +1 -0
  253. package/src/abi/contract_artifact.ts +1 -0
  254. package/src/abi/encoder.ts +1 -0
  255. package/src/abi/event_selector.ts +1 -0
  256. package/src/abi/function_selector.ts +1 -0
  257. package/src/abi/note_selector.ts +1 -0
  258. package/src/abi/selector.ts +1 -1
  259. package/src/abi/utils.ts +2 -0
  260. package/src/avm/avm.ts +1 -0
  261. package/src/avm/avm_accumulated_data.ts +1 -1
  262. package/src/avm/avm_circuit_public_inputs.ts +1 -1
  263. package/src/avm/message_pack.ts +1 -1
  264. package/src/avm/revert_code.ts +2 -1
  265. package/src/aztec-address/index.ts +2 -1
  266. package/src/block/block_hash.ts +1 -1
  267. package/src/block/body.ts +1 -1
  268. package/src/block/l2_block_source.ts +19 -2
  269. package/src/block/proposal/attestations_and_signers.ts +1 -0
  270. package/src/block/proposal/committee_attestation.ts +1 -0
  271. package/src/checkpoint/checkpoint_data.ts +9 -1
  272. package/src/config/network-consensus-config.ts +3 -2
  273. package/src/contract/artifact_hash.ts +1 -0
  274. package/src/contract/complete_address.ts +1 -0
  275. package/src/contract/contract_class.ts +1 -0
  276. package/src/contract/contract_class_id.ts +1 -1
  277. package/src/contract/interfaces/contract_class.ts +1 -0
  278. package/src/database-version/database_version.ts +1 -0
  279. package/src/fees/transaction_fee.ts +1 -1
  280. package/src/file-store/http.ts +1 -0
  281. package/src/file-store/memory.ts +1 -0
  282. package/src/file-store/s3.ts +3 -1
  283. package/src/gas/gas.ts +1 -1
  284. package/src/gas/gas_fees.ts +1 -1
  285. package/src/ha-signing/config.ts +8 -4
  286. package/src/ha-signing/index.ts +1 -0
  287. package/src/interfaces/aztec-node-admin.ts +8 -0
  288. package/src/interfaces/configs.ts +6 -0
  289. package/src/kernel/claimed_length_array.ts +1 -1
  290. package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
  291. package/src/kernel/log_hash.ts +1 -1
  292. package/src/kernel/private_log_data.ts +1 -1
  293. package/src/kernel/private_to_avm_accumulated_data.ts +1 -1
  294. package/src/kernel/private_to_public_accumulated_data.ts +1 -1
  295. package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
  296. package/src/kernel/private_validation_requests.ts +1 -1
  297. package/src/kernel/public_call_request.ts +1 -1
  298. package/src/keys/public_keys.ts +1 -0
  299. package/src/logs/contract_class_log.ts +1 -1
  300. package/src/logs/log_cursor.ts +1 -0
  301. package/src/logs/private_log.ts +1 -1
  302. package/src/logs/public_log.ts +1 -1
  303. package/src/messaging/l1_to_l2_message.ts +1 -0
  304. package/src/messaging/l2_to_l1_membership.ts +1 -0
  305. package/src/messaging/out_hash.ts +1 -0
  306. package/src/note/note_dao.ts +1 -0
  307. package/src/proofs/chonk_proof.ts +1 -0
  308. package/src/proofs/proof.ts +2 -1
  309. package/src/rollup/block_headers_hash.ts +1 -0
  310. package/src/rollup/checkpoint_constant_data.ts +1 -1
  311. package/src/rollup/checkpoint_header.ts +1 -1
  312. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +1 -0
  313. package/src/slashing/votes.ts +1 -0
  314. package/src/snapshots/download.ts +28 -19
  315. package/src/snapshots/index.ts +7 -1
  316. package/src/snapshots/upload.ts +1 -0
  317. package/src/tests/factories.ts +1 -0
  318. package/src/tests/mocks.ts +1 -0
  319. package/src/trees/append_only_tree_snapshot.ts +1 -1
  320. package/src/trees/nullifier_leaf.ts +1 -0
  321. package/src/trees/public_data_leaf.ts +1 -0
  322. package/src/tx/block_header.ts +1 -1
  323. package/src/tx/call_context.ts +1 -1
  324. package/src/tx/global_variables.ts +1 -1
  325. package/src/tx/profiling.ts +1 -0
  326. package/src/tx/public_call_request_with_calldata.ts +1 -1
  327. package/src/tx/state_reference.ts +1 -1
  328. package/src/tx/tree_snapshots.ts +1 -1
  329. package/src/tx/tx.ts +10 -0
  330. package/src/tx/tx_effect.ts +1 -1
  331. package/src/tx/tx_execution_request.ts +1 -1
  332. package/src/tx/validator/error_texts.ts +18 -0
  333. package/src/vks/verification_key.ts +1 -0
  334. package/src/zkpassport/index.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec-labs/foundation/curves/bn254';
2
+ import { inspect } from '@aztec-labs/foundation/inspect';
2
3
  import { BufferReader, BufferSink, serializeToSink } from '@aztec-labs/foundation/serialize';
3
- import { inspect } from 'util';
4
4
  import { z } from 'zod';
5
5
 
6
6
  import { FunctionSelector } from '../abi/function_selector.js';
@@ -1,8 +1,8 @@
1
1
  import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, STATE_REFERENCE_LENGTH } from '@aztec-labs/constants';
2
2
  import type { Fr } from '@aztec-labs/foundation/curves/bn254';
3
+ import { inspect } from '@aztec-labs/foundation/inspect';
3
4
  import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec-labs/foundation/serialize';
4
5
  import type { FieldsOf } from '@aztec-labs/foundation/types';
5
- import { inspect } from 'util';
6
6
  import { z } from 'zod';
7
7
 
8
8
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
@@ -1,7 +1,7 @@
1
1
  import { TREE_SNAPSHOTS_LENGTH } from '@aztec-labs/constants';
2
2
  import type { Fr } from '@aztec-labs/foundation/curves/bn254';
3
+ import { inspect } from '@aztec-labs/foundation/inspect';
3
4
  import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec-labs/foundation/serialize';
4
- import { inspect } from 'util';
5
5
  import { z } from 'zod';
6
6
 
7
7
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
package/src/tx/tx.ts CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  TX_DA_GAS_OVERHEAD,
7
7
  } from '@aztec-labs/constants';
8
8
  import { type BaseBuffer32, Buffer32 } from '@aztec-labs/foundation/buffer';
9
+ import { sum } from '@aztec-labs/foundation/collection';
9
10
  import { Fr } from '@aztec-labs/foundation/curves/bn254';
10
11
  import type { ZodFor } from '@aztec-labs/foundation/schemas';
11
12
  import {
@@ -124,10 +125,19 @@ export class Tx extends Gossipable {
124
125
  return callRequests.map(r => this.#combinePublicCallRequestWithCallData(r));
125
126
  }
126
127
 
128
+ /** Returns the number of calldata fields across the supplied calldata entries, whichever calls use them. */
127
129
  getTotalPublicCalldataCount(): number {
128
130
  return this.publicFunctionCalldata.reduce((accum, cd) => accum + cd.values.length, 0);
129
131
  }
130
132
 
133
+ /**
134
+ * Returns the number of calldata fields the public calls receive. Calldata shared by several calls counts once per
135
+ * call, and a call with no matching calldata entry counts as receiving none.
136
+ */
137
+ getDeliveredPublicCalldataCount(): number {
138
+ return sum(this.getPublicCallRequestsWithCalldata().map(r => r.calldata.length));
139
+ }
140
+
131
141
  getGasSettings(): GasSettings {
132
142
  return this.data.constants.txContext.gasSettings;
133
143
  }
@@ -21,10 +21,10 @@ import { type FieldsOf, makeTuple, makeTupleAsync } from '@aztec-labs/foundation
21
21
  import { poseidon2HashWithSeparator } from '@aztec-labs/foundation/crypto/poseidon';
22
22
  import { randomInt } from '@aztec-labs/foundation/crypto/random';
23
23
  import { Fr } from '@aztec-labs/foundation/curves/bn254';
24
+ import { inspect } from '@aztec-labs/foundation/inspect';
24
25
  import { type ZodFor, schemas } from '@aztec-labs/foundation/schemas';
25
26
  import { BufferReader, serializeArrayOfBufferableToVector, serializeToBuffer } from '@aztec-labs/foundation/serialize';
26
27
  import { bufferToHex, hexToBuffer } from '@aztec-labs/foundation/string';
27
- import { inspect } from 'util';
28
28
  import { z } from 'zod';
29
29
 
30
30
  import { PublicDataWrite } from '../avm/public_data_write.js';
@@ -1,8 +1,8 @@
1
1
  import { Fr } from '@aztec-labs/foundation/curves/bn254';
2
+ import { inspect } from '@aztec-labs/foundation/inspect';
2
3
  import { BufferReader, serializeToBuffer } from '@aztec-labs/foundation/serialize';
3
4
  import { bufferToHex, hexToBuffer } from '@aztec-labs/foundation/string';
4
5
  import type { FieldsOf } from '@aztec-labs/foundation/types';
5
- import { inspect } from 'util';
6
6
  import { z } from 'zod';
7
7
 
8
8
  import { FunctionSelector } from '../abi/function_selector.js';
@@ -53,3 +53,21 @@ export const TX_ERROR_MALFORMED_CONTRACT_CLASS_LOG = 'Failed to parse contract c
53
53
 
54
54
  // General
55
55
  export const TX_ERROR_DURING_VALIDATION = 'Unexpected error during validation';
56
+
57
+ // Reasons a tx can fail only because the receiver's own state moved on (later timestamp, raised fee
58
+ // floor, dropped fee-payer balance, committed nullifier, advanced archive root) - not the relayer's fault.
59
+ const RECEIVER_LOCAL_STATE_DRIFT_TX_ERRORS = [
60
+ TX_ERROR_INVALID_EXPIRATION_TIMESTAMP,
61
+ TX_ERROR_EXISTING_NULLIFIER,
62
+ TX_ERROR_BLOCK_HEADER,
63
+ TX_ERROR_INSUFFICIENT_FEE_PER_GAS,
64
+ TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE,
65
+ ];
66
+
67
+ // True when every reason is receiver-local drift. Prefix match: some reasons append detail (e.g. fees).
68
+ export function isReceiverLocalStateDrift(reasons: string[]): boolean {
69
+ return (
70
+ reasons.length > 0 &&
71
+ reasons.every(reason => RECEIVER_LOCAL_STATE_DRIFT_TX_ERRORS.some(drift => reason.startsWith(drift)))
72
+ );
73
+ }
@@ -4,6 +4,7 @@ import { Fr } from '@aztec-labs/foundation/curves/bn254';
4
4
  import { bufferSchemaFor } from '@aztec-labs/foundation/schemas';
5
5
  import { BufferReader, serializeToBuffer } from '@aztec-labs/foundation/serialize';
6
6
  import { bufferToHex, hexToBuffer } from '@aztec-labs/foundation/string';
7
+ import { Buffer } from 'buffer';
7
8
 
8
9
  import { hashVK } from '../hash/index.js';
9
10
 
@@ -3,6 +3,7 @@ import { randomBytes } from '@aztec-labs/foundation/crypto/random';
3
3
  import { Fr } from '@aztec-labs/foundation/curves/bn254';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec-labs/foundation/serialize';
5
5
  import { withoutHexPrefix } from '@aztec-labs/foundation/string';
6
+ import { Buffer } from 'buffer';
6
7
 
7
8
  export type ViemZkPassportProofParams = {
8
9
  version: `0x${string}`;