@aztec/stdlib 0.0.1-commit.e558bd1c → 0.0.1-commit.e57c76e

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 (1040) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +22 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1756 -10463
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +6 -3
  50. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +653 -5446
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/message_pack.js +12 -3
  57. package/dest/avm/public_data_write.d.ts +6 -12
  58. package/dest/avm/public_data_write.d.ts.map +1 -1
  59. package/dest/avm/revert_code.d.ts +6 -7
  60. package/dest/avm/revert_code.d.ts.map +1 -1
  61. package/dest/avm/revert_code.js +13 -21
  62. package/dest/aztec-address/index.d.ts +8 -8
  63. package/dest/aztec-address/index.d.ts.map +1 -1
  64. package/dest/aztec-address/index.js +9 -6
  65. package/dest/block/attestation_info.d.ts +3 -2
  66. package/dest/block/attestation_info.d.ts.map +1 -1
  67. package/dest/block/attestation_info.js +7 -5
  68. package/dest/block/block_data.d.ts +27 -0
  69. package/dest/block/block_data.d.ts.map +1 -0
  70. package/dest/block/block_data.js +12 -0
  71. package/dest/block/block_hash.d.ts +11 -10
  72. package/dest/block/block_hash.d.ts.map +1 -1
  73. package/dest/block/block_hash.js +10 -9
  74. package/dest/block/block_parameter.d.ts +37 -4
  75. package/dest/block/block_parameter.d.ts.map +1 -1
  76. package/dest/block/block_parameter.js +53 -2
  77. package/dest/block/in_block.d.ts +5 -24
  78. package/dest/block/in_block.d.ts.map +1 -1
  79. package/dest/block/index.d.ts +2 -2
  80. package/dest/block/index.d.ts.map +1 -1
  81. package/dest/block/index.js +1 -1
  82. package/dest/block/l2_block.d.ts +21 -41
  83. package/dest/block/l2_block.d.ts.map +1 -1
  84. package/dest/block/l2_block.js +12 -2
  85. package/dest/block/l2_block_info.d.ts +10 -29
  86. package/dest/block/l2_block_info.d.ts.map +1 -1
  87. package/dest/block/l2_block_info.js +6 -5
  88. package/dest/block/l2_block_source.d.ts +216 -338
  89. package/dest/block/l2_block_source.d.ts.map +1 -1
  90. package/dest/block/l2_block_source.js +67 -1
  91. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  92. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  94. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
  96. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  97. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  99. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  100. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  101. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  102. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  103. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  104. package/dest/block/proposal/attestations_and_signers.js +26 -18
  105. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  106. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  107. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  108. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  109. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  110. package/dest/checkpoint/checkpoint.d.ts +48 -99
  111. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint.js +41 -17
  113. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  114. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  115. package/dest/checkpoint/checkpoint_data.js +38 -0
  116. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  117. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  119. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  120. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  121. package/dest/checkpoint/digest.d.ts +18 -0
  122. package/dest/checkpoint/digest.d.ts.map +1 -0
  123. package/dest/checkpoint/digest.js +12 -0
  124. package/dest/checkpoint/index.d.ts +6 -1
  125. package/dest/checkpoint/index.d.ts.map +1 -1
  126. package/dest/checkpoint/index.js +5 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  128. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  129. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  130. package/dest/checkpoint/published_checkpoint.d.ts +53 -190
  131. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  132. package/dest/checkpoint/published_checkpoint.js +1 -2
  133. package/dest/checkpoint/validate.d.ts +36 -0
  134. package/dest/checkpoint/validate.d.ts.map +1 -0
  135. package/dest/checkpoint/validate.js +120 -0
  136. package/dest/config/chain-config.d.ts +4 -9
  137. package/dest/config/chain-config.d.ts.map +1 -1
  138. package/dest/config/chain-config.js +13 -12
  139. package/dest/config/index.d.ts +2 -1
  140. package/dest/config/index.d.ts.map +1 -1
  141. package/dest/config/index.js +1 -0
  142. package/dest/config/sequencer-config.d.ts +14 -0
  143. package/dest/config/sequencer-config.d.ts.map +1 -0
  144. package/dest/config/sequencer-config.js +38 -0
  145. package/dest/contract/complete_address.d.ts +3 -2
  146. package/dest/contract/complete_address.d.ts.map +1 -1
  147. package/dest/contract/complete_address.js +6 -2
  148. package/dest/contract/contract_address.d.ts +6 -6
  149. package/dest/contract/contract_address.d.ts.map +1 -1
  150. package/dest/contract/contract_address.js +9 -8
  151. package/dest/contract/contract_class.d.ts +2 -3
  152. package/dest/contract/contract_class.d.ts.map +1 -1
  153. package/dest/contract/contract_class_id.d.ts +3 -3
  154. package/dest/contract/contract_class_id.d.ts.map +1 -1
  155. package/dest/contract/contract_class_id.js +7 -6
  156. package/dest/contract/contract_deployment_data.d.ts +15 -61
  157. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  158. package/dest/contract/contract_instance.d.ts +4 -2
  159. package/dest/contract/contract_instance.d.ts.map +1 -1
  160. package/dest/contract/contract_instance.js +10 -3
  161. package/dest/contract/index.d.ts +1 -3
  162. package/dest/contract/index.d.ts.map +1 -1
  163. package/dest/contract/index.js +0 -2
  164. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  165. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  166. package/dest/contract/interfaces/contract_class.js +1 -28
  167. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  168. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  169. package/dest/contract/interfaces/contract_instance.js +4 -2
  170. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  171. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  172. package/dest/contract/interfaces/node-info.d.ts +3 -1
  173. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  174. package/dest/contract/interfaces/node-info.js +2 -1
  175. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  176. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  177. package/dest/contract/private_function.d.ts +1 -1
  178. package/dest/contract/private_function.d.ts.map +1 -1
  179. package/dest/contract/private_function.js +4 -6
  180. package/dest/database-version/database_version.d.ts +5 -11
  181. package/dest/database-version/database_version.d.ts.map +1 -1
  182. package/dest/database-version/version_manager.d.ts +6 -2
  183. package/dest/database-version/version_manager.d.ts.map +1 -1
  184. package/dest/database-version/version_manager.js +12 -1
  185. package/dest/epoch-helpers/index.d.ts +14 -18
  186. package/dest/epoch-helpers/index.d.ts.map +1 -1
  187. package/dest/epoch-helpers/index.js +18 -2
  188. package/dest/file-store/factory.d.ts +4 -3
  189. package/dest/file-store/factory.d.ts.map +1 -1
  190. package/dest/file-store/factory.js +2 -2
  191. package/dest/file-store/http.d.ts +9 -2
  192. package/dest/file-store/http.d.ts.map +1 -1
  193. package/dest/file-store/http.js +20 -9
  194. package/dest/file-store/index.d.ts +2 -1
  195. package/dest/file-store/index.d.ts.map +1 -1
  196. package/dest/file-store/local.d.ts +3 -3
  197. package/dest/file-store/local.d.ts.map +1 -1
  198. package/dest/file-store/local.js +13 -4
  199. package/dest/file-store/s3.d.ts +1 -1
  200. package/dest/file-store/s3.d.ts.map +1 -1
  201. package/dest/file-store/s3.js +11 -3
  202. package/dest/gas/fee_math.d.ts +49 -0
  203. package/dest/gas/fee_math.d.ts.map +1 -0
  204. package/dest/gas/fee_math.js +80 -0
  205. package/dest/gas/gas.d.ts +9 -14
  206. package/dest/gas/gas.d.ts.map +1 -1
  207. package/dest/gas/gas.js +6 -3
  208. package/dest/gas/gas_fees.d.ts +13 -14
  209. package/dest/gas/gas_fees.d.ts.map +1 -1
  210. package/dest/gas/gas_fees.js +20 -4
  211. package/dest/gas/gas_settings.d.ts +66 -86
  212. package/dest/gas/gas_settings.d.ts.map +1 -1
  213. package/dest/gas/gas_settings.js +56 -9
  214. package/dest/gas/index.d.ts +2 -1
  215. package/dest/gas/index.d.ts.map +1 -1
  216. package/dest/gas/index.js +1 -0
  217. package/dest/ha-signing/config.d.ts +72 -0
  218. package/dest/ha-signing/config.d.ts.map +1 -0
  219. package/dest/ha-signing/config.js +88 -0
  220. package/dest/ha-signing/index.d.ts +4 -0
  221. package/dest/ha-signing/index.d.ts.map +1 -0
  222. package/dest/ha-signing/index.js +3 -0
  223. package/dest/ha-signing/local_config.d.ts +32 -0
  224. package/dest/ha-signing/local_config.d.ts.map +1 -0
  225. package/dest/ha-signing/local_config.js +24 -0
  226. package/dest/ha-signing/types.d.ts +90 -0
  227. package/dest/ha-signing/types.d.ts.map +1 -0
  228. package/dest/ha-signing/types.js +39 -0
  229. package/dest/hash/hash.d.ts +35 -1
  230. package/dest/hash/hash.d.ts.map +1 -1
  231. package/dest/hash/hash.js +78 -11
  232. package/dest/hash/map_slot.js +2 -2
  233. package/dest/interfaces/allowed_element.d.ts +17 -35
  234. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  235. package/dest/interfaces/allowed_element.js +8 -8
  236. package/dest/interfaces/api_limit.d.ts +1 -1
  237. package/dest/interfaces/api_limit.js +1 -1
  238. package/dest/interfaces/archiver.d.ts +22 -32
  239. package/dest/interfaces/archiver.d.ts.map +1 -1
  240. package/dest/interfaces/archiver.js +215 -65
  241. package/dest/interfaces/aztec-node-admin.d.ts +105 -263
  242. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  243. package/dest/interfaces/aztec-node-admin.js +66 -17
  244. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  245. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  246. package/dest/interfaces/aztec-node-debug.js +21 -0
  247. package/dest/interfaces/aztec-node.d.ts +115 -106
  248. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  249. package/dest/interfaces/aztec-node.js +311 -68
  250. package/dest/interfaces/block-builder.d.ts +41 -12
  251. package/dest/interfaces/block-builder.d.ts.map +1 -1
  252. package/dest/interfaces/block-builder.js +13 -6
  253. package/dest/interfaces/block_response.d.ts +90 -0
  254. package/dest/interfaces/block_response.d.ts.map +1 -0
  255. package/dest/interfaces/block_response.js +30 -0
  256. package/dest/interfaces/chain_tips.d.ts +50 -0
  257. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  258. package/dest/interfaces/chain_tips.js +11 -0
  259. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  260. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  261. package/dest/interfaces/checkpoint_parameter.js +18 -0
  262. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  263. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  264. package/dest/interfaces/checkpoint_response.js +26 -0
  265. package/dest/interfaces/client.d.ts +8 -2
  266. package/dest/interfaces/client.d.ts.map +1 -1
  267. package/dest/interfaces/client.js +7 -1
  268. package/dest/interfaces/configs.d.ts +73 -117
  269. package/dest/interfaces/configs.d.ts.map +1 -1
  270. package/dest/interfaces/configs.js +18 -3
  271. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  272. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  273. package/dest/interfaces/l1_publish_info.js +26 -0
  274. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  275. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  276. package/dest/interfaces/l2_logs_source.js +5 -0
  277. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  278. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  279. package/dest/interfaces/p2p-bootstrap.js +8 -2
  280. package/dest/interfaces/p2p.d.ts +17 -12
  281. package/dest/interfaces/p2p.d.ts.map +1 -1
  282. package/dest/interfaces/p2p.js +28 -5
  283. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  284. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  285. package/dest/interfaces/prover-agent.d.ts +5 -23
  286. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  287. package/dest/interfaces/prover-agent.js +4 -1
  288. package/dest/interfaces/prover-client.d.ts +9 -25
  289. package/dest/interfaces/prover-client.d.ts.map +1 -1
  290. package/dest/interfaces/prover-client.js +7 -4
  291. package/dest/interfaces/prover-node.js +22 -8
  292. package/dest/interfaces/proving-job-source.js +24 -4
  293. package/dest/interfaces/proving-job.d.ts +742 -5793
  294. package/dest/interfaces/proving-job.d.ts.map +1 -1
  295. package/dest/interfaces/proving-job.js +1 -1
  296. package/dest/interfaces/public_storage_override.d.ts +22 -0
  297. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  298. package/dest/interfaces/public_storage_override.js +7 -0
  299. package/dest/interfaces/server.d.ts +6 -1
  300. package/dest/interfaces/server.d.ts.map +1 -1
  301. package/dest/interfaces/server.js +5 -0
  302. package/dest/interfaces/slasher.d.ts +26 -62
  303. package/dest/interfaces/slasher.d.ts.map +1 -1
  304. package/dest/interfaces/slasher.js +9 -4
  305. package/dest/interfaces/tx_provider.d.ts +6 -1
  306. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  307. package/dest/interfaces/validator.d.ts +74 -201
  308. package/dest/interfaces/validator.d.ts.map +1 -1
  309. package/dest/interfaces/validator.js +15 -5
  310. package/dest/interfaces/world_state.d.ts +6 -5
  311. package/dest/interfaces/world_state.d.ts.map +1 -1
  312. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  313. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  314. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  315. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  316. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  317. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  318. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  319. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  320. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  321. package/dest/kernel/hints/index.d.ts +2 -2
  322. package/dest/kernel/hints/index.js +2 -2
  323. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  324. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  325. package/dest/kernel/hints/key_validation_request.js +20 -18
  326. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  327. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  328. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  329. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  330. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  331. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  332. package/dest/kernel/index.d.ts +5 -1
  333. package/dest/kernel/index.d.ts.map +1 -1
  334. package/dest/kernel/index.js +4 -0
  335. package/dest/kernel/log_hash.d.ts +6 -2
  336. package/dest/kernel/log_hash.d.ts.map +1 -1
  337. package/dest/kernel/log_hash.js +21 -9
  338. package/dest/kernel/private_circuit_public_inputs.d.ts +10 -10
  339. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  340. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  341. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +4 -4
  342. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  344. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  345. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  346. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  347. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  348. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  349. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  350. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  351. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  352. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  353. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  354. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  355. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  356. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  357. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  358. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  359. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  360. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  361. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  362. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  363. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  364. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  365. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  366. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  367. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  368. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  369. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  370. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  371. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  372. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  373. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  374. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  375. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  376. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  377. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  378. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  379. package/dest/kernel/private_validation_requests.d.ts +3 -3
  380. package/dest/kernel/private_validation_requests.js +9 -9
  381. package/dest/kernel/public_call_request.d.ts +15 -30
  382. package/dest/kernel/public_call_request.d.ts.map +1 -1
  383. package/dest/kernel/public_call_request.js +16 -7
  384. package/dest/keys/derivation.d.ts +6 -2
  385. package/dest/keys/derivation.d.ts.map +1 -1
  386. package/dest/keys/derivation.js +21 -11
  387. package/dest/keys/key_types.d.ts +3 -3
  388. package/dest/keys/key_types.d.ts.map +1 -1
  389. package/dest/keys/public_key.d.ts +22 -3
  390. package/dest/keys/public_key.d.ts.map +1 -1
  391. package/dest/keys/public_key.js +20 -1
  392. package/dest/keys/public_keys.d.ts +55 -82
  393. package/dest/keys/public_keys.d.ts.map +1 -1
  394. package/dest/keys/public_keys.js +102 -74
  395. package/dest/keys/utils.js +5 -5
  396. package/dest/kv-store/config.d.ts +14 -0
  397. package/dest/kv-store/config.d.ts.map +1 -0
  398. package/dest/kv-store/config.js +21 -0
  399. package/dest/kv-store/index.d.ts +2 -0
  400. package/dest/kv-store/index.d.ts.map +1 -0
  401. package/dest/kv-store/index.js +1 -0
  402. package/dest/l1-contracts/index.d.ts +2 -2
  403. package/dest/l1-contracts/index.d.ts.map +1 -1
  404. package/dest/l1-contracts/index.js +1 -1
  405. package/dest/logs/app_tagging_secret.d.ts +46 -0
  406. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  407. package/dest/logs/app_tagging_secret.js +109 -0
  408. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  409. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  410. package/dest/logs/app_tagging_secret_kind.js +17 -0
  411. package/dest/logs/contract_class_log.d.ts +16 -34
  412. package/dest/logs/contract_class_log.d.ts.map +1 -1
  413. package/dest/logs/contract_class_log.js +11 -9
  414. package/dest/logs/debug_log_store.d.ts +30 -0
  415. package/dest/logs/debug_log_store.d.ts.map +1 -0
  416. package/dest/logs/debug_log_store.js +30 -0
  417. package/dest/logs/index.d.ts +9 -7
  418. package/dest/logs/index.d.ts.map +1 -1
  419. package/dest/logs/index.js +8 -6
  420. package/dest/logs/log_cursor.d.ts +51 -0
  421. package/dest/logs/log_cursor.d.ts.map +1 -0
  422. package/dest/logs/log_cursor.js +82 -0
  423. package/dest/logs/log_result.d.ts +54 -0
  424. package/dest/logs/log_result.d.ts.map +1 -0
  425. package/dest/logs/log_result.js +56 -0
  426. package/dest/logs/logs_query.d.ts +82 -0
  427. package/dest/logs/logs_query.d.ts.map +1 -0
  428. package/dest/logs/logs_query.js +50 -0
  429. package/dest/logs/message_context.d.ts +6 -8
  430. package/dest/logs/message_context.d.ts.map +1 -1
  431. package/dest/logs/message_context.js +27 -9
  432. package/dest/logs/pending_tagged_log.d.ts +2 -3
  433. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  434. package/dest/logs/pending_tagged_log.js +2 -2
  435. package/dest/logs/pre_tag.d.ts +14 -22
  436. package/dest/logs/pre_tag.d.ts.map +1 -1
  437. package/dest/logs/pre_tag.js +2 -2
  438. package/dest/logs/private_log.d.ts +8 -13
  439. package/dest/logs/private_log.d.ts.map +1 -1
  440. package/dest/logs/private_log.js +6 -3
  441. package/dest/logs/public_log.d.ts +4 -3
  442. package/dest/logs/public_log.d.ts.map +1 -1
  443. package/dest/logs/public_log.js +2 -1
  444. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  445. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  446. package/dest/logs/query_all_logs_by_tags.js +64 -0
  447. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  448. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  449. package/dest/logs/shared_secret_derivation.js +15 -9
  450. package/dest/logs/siloed_tag.d.ts +12 -9
  451. package/dest/logs/siloed_tag.d.ts.map +1 -1
  452. package/dest/logs/siloed_tag.js +18 -7
  453. package/dest/logs/tag.d.ts +5 -6
  454. package/dest/logs/tag.d.ts.map +1 -1
  455. package/dest/logs/tag.js +5 -1
  456. package/dest/logs/tagging_index_range.d.ts +22 -0
  457. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  458. package/dest/logs/tagging_index_range.js +8 -0
  459. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  460. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  461. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  462. package/dest/messaging/index.d.ts +2 -1
  463. package/dest/messaging/index.d.ts.map +1 -1
  464. package/dest/messaging/index.js +1 -0
  465. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  466. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  467. package/dest/messaging/l1_to_l2_message.js +11 -13
  468. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  469. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  470. package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
  471. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  472. package/dest/messaging/l2_to_l1_membership.js +133 -30
  473. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  474. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  475. package/dest/messaging/l2_to_l1_message.js +21 -12
  476. package/dest/noir/index.d.ts +5 -3
  477. package/dest/noir/index.d.ts.map +1 -1
  478. package/dest/note/index.d.ts +1 -2
  479. package/dest/note/index.d.ts.map +1 -1
  480. package/dest/note/index.js +0 -1
  481. package/dest/note/note.d.ts +2 -2
  482. package/dest/note/note.d.ts.map +1 -1
  483. package/dest/note/note_dao.d.ts +1 -1
  484. package/dest/note/note_dao.d.ts.map +1 -1
  485. package/dest/note/note_dao.js +1 -4
  486. package/dest/p2p/attestation_utils.d.ts +11 -1
  487. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  488. package/dest/p2p/attestation_utils.js +45 -0
  489. package/dest/p2p/block_proposal.d.ts +32 -15
  490. package/dest/p2p/block_proposal.d.ts.map +1 -1
  491. package/dest/p2p/block_proposal.js +58 -42
  492. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  493. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  494. package/dest/p2p/checkpoint_attestation.js +23 -24
  495. package/dest/p2p/checkpoint_proposal.d.ts +44 -25
  496. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  497. package/dest/p2p/checkpoint_proposal.js +68 -65
  498. package/dest/p2p/client_type.d.ts +2 -5
  499. package/dest/p2p/client_type.d.ts.map +1 -1
  500. package/dest/p2p/client_type.js +0 -7
  501. package/dest/p2p/consensus_payload.d.ts +32 -17
  502. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  503. package/dest/p2p/consensus_payload.js +47 -21
  504. package/dest/p2p/constants.d.ts +3 -1
  505. package/dest/p2p/constants.d.ts.map +1 -1
  506. package/dest/p2p/constants.js +1 -0
  507. package/dest/p2p/gossipable.d.ts +4 -4
  508. package/dest/p2p/gossipable.d.ts.map +1 -1
  509. package/dest/p2p/index.d.ts +1 -2
  510. package/dest/p2p/index.d.ts.map +1 -1
  511. package/dest/p2p/index.js +0 -1
  512. package/dest/p2p/peer_error.d.ts +3 -1
  513. package/dest/p2p/peer_error.d.ts.map +1 -1
  514. package/dest/p2p/peer_error.js +5 -0
  515. package/dest/p2p/signature_utils.d.ts +28 -19
  516. package/dest/p2p/signature_utils.d.ts.map +1 -1
  517. package/dest/p2p/signature_utils.js +118 -21
  518. package/dest/p2p/signed_txs.d.ts +15 -13
  519. package/dest/p2p/signed_txs.d.ts.map +1 -1
  520. package/dest/p2p/signed_txs.js +26 -24
  521. package/dest/p2p/topic_type.d.ts +3 -4
  522. package/dest/p2p/topic_type.d.ts.map +1 -1
  523. package/dest/p2p/topic_type.js +7 -24
  524. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  525. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  526. package/dest/parity/parity_base_private_inputs.js +7 -5
  527. package/dest/parity/parity_public_inputs.d.ts +8 -4
  528. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  529. package/dest/parity/parity_public_inputs.js +6 -3
  530. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  531. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  532. package/dest/proofs/chonk_proof.d.ts +57 -7
  533. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  534. package/dest/proofs/chonk_proof.js +112 -15
  535. package/dest/proofs/recursive_proof.d.ts +2 -2
  536. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  537. package/dest/rollup/block_headers_hash.d.ts +1 -1
  538. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  539. package/dest/rollup/block_headers_hash.js +8 -2
  540. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  541. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  542. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  543. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  544. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  545. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  546. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  547. package/dest/rollup/checkpoint_header.d.ts +2 -2
  548. package/dest/rollup/checkpoint_header.js +2 -2
  549. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  550. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  551. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
  552. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  553. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
  554. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
  555. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  556. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  557. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  558. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  559. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  560. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  561. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  562. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  563. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  564. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  565. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  566. package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
  567. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  568. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  569. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  570. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  571. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  572. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  573. package/dest/schemas/schemas.d.ts +32 -78
  574. package/dest/schemas/schemas.d.ts.map +1 -1
  575. package/dest/schemas/schemas.js +2 -2
  576. package/dest/slashing/helpers.d.ts +2 -2
  577. package/dest/slashing/helpers.d.ts.map +1 -1
  578. package/dest/slashing/helpers.js +13 -7
  579. package/dest/slashing/index.d.ts +2 -3
  580. package/dest/slashing/index.d.ts.map +1 -1
  581. package/dest/slashing/index.js +1 -2
  582. package/dest/slashing/serialization.d.ts +2 -6
  583. package/dest/slashing/serialization.d.ts.map +1 -1
  584. package/dest/slashing/serialization.js +0 -60
  585. package/dest/slashing/types.d.ts +20 -112
  586. package/dest/slashing/types.d.ts.map +1 -1
  587. package/dest/slashing/types.js +22 -24
  588. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  589. package/dest/slashing/votes.d.ts.map +1 -0
  590. package/dest/slashing/{tally.js → votes.js} +30 -2
  591. package/dest/snapshots/types.d.ts +15 -78
  592. package/dest/snapshots/types.d.ts.map +1 -1
  593. package/dest/stats/stats.d.ts +2 -2
  594. package/dest/stats/stats.d.ts.map +1 -1
  595. package/dest/tests/factories.d.ts +25 -30
  596. package/dest/tests/factories.d.ts.map +1 -1
  597. package/dest/tests/factories.js +94 -86
  598. package/dest/tests/mocks.d.ts +15 -7
  599. package/dest/tests/mocks.d.ts.map +1 -1
  600. package/dest/tests/mocks.js +68 -70
  601. package/dest/timetable/index.d.ts +84 -0
  602. package/dest/timetable/index.d.ts.map +1 -0
  603. package/dest/timetable/index.js +209 -0
  604. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  605. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  606. package/dest/trees/append_only_tree_snapshot.js +6 -3
  607. package/dest/trees/nullifier_leaf.d.ts +19 -42
  608. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  609. package/dest/trees/nullifier_leaf.js +3 -0
  610. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  611. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  612. package/dest/trees/nullifier_membership_witness.js +2 -14
  613. package/dest/trees/public_data_leaf.d.ts +22 -53
  614. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  615. package/dest/trees/public_data_leaf.js +7 -6
  616. package/dest/trees/public_data_witness.d.ts +16 -58
  617. package/dest/trees/public_data_witness.d.ts.map +1 -1
  618. package/dest/tx/block_header.d.ts +7 -4
  619. package/dest/tx/block_header.d.ts.map +1 -1
  620. package/dest/tx/block_header.js +13 -6
  621. package/dest/tx/call_context.d.ts +4 -14
  622. package/dest/tx/call_context.d.ts.map +1 -1
  623. package/dest/tx/capsule.d.ts +7 -3
  624. package/dest/tx/capsule.d.ts.map +1 -1
  625. package/dest/tx/capsule.js +9 -3
  626. package/dest/tx/fee_provider.d.ts +10 -0
  627. package/dest/tx/fee_provider.d.ts.map +1 -0
  628. package/dest/tx/fee_provider.js +1 -0
  629. package/dest/tx/function_data.d.ts +4 -10
  630. package/dest/tx/function_data.d.ts.map +1 -1
  631. package/dest/tx/global_variable_builder.d.ts +3 -4
  632. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  633. package/dest/tx/global_variables.d.ts +19 -52
  634. package/dest/tx/global_variables.d.ts.map +1 -1
  635. package/dest/tx/global_variables.js +8 -12
  636. package/dest/tx/hashed_values.d.ts +4 -3
  637. package/dest/tx/hashed_values.d.ts.map +1 -1
  638. package/dest/tx/hashed_values.js +6 -3
  639. package/dest/tx/in_tx.d.ts +5 -17
  640. package/dest/tx/in_tx.d.ts.map +1 -1
  641. package/dest/tx/index.d.ts +2 -1
  642. package/dest/tx/index.d.ts.map +1 -1
  643. package/dest/tx/index.js +1 -0
  644. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  645. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  646. package/dest/tx/indexed_tx_effect.js +9 -6
  647. package/dest/tx/partial_state_reference.d.ts +22 -65
  648. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  649. package/dest/tx/partial_state_reference.js +6 -3
  650. package/dest/tx/private_execution_result.d.ts +11 -21
  651. package/dest/tx/private_execution_result.d.ts.map +1 -1
  652. package/dest/tx/private_execution_result.js +6 -6
  653. package/dest/tx/profiling.d.ts +70 -356
  654. package/dest/tx/profiling.d.ts.map +1 -1
  655. package/dest/tx/profiling.js +19 -9
  656. package/dest/tx/protocol_contracts.d.ts +5 -9
  657. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  658. package/dest/tx/protocol_contracts.js +2 -2
  659. package/dest/tx/proven_tx.d.ts +30 -74
  660. package/dest/tx/proven_tx.d.ts.map +1 -1
  661. package/dest/tx/proven_tx.js +6 -0
  662. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  663. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  664. package/dest/tx/public_call_request_with_calldata.js +6 -3
  665. package/dest/tx/public_simulation_output.d.ts +4 -2
  666. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  667. package/dest/tx/public_simulation_output.js +7 -3
  668. package/dest/tx/simulated_tx.d.ts +68 -1144
  669. package/dest/tx/simulated_tx.d.ts.map +1 -1
  670. package/dest/tx/simulated_tx.js +17 -12
  671. package/dest/tx/state_reference.d.ts +30 -117
  672. package/dest/tx/state_reference.d.ts.map +1 -1
  673. package/dest/tx/state_reference.js +6 -4
  674. package/dest/tx/tree_snapshots.d.ts +27 -84
  675. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  676. package/dest/tx/tree_snapshots.js +6 -4
  677. package/dest/tx/tx.d.ts +19 -17
  678. package/dest/tx/tx.d.ts.map +1 -1
  679. package/dest/tx/tx.js +48 -29
  680. package/dest/tx/tx_constant_data.d.ts +4 -3
  681. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  682. package/dest/tx/tx_constant_data.js +6 -3
  683. package/dest/tx/tx_context.d.ts +32 -131
  684. package/dest/tx/tx_context.d.ts.map +1 -1
  685. package/dest/tx/tx_context.js +6 -6
  686. package/dest/tx/tx_hash.d.ts +6 -4
  687. package/dest/tx/tx_hash.d.ts.map +1 -1
  688. package/dest/tx/tx_hash.js +13 -5
  689. package/dest/tx/tx_receipt.d.ts +151 -51
  690. package/dest/tx/tx_receipt.d.ts.map +1 -1
  691. package/dest/tx/tx_receipt.js +145 -51
  692. package/dest/tx/tx_request.js +2 -2
  693. package/dest/tx/validator/empty_validator.d.ts +2 -2
  694. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  695. package/dest/tx/validator/error_texts.d.ts +10 -2
  696. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  697. package/dest/tx/validator/error_texts.js +11 -1
  698. package/dest/tx/validator/tx_validator.d.ts +6 -28
  699. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  700. package/dest/tx/validator/tx_validator.js +0 -4
  701. package/dest/types/shared.d.ts +4 -12
  702. package/dest/types/shared.d.ts.map +1 -1
  703. package/dest/types/shared.js +6 -12
  704. package/dest/update-checker/dev_version.d.ts +3 -0
  705. package/dest/update-checker/dev_version.d.ts.map +1 -0
  706. package/dest/update-checker/dev_version.js +1 -0
  707. package/dest/update-checker/index.d.ts +4 -2
  708. package/dest/update-checker/index.d.ts.map +1 -1
  709. package/dest/update-checker/index.js +3 -1
  710. package/dest/update-checker/package_version.d.ts +6 -0
  711. package/dest/update-checker/package_version.d.ts.map +1 -0
  712. package/dest/update-checker/package_version.js +13 -0
  713. package/dest/update-checker/version_checker.d.ts +25 -0
  714. package/dest/update-checker/version_checker.d.ts.map +1 -0
  715. package/dest/update-checker/version_checker.js +50 -0
  716. package/dest/validators/errors.d.ts +6 -1
  717. package/dest/validators/errors.d.ts.map +1 -1
  718. package/dest/validators/errors.js +7 -0
  719. package/dest/validators/schemas.d.ts +147 -614
  720. package/dest/validators/schemas.d.ts.map +1 -1
  721. package/dest/validators/schemas.js +9 -6
  722. package/dest/validators/types.d.ts +21 -4
  723. package/dest/validators/types.d.ts.map +1 -1
  724. package/dest/versioning/versioning.d.ts +4 -2
  725. package/dest/versioning/versioning.d.ts.map +1 -1
  726. package/dest/versioning/versioning.js +5 -2
  727. package/dest/vks/verification_key.d.ts +4 -139
  728. package/dest/vks/verification_key.d.ts.map +1 -1
  729. package/dest/vks/verification_key.js +5 -126
  730. package/dest/world-state/genesis_data.d.ts +13 -0
  731. package/dest/world-state/genesis_data.d.ts.map +1 -0
  732. package/dest/world-state/genesis_data.js +7 -0
  733. package/dest/world-state/index.d.ts +2 -1
  734. package/dest/world-state/index.d.ts.map +1 -1
  735. package/dest/world-state/index.js +1 -0
  736. package/dest/world-state/world_state_revision.d.ts +15 -26
  737. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  738. package/dest/world-state/world_state_revision.js +7 -1
  739. package/package.json +16 -13
  740. package/src/abi/abi.ts +78 -21
  741. package/src/abi/authorization_selector.ts +2 -8
  742. package/src/abi/buffer.ts +25 -4
  743. package/src/abi/contract_artifact.ts +11 -6
  744. package/src/abi/decoder.ts +36 -82
  745. package/src/abi/encoder.ts +85 -6
  746. package/src/abi/event_metadata_definition.ts +2 -0
  747. package/src/abi/event_selector.ts +2 -8
  748. package/src/abi/function_call.ts +25 -3
  749. package/src/abi/function_selector.ts +4 -13
  750. package/src/abi/function_signature_decoder.ts +77 -0
  751. package/src/abi/index.ts +1 -0
  752. package/src/abi/note_selector.ts +3 -12
  753. package/src/abi/selector.ts +1 -1
  754. package/src/abi/utils.ts +31 -4
  755. package/src/auth_witness/auth_witness.ts +3 -3
  756. package/src/avm/avm.ts +5 -0
  757. package/src/avm/message_pack.ts +12 -3
  758. package/src/avm/revert_code.ts +20 -25
  759. package/src/aztec-address/index.ts +15 -12
  760. package/src/block/attestation_info.ts +11 -11
  761. package/src/block/block_data.ts +25 -0
  762. package/src/block/block_hash.ts +21 -14
  763. package/src/block/block_parameter.ts +72 -4
  764. package/src/block/index.ts +1 -1
  765. package/src/block/l2_block.ts +13 -1
  766. package/src/block/l2_block_info.ts +8 -6
  767. package/src/block/l2_block_source.ts +214 -123
  768. package/src/block/l2_block_stream/interfaces.ts +6 -2
  769. package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
  770. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  771. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  772. package/src/block/proposal/attestations_and_signers.ts +32 -17
  773. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  774. package/src/checkpoint/checkpoint.ts +54 -17
  775. package/src/checkpoint/checkpoint_data.ts +91 -0
  776. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  777. package/src/checkpoint/digest.ts +28 -0
  778. package/src/checkpoint/index.ts +5 -0
  779. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  780. package/src/checkpoint/published_checkpoint.ts +3 -1
  781. package/src/checkpoint/validate.ts +230 -0
  782. package/src/config/chain-config.ts +13 -16
  783. package/src/config/index.ts +1 -0
  784. package/src/config/sequencer-config.ts +65 -0
  785. package/src/contract/complete_address.ts +7 -3
  786. package/src/contract/contract_address.ts +10 -10
  787. package/src/contract/contract_class.ts +3 -3
  788. package/src/contract/contract_class_id.ts +7 -6
  789. package/src/contract/contract_instance.ts +11 -2
  790. package/src/contract/index.ts +0 -2
  791. package/src/contract/interfaces/contract_class.ts +2 -82
  792. package/src/contract/interfaces/contract_instance.ts +6 -2
  793. package/src/contract/interfaces/node-info.ts +3 -0
  794. package/src/contract/private_function.ts +5 -3
  795. package/src/database-version/version_manager.ts +17 -0
  796. package/src/epoch-helpers/index.ts +30 -0
  797. package/src/file-store/factory.ts +13 -4
  798. package/src/file-store/http.ts +29 -10
  799. package/src/file-store/index.ts +1 -0
  800. package/src/file-store/local.ts +15 -5
  801. package/src/file-store/s3.ts +12 -3
  802. package/src/gas/README.md +154 -0
  803. package/src/gas/fee_math.ts +120 -0
  804. package/src/gas/gas.ts +8 -3
  805. package/src/gas/gas_fees.ts +29 -10
  806. package/src/gas/gas_settings.ts +73 -15
  807. package/src/gas/index.ts +1 -0
  808. package/src/ha-signing/config.ts +152 -0
  809. package/src/ha-signing/index.ts +29 -0
  810. package/src/ha-signing/local_config.ts +46 -0
  811. package/src/ha-signing/types.ts +126 -0
  812. package/src/hash/hash.ts +76 -11
  813. package/src/hash/map_slot.ts +2 -2
  814. package/src/interfaces/allowed_element.ts +29 -9
  815. package/src/interfaces/api_limit.ts +1 -1
  816. package/src/interfaces/archiver.ts +90 -88
  817. package/src/interfaces/aztec-node-admin.ts +57 -19
  818. package/src/interfaces/aztec-node-debug.ts +40 -0
  819. package/src/interfaces/aztec-node.ts +314 -246
  820. package/src/interfaces/block-builder.ts +63 -14
  821. package/src/interfaces/block_response.ts +92 -0
  822. package/src/interfaces/chain_tips.ts +24 -0
  823. package/src/interfaces/checkpoint_parameter.ts +20 -0
  824. package/src/interfaces/checkpoint_response.ts +84 -0
  825. package/src/interfaces/client.ts +7 -1
  826. package/src/interfaces/configs.ts +75 -8
  827. package/src/interfaces/l1_publish_info.ts +40 -0
  828. package/src/interfaces/l2_logs_source.ts +13 -39
  829. package/src/interfaces/merkle_tree_operations.ts +12 -21
  830. package/src/interfaces/p2p-bootstrap.ts +2 -2
  831. package/src/interfaces/p2p.ts +37 -28
  832. package/src/interfaces/private_kernel_prover.ts +88 -0
  833. package/src/interfaces/prover-agent.ts +1 -1
  834. package/src/interfaces/prover-client.ts +10 -5
  835. package/src/interfaces/prover-node.ts +7 -7
  836. package/src/interfaces/proving-job-source.ts +4 -4
  837. package/src/interfaces/proving-job.ts +3 -3
  838. package/src/interfaces/public_storage_override.ts +26 -0
  839. package/src/interfaces/server.ts +5 -0
  840. package/src/interfaces/slasher.ts +19 -10
  841. package/src/interfaces/tx_provider.ts +6 -0
  842. package/src/interfaces/validator.ts +86 -36
  843. package/src/interfaces/world_state.ts +5 -4
  844. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  845. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  846. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  847. package/src/kernel/hints/index.ts +2 -2
  848. package/src/kernel/hints/key_validation_request.ts +18 -16
  849. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  850. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  851. package/src/kernel/index.ts +4 -0
  852. package/src/kernel/log_hash.ts +29 -9
  853. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  854. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  855. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  856. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  857. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  858. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  859. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  860. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  861. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  862. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  863. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  864. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  865. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  866. package/src/kernel/private_validation_requests.ts +8 -8
  867. package/src/kernel/public_call_request.ts +22 -7
  868. package/src/keys/derivation.ts +26 -14
  869. package/src/keys/key_types.ts +6 -2
  870. package/src/keys/public_key.ts +26 -2
  871. package/src/keys/public_keys.ts +125 -111
  872. package/src/keys/utils.ts +5 -5
  873. package/src/kv-store/config.ts +29 -0
  874. package/src/kv-store/index.ts +1 -0
  875. package/src/l1-contracts/index.ts +1 -1
  876. package/src/logs/app_tagging_secret.ts +137 -0
  877. package/src/logs/app_tagging_secret_kind.ts +21 -0
  878. package/src/logs/contract_class_log.ts +15 -5
  879. package/src/logs/debug_log_store.ts +54 -0
  880. package/src/logs/index.ts +8 -6
  881. package/src/logs/log_cursor.ts +110 -0
  882. package/src/logs/log_result.ts +104 -0
  883. package/src/logs/logs_query.ts +138 -0
  884. package/src/logs/message_context.ts +22 -8
  885. package/src/logs/pending_tagged_log.ts +1 -3
  886. package/src/logs/pre_tag.ts +3 -6
  887. package/src/logs/private_log.ts +9 -3
  888. package/src/logs/public_log.ts +4 -2
  889. package/src/logs/query_all_logs_by_tags.ts +98 -0
  890. package/src/logs/shared_secret_derivation.ts +21 -10
  891. package/src/logs/siloed_tag.ts +28 -14
  892. package/src/logs/tag.ts +9 -9
  893. package/src/logs/tagging_index_range.ts +18 -0
  894. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  895. package/src/messaging/index.ts +1 -0
  896. package/src/messaging/l1_to_l2_message.ts +12 -9
  897. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  898. package/src/messaging/l2_to_l1_membership.ts +192 -38
  899. package/src/messaging/l2_to_l1_message.ts +29 -9
  900. package/src/noir/index.ts +4 -2
  901. package/src/note/index.ts +0 -1
  902. package/src/note/note_dao.ts +1 -4
  903. package/src/p2p/attestation_utils.ts +56 -0
  904. package/src/p2p/block_proposal.ts +112 -39
  905. package/src/p2p/checkpoint_attestation.ts +33 -32
  906. package/src/p2p/checkpoint_proposal.ts +149 -86
  907. package/src/p2p/client_type.ts +0 -6
  908. package/src/p2p/consensus_payload.ts +68 -24
  909. package/src/p2p/constants.ts +3 -0
  910. package/src/p2p/gossipable.ts +4 -4
  911. package/src/p2p/index.ts +0 -1
  912. package/src/p2p/peer_error.ts +7 -0
  913. package/src/p2p/signature_utils.ts +110 -25
  914. package/src/p2p/signed_txs.ts +46 -28
  915. package/src/p2p/topic_type.ts +8 -15
  916. package/src/parity/parity_base_private_inputs.ts +10 -4
  917. package/src/parity/parity_public_inputs.ts +9 -2
  918. package/src/proofs/chonk_proof.ts +132 -12
  919. package/src/rollup/block_headers_hash.ts +11 -2
  920. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  921. package/src/rollup/checkpoint_header.ts +2 -2
  922. package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
  923. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  924. package/src/schemas/schemas.ts +6 -1
  925. package/src/slashing/helpers.ts +17 -9
  926. package/src/slashing/index.ts +1 -2
  927. package/src/slashing/serialization.ts +1 -81
  928. package/src/slashing/types.ts +31 -49
  929. package/src/slashing/{tally.ts → votes.ts} +34 -1
  930. package/src/stats/stats.ts +4 -0
  931. package/src/tests/factories.ts +120 -119
  932. package/src/tests/mocks.ts +106 -84
  933. package/src/timetable/index.ts +304 -0
  934. package/src/trees/append_only_tree_snapshot.ts +8 -3
  935. package/src/trees/nullifier_leaf.ts +4 -0
  936. package/src/trees/nullifier_membership_witness.ts +2 -12
  937. package/src/trees/public_data_leaf.ts +11 -5
  938. package/src/tx/block_header.ts +18 -7
  939. package/src/tx/capsule.ts +10 -2
  940. package/src/tx/fee_provider.ts +10 -0
  941. package/src/tx/global_variable_builder.ts +2 -3
  942. package/src/tx/global_variables.ts +13 -21
  943. package/src/tx/hashed_values.ts +8 -3
  944. package/src/tx/index.ts +1 -0
  945. package/src/tx/indexed_tx_effect.ts +18 -6
  946. package/src/tx/partial_state_reference.ts +8 -3
  947. package/src/tx/private_execution_result.ts +5 -5
  948. package/src/tx/profiling.ts +18 -9
  949. package/src/tx/protocol_contracts.ts +2 -2
  950. package/src/tx/proven_tx.ts +6 -0
  951. package/src/tx/public_call_request_with_calldata.ts +8 -3
  952. package/src/tx/public_simulation_output.ts +4 -0
  953. package/src/tx/simulated_tx.ts +30 -22
  954. package/src/tx/state_reference.ts +9 -4
  955. package/src/tx/tree_snapshots.ts +9 -4
  956. package/src/tx/tx.ts +63 -35
  957. package/src/tx/tx_constant_data.ts +8 -3
  958. package/src/tx/tx_context.ts +8 -3
  959. package/src/tx/tx_hash.ts +20 -5
  960. package/src/tx/tx_receipt.ts +269 -74
  961. package/src/tx/tx_request.ts +2 -2
  962. package/src/tx/validator/empty_validator.ts +1 -1
  963. package/src/tx/validator/error_texts.ts +13 -1
  964. package/src/tx/validator/tx_validator.ts +2 -6
  965. package/src/types/shared.ts +8 -13
  966. package/src/update-checker/dev_version.ts +2 -0
  967. package/src/update-checker/index.ts +3 -1
  968. package/src/update-checker/package_version.ts +17 -0
  969. package/src/update-checker/version_checker.ts +65 -0
  970. package/src/validators/errors.ts +9 -0
  971. package/src/validators/schemas.ts +13 -4
  972. package/src/validators/types.ts +25 -5
  973. package/src/versioning/versioning.ts +5 -2
  974. package/src/vks/verification_key.ts +5 -184
  975. package/src/world-state/genesis_data.ts +27 -0
  976. package/src/world-state/index.ts +1 -0
  977. package/src/world-state/world_state_revision.ts +9 -1
  978. package/dest/abi/mocked_keys.d.ts +0 -2
  979. package/dest/abi/mocked_keys.d.ts.map +0 -1
  980. package/dest/abi/mocked_keys.js +0 -1
  981. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  982. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  983. package/dest/block/checkpointed_l2_block.js +0 -46
  984. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  985. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  986. package/dest/contract/private_function_membership_proof.js +0 -124
  987. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  988. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  989. package/dest/contract/utility_function_membership_proof.js +0 -87
  990. package/dest/interfaces/get_logs_response.d.ts +0 -97
  991. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  992. package/dest/interfaces/get_logs_response.js +0 -12
  993. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  994. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  995. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  996. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  997. package/dest/l1-contracts/slash_factory.js +0 -158
  998. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  999. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1000. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1001. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1002. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1003. package/dest/logs/extended_contract_class_log.js +0 -67
  1004. package/dest/logs/extended_public_log.d.ts +0 -106
  1005. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1006. package/dest/logs/extended_public_log.js +0 -73
  1007. package/dest/logs/log_filter.d.ts +0 -22
  1008. package/dest/logs/log_filter.d.ts.map +0 -1
  1009. package/dest/logs/log_filter.js +0 -11
  1010. package/dest/logs/log_id.d.ts +0 -85
  1011. package/dest/logs/log_id.d.ts.map +0 -1
  1012. package/dest/logs/log_id.js +0 -94
  1013. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1014. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1015. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1016. package/dest/note/notes_filter.d.ts +0 -27
  1017. package/dest/note/notes_filter.d.ts.map +0 -1
  1018. package/dest/note/notes_filter.js +0 -11
  1019. package/dest/slashing/empire.d.ts +0 -31
  1020. package/dest/slashing/empire.d.ts.map +0 -1
  1021. package/dest/slashing/empire.js +0 -86
  1022. package/dest/slashing/tally.d.ts.map +0 -1
  1023. package/dest/update-checker/update-checker.d.ts +0 -49
  1024. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1025. package/dest/update-checker/update-checker.js +0 -130
  1026. package/src/abi/mocked_keys.ts +0 -2
  1027. package/src/block/checkpointed_l2_block.ts +0 -70
  1028. package/src/contract/private_function_membership_proof.ts +0 -167
  1029. package/src/contract/utility_function_membership_proof.ts +0 -118
  1030. package/src/interfaces/get_logs_response.ts +0 -35
  1031. package/src/l1-contracts/slash_factory.ts +0 -180
  1032. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1033. package/src/logs/extended_contract_class_log.ts +0 -87
  1034. package/src/logs/extended_public_log.ts +0 -94
  1035. package/src/logs/log_filter.ts +0 -31
  1036. package/src/logs/log_id.ts +0 -125
  1037. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1038. package/src/note/notes_filter.ts +0 -38
  1039. package/src/slashing/empire.ts +0 -103
  1040. package/src/update-checker/update-checker.ts +0 -166
