@aztec/stdlib 0.0.0-test.1 → 0.0.1-commit.b655e406
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.
- package/dest/abi/abi.d.ts +316 -323
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +71 -37
- package/dest/abi/authorization_selector.d.ts +52 -0
- package/dest/abi/authorization_selector.d.ts.map +1 -0
- package/dest/abi/authorization_selector.js +70 -0
- package/dest/abi/buffer.d.ts +0 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/contract_artifact.d.ts +17 -4
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +76 -53
- package/dest/abi/decoder.d.ts +1 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +8 -10
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +68 -2
- package/dest/abi/event_metadata_definition.d.ts +8 -0
- package/dest/abi/event_metadata_definition.d.ts.map +1 -0
- package/dest/abi/event_selector.d.ts +0 -2
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +7 -2
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +6 -2
- package/dest/abi/function_selector.d.ts +0 -2
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/index.d.ts +2 -0
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +2 -0
- package/dest/abi/note_selector.d.ts +0 -2
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/selector.d.ts +0 -3
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +6 -2
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/auth_witness/auth_witness.d.ts +22 -3
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +29 -0
- package/dest/avm/avm.d.ts +8446 -2091
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +371 -131
- package/dest/avm/avm_accumulated_data.d.ts +78 -20
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +91 -11
- package/dest/avm/avm_circuit_public_inputs.d.ts +276 -216
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +60 -9
- package/dest/avm/avm_proving_request.d.ts +4119 -1161
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +1 -3
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +1 -3
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +1 -1
- package/dest/avm/message_pack.d.ts +1 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +36 -6
- package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +1 -3
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +1 -4
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +5 -3
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +22 -1
- package/dest/avm/public_inner_call_request.d.ts +1 -4
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +1 -1
- package/dest/avm/revert_code.d.ts +0 -3
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/aztec-address/index.d.ts +1 -4
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/block/attestation_info.d.ts +30 -0
- package/dest/block/attestation_info.d.ts.map +1 -0
- package/dest/block/attestation_info.js +39 -0
- package/dest/block/block_hash.d.ts +5 -3
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +11 -0
- package/dest/block/body.d.ts +7 -6
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +26 -27
- package/dest/block/in_block.d.ts +12 -11
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +4 -4
- package/dest/block/index.d.ts +7 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +7 -2
- package/dest/block/l2_block.d.ts +24 -23
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +55 -49
- package/dest/block/l2_block_code_to_purge.d.ts +4 -16
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +26 -17
- package/dest/block/l2_block_header.d.ts +100 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +146 -0
- package/dest/block/l2_block_info.d.ts +41 -0
- package/dest/block/l2_block_info.d.ts.map +1 -0
- package/dest/block/l2_block_info.js +40 -0
- package/dest/block/l2_block_source.d.ts +84 -15
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +11 -0
- package/dest/block/l2_block_stream/index.d.ts +4 -0
- package/dest/block/l2_block_stream/index.d.ts.map +1 -0
- package/dest/block/l2_block_stream/index.js +3 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +26 -0
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -0
- package/dest/block/l2_block_stream/interfaces.js +1 -0
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +35 -0
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -0
- package/dest/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.js +70 -19
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +18 -0
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -0
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +70 -0
- package/dest/block/proposal/attestations_and_signers.d.ts +48 -0
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
- package/dest/block/proposal/attestations_and_signers.js +99 -0
- package/dest/block/proposal/committee_attestation.d.ts +36 -0
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -0
- package/dest/block/proposal/committee_attestation.js +101 -0
- package/dest/block/proposal/index.d.ts +3 -0
- package/dest/block/proposal/index.d.ts.map +1 -0
- package/dest/block/proposal/index.js +2 -0
- package/dest/block/published_l2_block.d.ts +143 -0
- package/dest/block/published_l2_block.d.ts.map +1 -0
- package/dest/block/published_l2_block.js +63 -0
- package/dest/block/test/index.d.ts +2 -0
- package/dest/block/test/index.d.ts.map +1 -0
- package/dest/block/test/index.js +1 -0
- package/dest/block/test/l2_tips_store_test_suite.d.ts +3 -0
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -0
- package/dest/block/test/l2_tips_store_test_suite.js +106 -0
- package/dest/block/validate_block_result.d.ts +222 -0
- package/dest/block/validate_block_result.d.ts.map +1 -0
- package/dest/block/validate_block_result.js +83 -0
- package/dest/checkpoint/checkpoint_body.d.ts +4 -0
- package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_body.js +9 -0
- package/dest/checkpoint/index.d.ts +2 -0
- package/dest/checkpoint/index.d.ts.map +1 -0
- package/dest/checkpoint/index.js +1 -0
- package/dest/config/{config.d.ts → chain-config.d.ts} +5 -4
- package/dest/config/chain-config.d.ts.map +1 -0
- package/dest/config/{config.js → chain-config.js} +4 -5
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -1
- package/dest/config/node-rpc-config.d.ts +13 -0
- package/dest/config/node-rpc-config.d.ts.map +1 -0
- package/dest/config/node-rpc-config.js +24 -0
- package/dest/contract/artifact_hash.d.ts +6 -8
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +11 -10
- package/dest/contract/complete_address.d.ts +0 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_address.js +1 -1
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +3 -19
- package/dest/contract/contract_class_id.d.ts +0 -2
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +6 -4
- package/dest/contract/contract_class_metadata.d.ts +8 -0
- package/dest/contract/contract_class_metadata.d.ts.map +1 -0
- package/dest/contract/contract_class_metadata.js +1 -0
- package/dest/contract/contract_instance.d.ts +13 -14
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +7 -7
- package/dest/contract/contract_instance_update.d.ts +3 -4
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.js +6 -6
- package/dest/contract/contract_metadata.d.ts +7 -0
- package/dest/contract/contract_metadata.d.ts.map +1 -0
- package/dest/contract/contract_metadata.js +1 -0
- package/dest/contract/index.d.ts +3 -1
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +3 -1
- package/dest/contract/interfaces/contract_class.d.ts +46 -186
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +4 -9
- package/dest/contract/interfaces/contract_data_source.d.ts +10 -18
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.d.ts +9 -8
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.js +1 -1
- package/dest/contract/interfaces/node-info.d.ts +2 -2
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +9 -9
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.js +4 -4
- package/dest/contract/private_function.d.ts +0 -2
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function_membership_proof.d.ts +2 -2
- package/dest/contract/private_function_membership_proof.js +7 -7
- package/dest/contract/utility_function_membership_proof.d.ts +27 -0
- package/dest/contract/utility_function_membership_proof.d.ts.map +1 -0
- package/dest/contract/{unconstrained_function_membership_proof.js → utility_function_membership_proof.js} +13 -13
- package/dest/database-version/version_manager.d.ts +29 -10
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +42 -21
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +20 -0
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -0
- package/dest/{shared_mutable/shared_mutable_values.js → delayed_public_mutable/delayed_public_mutable_values.js} +16 -16
- package/dest/{shared_mutable/shared_mutable_values_with_hash.d.ts → delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts} +6 -6
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -0
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +30 -0
- package/dest/delayed_public_mutable/index.d.ts +5 -0
- package/dest/delayed_public_mutable/index.d.ts.map +1 -0
- package/dest/delayed_public_mutable/index.js +4 -0
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +10 -0
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -0
- package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.js +5 -5
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +12 -0
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -0
- package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.js +7 -7
- package/dest/epoch-helpers/index.d.ts +24 -2
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +32 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.js +2 -2
- package/dest/fees/transaction_fee.d.ts +5 -0
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/fees/transaction_fee.js +15 -5
- package/dest/file-store/factory.d.ts +7 -0
- package/dest/file-store/factory.d.ts.map +1 -0
- package/dest/file-store/factory.js +64 -0
- package/dest/file-store/gcs.d.ts +20 -0
- package/dest/file-store/gcs.d.ts.map +1 -0
- package/dest/file-store/gcs.js +115 -0
- package/dest/file-store/http.d.ts +14 -0
- package/dest/file-store/http.d.ts.map +1 -0
- package/dest/file-store/http.js +69 -0
- package/dest/file-store/index.d.ts +3 -0
- package/dest/file-store/index.d.ts.map +1 -0
- package/dest/file-store/index.js +2 -0
- package/dest/file-store/interface.d.ts +28 -0
- package/dest/file-store/interface.d.ts.map +1 -0
- package/dest/file-store/interface.js +1 -0
- package/dest/file-store/local.d.ts +14 -0
- package/dest/file-store/local.d.ts.map +1 -0
- package/dest/file-store/local.js +40 -0
- package/dest/file-store/s3.d.ts +26 -0
- package/dest/file-store/s3.d.ts.map +1 -0
- package/dest/file-store/s3.js +252 -0
- package/dest/gas/gas.d.ts +2 -4
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +4 -1
- package/dest/gas/gas_fees.d.ts +16 -18
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +17 -18
- package/dest/gas/gas_settings.d.ts +25 -27
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +6 -6
- package/dest/hash/hash.d.ts +27 -7
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +36 -24
- package/dest/interfaces/allowed_element.d.ts +53 -0
- package/dest/interfaces/allowed_element.d.ts.map +1 -0
- package/dest/interfaces/allowed_element.js +18 -0
- package/dest/interfaces/api_limit.d.ts +4 -0
- package/dest/interfaces/api_limit.d.ts.map +1 -0
- package/dest/interfaces/api_limit.js +3 -0
- package/dest/interfaces/archiver.d.ts +44 -2
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +33 -15
- package/dest/interfaces/aztec-node-admin.d.ts +289 -0
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-admin.js +37 -0
- package/dest/interfaces/aztec-node.d.ts +93 -79
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +43 -32
- package/dest/interfaces/block-builder.d.ts +40 -4
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +1 -1
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +2 -1
- package/dest/interfaces/configs.d.ts +59 -34
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +11 -18
- package/dest/interfaces/epoch-prover.d.ts +34 -15
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +2 -1
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +26 -10
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +15 -3
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +6 -2
- package/dest/interfaces/private_kernel_prover.d.ts +5 -6
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +31 -6
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +15 -6
- package/dest/interfaces/prover-client.d.ts +5 -5
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +8 -6
- package/dest/interfaces/prover-coordination.d.ts +4 -9
- package/dest/interfaces/prover-coordination.d.ts.map +1 -1
- package/dest/interfaces/prover-coordination.js +1 -7
- package/dest/interfaces/prover-node.d.ts +5 -2
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +8 -3
- package/dest/interfaces/proving-job.d.ts +4422 -1342
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +136 -105
- package/dest/interfaces/public_state_source.d.ts +8 -0
- package/dest/interfaces/public_state_source.d.ts.map +1 -0
- package/dest/interfaces/public_state_source.js +1 -0
- package/dest/interfaces/server.d.ts +11 -5
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +11 -5
- package/dest/interfaces/server_circuit_prover.d.ts +46 -34
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +3 -2
- package/dest/interfaces/service.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +86 -0
- package/dest/interfaces/slasher.d.ts.map +1 -0
- package/dest/interfaces/slasher.js +23 -0
- package/dest/interfaces/tx_provider.d.ts +24 -0
- package/dest/interfaces/tx_provider.d.ts.map +1 -0
- package/dest/interfaces/tx_provider.js +1 -0
- package/dest/interfaces/validator.d.ts +163 -0
- package/dest/interfaces/validator.d.ts.map +1 -0
- package/dest/interfaces/validator.js +18 -0
- package/dest/interfaces/world_state.d.ts +23 -21
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/interfaces/world_state.js +1 -1
- package/dest/kernel/claimed_length_array.d.ts +34 -0
- package/dest/kernel/claimed_length_array.d.ts.map +1 -0
- package/dest/kernel/claimed_length_array.js +58 -0
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +19 -0
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -0
- package/dest/kernel/hiding_kernel_private_inputs.js +34 -0
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -6
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +18 -20
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +10 -12
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +17 -32
- package/dest/kernel/hints/build_transient_data_hints.d.ts +4 -3
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -10
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
- package/dest/kernel/hints/index.d.ts +1 -2
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +1 -2
- package/dest/kernel/hints/key_validation_hint.d.ts +3 -9
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +5 -7
- package/dest/kernel/hints/key_validation_request.d.ts +1 -3
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -3
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +0 -2
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.js +4 -4
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -5
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.js +4 -4
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +9 -11
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +13 -9
- package/dest/kernel/hints/read_request.d.ts +0 -2
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +29 -31
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.js +28 -28
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -3
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/{transient_data_index_hint.d.ts → transient_data_squashing_hint.d.ts} +5 -8
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -0
- package/dest/kernel/hints/{transient_data_index_hint.js → transient_data_squashing_hint.js} +5 -5
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +4 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -2
- package/dest/kernel/log_hash.d.ts +27 -9
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +72 -13
- package/dest/kernel/note_hash.d.ts +0 -2
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +2 -4
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +11 -11
- package/dest/kernel/padded_side_effects.d.ts +26 -0
- package/dest/kernel/padded_side_effects.d.ts.map +1 -0
- package/dest/kernel/padded_side_effects.js +51 -0
- package/dest/kernel/private_accumulated_data.d.ts +19 -20
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.js +5 -5
- package/dest/kernel/private_call_data.d.ts +8 -30
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +6 -18
- package/dest/kernel/private_call_request.d.ts +1 -3
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_call_request.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +35 -36
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +45 -27
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +14 -7
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +9 -5
- package/dest/kernel/private_kernel_data.d.ts +7 -28
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +10 -21
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +6 -7
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -3
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +79 -0
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -0
- package/dest/kernel/private_kernel_prover_output.js +28 -0
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +9 -8
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +10 -6
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +11 -13
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
- package/dest/kernel/private_kernel_simulated_output.d.ts +6 -12
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +20 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +14 -6
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +20 -12
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +28 -21
- package/dest/kernel/private_log_data.d.ts +1 -4
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +4 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +4 -13
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +11 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -5
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -7
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +16 -10
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +3 -6
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +13 -15
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +11 -12
- package/dest/kernel/private_validation_requests.d.ts +9 -24
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +10 -22
- package/dest/kernel/public_call_request.d.ts +70 -24
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +77 -20
- package/dest/kernel/utils/optional_number.d.ts +1 -3
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +0 -3
- package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.js +0 -19
- package/dest/keys/derivation.d.ts +0 -2
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +2 -15
- package/dest/keys/public_keys.d.ts +0 -2
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +0 -1
- package/dest/l1-contracts/index.d.ts +2 -0
- package/dest/l1-contracts/index.d.ts.map +1 -0
- package/dest/l1-contracts/index.js +1 -0
- package/dest/l1-contracts/slash_factory.d.ts +44 -0
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -0
- package/dest/l1-contracts/slash_factory.js +157 -0
- package/dest/logs/contract_class_log.d.ts +54 -16
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +110 -79
- package/dest/logs/debug_log.d.ts +13 -0
- package/dest/logs/debug_log.d.ts.map +1 -0
- package/dest/logs/debug_log.js +26 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/directional_app_tagging_secret.js +63 -0
- package/dest/logs/extended_contract_class_log.d.ts +0 -2
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +1 -3
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +6 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +6 -2
- package/dest/logs/log_id.d.ts +0 -2
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.d.ts +12 -4
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +23 -10
- package/dest/logs/message_context.d.ts +29 -0
- package/dest/logs/message_context.d.ts.map +1 -0
- package/dest/logs/message_context.js +56 -0
- package/dest/logs/pending_tagged_log.d.ts +14 -0
- package/dest/logs/pending_tagged_log.d.ts.map +1 -0
- package/dest/logs/pending_tagged_log.js +34 -0
- package/dest/logs/pre_tag.d.ts +34 -0
- package/dest/logs/pre_tag.d.ts.map +1 -0
- package/dest/logs/pre_tag.js +7 -0
- package/dest/logs/private_log.d.ts +16 -8
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +50 -22
- package/dest/logs/public_log.d.ts +26 -12
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +128 -34
- package/dest/logs/{l1_payload/shared_secret_derivation.d.ts → shared_secret_derivation.d.ts} +4 -3
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -0
- package/dest/logs/{l1_payload/shared_secret_derivation.js → shared_secret_derivation.js} +5 -9
- package/dest/logs/tx_scoped_l2_log.d.ts +28 -33
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +36 -19
- package/dest/messaging/inbox_leaf.d.ts +8 -3
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +16 -2
- package/dest/messaging/index.d.ts +1 -0
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +1 -0
- package/dest/messaging/l1_actor.d.ts +0 -2
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +0 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message_source.d.ts +6 -1
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +0 -2
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +14 -0
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -0
- package/dest/messaging/l2_to_l1_membership.js +63 -0
- package/dest/messaging/l2_to_l1_message.d.ts +110 -18
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +83 -37
- package/dest/noir/index.d.ts +19 -2
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +1 -0
- package/dest/note/index.d.ts +1 -1
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -1
- package/dest/note/note.d.ts +39 -6
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note.js +51 -4
- package/dest/note/notes_filter.d.ts +5 -7
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +1 -4
- package/dest/note/unique_note.d.ts +43 -0
- package/dest/note/unique_note.d.ts.map +1 -0
- package/dest/note/unique_note.js +67 -0
- package/dest/p2p/attestation_utils.d.ts +10 -0
- package/dest/p2p/attestation_utils.d.ts.map +1 -0
- package/dest/p2p/attestation_utils.js +21 -0
- package/dest/p2p/block_attestation.d.ts +51 -13
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +45 -23
- package/dest/p2p/block_proposal.d.ts +26 -10
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +47 -20
- package/dest/p2p/consensus_payload.d.ts +216 -20
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +47 -25
- package/dest/p2p/gossipable.d.ts +18 -17
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +35 -4
- package/dest/p2p/index.d.ts +1 -0
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/interface.d.ts +0 -13
- package/dest/p2p/interface.d.ts.map +1 -1
- package/dest/p2p/interface.js +1 -19
- package/dest/p2p/signature_utils.d.ts +5 -6
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +5 -4
- package/dest/p2p/topic_type.d.ts +6 -9
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +35 -15
- package/dest/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +9 -11
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
- package/dest/parity/parity_public_inputs.d.ts +2 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +39 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/chonk_proof.d.ts +28 -0
- package/dest/proofs/chonk_proof.d.ts.map +1 -0
- package/dest/proofs/chonk_proof.js +101 -0
- package/dest/proofs/index.d.ts +2 -1
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +2 -1
- package/dest/proofs/proof.d.ts +5 -6
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof.js +28 -20
- package/dest/proofs/proof_data.d.ts +21 -0
- package/dest/proofs/proof_data.d.ts.map +1 -0
- package/dest/proofs/proof_data.js +22 -0
- package/dest/proofs/proving_request_type.d.ts +17 -12
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +17 -11
- package/dest/proofs/recursive_proof.d.ts +4 -6
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +5 -15
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +8 -24
- package/dest/rollup/base_rollup_hints.d.ts +35 -36
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +41 -40
- package/dest/rollup/block_constant_data.d.ts +51 -0
- package/dest/rollup/block_constant_data.d.ts.map +1 -0
- package/dest/rollup/block_constant_data.js +50 -0
- package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +19 -14
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +85 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +55 -0
- package/dest/rollup/checkpoint_header.d.ts +83 -0
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/rollup/checkpoint_header.js +154 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
- package/dest/rollup/epoch_constant_data.d.ts +56 -0
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -0
- package/dest/rollup/epoch_constant_data.js +53 -0
- package/dest/rollup/index.d.ts +19 -16
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +19 -16
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -40
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
- package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
- package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +13 -14
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +19 -30
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +16 -21
- package/dest/schemas/schemas.d.ts +6 -6
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +1 -0
- package/dest/slashing/empire.d.ts +31 -0
- package/dest/slashing/empire.d.ts.map +1 -0
- package/dest/slashing/empire.js +84 -0
- package/dest/slashing/helpers.d.ts +35 -0
- package/dest/slashing/helpers.d.ts.map +1 -0
- package/dest/slashing/helpers.js +89 -0
- package/dest/slashing/index.d.ts +7 -0
- package/dest/slashing/index.d.ts.map +1 -0
- package/dest/slashing/index.js +6 -0
- package/dest/slashing/interfaces.d.ts +11 -0
- package/dest/slashing/interfaces.d.ts.map +1 -0
- package/dest/slashing/interfaces.js +1 -0
- package/dest/slashing/serialization.d.ts +8 -0
- package/dest/slashing/serialization.d.ts.map +1 -0
- package/dest/slashing/serialization.js +78 -0
- package/dest/slashing/tally.d.ts +23 -0
- package/dest/slashing/tally.d.ts.map +1 -0
- package/dest/slashing/tally.js +60 -0
- package/dest/slashing/types.d.ts +162 -0
- package/dest/slashing/types.d.ts.map +1 -0
- package/dest/slashing/types.js +88 -0
- package/dest/snapshots/download.d.ts +9 -0
- package/dest/snapshots/download.d.ts.map +1 -0
- package/dest/snapshots/download.js +93 -0
- package/dest/snapshots/index.d.ts +4 -0
- package/dest/snapshots/index.d.ts.map +1 -0
- package/dest/snapshots/index.js +3 -0
- package/dest/snapshots/types.d.ts +120 -0
- package/dest/snapshots/types.d.ts.map +1 -0
- package/dest/snapshots/types.js +35 -0
- package/dest/snapshots/upload.d.ts +8 -0
- package/dest/snapshots/upload.d.ts.map +1 -0
- package/dest/snapshots/upload.js +42 -0
- package/dest/stats/stats.d.ts +9 -9
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +81 -104
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +386 -303
- package/dest/tests/mocks.d.ts +33 -13
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +116 -82
- package/dest/trees/append_only_tree_snapshot.d.ts +7 -6
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +17 -2
- package/dest/trees/database_public_state_source.d.ts +11 -0
- package/dest/trees/database_public_state_source.d.ts.map +1 -0
- package/dest/trees/database_public_state_source.js +18 -0
- package/dest/trees/index.d.ts +1 -1
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +1 -1
- package/dest/trees/merkle_tree_id.d.ts +12 -4
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/merkle_tree_id.js +10 -0
- package/dest/trees/nullifier_leaf.d.ts +49 -17
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +45 -22
- package/dest/trees/nullifier_membership_witness.d.ts +41 -22
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +14 -1
- package/dest/trees/public_data_leaf.d.ts +60 -28
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +41 -30
- package/dest/trees/public_data_witness.d.ts +47 -30
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +20 -4
- package/dest/tx/block_header.d.ts +15 -17
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +20 -19
- package/dest/tx/call_context.d.ts +1 -4
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +3 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +2 -0
- package/dest/tx/content_commitment.d.ts +24 -81
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +39 -53
- package/dest/tx/function_data.d.ts +0 -2
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +2 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +29 -31
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +24 -16
- package/dest/tx/hashed_values.d.ts +17 -7
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +26 -9
- package/dest/tx/index.d.ts +8 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +8 -2
- package/dest/tx/indexed_tx_effect.d.ts +27 -0
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -0
- package/dest/tx/indexed_tx_effect.js +32 -0
- package/dest/tx/offchain_effect.d.ts +14 -0
- package/dest/tx/offchain_effect.d.ts.map +1 -0
- package/dest/tx/offchain_effect.js +4 -0
- package/dest/tx/partial_state_reference.d.ts +10 -3
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +22 -2
- package/dest/tx/private_execution_result.d.ts +55 -35
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +66 -78
- package/dest/tx/private_tx_constant_data.d.ts +60 -0
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
- package/dest/tx/private_tx_constant_data.js +69 -0
- package/dest/tx/processed_tx.d.ts +6 -8
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +24 -22
- package/dest/tx/profiling.d.ts +360 -0
- package/dest/tx/profiling.d.ts.map +1 -0
- package/dest/tx/profiling.js +129 -0
- package/dest/tx/protocol_contracts.d.ts +29 -0
- package/dest/tx/protocol_contracts.d.ts.map +1 -0
- package/dest/tx/protocol_contracts.js +49 -0
- package/dest/tx/proven_tx.d.ts +129 -0
- package/dest/tx/proven_tx.d.ts.map +1 -0
- package/dest/tx/proven_tx.js +45 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +38 -0
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -0
- package/dest/tx/public_call_request_with_calldata.js +57 -0
- package/dest/tx/public_simulation_output.d.ts +3 -3
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -7
- package/dest/tx/simulated_tx.d.ts +169 -45
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +52 -47
- package/dest/tx/state_reference.d.ts +10 -4
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +38 -5
- package/dest/tx/tree_snapshots.d.ts +11 -14
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +3 -3
- package/dest/tx/tx.d.ts +63 -89
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +147 -148
- package/dest/tx/tx_constant_data.d.ts +7 -41
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +11 -20
- package/dest/tx/tx_context.d.ts +33 -35
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +6 -42
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +75 -257
- package/dest/tx/tx_execution_request.d.ts +13 -6
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +16 -9
- package/dest/tx/tx_hash.d.ts +11 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +24 -5
- package/dest/tx/tx_receipt.d.ts +1 -30
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +4 -14
- package/dest/tx/tx_request.d.ts +11 -9
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +11 -8
- package/dest/tx/validator/error_texts.d.ts +24 -0
- package/dest/tx/validator/error_texts.d.ts.map +1 -0
- package/dest/tx/validator/error_texts.js +31 -0
- package/dest/tx/validator/tx_validator.d.ts +6 -4
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +3 -0
- package/dest/types/shared.d.ts +9 -11
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +0 -8
- package/dest/update-checker/index.d.ts +2 -0
- package/dest/update-checker/index.d.ts.map +1 -0
- package/dest/update-checker/index.js +1 -0
- package/dest/update-checker/update-checker.d.ts +50 -0
- package/dest/update-checker/update-checker.d.ts.map +1 -0
- package/dest/update-checker/update-checker.js +130 -0
- package/dest/validators/errors.d.ts +34 -0
- package/dest/validators/errors.d.ts.map +1 -0
- package/dest/validators/errors.js +47 -0
- package/dest/validators/index.d.ts +4 -0
- package/dest/validators/index.d.ts.map +1 -0
- package/dest/validators/index.js +2 -0
- package/dest/validators/schemas.d.ts +592 -0
- package/dest/validators/schemas.d.ts.map +1 -0
- package/dest/validators/schemas.js +52 -0
- package/dest/validators/types.d.ts +52 -0
- package/dest/validators/types.d.ts.map +1 -0
- package/dest/validators/types.js +1 -0
- package/dest/versioning/versioning.d.ts +4 -4
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +23 -18
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/index.d.ts.map +1 -1
- package/dest/vks/index.js +1 -1
- package/dest/vks/verification_key.d.ts +8 -12
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +9 -11
- package/dest/vks/{vk_witness_data.d.ts → vk_data.d.ts} +9 -11
- package/dest/vks/vk_data.d.ts.map +1 -0
- package/dest/vks/{vk_witness_data.js → vk_data.js} +10 -10
- package/dest/world-state/index.d.ts +2 -0
- package/dest/world-state/index.d.ts.map +1 -0
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +22 -0
- package/dest/world-state/world_state_revision.d.ts.map +1 -0
- package/dest/world-state/world_state_revision.js +21 -0
- package/dest/zkpassport/index.d.ts +35 -0
- package/dest/zkpassport/index.d.ts.map +1 -0
- package/dest/zkpassport/index.js +82 -0
- package/package.json +40 -23
- package/src/abi/abi.ts +96 -66
- package/src/abi/authorization_selector.ts +95 -0
- package/src/abi/contract_artifact.ts +90 -59
- package/src/abi/decoder.ts +18 -13
- package/src/abi/encoder.ts +88 -3
- package/src/abi/event_metadata_definition.ts +8 -0
- package/src/abi/function_call.ts +5 -1
- package/src/abi/index.ts +2 -0
- package/src/abi/utils.ts +15 -0
- package/src/auth_witness/auth_witness.ts +29 -0
- package/src/avm/avm.ts +452 -123
- package/src/avm/avm_accumulated_data.ts +129 -12
- package/src/avm/avm_circuit_public_inputs.ts +80 -3
- package/src/avm/index.ts +1 -1
- package/src/avm/message_pack.ts +33 -2
- package/src/avm/public_data_write.ts +25 -1
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +5 -5
- package/src/block/attestation_info.ts +62 -0
- package/src/block/block_hash.ts +14 -0
- package/src/block/body.ts +41 -34
- package/src/block/in_block.ts +6 -6
- package/src/block/index.ts +7 -2
- package/src/block/l2_block.ts +59 -64
- package/src/block/l2_block_code_to_purge.ts +32 -49
- package/src/block/l2_block_header.ts +232 -0
- package/src/block/l2_block_info.ts +63 -0
- package/src/block/l2_block_source.ts +100 -13
- package/src/block/l2_block_stream/index.ts +3 -0
- package/src/block/l2_block_stream/interfaces.ts +33 -0
- package/src/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.ts +81 -58
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +75 -0
- package/src/block/proposal/attestations_and_signers.ts +121 -0
- package/src/block/proposal/committee_attestation.ts +120 -0
- package/src/block/proposal/index.ts +2 -0
- package/src/block/published_l2_block.ts +82 -0
- package/src/block/test/index.ts +1 -0
- package/src/block/test/l2_tips_store_test_suite.ts +87 -0
- package/src/block/validate_block_result.ts +122 -0
- package/src/checkpoint/checkpoint_body.ts +10 -0
- package/src/checkpoint/index.ts +1 -0
- package/src/config/{config.ts → chain-config.ts} +8 -7
- package/src/config/index.ts +2 -1
- package/src/config/node-rpc-config.ts +37 -0
- package/src/contract/artifact_hash.ts +14 -12
- package/src/contract/contract_address.ts +1 -1
- package/src/contract/contract_class.ts +7 -24
- package/src/contract/contract_class_id.ts +10 -4
- package/src/contract/contract_class_metadata.ts +8 -0
- package/src/contract/contract_instance.ts +26 -17
- package/src/contract/contract_instance_update.ts +7 -6
- package/src/contract/contract_metadata.ts +7 -0
- package/src/contract/index.ts +3 -1
- package/src/contract/interfaces/contract_class.ts +23 -35
- package/src/contract/interfaces/contract_data_source.ts +11 -20
- package/src/contract/interfaces/contract_instance_update.ts +4 -3
- package/src/contract/interfaces/node-info.ts +3 -3
- package/src/contract/interfaces/protocol_contract_addresses.ts +5 -10
- package/src/contract/private_function.ts +4 -2
- package/src/contract/private_function_membership_proof.ts +7 -7
- package/src/contract/{unconstrained_function_membership_proof.ts → utility_function_membership_proof.ts} +18 -18
- package/src/database-version/version_manager.ts +78 -25
- package/src/{shared_mutable/shared_mutable_values.ts → delayed_public_mutable/delayed_public_mutable_values.ts} +23 -20
- package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +38 -0
- package/src/delayed_public_mutable/index.ts +4 -0
- package/src/delayed_public_mutable/scheduled_delay_change.ts +17 -0
- package/src/{shared_mutable → delayed_public_mutable}/scheduled_value_change.ts +11 -5
- package/src/epoch-helpers/index.ts +61 -2
- package/src/errors/proving_error.ts +5 -1
- package/src/errors/simulation_error.ts +2 -2
- package/src/fees/transaction_fee.ts +28 -8
- package/src/file-store/factory.ts +76 -0
- package/src/file-store/gcs.ts +121 -0
- package/src/file-store/http.ts +67 -0
- package/src/file-store/index.ts +2 -0
- package/src/file-store/interface.ts +25 -0
- package/src/file-store/local.ts +46 -0
- package/src/file-store/s3.ts +254 -0
- package/src/gas/gas.ts +9 -2
- package/src/gas/gas_fees.ts +27 -23
- package/src/gas/gas_settings.ts +11 -9
- package/src/hash/hash.ts +45 -27
- package/src/interfaces/allowed_element.ts +21 -0
- package/src/interfaces/api_limit.ts +3 -0
- package/src/interfaces/archiver.ts +67 -25
- package/src/interfaces/aztec-node-admin.ts +99 -0
- package/src/interfaces/aztec-node.ts +196 -137
- package/src/interfaces/block-builder.ts +53 -8
- package/src/interfaces/client.ts +2 -1
- package/src/interfaces/configs.ts +29 -18
- package/src/interfaces/epoch-prover.ts +46 -16
- package/src/interfaces/l2_logs_source.ts +2 -1
- package/src/interfaces/merkle_tree_operations.ts +30 -8
- package/src/interfaces/p2p.ts +29 -4
- package/src/interfaces/private_kernel_prover.ts +13 -4
- package/src/interfaces/prover-agent.ts +9 -10
- package/src/interfaces/prover-client.ts +16 -11
- package/src/interfaces/prover-coordination.ts +6 -16
- package/src/interfaces/prover-node.ts +10 -2
- package/src/interfaces/proving-job.ts +230 -125
- package/src/interfaces/public_state_source.ts +9 -0
- package/src/interfaces/server.ts +11 -5
- package/src/interfaces/server_circuit_prover.ts +110 -58
- package/src/interfaces/service.ts +4 -2
- package/src/interfaces/slasher.ts +50 -0
- package/src/interfaces/tx_provider.ts +17 -0
- package/src/interfaces/validator.ts +95 -0
- package/src/interfaces/world_state.ts +27 -19
- package/src/kernel/claimed_length_array.ts +104 -0
- package/src/kernel/hiding_kernel_private_inputs.ts +37 -0
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +28 -30
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +31 -61
- package/src/kernel/hints/build_transient_data_hints.ts +12 -14
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
- package/src/kernel/hints/index.ts +1 -2
- package/src/kernel/hints/key_validation_hint.ts +4 -6
- package/src/kernel/hints/note_hash_read_request_hints.ts +8 -17
- package/src/kernel/hints/nullifier_read_request_hints.ts +11 -20
- package/src/kernel/hints/private_kernel_reset_hints.ts +37 -46
- package/src/kernel/hints/read_request.ts +4 -1
- package/src/kernel/hints/read_request_hints.ts +59 -38
- package/src/kernel/hints/{transient_data_index_hint.ts → transient_data_squashing_hint.ts} +9 -6
- package/src/kernel/hints/tree_leaf_read_request.ts +4 -1
- package/src/kernel/index.ts +4 -2
- package/src/kernel/log_hash.ts +86 -14
- package/src/kernel/note_hash.ts +8 -2
- package/src/kernel/nullifier.ts +16 -9
- package/src/kernel/padded_side_effects.ts +73 -0
- package/src/kernel/private_accumulated_data.ts +25 -25
- package/src/kernel/private_call_data.ts +5 -24
- package/src/kernel/private_call_request.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +100 -76
- package/src/kernel/private_context_inputs.ts +2 -2
- package/src/kernel/private_kernel_circuit_public_inputs.ts +13 -5
- package/src/kernel/private_kernel_data.ts +9 -31
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
- package/src/kernel/private_kernel_prover_output.ts +70 -0
- package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +16 -13
- package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
- package/src/kernel/private_kernel_simulated_output.ts +7 -16
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +22 -5
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +41 -24
- package/src/kernel/private_log_data.ts +13 -4
- package/src/kernel/private_to_avm_accumulated_data.ts +18 -1
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +16 -7
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +16 -10
- package/src/kernel/private_validation_requests.ts +20 -51
- package/src/kernel/public_call_request.ts +92 -28
- package/src/kernel/utils/order_and_comparison.ts +0 -25
- package/src/keys/derivation.ts +2 -22
- package/src/keys/public_keys.ts +1 -1
- package/src/l1-contracts/index.ts +1 -0
- package/src/l1-contracts/slash_factory.ts +177 -0
- package/src/logs/contract_class_log.ts +134 -64
- package/src/logs/debug_log.ts +32 -0
- package/src/logs/directional_app_tagging_secret.ts +77 -0
- package/src/logs/index.ts +6 -2
- package/src/logs/log_with_tx_data.ts +19 -9
- package/src/logs/message_context.ts +62 -0
- package/src/logs/pending_tagged_log.ts +41 -0
- package/src/logs/pre_tag.ts +25 -0
- package/src/logs/private_log.ts +60 -24
- package/src/logs/public_log.ts +137 -37
- package/src/logs/{l1_payload/shared_secret_derivation.ts → shared_secret_derivation.ts} +6 -15
- package/src/logs/tx_scoped_l2_log.ts +37 -25
- package/src/messaging/inbox_leaf.ts +17 -2
- package/src/messaging/index.ts +1 -0
- package/src/messaging/l1_to_l2_message_source.ts +8 -1
- package/src/messaging/l2_to_l1_membership.ts +98 -0
- package/src/messaging/l2_to_l1_message.ts +105 -40
- package/src/noir/index.ts +19 -2
- package/src/note/index.ts +1 -1
- package/src/note/note.ts +61 -5
- package/src/note/notes_filter.ts +6 -10
- package/src/note/unique_note.ts +88 -0
- package/src/p2p/attestation_utils.ts +35 -0
- package/src/p2p/block_attestation.ts +54 -26
- package/src/p2p/block_proposal.ts +63 -19
- package/src/p2p/consensus_payload.ts +62 -29
- package/src/p2p/gossipable.ts +41 -15
- package/src/p2p/index.ts +1 -0
- package/src/p2p/interface.ts +0 -24
- package/src/p2p/signature_utils.ts +7 -9
- package/src/p2p/topic_type.ts +32 -13
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/chonk_proof.ts +118 -0
- package/src/proofs/index.ts +2 -1
- package/src/proofs/proof.ts +29 -21
- package/src/proofs/proof_data.ts +36 -0
- package/src/proofs/proving_request_type.ts +14 -9
- package/src/rollup/avm_proof_data.ts +8 -30
- package/src/rollup/base_rollup_hints.ts +42 -41
- package/src/rollup/block_constant_data.ts +73 -0
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +123 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
- package/src/rollup/checkpoint_constant_data.ts +84 -0
- package/src/rollup/checkpoint_header.ts +224 -0
- package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +139 -0
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
- package/src/rollup/epoch_constant_data.ts +62 -0
- package/src/rollup/index.ts +19 -16
- package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
- package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/root_rollup_public_inputs.ts +99 -0
- package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +17 -25
- package/src/schemas/schemas.ts +3 -0
- package/src/slashing/empire.ts +100 -0
- package/src/slashing/helpers.ts +136 -0
- package/src/slashing/index.ts +6 -0
- package/src/slashing/interfaces.ts +11 -0
- package/src/slashing/serialization.ts +103 -0
- package/src/slashing/tally.ts +87 -0
- package/src/slashing/types.ts +152 -0
- package/src/snapshots/download.ts +123 -0
- package/src/snapshots/index.ts +3 -0
- package/src/snapshots/types.ts +70 -0
- package/src/snapshots/upload.ts +64 -0
- package/src/stats/stats.ts +28 -19
- package/src/tests/factories.ts +647 -518
- package/src/tests/mocks.ts +186 -135
- package/src/trees/append_only_tree_snapshot.ts +18 -2
- package/src/trees/database_public_state_source.ts +30 -0
- package/src/trees/index.ts +1 -1
- package/src/trees/merkle_tree_id.ts +12 -0
- package/src/trees/nullifier_leaf.ts +48 -21
- package/src/trees/nullifier_membership_witness.ts +17 -1
- package/src/trees/public_data_leaf.ts +40 -29
- package/src/trees/public_data_witness.ts +23 -4
- package/src/tx/block_header.ts +23 -21
- package/src/tx/capsule.ts +2 -0
- package/src/tx/content_commitment.ts +48 -77
- package/src/tx/global_variable_builder.ts +2 -2
- package/src/tx/global_variables.ts +37 -22
- package/src/tx/hashed_values.ts +29 -9
- package/src/tx/index.ts +8 -2
- package/src/tx/indexed_tx_effect.ts +39 -0
- package/src/tx/offchain_effect.ts +20 -0
- package/src/tx/partial_state_reference.ts +37 -4
- package/src/tx/private_execution_result.ts +69 -88
- package/src/tx/private_tx_constant_data.ts +94 -0
- package/src/tx/processed_tx.ts +41 -35
- package/src/tx/profiling.ts +161 -0
- package/src/tx/protocol_contracts.ts +70 -0
- package/src/tx/proven_tx.ts +62 -0
- package/src/tx/public_call_request_with_calldata.ts +72 -0
- package/src/tx/public_simulation_output.ts +5 -5
- package/src/tx/simulated_tx.ts +66 -76
- package/src/tx/state_reference.ts +54 -5
- package/src/tx/tree_snapshots.ts +13 -13
- package/src/tx/tx.ts +161 -192
- package/src/tx/tx_constant_data.ts +8 -21
- package/src/tx/tx_effect.ts +128 -293
- package/src/tx/tx_execution_request.ts +14 -3
- package/src/tx/tx_hash.ts +26 -5
- package/src/tx/tx_receipt.ts +1 -37
- package/src/tx/tx_request.ts +16 -6
- package/src/tx/validator/error_texts.ts +38 -0
- package/src/tx/validator/tx_validator.ts +5 -0
- package/src/types/shared.ts +10 -9
- package/src/update-checker/index.ts +1 -0
- package/src/update-checker/update-checker.ts +165 -0
- package/src/validators/errors.ts +59 -0
- package/src/validators/index.ts +3 -0
- package/src/validators/schemas.ts +75 -0
- package/src/validators/types.ts +46 -0
- package/src/versioning/versioning.ts +28 -32
- package/src/vks/index.ts +1 -1
- package/src/vks/verification_key.ts +18 -18
- package/src/vks/{vk_witness_data.ts → vk_data.ts} +6 -6
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +21 -0
- package/src/zkpassport/index.ts +119 -0
- package/dest/avm/public_data_hint.d.ts +0 -18
- package/dest/avm/public_data_hint.d.ts.map +0 -1
- package/dest/avm/public_data_hint.js +0 -27
- package/dest/block/l2_block_downloader/index.d.ts +0 -3
- package/dest/block/l2_block_downloader/index.d.ts.map +0 -1
- package/dest/block/l2_block_downloader/index.js +0 -2
- package/dest/block/l2_block_downloader/l2_block_downloader.d.ts +0 -58
- package/dest/block/l2_block_downloader/l2_block_downloader.d.ts.map +0 -1
- package/dest/block/l2_block_downloader/l2_block_downloader.js +0 -124
- package/dest/block/l2_block_downloader/l2_block_stream.d.ts +0 -57
- package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +0 -1
- package/dest/block/nullifier_with_block_source.d.ts +0 -6
- package/dest/block/nullifier_with_block_source.d.ts.map +0 -1
- package/dest/config/config.d.ts.map +0 -1
- package/dest/contract/unconstrained_function_membership_proof.d.ts +0 -27
- package/dest/contract/unconstrained_function_membership_proof.d.ts.map +0 -1
- package/dest/event/event.d.ts +0 -24
- package/dest/event/event.d.ts.map +0 -1
- package/dest/event/event.js +0 -13
- package/dest/event/event_metadata.d.ts +0 -38
- package/dest/event/event_metadata.d.ts.map +0 -1
- package/dest/event/event_metadata.js +0 -45
- package/dest/event/index.d.ts +0 -4
- package/dest/event/index.d.ts.map +0 -1
- package/dest/event/index.js +0 -3
- package/dest/event/l1_event_payload.d.ts +0 -52
- package/dest/event/l1_event_payload.d.ts.map +0 -1
- package/dest/event/l1_event_payload.js +0 -64
- package/dest/interfaces/pxe.d.ts +0 -347
- package/dest/interfaces/pxe.d.ts.map +0 -1
- package/dest/interfaces/pxe.js +0 -104
- package/dest/kernel/combined_constant_data.d.ts +0 -73
- package/dest/kernel/combined_constant_data.d.ts.map +0 -1
- package/dest/kernel/combined_constant_data.js +0 -73
- package/dest/kernel/hints/rollup_validation_requests.d.ts +0 -40
- package/dest/kernel/hints/rollup_validation_requests.d.ts.map +0 -1
- package/dest/kernel/hints/rollup_validation_requests.js +0 -57
- package/dest/kernel/hints/transient_data_index_hint.d.ts.map +0 -1
- package/dest/kernel/private_kernel_prover_profile_result.d.ts +0 -25
- package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +0 -1
- package/dest/kernel/private_kernel_prover_profile_result.js +0 -7
- package/dest/logs/indexed_tagging_secret.d.ts +0 -28
- package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
- package/dest/logs/indexed_tagging_secret.js +0 -50
- package/dest/logs/l1_payload/encrypted_log_payload.d.ts +0 -50
- package/dest/logs/l1_payload/encrypted_log_payload.d.ts.map +0 -1
- package/dest/logs/l1_payload/encrypted_log_payload.js +0 -140
- package/dest/logs/l1_payload/encryption_util.d.ts +0 -24
- package/dest/logs/l1_payload/encryption_util.d.ts.map +0 -1
- package/dest/logs/l1_payload/encryption_util.js +0 -46
- package/dest/logs/l1_payload/index.d.ts +0 -3
- package/dest/logs/l1_payload/index.d.ts.map +0 -1
- package/dest/logs/l1_payload/index.js +0 -2
- package/dest/logs/l1_payload/l1_note_payload.d.ts +0 -82
- package/dest/logs/l1_payload/l1_note_payload.d.ts.map +0 -1
- package/dest/logs/l1_payload/l1_note_payload.js +0 -129
- package/dest/logs/l1_payload/payload.d.ts +0 -60
- package/dest/logs/l1_payload/payload.d.ts.map +0 -1
- package/dest/logs/l1_payload/payload.js +0 -61
- package/dest/logs/l1_payload/shared_secret_derivation.d.ts.map +0 -1
- package/dest/network/index.d.ts +0 -32
- package/dest/network/index.d.ts.map +0 -1
- package/dest/network/index.js +0 -30
- package/dest/note/extended_note.d.ts +0 -124
- package/dest/note/extended_note.d.ts.map +0 -1
- package/dest/note/extended_note.js +0 -115
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -54
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -39
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.d.ts +0 -21
- package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.js +0 -44
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -159
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -136
- package/dest/rollup/block_root_rollup.d.ts +0 -262
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.js +0 -293
- package/dest/rollup/constant_rollup_data.d.ts +0 -47
- package/dest/rollup/constant_rollup_data.d.ts.map +0 -1
- package/dest/rollup/constant_rollup_data.js +0 -45
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -54
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -68
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -58
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -42
- package/dest/rollup/previous_rollup_data.d.ts +0 -58
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -42
- package/dest/rollup/private_base_rollup_inputs.d.ts +0 -23
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/private_base_rollup_inputs.js +0 -44
- package/dest/rollup/private_tube_data.d.ts +0 -17
- package/dest/rollup/private_tube_data.d.ts.map +0 -1
- package/dest/rollup/private_tube_data.js +0 -25
- package/dest/rollup/public_base_rollup_inputs.d.ts +0 -25
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.js +0 -48
- package/dest/rollup/public_tube_data.d.ts +0 -17
- package/dest/rollup/public_tube_data.d.ts.map +0 -1
- package/dest/rollup/public_tube_data.js +0 -25
- package/dest/rollup/root_rollup.d.ts +0 -112
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/dest/rollup/root_rollup.js +0 -158
- package/dest/rollup/state_diff_hints.d.ts.map +0 -1
- package/dest/rollup/state_diff_hints.js +0 -85
- package/dest/rollup/tube_inputs.d.ts +0 -40
- package/dest/rollup/tube_inputs.d.ts.map +0 -1
- package/dest/rollup/tube_inputs.js +0 -57
- package/dest/shared_mutable/index.d.ts +0 -5
- package/dest/shared_mutable/index.d.ts.map +0 -1
- package/dest/shared_mutable/index.js +0 -4
- package/dest/shared_mutable/scheduled_delay_change.d.ts +0 -10
- package/dest/shared_mutable/scheduled_delay_change.d.ts.map +0 -1
- package/dest/shared_mutable/scheduled_value_change.d.ts +0 -11
- package/dest/shared_mutable/scheduled_value_change.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values.d.ts +0 -22
- package/dest/shared_mutable/shared_mutable_values.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values_with_hash.js +0 -30
- package/dest/trees/protocol_contract_leaf.d.ts +0 -87
- package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
- package/dest/trees/protocol_contract_leaf.js +0 -103
- package/dest/tx/max_block_number.d.ts +0 -55
- package/dest/tx/max_block_number.d.ts.map +0 -1
- package/dest/tx/max_block_number.js +0 -65
- package/dest/tx/public_execution_request.d.ts +0 -45
- package/dest/tx/public_execution_request.d.ts.map +0 -1
- package/dest/tx/public_execution_request.js +0 -72
- package/dest/vks/vk_witness_data.d.ts.map +0 -1
- package/src/avm/public_data_hint.ts +0 -38
- package/src/block/l2_block_downloader/index.ts +0 -2
- package/src/block/l2_block_downloader/l2_block_downloader.ts +0 -149
- package/src/block/nullifier_with_block_source.ts +0 -7
- package/src/event/event.ts +0 -16
- package/src/event/event_metadata.ts +0 -56
- package/src/event/index.ts +0 -3
- package/src/event/l1_event_payload.ts +0 -87
- package/src/interfaces/pxe.ts +0 -536
- package/src/kernel/combined_constant_data.ts +0 -128
- package/src/kernel/hints/rollup_validation_requests.ts +0 -73
- package/src/kernel/private_kernel_prover_profile_result.ts +0 -7
- package/src/logs/indexed_tagging_secret.ts +0 -45
- package/src/logs/l1_payload/encrypted_log_payload.ts +0 -202
- package/src/logs/l1_payload/encryption_util.ts +0 -54
- package/src/logs/l1_payload/index.ts +0 -2
- package/src/logs/l1_payload/l1_note_payload.ts +0 -182
- package/src/logs/l1_payload/payload.ts +0 -73
- package/src/network/index.ts +0 -32
- package/src/note/extended_note.ts +0 -168
- package/src/parity/root_parity_input.ts +0 -71
- package/src/proofs/client_ivc_proof.ts +0 -61
- package/src/rollup/block_root_or_block_merge_public_inputs.ts +0 -175
- package/src/rollup/block_root_rollup.ts +0 -362
- package/src/rollup/constant_rollup_data.ts +0 -54
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -85
- package/src/rollup/previous_rollup_block_data.ts +0 -54
- package/src/rollup/previous_rollup_data.ts +0 -54
- package/src/rollup/private_base_rollup_inputs.ts +0 -50
- package/src/rollup/private_tube_data.ts +0 -35
- package/src/rollup/public_base_rollup_inputs.ts +0 -59
- package/src/rollup/public_tube_data.ts +0 -35
- package/src/rollup/root_rollup.ts +0 -206
- package/src/rollup/tube_inputs.ts +0 -70
- package/src/shared_mutable/index.ts +0 -4
- package/src/shared_mutable/scheduled_delay_change.ts +0 -13
- package/src/shared_mutable/shared_mutable_values_with_hash.ts +0 -38
- package/src/trees/protocol_contract_leaf.ts +0 -132
- package/src/tx/max_block_number.ts +0 -79
- package/src/tx/public_execution_request.ts +0 -97
- /package/dest/{block/nullifier_with_block_source.js → abi/event_metadata_definition.js} +0 -0
|
@@ -6,10 +6,13 @@ import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/
|
|
|
6
6
|
import { ScheduledDelayChange } from './scheduled_delay_change.js';
|
|
7
7
|
import { ScheduledValueChange } from './scheduled_value_change.js';
|
|
8
8
|
|
|
9
|
-
export const
|
|
9
|
+
export const DELAYED_PUBLIC_MUTABLE_VALUES_LEN = 2 * UPDATES_VALUE_SIZE + 1;
|
|
10
10
|
|
|
11
|
-
export class
|
|
12
|
-
constructor(
|
|
11
|
+
export class DelayedPublicMutableValues {
|
|
12
|
+
constructor(
|
|
13
|
+
public svc: ScheduledValueChange,
|
|
14
|
+
public sdc: ScheduledDelayChange,
|
|
15
|
+
) {}
|
|
13
16
|
|
|
14
17
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
15
18
|
const reader = FieldReader.asReader(fields);
|
|
@@ -19,20 +22,20 @@ export class SharedMutableValues {
|
|
|
19
22
|
// Extract fields for ScheduledValueChange
|
|
20
23
|
const svcPre = reader.readFieldArray(UPDATES_VALUE_SIZE);
|
|
21
24
|
const svcPost = reader.readFieldArray(UPDATES_VALUE_SIZE);
|
|
22
|
-
const
|
|
23
|
-
const svc = new ScheduledValueChange(svcPre, svcPost,
|
|
25
|
+
const svcTimestampOfChange = firstField & 0xffffffffn;
|
|
26
|
+
const svc = new ScheduledValueChange(svcPre, svcPost, svcTimestampOfChange);
|
|
24
27
|
|
|
25
28
|
// Extract fields for ScheduledDelayChange from first field
|
|
26
|
-
const
|
|
29
|
+
const sdcTimestampOfChange = (firstField >> 32n) & 0xffffffffn;
|
|
27
30
|
const sdcIsPostSome = (firstField >> 64n) & 1n;
|
|
28
31
|
const sdcPost = (firstField >> 72n) & 0xffffffffn;
|
|
29
32
|
const sdcIsPreSome = (firstField >> 104n) & 1n;
|
|
30
33
|
const sdcPre = (firstField >> 112n) & 0xffffffffn;
|
|
31
34
|
|
|
32
35
|
const sdc = new ScheduledDelayChange(
|
|
33
|
-
sdcIsPreSome ?
|
|
34
|
-
sdcIsPostSome ?
|
|
35
|
-
|
|
36
|
+
sdcIsPreSome ? sdcPre : undefined,
|
|
37
|
+
sdcIsPostSome ? sdcPost : undefined,
|
|
38
|
+
sdcTimestampOfChange,
|
|
36
39
|
);
|
|
37
40
|
|
|
38
41
|
return new this(svc, sdc);
|
|
@@ -40,9 +43,9 @@ export class SharedMutableValues {
|
|
|
40
43
|
|
|
41
44
|
toFields(): Fr[] {
|
|
42
45
|
// Pack format matches Noir implementation:
|
|
43
|
-
// [ sdc.pre_inner: u32 | sdc.pre_is_some: u8 | sdc.post_inner: u32 | sdc.post_is_some: u8 | sdc.
|
|
44
|
-
let firstField =
|
|
45
|
-
firstField |=
|
|
46
|
+
// [ sdc.pre_inner: u32 | sdc.pre_is_some: u8 | sdc.post_inner: u32 | sdc.post_is_some: u8 | sdc.timestamp_of_change: u32 | svc.timestamp_of_change: u32 ]
|
|
47
|
+
let firstField = this.svc.timestampOfChange;
|
|
48
|
+
firstField |= this.sdc.timestampOfChange << 32n;
|
|
46
49
|
firstField |= (this.sdc.post === undefined ? 0n : 1n) << 64n;
|
|
47
50
|
firstField |= BigInt(this.sdc.post || 0) << 72n;
|
|
48
51
|
firstField |= (this.sdc.pre === undefined ? 0n : 1n) << 104n;
|
|
@@ -55,32 +58,32 @@ export class SharedMutableValues {
|
|
|
55
58
|
return serializeToBuffer(this.toFields());
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
static fromBuffer(buffer: Buffer | BufferReader, valueSize: number):
|
|
61
|
+
static fromBuffer(buffer: Buffer | BufferReader, valueSize: number): DelayedPublicMutableValues {
|
|
59
62
|
const reader = BufferReader.asReader(buffer);
|
|
60
|
-
return
|
|
63
|
+
return DelayedPublicMutableValues.fromFields(reader.readArray(2 * valueSize + 1, Fr));
|
|
61
64
|
}
|
|
62
65
|
|
|
63
66
|
static empty(valueSize: number) {
|
|
64
67
|
return new this(ScheduledValueChange.empty(valueSize), ScheduledDelayChange.empty());
|
|
65
68
|
}
|
|
66
69
|
|
|
67
|
-
static async readFromTree(
|
|
70
|
+
static async readFromTree(delayedPublicMutableSlot: Fr, readStorage: (storageSlot: Fr) => Promise<Fr>) {
|
|
68
71
|
const fields = [];
|
|
69
|
-
for (let i = 0; i <
|
|
70
|
-
fields.push(await readStorage(
|
|
72
|
+
for (let i = 0; i < DELAYED_PUBLIC_MUTABLE_VALUES_LEN; i++) {
|
|
73
|
+
fields.push(await readStorage(delayedPublicMutableSlot.add(new Fr(i))));
|
|
71
74
|
}
|
|
72
|
-
return
|
|
75
|
+
return DelayedPublicMutableValues.fromFields(fields);
|
|
73
76
|
}
|
|
74
77
|
|
|
75
78
|
isEmpty(): boolean {
|
|
76
79
|
return this.svc.isEmpty() && this.sdc.isEmpty();
|
|
77
80
|
}
|
|
78
81
|
|
|
79
|
-
async writeToTree(
|
|
82
|
+
async writeToTree(delayedPublicMutableSlot: Fr, storageWrite: (storageSlot: Fr, value: Fr) => Promise<void>) {
|
|
80
83
|
const fields = this.toFields();
|
|
81
84
|
|
|
82
85
|
for (let i = 0; i < fields.length; i++) {
|
|
83
|
-
await storageWrite(
|
|
86
|
+
await storageWrite(delayedPublicMutableSlot.add(new Fr(i)), fields[i]);
|
|
84
87
|
}
|
|
85
88
|
}
|
|
86
89
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { UPDATED_CLASS_IDS_SLOT } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
|
|
4
|
+
import type { AztecAddress } from '../aztec-address/index.js';
|
|
5
|
+
import { deriveStorageSlotInMap } from '../hash/map_slot.js';
|
|
6
|
+
import { DELAYED_PUBLIC_MUTABLE_VALUES_LEN, DelayedPublicMutableValues } from './delayed_public_mutable_values.js';
|
|
7
|
+
import { ScheduledDelayChange } from './scheduled_delay_change.js';
|
|
8
|
+
import { ScheduledValueChange } from './scheduled_value_change.js';
|
|
9
|
+
|
|
10
|
+
export class DelayedPublicMutableValuesWithHash {
|
|
11
|
+
private dpmv: DelayedPublicMutableValues;
|
|
12
|
+
|
|
13
|
+
constructor(svc: ScheduledValueChange, sdc: ScheduledDelayChange) {
|
|
14
|
+
this.dpmv = new DelayedPublicMutableValues(svc, sdc);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async toFields(): Promise<Fr[]> {
|
|
18
|
+
return [...this.dpmv.toFields(), await this.dpmv.hash()];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async writeToTree(delayedPublicMutableSlot: Fr, storageWrite: (storageSlot: Fr, value: Fr) => Promise<void>) {
|
|
22
|
+
const fields = await this.toFields();
|
|
23
|
+
|
|
24
|
+
for (let i = 0; i < fields.length; i++) {
|
|
25
|
+
await storageWrite(delayedPublicMutableSlot.add(new Fr(i)), fields[i]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static async getContractUpdateSlots(contractAddress: AztecAddress) {
|
|
30
|
+
const delayedPublicMutableSlot = await deriveStorageSlotInMap(new Fr(UPDATED_CLASS_IDS_SLOT), contractAddress);
|
|
31
|
+
const delayedPublicMutableHashSlot = delayedPublicMutableSlot.add(new Fr(DELAYED_PUBLIC_MUTABLE_VALUES_LEN));
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
delayedPublicMutableSlot,
|
|
35
|
+
delayedPublicMutableHashSlot,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { UInt64 } from '../types/shared.js';
|
|
2
|
+
|
|
3
|
+
export class ScheduledDelayChange {
|
|
4
|
+
constructor(
|
|
5
|
+
public pre: UInt64 | undefined,
|
|
6
|
+
public post: UInt64 | undefined,
|
|
7
|
+
public timestampOfChange: UInt64,
|
|
8
|
+
) {}
|
|
9
|
+
|
|
10
|
+
static empty() {
|
|
11
|
+
return new this(undefined, undefined, 0n);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
isEmpty(): boolean {
|
|
15
|
+
return this.pre === undefined && this.post === undefined && this.timestampOfChange === 0n;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
2
|
|
|
3
|
+
import type { UInt64 } from '../types/shared.js';
|
|
4
|
+
|
|
3
5
|
export class ScheduledValueChange {
|
|
4
|
-
constructor(
|
|
6
|
+
constructor(
|
|
7
|
+
public previous: Fr[],
|
|
8
|
+
public post: Fr[],
|
|
9
|
+
public timestampOfChange: UInt64,
|
|
10
|
+
) {
|
|
5
11
|
if (this.previous.length !== this.post.length) {
|
|
6
12
|
throw new Error('Previous and post must have the same length');
|
|
7
13
|
}
|
|
8
14
|
}
|
|
9
15
|
|
|
10
16
|
static empty(valueSize: number) {
|
|
11
|
-
return new this(Array(valueSize).fill(new Fr(0)), Array(valueSize).fill(new Fr(0)),
|
|
17
|
+
return new this(Array(valueSize).fill(new Fr(0)), Array(valueSize).fill(new Fr(0)), 0n);
|
|
12
18
|
}
|
|
13
19
|
|
|
14
20
|
isEmpty(): boolean {
|
|
15
|
-
return this.previous.every(v => v.isZero()) && this.post.every(v => v.isZero()) && this.
|
|
21
|
+
return this.previous.every(v => v.isZero()) && this.post.every(v => v.isZero()) && this.timestampOfChange === 0n;
|
|
16
22
|
}
|
|
17
23
|
|
|
18
|
-
getCurrentAt(
|
|
19
|
-
if (
|
|
24
|
+
getCurrentAt(timestamp: UInt64) {
|
|
25
|
+
if (timestamp < this.timestampOfChange) {
|
|
20
26
|
return this.previous;
|
|
21
27
|
} else {
|
|
22
28
|
return this.post;
|
|
@@ -8,6 +8,7 @@ export type L1RollupConstants = {
|
|
|
8
8
|
slotDuration: number;
|
|
9
9
|
epochDuration: number;
|
|
10
10
|
ethereumSlotDuration: number;
|
|
11
|
+
proofSubmissionEpochs: number;
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
export const EmptyL1RollupConstants: L1RollupConstants = {
|
|
@@ -16,6 +17,7 @@ export const EmptyL1RollupConstants: L1RollupConstants = {
|
|
|
16
17
|
epochDuration: 1, // Not 0 to pervent division by zero
|
|
17
18
|
slotDuration: 1,
|
|
18
19
|
ethereumSlotDuration: 1,
|
|
20
|
+
proofSubmissionEpochs: 1,
|
|
19
21
|
};
|
|
20
22
|
|
|
21
23
|
export const L1RollupConstantsSchema = z.object({
|
|
@@ -24,8 +26,17 @@ export const L1RollupConstantsSchema = z.object({
|
|
|
24
26
|
slotDuration: z.number(),
|
|
25
27
|
epochDuration: z.number(),
|
|
26
28
|
ethereumSlotDuration: z.number(),
|
|
29
|
+
proofSubmissionEpochs: z.number(),
|
|
27
30
|
}) satisfies ZodFor<L1RollupConstants>;
|
|
28
31
|
|
|
32
|
+
/** Returns the timestamp for a given L2 slot. */
|
|
33
|
+
export function getTimestampForSlot(
|
|
34
|
+
slot: bigint,
|
|
35
|
+
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>,
|
|
36
|
+
) {
|
|
37
|
+
return constants.l1GenesisTime + slot * BigInt(constants.slotDuration);
|
|
38
|
+
}
|
|
39
|
+
|
|
29
40
|
/** Returns the slot number for a given timestamp. */
|
|
30
41
|
export function getSlotAtTimestamp(ts: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>) {
|
|
31
42
|
return ts < constants.l1GenesisTime ? 0n : (ts - constants.l1GenesisTime) / BigInt(constants.slotDuration);
|
|
@@ -45,7 +56,10 @@ export function getEpochAtSlot(slot: bigint, constants: Pick<L1RollupConstants,
|
|
|
45
56
|
}
|
|
46
57
|
|
|
47
58
|
/** Returns the range of L2 slots (inclusive) for a given epoch number. */
|
|
48
|
-
export function getSlotRangeForEpoch(
|
|
59
|
+
export function getSlotRangeForEpoch(
|
|
60
|
+
epochNumber: bigint,
|
|
61
|
+
constants: Pick<L1RollupConstants, 'epochDuration'>,
|
|
62
|
+
): [bigint, bigint] {
|
|
49
63
|
const startSlot = epochNumber * BigInt(constants.epochDuration);
|
|
50
64
|
return [startSlot, startSlot + BigInt(constants.epochDuration) - 1n];
|
|
51
65
|
}
|
|
@@ -57,7 +71,7 @@ export function getSlotRangeForEpoch(epochNumber: bigint, constants: Pick<L1Roll
|
|
|
57
71
|
export function getTimestampRangeForEpoch(
|
|
58
72
|
epochNumber: bigint,
|
|
59
73
|
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'ethereumSlotDuration'>,
|
|
60
|
-
) {
|
|
74
|
+
): [bigint, bigint] {
|
|
61
75
|
const [startSlot, endSlot] = getSlotRangeForEpoch(epochNumber, constants);
|
|
62
76
|
const ethereumSlotsPerL2Slot = constants.slotDuration / constants.ethereumSlotDuration;
|
|
63
77
|
return [
|
|
@@ -67,3 +81,48 @@ export function getTimestampRangeForEpoch(
|
|
|
67
81
|
BigInt((ethereumSlotsPerL2Slot - 1) * constants.ethereumSlotDuration),
|
|
68
82
|
];
|
|
69
83
|
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Returns the start timestamp for a given epoch number.
|
|
87
|
+
*/
|
|
88
|
+
export function getStartTimestampForEpoch(
|
|
89
|
+
epochNumber: bigint,
|
|
90
|
+
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration'>,
|
|
91
|
+
) {
|
|
92
|
+
const [startSlot] = getSlotRangeForEpoch(epochNumber, constants);
|
|
93
|
+
return getTimestampForSlot(startSlot, constants);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Returns the epoch number at which proofs are no longer accepted for a given epoch.
|
|
98
|
+
* See l1-contracts/src/core/libraries/TimeLib.sol
|
|
99
|
+
*/
|
|
100
|
+
export function getProofSubmissionDeadlineEpoch(
|
|
101
|
+
epochNumber: bigint,
|
|
102
|
+
constants: Pick<L1RollupConstants, 'proofSubmissionEpochs'>,
|
|
103
|
+
) {
|
|
104
|
+
return epochNumber + BigInt(constants.proofSubmissionEpochs + 1);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Returns the deadline timestamp (in seconds) for submitting a proof for a given epoch.
|
|
109
|
+
* Computed as the start of the given epoch plus the proof submission window.
|
|
110
|
+
*/
|
|
111
|
+
export function getProofSubmissionDeadlineTimestamp(
|
|
112
|
+
epochNumber: bigint,
|
|
113
|
+
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'proofSubmissionEpochs'>,
|
|
114
|
+
) {
|
|
115
|
+
// See l1-contracts/src/core/libraries/TimeLib.sol:
|
|
116
|
+
// return toSlots(_a) + Slot.wrap(store.epochDuration * (store.proofSubmissionEpochs + 1));
|
|
117
|
+
const deadlineEpoch = getProofSubmissionDeadlineEpoch(epochNumber, constants);
|
|
118
|
+
const [deadlineSlot] = getSlotRangeForEpoch(deadlineEpoch, constants);
|
|
119
|
+
return getTimestampForSlot(deadlineSlot, constants);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/** Returns the timestamp to start building a block for a given L2 slot. Computed as the start timestamp of the slot minus one L1 slot duration. */
|
|
123
|
+
export function getSlotStartBuildTimestamp(
|
|
124
|
+
slotNumber: number | bigint,
|
|
125
|
+
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>,
|
|
126
|
+
): number {
|
|
127
|
+
return Number(constants.l1GenesisTime) + Number(slotNumber) * constants.slotDuration - constants.ethereumSlotDuration;
|
|
128
|
+
}
|
|
@@ -10,7 +10,11 @@ export class ProvingError extends Error {
|
|
|
10
10
|
* @param cause - The cause of the error.
|
|
11
11
|
* @param retry - Whether the proof should be retried.
|
|
12
12
|
*/
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(
|
|
14
|
+
message: string,
|
|
15
|
+
cause?: unknown,
|
|
16
|
+
public readonly retry: boolean = false,
|
|
17
|
+
) {
|
|
14
18
|
super(message);
|
|
15
19
|
this.name = ProvingError.NAME;
|
|
16
20
|
this.cause = cause;
|
|
@@ -5,7 +5,7 @@ import { z } from 'zod';
|
|
|
5
5
|
import type { OpcodeLocation } from '../abi/abi.js';
|
|
6
6
|
import { FunctionSelector } from '../abi/function_selector.js';
|
|
7
7
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
8
|
-
import { type ZodFor, schemas } from '../schemas/index.js';
|
|
8
|
+
import { type ZodFor, optional, schemas } from '../schemas/index.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Address and selector of a function that failed during simulation.
|
|
@@ -240,7 +240,7 @@ export class SimulationError extends Error {
|
|
|
240
240
|
z.object({
|
|
241
241
|
contractAddress: schemas.AztecAddress,
|
|
242
242
|
contractName: z.string().optional(),
|
|
243
|
-
functionSelector: schemas.FunctionSelector,
|
|
243
|
+
functionSelector: optional(schemas.FunctionSelector),
|
|
244
244
|
functionName: z.string().optional(),
|
|
245
245
|
}),
|
|
246
246
|
),
|
|
@@ -1,21 +1,41 @@
|
|
|
1
1
|
import type { Fr } from '@aztec/foundation/fields';
|
|
2
2
|
|
|
3
|
+
import { strict as assert } from 'assert';
|
|
4
|
+
|
|
3
5
|
import type { Gas } from '../gas/gas.js';
|
|
4
6
|
import { GasFees } from '../gas/gas_fees.js';
|
|
5
7
|
import type { GasSettings } from '../gas/gas_settings.js';
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Compute the effective gas fees that should be used to compute the transaction fee.
|
|
11
|
+
* This is the sum of the gas fees and the priority fees, but capped at the max fees per gas.
|
|
12
|
+
*/
|
|
13
|
+
export function computeEffectiveGasFees(gasFees: GasFees, gasSettings: GasSettings): GasFees {
|
|
8
14
|
const { maxFeesPerGas, maxPriorityFeesPerGas } = gasSettings;
|
|
9
|
-
const
|
|
15
|
+
const minBigInt = (f1: bigint, f2: bigint) => (f1 < f2 ? f1 : f2);
|
|
16
|
+
|
|
17
|
+
assert(
|
|
18
|
+
maxFeesPerGas.feePerDaGas >= gasFees.feePerDaGas,
|
|
19
|
+
`maxFeesPerGas.feePerDaGas must be greater than or equal to gasFees.feePerDaGas, but got maxFeesPerGas.feePerDaGas=${maxFeesPerGas.feePerDaGas} and gasFees.feePerDaGas=${gasFees.feePerDaGas}`,
|
|
20
|
+
);
|
|
21
|
+
assert(
|
|
22
|
+
maxFeesPerGas.feePerL2Gas >= gasFees.feePerL2Gas,
|
|
23
|
+
`maxFeesPerGas.feePerL2Gas must be greater than or equal to gasFees.feePerL2Gas, but got maxFeesPerGas.feePerL2Gas=${maxFeesPerGas.feePerL2Gas} and gasFees.feePerL2Gas=${gasFees.feePerL2Gas}`,
|
|
24
|
+
);
|
|
10
25
|
const priorityFees = new GasFees(
|
|
11
|
-
|
|
12
|
-
|
|
26
|
+
minBigInt(maxPriorityFeesPerGas.feePerDaGas, maxFeesPerGas.feePerDaGas - gasFees.feePerDaGas),
|
|
27
|
+
minBigInt(maxPriorityFeesPerGas.feePerL2Gas, maxFeesPerGas.feePerL2Gas - gasFees.feePerL2Gas),
|
|
13
28
|
);
|
|
14
29
|
|
|
15
|
-
const
|
|
16
|
-
gasFees.feePerDaGas
|
|
17
|
-
gasFees.feePerL2Gas
|
|
30
|
+
const effectiveFees = new GasFees(
|
|
31
|
+
gasFees.feePerDaGas + priorityFees.feePerDaGas,
|
|
32
|
+
gasFees.feePerL2Gas + priorityFees.feePerL2Gas,
|
|
18
33
|
);
|
|
19
34
|
|
|
20
|
-
return
|
|
35
|
+
return effectiveFees;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function computeTransactionFee(gasFees: GasFees, gasSettings: GasSettings, gasUsed: Gas): Fr {
|
|
39
|
+
const effectiveFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
40
|
+
return gasUsed.computeFee(effectiveFees);
|
|
21
41
|
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
2
|
+
|
|
3
|
+
import { GoogleCloudFileStore } from './gcs.js';
|
|
4
|
+
import { HttpFileStore } from './http.js';
|
|
5
|
+
import type { FileStore, ReadOnlyFileStore } from './interface.js';
|
|
6
|
+
import { LocalFileStore } from './local.js';
|
|
7
|
+
import { S3FileStore } from './s3.js';
|
|
8
|
+
|
|
9
|
+
const supportedExamples = [
|
|
10
|
+
`gs://bucket-name/path/to/store`,
|
|
11
|
+
`s3://bucket-name/path/to/store`,
|
|
12
|
+
`file:///absolute/local/path/to/store`,
|
|
13
|
+
`https://host/path`,
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
export async function createFileStore(config: string, logger?: Logger): Promise<FileStore>;
|
|
17
|
+
export async function createFileStore(config: undefined, logger?: Logger): Promise<undefined>;
|
|
18
|
+
export async function createFileStore(
|
|
19
|
+
config: string | undefined,
|
|
20
|
+
logger = createLogger('stdlib:file-store'),
|
|
21
|
+
): Promise<FileStore | undefined> {
|
|
22
|
+
if (config === undefined) {
|
|
23
|
+
return undefined;
|
|
24
|
+
} else if (config.startsWith('file://')) {
|
|
25
|
+
const url = new URL(config);
|
|
26
|
+
if (url.host) {
|
|
27
|
+
throw new Error(`File store URL only supports local paths (got host ${url.host} from ${config})`);
|
|
28
|
+
}
|
|
29
|
+
const path = url.pathname;
|
|
30
|
+
logger.info(`Creating local file file store at ${path}`);
|
|
31
|
+
return new LocalFileStore(path);
|
|
32
|
+
} else if (config.startsWith('gs://')) {
|
|
33
|
+
try {
|
|
34
|
+
const url = new URL(config);
|
|
35
|
+
const bucket = url.host;
|
|
36
|
+
const path = url.pathname.replace(/^\/+/, '');
|
|
37
|
+
logger.info(`Creating google cloud file store at ${bucket} ${path}`);
|
|
38
|
+
const store = new GoogleCloudFileStore(bucket, path);
|
|
39
|
+
await store.checkCredentials();
|
|
40
|
+
return store;
|
|
41
|
+
} catch {
|
|
42
|
+
throw new Error(`Invalid google cloud store definition: '${config}'.`);
|
|
43
|
+
}
|
|
44
|
+
} else if (config.startsWith('s3://')) {
|
|
45
|
+
try {
|
|
46
|
+
const url = new URL(config);
|
|
47
|
+
const bucket = url.host;
|
|
48
|
+
const path = url.pathname.replace(/^\/+/, '');
|
|
49
|
+
const endpoint = url.searchParams.get('endpoint');
|
|
50
|
+
const publicBaseUrl = url.searchParams.get('publicBaseUrl') ?? undefined;
|
|
51
|
+
logger.info(`Creating S3 file store at ${bucket} ${path}`);
|
|
52
|
+
const store = new S3FileStore(bucket, path, { endpoint: endpoint ?? undefined, publicBaseUrl });
|
|
53
|
+
return store;
|
|
54
|
+
} catch {
|
|
55
|
+
throw new Error(`Invalid S3 store definition: '${config}'.`);
|
|
56
|
+
}
|
|
57
|
+
} else {
|
|
58
|
+
throw new Error(`Unknown file store config: '${config}'. Supported values are ${supportedExamples.join(', ')}.`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export async function createReadOnlyFileStore(config: string, logger?: Logger): Promise<ReadOnlyFileStore>;
|
|
63
|
+
export async function createReadOnlyFileStore(config: undefined, logger?: Logger): Promise<undefined>;
|
|
64
|
+
export async function createReadOnlyFileStore(
|
|
65
|
+
config: string | undefined,
|
|
66
|
+
logger = createLogger('stdlib:file-store'),
|
|
67
|
+
): Promise<ReadOnlyFileStore | undefined> {
|
|
68
|
+
if (config === undefined) {
|
|
69
|
+
return undefined;
|
|
70
|
+
} else if (config.startsWith('http://') || config.startsWith('https://')) {
|
|
71
|
+
logger.info(`Creating read-only HTTP file store at ${config}`);
|
|
72
|
+
return new HttpFileStore(config, logger);
|
|
73
|
+
} else {
|
|
74
|
+
return await createFileStore(config, logger);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
2
|
+
|
|
3
|
+
import { File, Storage, type UploadOptions } from '@google-cloud/storage';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
|
|
6
|
+
import type { FileStore, FileStoreSaveOptions } from './interface.js';
|
|
7
|
+
|
|
8
|
+
export class GoogleCloudFileStore implements FileStore {
|
|
9
|
+
private readonly storage: Storage;
|
|
10
|
+
|
|
11
|
+
constructor(
|
|
12
|
+
private readonly bucketName: string,
|
|
13
|
+
private readonly basePath: string,
|
|
14
|
+
private readonly log: Logger = createLogger('stdlib:gcs-file-store'),
|
|
15
|
+
) {
|
|
16
|
+
this.storage = new Storage();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public async checkCredentials() {
|
|
20
|
+
await this.storage.getServiceAccount();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public async save(
|
|
24
|
+
path: string,
|
|
25
|
+
data: Buffer,
|
|
26
|
+
opts: FileStoreSaveOptions = { public: false, metadata: {}, compress: false },
|
|
27
|
+
): Promise<string> {
|
|
28
|
+
const fullPath = this.getFullPath(path);
|
|
29
|
+
try {
|
|
30
|
+
const bucket = this.storage.bucket(this.bucketName);
|
|
31
|
+
const file = bucket.file(fullPath);
|
|
32
|
+
await file.save(data, { metadata: opts.metadata, gzip: opts.compress });
|
|
33
|
+
return this.handleUploadedFile(file, opts);
|
|
34
|
+
} catch (err: any) {
|
|
35
|
+
throw new Error(`Error saving file to google cloud storage at ${fullPath}: ${err.message ?? err}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public async upload(
|
|
40
|
+
destPath: string,
|
|
41
|
+
srcPath: string,
|
|
42
|
+
opts: FileStoreSaveOptions = { compress: true, public: false, metadata: {} },
|
|
43
|
+
): Promise<string> {
|
|
44
|
+
const fullPath = this.getFullPath(destPath);
|
|
45
|
+
try {
|
|
46
|
+
const bucket = this.storage.bucket(this.bucketName);
|
|
47
|
+
const file = bucket.file(fullPath);
|
|
48
|
+
const uploadOpts: UploadOptions = {
|
|
49
|
+
destination: file,
|
|
50
|
+
gzip: opts.compress,
|
|
51
|
+
metadata: opts.metadata,
|
|
52
|
+
};
|
|
53
|
+
await bucket.upload(srcPath, uploadOpts);
|
|
54
|
+
return this.handleUploadedFile(file, opts);
|
|
55
|
+
} catch (err: any) {
|
|
56
|
+
throw new Error(`Error saving file to google cloud storage at ${fullPath}: ${err.message ?? err}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private async handleUploadedFile(file: File, opts: { public?: boolean }): Promise<string> {
|
|
61
|
+
if (opts.public) {
|
|
62
|
+
try {
|
|
63
|
+
if (!(await file.isPublic())) {
|
|
64
|
+
await file.makePublic();
|
|
65
|
+
}
|
|
66
|
+
} catch (err: any) {
|
|
67
|
+
this.log.warn(
|
|
68
|
+
`Error making file ${file.name} public: ${
|
|
69
|
+
err.message ?? err
|
|
70
|
+
}. This is expected if we handle public access at the bucket level.`,
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
return file.publicUrl().replaceAll('%2F', '/');
|
|
74
|
+
} else {
|
|
75
|
+
return file.cloudStorageURI.toString();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
public async read(pathOrUrlStr: string): Promise<Buffer> {
|
|
80
|
+
const file = await this.getFileObject(pathOrUrlStr);
|
|
81
|
+
const contents = await file.download();
|
|
82
|
+
return contents[0];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public async download(pathOrUrlStr: string, destPath: string): Promise<void> {
|
|
86
|
+
const file = await this.getFileObject(pathOrUrlStr);
|
|
87
|
+
await file.download({ destination: destPath });
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
public async exists(pathOrUrlStr: string): Promise<boolean> {
|
|
91
|
+
const { bucketName, fullPath } = this.getBucketAndFullPath(pathOrUrlStr);
|
|
92
|
+
const bucket = this.storage.bucket(bucketName);
|
|
93
|
+
const file = bucket.file(fullPath);
|
|
94
|
+
const [exists] = await file.exists();
|
|
95
|
+
return exists;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
private async getFileObject(pathOrUrlStr: string): Promise<File> {
|
|
99
|
+
const { bucketName, fullPath } = this.getBucketAndFullPath(pathOrUrlStr);
|
|
100
|
+
const bucket = this.storage.bucket(bucketName);
|
|
101
|
+
const file = bucket.file(fullPath);
|
|
102
|
+
if (!(await file.exists())) {
|
|
103
|
+
throw new Error(`File at ${fullPath} in gcs bucket ${bucketName} does not exist`);
|
|
104
|
+
}
|
|
105
|
+
return file;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
private getBucketAndFullPath(pathOrUrlStr: string): { bucketName: string; fullPath: string } {
|
|
109
|
+
if (URL.canParse(pathOrUrlStr)) {
|
|
110
|
+
const url = new URL(pathOrUrlStr);
|
|
111
|
+
// Note that we accept reading from anywhere, not just our bucket
|
|
112
|
+
return { fullPath: url.pathname.replace(/^\/+/, ''), bucketName: url.host };
|
|
113
|
+
} else {
|
|
114
|
+
return { fullPath: this.getFullPath(pathOrUrlStr), bucketName: this.bucketName };
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
private getFullPath(path: string): string {
|
|
119
|
+
return this.basePath && this.basePath.length > 0 ? join(this.basePath, path) : path;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { makeBackoff, retry } from '@aztec/foundation/retry';
|
|
3
|
+
|
|
4
|
+
import axios, { type AxiosInstance, type AxiosRequestConfig, type AxiosResponse } from 'axios';
|
|
5
|
+
import { createWriteStream } from 'fs';
|
|
6
|
+
import { mkdir } from 'fs/promises';
|
|
7
|
+
import { dirname } from 'path';
|
|
8
|
+
import { Readable } from 'stream';
|
|
9
|
+
import { finished } from 'stream/promises';
|
|
10
|
+
|
|
11
|
+
import type { ReadOnlyFileStore } from './interface.js';
|
|
12
|
+
|
|
13
|
+
export class HttpFileStore implements ReadOnlyFileStore {
|
|
14
|
+
private readonly axiosInstance: AxiosInstance;
|
|
15
|
+
private readonly fetch: <T>(config: AxiosRequestConfig) => Promise<AxiosResponse<T>>;
|
|
16
|
+
|
|
17
|
+
constructor(
|
|
18
|
+
private readonly baseUrl: string,
|
|
19
|
+
private readonly log: Logger = createLogger('stdlib:http-file-store'),
|
|
20
|
+
) {
|
|
21
|
+
this.axiosInstance = axios.create();
|
|
22
|
+
this.fetch = async <T>(config: AxiosRequestConfig) => {
|
|
23
|
+
return await retry(
|
|
24
|
+
() => this.axiosInstance.request<T>(config),
|
|
25
|
+
`Fetching ${config.url}`,
|
|
26
|
+
makeBackoff([1, 1, 3]),
|
|
27
|
+
this.log,
|
|
28
|
+
/*failSilently=*/ true,
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public async read(pathOrUrl: string): Promise<Buffer> {
|
|
34
|
+
const url = this.getUrl(pathOrUrl);
|
|
35
|
+
try {
|
|
36
|
+
const response = await this.fetch<ArrayBuffer>({ url, method: 'GET', responseType: 'arraybuffer' });
|
|
37
|
+
return Buffer.from(response.data);
|
|
38
|
+
} catch (error) {
|
|
39
|
+
throw new Error(`Error fetching file from ${url}: ${error instanceof Error ? error.message : String(error)}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public async download(pathOrUrl: string, destPath: string): Promise<void> {
|
|
44
|
+
const url = this.getUrl(pathOrUrl);
|
|
45
|
+
try {
|
|
46
|
+
const response = await this.fetch<Readable>({ url, method: 'GET', responseType: 'stream' });
|
|
47
|
+
await mkdir(dirname(destPath), { recursive: true });
|
|
48
|
+
await finished(response.data.pipe(createWriteStream(destPath)));
|
|
49
|
+
} catch (error) {
|
|
50
|
+
throw new Error(`Error fetching file from ${url}: ${error instanceof Error ? error.message : String(error)}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public async exists(pathOrUrl: string): Promise<boolean> {
|
|
55
|
+
const url = this.getUrl(pathOrUrl);
|
|
56
|
+
try {
|
|
57
|
+
await this.fetch<unknown>({ url, method: 'HEAD' });
|
|
58
|
+
return true;
|
|
59
|
+
} catch {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
private getUrl(path: string): string {
|
|
65
|
+
return URL.canParse(path) ? path : `${this.baseUrl.replace(/\/$/, '')}/${path}`;
|
|
66
|
+
}
|
|
67
|
+
}
|