@@ -1,7 +1,13 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
 
3
3
  import type { AbiType, FunctionAbi } from './abi.js';
4
- import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isWrappedFieldStruct } from './utils.js';
4
+ import {
5
+ isAddressStruct,
6
+ isBoundedVecStruct,
7
+ isFunctionSelectorStruct,
8
+ isOptionStruct,
9
+ isWrappedFieldStruct,
10
+ } from './utils.js';
5
11
 
6
12
  /**
7
13
  * Encodes arguments for a function call.
@@ -43,6 +49,32 @@ class ArgumentEncoder {
43
49
  * @param name - Name.
44
50
  */
45
51
  private encodeArgument(abiType: AbiType, arg: any, name?: string) {
52
+ if (isOptionStruct(abiType)) {
53
+ const optionType = abiType as Extract<AbiType, { kind: 'struct' }>;
54
+ const [isSomeField, valueField] = optionType.fields;
55
+
56
+ if (arg === undefined || arg === null) {
57
+ this.encodeArgument(isSomeField.type, false, `${name}._is_some`);
58
+ this.#encodeDefaultValue(valueField.type);
59
+ return;
60
+ }
61
+
62
+ if (typeof arg === 'object' && '_is_some' in arg) {
63
+ this.encodeArgument(isSomeField.type, arg._is_some, `${name}._is_some`);
64
+
65
+ if (arg._is_some) {
66
+ this.encodeArgument(valueField.type, arg._value, `${name}._value`);
67
+ } else {
68
+ this.#encodeDefaultValue(valueField.type);
69
+ }
70
+ return;
71
+ }
72
+
73
+ this.encodeArgument(isSomeField.type, true, `${name}._is_some`);
74
+ this.encodeArgument(valueField.type, arg, `${name}._value`);
75
+ return;
76
+ }
77
+
46
78
  if (arg === undefined || arg == null) {
47
79
  throw new Error(`Undefined argument ${name ?? 'unnamed'} of type ${abiType.kind}`);
48
80
  }
@@ -74,13 +106,28 @@ class ArgumentEncoder {
74
106
  this.flattened.push(new Fr(arg ? 1n : 0n));
75
107
  break;
76
108
  case 'array':
109
+ if (!Array.isArray(arg)) {
110
+ throw new Error(`Expected array for '${name ?? 'unnamed'}' but received ${typeof arg}`);
111
+ }
112
+ if (arg.length !== abiType.length) {
113
+ throw new Error(
114
+ `Expected array of length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`,
115
+ );
116
+ }
77
117
  for (let i = 0; i < abiType.length; i += 1) {
78
118
  this.encodeArgument(abiType.type, arg[i], `${name}[${i}]`);
79
119
  }
80
120
  break;
81
121
  case 'string':
122
+ if (typeof arg !== 'string') {
123
+ throw new Error(`Expected string for '${name ?? 'unnamed'}' but received ${typeof arg}`);
124
+ }
125
+ if (arg.length > abiType.length) {
126
+ throw new Error(
127
+ `Expected string of max length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`,
128
+ );
129
+ }
82
130
  for (let i = 0; i < abiType.length; i += 1) {
83
- // If the string is shorter than the defined length, pad it with 0s.
84
131
  const toInsert = i < arg.length ? BigInt((arg as string).charCodeAt(i)) : 0n;
85
132
  this.flattened.push(new Fr(toInsert));
86
133
  }
@@ -123,14 +170,33 @@ class ArgumentEncoder {
123
170
  }
124
171
  break;
125
172
  }
126
- case 'integer':
127
- if (typeof arg === 'string') {
128
- const value = BigInt(arg);
173
+ case 'integer': {
174
+ const value = BigInt(arg);
175
+ if (abiType.sign === 'unsigned') {
176
+ const maxValue = (1n << BigInt(abiType.width)) - 1n;
177
+ if (value < 0n || value > maxValue) {
178
+ throw new Error(
179
+ `Value ${value} does not fit in u${abiType.width} for '${name ?? 'unnamed'}' (valid range: 0 to ${maxValue})`,
180
+ );
181
+ }
129
182
  this.flattened.push(new Fr(value));
130
183
  } else {
131
- this.flattened.push(new Fr(arg));
184
+ const minValue = -(1n << BigInt(abiType.width - 1));
185
+ const maxValue = (1n << BigInt(abiType.width - 1)) - 1n;
186
+ if (value < minValue || value > maxValue) {
187
+ throw new Error(
188
+ `Value ${value} does not fit in i${abiType.width} for '${name ?? 'unnamed'}' (valid range: ${minValue} to ${maxValue})`,
189
+ );
190
+ }
191
+ if (value < 0n) {
192
+ const twosComplement = value + (1n << BigInt(abiType.width));
193
+ this.flattened.push(new Fr(twosComplement));
194
+ } else {
195
+ this.flattened.push(new Fr(value));
196
+ }
132
197
  }
133
198
  break;
199
+ }
134
200
  default:
135
201
  throw new Error(`Unsupported type: ${abiType.kind}`);
136
202
  }
@@ -141,6 +207,11 @@ class ArgumentEncoder {
141
207
  * @returns The encoded arguments.
142
208
  */
143
209
  public encode() {
210
+ if (this.args.length !== this.abi.parameters.length) {
211
+ throw new Error(
212
+ `Function '${this.abi.name}' expects ${this.abi.parameters.length} argument(s) but received ${this.args.length}`,
213
+ );
214
+ }
144
215
  for (let i = 0; i < this.abi.parameters.length; i += 1) {
145
216
  const parameterAbi = this.abi.parameters[i];
146
217
  this.encodeArgument(parameterAbi.type, this.args[i], parameterAbi.name);
@@ -224,6 +295,14 @@ class ArgumentEncoder {
224
295
  this.encodeArgument(lenField.type, arg.length, 'len');
225
296
  }
226
297
  }
298
+
299
+ /**
300
+ * Appends the flattened zero value for an ABI type.
301
+ * Option::None still serializes the wrapped value, so we need to zero-fill its footprint.
302
+ */
303
+ #encodeDefaultValue(abiType: AbiType) {
304
+ this.flattened.push(...new Array(ArgumentEncoder.typeSize(abiType)).fill(Fr.ZERO));
305
+ }
227
306
  }
228
307
 
229
308
  /**
@@ -1,8 +1,10 @@
1
1
  import type { AbiType } from './abi.js';
2
2
  import type { EventSelector } from './event_selector.js';
3
3
 
4
+ /** Metadata for a contract event, used to decode emitted event logs back into structured data. */
4
5
  export type EventMetadataDefinition = {
5
6
  eventSelector: EventSelector;
6
7
  abiType: AbiType;
8
+ /** Names of the event's struct members (not serialized Noir Field elements). */
7
9
  fieldNames: string[];
8
10
  };
@@ -7,16 +7,10 @@ import { BufferReader } from '@aztec/foundation/serialize';
7
7
 
8
8
  import { Selector } from './selector.js';
9
9
 
10
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
11
-
12
- /** Event selector branding */
13
- export interface EventSelector {
14
- /** Brand. */
15
- _branding: 'EventSelector';
16
- }
17
-
18
10
  /** An event selector is the first 4 bytes of the hash of an event signature. */
19
11
  export class EventSelector extends Selector {
12
+ /** Branding for nominal typing. */
13
+ declare private readonly _branding: 'EventSelector';
20
14
  /**
21
15
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
22
16
  * @param buffer - Buffer or BufferReader to read from.
@@ -1,8 +1,11 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { FieldsOf } from '@aztec/foundation/types';
3
3
 
4
+ import { z } from 'zod';
5
+
4
6
  import { AztecAddress } from '../aztec-address/index.js';
5
- import { type AbiType, FunctionType } from './abi.js';
7
+ import { schemas } from '../schemas/index.js';
8
+ import { type AbiType, AbiTypeSchema, FunctionType } from './abi.js';
6
9
  import { FunctionSelector } from './function_selector.js';
7
10
 
8
11
  /** A request to call a function on a contract. */
@@ -43,12 +46,31 @@ export class FunctionCall {
43
46
  return new FunctionCall(...FunctionCall.getFields(fields));
44
47
  }
45
48
 
49
+ static get schema() {
50
+ return z
51
+ .object({
52
+ name: z.string(),
53
+ to: schemas.AztecAddress,
54
+ selector: schemas.FunctionSelector,
55
+ type: z.nativeEnum(FunctionType),
56
+ isStatic: z.boolean(),
57
+ hideMsgSender: z.boolean(),
58
+ args: z.array(schemas.Fr),
59
+ returnTypes: z.array(AbiTypeSchema),
60
+ })
61
+ .transform(FunctionCall.from);
62
+ }
63
+
64
+ public isPublicStatic(): boolean {
65
+ return this.type === FunctionType.PUBLIC && this.isStatic;
66
+ }
67
+
46
68
  /**
47
69
  * Creates an empty function call.
48
70
  * @returns an empty function call.
49
71
  */
50
72
  public static empty() {
51
- return {
73
+ return FunctionCall.from({
52
74
  name: '',
53
75
  to: AztecAddress.ZERO,
54
76
  selector: FunctionSelector.empty(),
@@ -57,6 +79,6 @@ export class FunctionCall {
57
79
  isStatic: false,
58
80
  args: [],
59
81
  returnTypes: [],
60
- };
82
+ });
61
83
  }
62
84
  }
@@ -3,22 +3,16 @@ import { poseidon2HashBytes } from '@aztec/foundation/crypto/poseidon';
3
3
  import { randomBytes } from '@aztec/foundation/crypto/random';
4
4
  import type { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { type ZodFor, hexSchemaFor } from '@aztec/foundation/schemas';
6
- import { BufferReader, FieldReader, TypeRegistry } from '@aztec/foundation/serialize';
6
+ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
7
7
 
8
8
  import type { ABIParameter } from './abi.js';
9
- import { decodeFunctionSignature } from './decoder.js';
9
+ import { decodeFunctionSignature } from './function_signature_decoder.js';
10
10
  import { Selector } from './selector.js';
11
11
 
12
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
13
-
14
- /** Function selector branding */
15
- export interface FunctionSelector {
16
- /** Brand. */
17
- _branding: 'FunctionSelector';
18
- }
19
-
20
12
  /** A function selector is the first 4 bytes of the hash of a function signature. */
21
13
  export class FunctionSelector extends Selector {
14
+ /** Branding for nominal typing. */
15
+ declare private readonly _branding: 'FunctionSelector';
22
16
  /**
23
17
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
24
18
  * @param buffer - Buffer or BufferReader to read from.
@@ -127,6 +121,3 @@ export class FunctionSelector extends Selector {
127
121
  return hexSchemaFor(FunctionSelector);
128
122
  }
129
123
  }
130
-
131
- // For deserializing JSON.
132
- TypeRegistry.register('FunctionSelector', FunctionSelector);
@@ -0,0 +1,77 @@
1
+ import type { ABIParameter, ABIVariable, AbiType } from './abi.js';
2
+
3
+ /**
4
+ * Decodes the signature of a function from the name and parameters.
5
+ */
6
+ export class FunctionSignatureDecoder {
7
+ private separator: string;
8
+ constructor(
9
+ private name: string,
10
+ private parameters: ABIParameter[],
11
+ private includeNames = false,
12
+ ) {
13
+ this.separator = includeNames ? ', ' : ',';
14
+ }
15
+
16
+ /**
17
+ * Decodes a single function parameter type for the function signature.
18
+ * @param param - The parameter type to decode.
19
+ * @returns A string representing the parameter type.
20
+ */
21
+ private getParameterType(param: AbiType): string {
22
+ switch (param.kind) {
23
+ case 'field':
24
+ return 'Field';
25
+ case 'integer':
26
+ return param.sign === 'signed' ? `i${param.width}` : `u${param.width}`;
27
+ case 'boolean':
28
+ return 'bool';
29
+ case 'array':
30
+ return `[${this.getParameterType(param.type)};${param.length}]`;
31
+ case 'string':
32
+ return `str<${param.length}>`;
33
+ case 'struct':
34
+ return `(${param.fields.map(field => `${this.decodeParameter(field)}`).join(this.separator)})`;
35
+ default:
36
+ throw new Error(`Unsupported type: ${param.kind}`);
37
+ }
38
+ }
39
+
40
+ /**
41
+ * Decodes a single function parameter for the function signature.
42
+ * @param param - The parameter to decode.
43
+ * @returns A string representing the parameter type and optionally its name.
44
+ */
45
+ private decodeParameter(param: ABIVariable): string {
46
+ const type = this.getParameterType(param.type);
47
+ return this.includeNames ? `${param.name}: ${type}` : type;
48
+ }
49
+
50
+ /**
51
+ * Decodes all the parameters and build the function signature
52
+ * @returns The function signature.
53
+ */
54
+ public decode(): string {
55
+ return `${this.name}(${this.parameters.map(param => this.decodeParameter(param)).join(this.separator)})`;
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Decodes a function signature from the name and parameters.
61
+ * @param name - The name of the function.
62
+ * @param parameters - The parameters of the function.
63
+ * @returns - The function signature.
64
+ */
65
+ export function decodeFunctionSignature(name: string, parameters: ABIParameter[]) {
66
+ return new FunctionSignatureDecoder(name, parameters).decode();
67
+ }
68
+
69
+ /**
70
+ * Decodes a function signature from the name and parameters including parameter names.
71
+ * @param name - The name of the function.
72
+ * @param parameters - The parameters of the function.
73
+ * @returns - The user-friendly function signature.
74
+ */
75
+ export function decodeFunctionSignatureWithParameterNames(name: string, parameters: ABIParameter[]) {
76
+ return new FunctionSignatureDecoder(name, parameters, true).decode();
77
+ }
package/src/abi/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './abi.js';
2
2
  export * from './buffer.js';
3
3
  export * from './decoder.js';
4
+ export * from './function_signature_decoder.js';
4
5
  export * from './encoder.js';
5
6
  export * from './authorization_selector.js';
6
7
  export * from './event_metadata_definition.js';
@@ -2,23 +2,17 @@ import { toBigIntBE } from '@aztec/foundation/bigint-buffer';
2
2
  import { randomInt } from '@aztec/foundation/crypto/random';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { hexSchemaFor } from '@aztec/foundation/schemas';
5
- import { BufferReader, TypeRegistry } from '@aztec/foundation/serialize';
5
+ import { BufferReader } from '@aztec/foundation/serialize';
6
6
 
7
7
  import { Selector } from './selector.js';
8
8
 
9
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
10
-
11
- /** Note selector branding */
12
- export interface NoteSelector {
13
- /** Brand. */
14
- _branding: 'NoteSelector';
15
- }
16
-
17
9
  /**
18
10
  * A note selector is a 7 bit long value that identifies a note type within a contract.
19
11
  * TODO(#10952): Encoding of note type id can be reduced to 7 bits.
20
12
  */
21
13
  export class NoteSelector extends Selector {
14
+ /** Branding for nominal typing. */
15
+ declare private readonly _branding: 'NoteSelector';
22
16
  /**
23
17
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
24
18
  * @param buffer - Buffer or BufferReader to read from.
@@ -73,6 +67,3 @@ export class NoteSelector extends Selector {
73
67
  return hexSchemaFor(NoteSelector);
74
68
  }
75
69
  }
76
-
77
- // For deserializing JSON.
78
- TypeRegistry.register('NoteSelector', NoteSelector);
@@ -4,7 +4,7 @@ import { bufferToHex } from '@aztec/foundation/string';
4
4
 
5
5
  import { inspect } from 'util';
6
6
 
7
- /** A selector is the first 4 bytes of the hash of a signature. */
7
+ /** A selector is the low 4 bytes of the poseidon2 hash of a signature. */
8
8
  export abstract class Selector {
9
9
  /** The size of the selector in bytes. */
10
10
  public static SIZE = 4;
package/src/abi/utils.ts CHANGED
@@ -58,11 +58,13 @@ export function isPublicKeysStruct(abiType: AbiType) {
58
58
  return (
59
59
  abiType.kind === 'struct' &&
60
60
  abiType.path === 'aztec::protocol_types::public_keys::PublicKeys' &&
61
- abiType.fields.length === 4 &&
62
- abiType.fields[0].name === 'npk_m' &&
61
+ abiType.fields.length === 6 &&
62
+ abiType.fields[0].name === 'npk_m_hash' &&
63
63
  abiType.fields[1].name === 'ivpk_m' &&
64
- abiType.fields[2].name === 'ovpk_m' &&
65
- abiType.fields[3].name === 'tpk_m'
64
+ abiType.fields[2].name === 'ovpk_m_hash' &&
65
+ abiType.fields[3].name === 'tpk_m_hash' &&
66
+ abiType.fields[4].name === 'mspk_m_hash' &&
67
+ abiType.fields[5].name === 'fbpk_m_hash'
66
68
  );
67
69
  }
68
70
 
@@ -81,6 +83,31 @@ export function isBoundedVecStruct(abiType: AbiType) {
81
83
  );
82
84
  }
83
85
 
86
+ /**
87
+ * Returns whether the ABI type is Noir's std::option::Option lowered to a struct.
88
+ * @param abiType - Type to check.
89
+ * @returns A boolean indicating whether the ABI type is an Option struct.
90
+ */
91
+ export function isOptionStruct(abiType: AbiType) {
92
+ return (
93
+ abiType.kind === 'struct' &&
94
+ abiType.path === 'std::option::Option' &&
95
+ abiType.fields.length === 2 &&
96
+ abiType.fields[0].name === '_is_some' &&
97
+ abiType.fields[1].name === '_value'
98
+ );
99
+ }
100
+
101
+ /**
102
+ * Returns whether `null` or `undefined` can be mapped to a valid ABI value for this type.
103
+ *
104
+ * @param abiType - Type to check.
105
+ * @returns A boolean indicating whether nullish values are valid shorthand for this ABI type.
106
+ */
107
+ export function canBeMappedFromNullOrUndefined(abiType: AbiType) {
108
+ return isOptionStruct(abiType);
109
+ }
110
+
84
111
  /**
85
112
  * Returns a bigint by parsing a serialized 2's complement signed int.
86
113
  * @param b - The signed int as a buffer
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -61,7 +61,7 @@ export class AuthWitness {
61
61
  * @returns The inner hash for the witness
62
62
  */
63
63
  export const computeInnerAuthWitHash = (args: Fr[]) => {
64
- return poseidon2HashWithSeparator(args, GeneratorIndex.AUTHWIT_INNER);
64
+ return poseidon2HashWithSeparator(args, DomainSeparator.AUTHWIT_INNER);
65
65
  };
66
66
 
67
67
  /**
@@ -77,5 +77,5 @@ export const computeInnerAuthWitHash = (args: Fr[]) => {
77
77
  * @returns The outer hash for the witness
78
78
  */
79
79
  export const computeOuterAuthWitHash = (consumer: AztecAddress, chainId: Fr, version: Fr, innerHash: Fr) => {
80
- return poseidon2HashWithSeparator([consumer.toField(), chainId, version, innerHash], GeneratorIndex.AUTHWIT_OUTER);
80
+ return poseidon2HashWithSeparator([consumer.toField(), chainId, version, innerHash], DomainSeparator.AUTHWIT_OUTER);
81
81
  };
package/src/avm/avm.ts CHANGED
@@ -130,6 +130,7 @@ export class AvmContractInstanceHint {
130
130
  public readonly currentContractClassId: Fr,
131
131
  public readonly originalContractClassId: Fr,
132
132
  public readonly initializationHash: Fr,
133
+ public readonly immutablesHash: Fr,
133
134
  public readonly publicKeys: PublicKeys,
134
135
  ) {}
135
136
 
@@ -143,6 +144,7 @@ export class AvmContractInstanceHint {
143
144
  currentContractClassId: schemas.Fr,
144
145
  originalContractClassId: schemas.Fr,
145
146
  initializationHash: schemas.Fr,
147
+ immutablesHash: schemas.Fr,
146
148
  publicKeys: PublicKeys.schema,
147
149
  })
148
150
  .transform(
@@ -154,6 +156,7 @@ export class AvmContractInstanceHint {
154
156
  currentContractClassId,
155
157
  originalContractClassId,
156
158
  initializationHash,
159
+ immutablesHash,
157
160
  publicKeys,
158
161
  }) =>
159
162
  new AvmContractInstanceHint(
@@ -164,6 +167,7 @@ export class AvmContractInstanceHint {
164
167
  currentContractClassId,
165
168
  originalContractClassId,
166
169
  initializationHash,
170
+ immutablesHash,
167
171
  publicKeys,
168
172
  ),
169
173
  );
@@ -188,6 +192,7 @@ export class AvmContractInstanceHint {
188
192
  Fr.fromPlainObject(obj.currentContractClassId),
189
193
  Fr.fromPlainObject(obj.originalContractClassId),
190
194
  Fr.fromPlainObject(obj.initializationHash),
195
+ Fr.fromPlainObject(obj.immutablesHash),
191
196
  PublicKeys.fromPlainObject(obj.publicKeys),
192
197
  );
193
198
  }
@@ -64,13 +64,22 @@ function setUpMessagePackExtensions() {
64
64
  addExtension({
65
65
  Class: Point,
66
66
  write: (p: Point) => {
67
- assert(!p.inf, 'Cannot serialize infinity');
68
- // TODO: should these be Frs?
67
+ // TODO: Now that we use a 2 elt point representation, we should be able to handle infs here.
68
+ // However this opens possible bad paths with public keys and requires sanitised conversion between
69
+ // BB's inf representation (see below), and ours/Noir's (0, 0), and empty points from BB, when inf
70
+ // does not actually pass through.
71
+ assert(!p.isInfinite, 'Cannot serialize infinity');
69
72
  return { x: new Fq(p.x.toBigInt()), y: new Fq(p.y.toBigInt()) };
70
73
  },
71
74
  read: (data: { x: Fq; y: Fq }) => {
75
+ // Note: BB encodes infinity as x == y == Buffer of all ones.
76
+ // Infinity should never pass through here, but for correctness:
77
+ const ALL_ONES = (1n << 256n) - 1n;
78
+ if (data.x.toBigInt() === ALL_ONES && data.y.toBigInt() === ALL_ONES) {
79
+ return Point.INFINITY;
80
+ }
72
81
  // Convert Fq back to Fr for Point constructor
73
- return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()), false);
82
+ return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()));
74
83
  },
75
84
  });
76
85
  // EthAddress is a class that has a buffer in TS, but is itself just a field in C++.
@@ -5,20 +5,17 @@ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
5
5
  import { inspect } from 'util';
6
6
  import { z } from 'zod';
7
7
 
8
+ /** Whether a transaction's public execution reverted. */
8
9
  export enum RevertCodeEnum {
10
+ /** All phases completed successfully; no state was rolled back. */
9
11
  OK = 0,
10
- APP_LOGIC_REVERTED = 1,
11
- TEARDOWN_REVERTED = 2,
12
- BOTH_REVERTED = 3,
12
+ /** One or more revertible phases reverted; their state changes were discarded. */
13
+ REVERTED = 1,
13
14
  }
14
15
 
15
- function isRevertCodeEnum(value: number): value is RevertCodeEnum {
16
- return (
17
- (value as RevertCodeEnum) === RevertCodeEnum.OK ||
18
- (value as RevertCodeEnum) === RevertCodeEnum.APP_LOGIC_REVERTED ||
19
- (value as RevertCodeEnum) === RevertCodeEnum.TEARDOWN_REVERTED ||
20
- (value as RevertCodeEnum) === RevertCodeEnum.BOTH_REVERTED
21
- );
16
+ /** Returns a valid RevertCodeEnum, coercing any value >= 1 to REVERTED. */
17
+ function toRevertCodeEnum(value: number): RevertCodeEnum {
18
+ return value >= 1 ? RevertCodeEnum.REVERTED : RevertCodeEnum.OK;
22
19
  }
23
20
 
24
21
  /**
@@ -30,9 +27,7 @@ export class RevertCode {
30
27
  this.code = e.valueOf();
31
28
  }
32
29
  static readonly OK: RevertCode = new RevertCode(RevertCodeEnum.OK);
33
- static readonly APP_LOGIC_REVERTED: RevertCode = new RevertCode(RevertCodeEnum.APP_LOGIC_REVERTED);
34
- static readonly TEARDOWN_REVERTED: RevertCode = new RevertCode(RevertCodeEnum.TEARDOWN_REVERTED);
35
- static readonly BOTH_REVERTED: RevertCode = new RevertCode(RevertCodeEnum.BOTH_REVERTED);
30
+ static readonly REVERTED: RevertCode = new RevertCode(RevertCodeEnum.REVERTED);
36
31
 
37
32
  public getCode(): RevertCodeEnum {
38
33
  return this.code;
@@ -50,12 +45,8 @@ export class RevertCode {
50
45
  switch (this.code as RevertCodeEnum) {
51
46
  case RevertCodeEnum.OK:
52
47
  return 'OK';
53
- case RevertCodeEnum.APP_LOGIC_REVERTED:
54
- return 'Application logic reverted';
55
- case RevertCodeEnum.TEARDOWN_REVERTED:
56
- return 'Teardown reverted';
57
- case RevertCodeEnum.BOTH_REVERTED:
58
- return 'Both reverted';
48
+ case RevertCodeEnum.REVERTED:
49
+ return 'Reverted';
59
50
  default:
60
51
  return `Unknown RevertCode: ${this.code}`;
61
52
  }
@@ -66,7 +57,11 @@ export class RevertCode {
66
57
  }
67
58
 
68
59
  static get schema(): ZodFor<RevertCode> {
69
- return z.nativeEnum(RevertCodeEnum).transform(value => new RevertCode(value));
60
+ return z
61
+ .number()
62
+ .int()
63
+ .min(0)
64
+ .transform(value => new RevertCode(toRevertCodeEnum(value)));
70
65
  }
71
66
 
72
67
  /**
@@ -81,10 +76,10 @@ export class RevertCode {
81
76
  return obj;
82
77
  }
83
78
  const code = typeof obj === 'number' ? obj : (obj.code ?? obj);
84
- if (!isRevertCodeEnum(code)) {
79
+ if (typeof code !== 'number' || code < 0) {
85
80
  throw new Error(`Invalid RevertCode: ${code}`);
86
81
  }
87
- return new RevertCode(code);
82
+ return new RevertCode(toRevertCodeEnum(code));
88
83
  }
89
84
 
90
85
  /**
@@ -116,10 +111,10 @@ export class RevertCode {
116
111
  }
117
112
 
118
113
  public static fromNumber(code: number): RevertCode {
119
- if (!isRevertCodeEnum(code)) {
114
+ if (code < 0) {
120
115
  throw new Error(`Invalid RevertCode: ${code}`);
121
116
  }
122
- return new RevertCode(code);
117
+ return new RevertCode(toRevertCodeEnum(code));
123
118
  }
124
119
 
125
120
  public static fromField(field: Fr): RevertCode {
@@ -137,7 +132,7 @@ export class RevertCode {
137
132
  return RevertCode.fromNumber(code);
138
133
  }
139
134
 
140
- private static readonly NUM_OPTIONS = 4;
135
+ private static readonly NUM_OPTIONS = 2;
141
136
  static random(): RevertCode {
142
137
  return new RevertCode(Math.floor(Math.random() * RevertCode.NUM_OPTIONS));
143
138
  }