@aztec/stdlib 0.0.1-commit.d431d1c → 0.0.1-commit.d939eb5aa
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 +138 -1
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +10 -2
- package/dest/abi/authorization_selector.d.ts +3 -6
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +3 -6
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +39 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +3 -6
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +15 -0
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +300 -300
- package/dest/avm/avm_proving_request.d.ts +166 -166
- package/dest/avm/revert_code.d.ts +9 -4
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +16 -21
- package/dest/aztec-address/index.d.ts +3 -6
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +2 -4
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +20 -21
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +22 -31
- package/dest/block/block_parameter.d.ts +4 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -2
- package/dest/block/checkpointed_l2_block.d.ts +6 -6
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +3 -3
- package/dest/block/in_block.d.ts +11 -11
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +5 -5
- package/dest/block/index.d.ts +3 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -1
- package/dest/block/{l2_block_new.d.ts → l2_block.d.ts} +16 -7
- package/dest/block/l2_block.d.ts.map +1 -0
- package/dest/block/{l2_block_new.js → l2_block.js} +17 -11
- package/dest/block/l2_block_info.d.ts +6 -5
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +6 -5
- package/dest/block/l2_block_source.d.ts +148 -35
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +8 -5
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -3
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +14 -4
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +6 -5
- package/dest/checkpoint/checkpoint.d.ts +34 -13
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +44 -20
- package/dest/checkpoint/checkpoint_data.d.ts +186 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +36 -0
- package/dest/checkpoint/index.d.ts +3 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -0
- package/dest/checkpoint/published_checkpoint.d.ts +19 -4
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/chain-config.d.ts +1 -1
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +7 -1
- package/dest/config/index.d.ts +3 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -0
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/config/pipelining-config.d.ts +19 -0
- package/dest/config/pipelining-config.d.ts.map +1 -0
- package/dest/config/pipelining-config.js +18 -0
- package/dest/config/sequencer-config.d.ts +12 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +31 -0
- package/dest/contract/contract_address.d.ts +3 -3
- package/dest/contract/contract_address.js +7 -7
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +7 -6
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +3 -156
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +3 -4
- package/dest/database-version/database_version.d.ts +58 -0
- package/dest/database-version/database_version.d.ts.map +1 -0
- package/dest/database-version/database_version.js +69 -0
- package/dest/database-version/version_manager.d.ts +2 -50
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +1 -66
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
- package/dest/epoch-helpers/index.d.ts +17 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +23 -3
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas_fees.d.ts +1 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +13 -1
- package/dest/gas/gas_settings.d.ts +40 -3
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +50 -6
- package/dest/gas/index.d.ts +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- package/dest/ha-signing/config.d.ts +136 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +97 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +63 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +20 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +45 -10
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -3
- package/dest/interfaces/allowed_element.d.ts +26 -20
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +27 -18
- package/dest/interfaces/aztec-node-admin.d.ts +127 -45
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +15 -7
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +18 -0
- package/dest/interfaces/aztec-node.d.ts +70 -62
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +20 -19
- package/dest/interfaces/block-builder.d.ts +47 -14
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +16 -2
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +1 -0
- package/dest/interfaces/configs.d.ts +78 -33
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +10 -3
- package/dest/interfaces/get_logs_response.d.ts +15 -8
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +5 -3
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +4 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +20 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +18 -4
- package/dest/interfaces/proving-job.d.ts +36 -36
- package/dest/interfaces/slasher.d.ts +9 -10
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +2 -2
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +157 -60
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +11 -5
- package/dest/interfaces/world_state.d.ts +5 -4
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- 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 +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -15
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- 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 +7 -7
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
- 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 +7 -7
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/keys/derivation.d.ts +3 -3
- package/dest/keys/derivation.js +15 -15
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- package/dest/keys/utils.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +8 -4
- package/dest/kv-store/config.d.ts +17 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +26 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
- package/dest/logs/extended_public_log.d.ts +13 -7
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +4 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +3 -1
- package/dest/logs/log_filter.d.ts +4 -1
- package/dest/logs/log_filter.d.ts.map +1 -1
- package/dest/logs/log_filter.js +2 -1
- package/dest/logs/log_id.d.ts +17 -14
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +19 -17
- package/dest/logs/message_context.d.ts +4 -7
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +23 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +12 -9
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +16 -6
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +5 -1
- package/dest/logs/tagging_index_range.d.ts +40 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +7 -0
- package/dest/messaging/l1_to_l2_message.d.ts +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +72 -29
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +45 -0
- package/dest/p2p/block_proposal.d.ts +19 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +7 -14
- package/dest/p2p/checkpoint_attestation.d.ts +5 -6
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +3 -8
- package/dest/p2p/checkpoint_proposal.d.ts +32 -20
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +32 -47
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +12 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +22 -15
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/proofs/chonk_proof.d.ts +46 -2
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +85 -10
- package/dest/rollup/checkpoint_header.d.ts +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +10 -92
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -15
- package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +35 -3
- package/dest/stats/stats.d.ts +1 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +4 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +33 -42
- package/dest/tests/jest.d.ts +4 -4
- package/dest/tests/jest.js +9 -9
- package/dest/tests/mocks.d.ts +21 -11
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +62 -51
- package/dest/timetable/index.d.ts +87 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +229 -0
- package/dest/trees/public_data_leaf.d.ts +2 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/tx/block_header.d.ts +6 -3
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +7 -2
- package/dest/tx/capsule.d.ts +6 -2
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/global_variable_builder.d.ts +3 -4
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/in_tx.d.ts +3 -3
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +5 -5
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +2 -2
- package/dest/tx/private_execution_result.d.ts +6 -6
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/profiling.d.ts +17 -5
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +15 -5
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +116 -5
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +7 -4
- package/dest/tx/tx.d.ts +8 -7
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -6
- package/dest/tx/tx_receipt.d.ts +70 -19
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +64 -29
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +10 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +11 -1
- package/dest/tx/validator/tx_validator.d.ts +2 -2
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +3 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +2 -1
- package/dest/update-checker/package_version.d.ts +3 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +24 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/validators/schemas.d.ts +30 -30
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +4 -3
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +4 -1
- package/dest/world-state/genesis_data.d.ts +11 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +4 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/package.json +26 -13
- package/src/abi/abi.ts +25 -2
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +25 -4
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_call.ts +25 -3
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +25 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/revert_code.ts +26 -25
- package/src/aztec-address/index.ts +4 -10
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +32 -46
- package/src/block/block_parameter.ts +3 -3
- package/src/block/checkpointed_l2_block.ts +4 -4
- package/src/block/in_block.ts +8 -8
- package/src/block/index.ts +2 -1
- package/src/block/{l2_block_new.ts → l2_block.ts} +21 -13
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +84 -36
- package/src/block/l2_block_stream/interfaces.ts +8 -4
- package/src/block/l2_block_stream/l2_block_stream.ts +26 -6
- package/src/block/l2_block_stream/l2_tips_store_base.ts +27 -15
- package/src/block/test/l2_tips_store_test_suite.ts +13 -6
- package/src/checkpoint/checkpoint.ts +60 -23
- package/src/checkpoint/checkpoint_data.ts +87 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/chain-config.ts +7 -1
- package/src/config/index.ts +2 -0
- package/src/config/node-rpc-config.ts +1 -1
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +47 -0
- package/src/contract/contract_address.ts +7 -7
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +3 -4
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +1 -77
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
- package/src/epoch-helpers/index.ts +40 -1
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +1 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas_fees.ts +15 -1
- package/src/gas/gas_settings.ts +65 -12
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +156 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +48 -10
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +27 -27
- package/src/interfaces/aztec-node-admin.ts +31 -9
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +107 -117
- package/src/interfaces/block-builder.ts +71 -14
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +37 -11
- package/src/interfaces/l2_logs_source.ts +4 -1
- package/src/interfaces/merkle_tree_operations.ts +12 -21
- package/src/interfaces/p2p.ts +3 -14
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +32 -5
- package/src/interfaces/slasher.ts +4 -6
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +71 -38
- package/src/interfaces/world_state.ts +4 -3
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +16 -28
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +15 -15
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +8 -4
- package/src/kv-store/config.ts +36 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
- package/src/logs/index.ts +3 -1
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/log_id.ts +21 -18
- package/src/logs/message_context.ts +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/public_log.ts +4 -2
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +23 -13
- package/src/logs/tag.ts +9 -9
- package/src/logs/tagging_index_range.ts +24 -0
- package/src/logs/tx_scoped_l2_log.ts +16 -0
- package/src/messaging/l1_to_l2_message.ts +12 -9
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +101 -36
- package/src/noir/index.ts +2 -2
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +26 -17
- package/src/p2p/checkpoint_attestation.ts +11 -10
- package/src/p2p/checkpoint_proposal.ts +72 -62
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +25 -12
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +0 -1
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/topic_type.ts +8 -15
- package/src/proofs/chonk_proof.ts +91 -5
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +17 -35
- package/src/slashing/{tally.ts → votes.ts} +41 -2
- package/src/stats/stats.ts +0 -2
- package/src/tests/factories.ts +32 -52
- package/src/tests/jest.ts +9 -9
- package/src/tests/mocks.ts +85 -46
- package/src/timetable/index.ts +346 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +14 -5
- package/src/tx/capsule.ts +10 -2
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +2 -3
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +2 -2
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +14 -5
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +14 -3
- package/src/tx/tx.ts +22 -13
- package/src/tx/tx_receipt.ts +98 -29
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +13 -1
- package/src/tx/validator/tx_validator.ts +1 -1
- package/src/update-checker/index.ts +2 -1
- package/src/update-checker/package_version.ts +30 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
- package/src/versioning/versioning.ts +4 -1
- package/src/world-state/genesis_data.ts +15 -0
- package/src/world-state/index.ts +1 -0
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -157
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -85
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/database-version/index.ts +0 -1
- package/src/l1-contracts/slash_factory.ts +0 -179
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -102
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delayed_public_mutable_values.d.ts","sourceRoot":"","sources":["../../src/delayed_public_mutable/delayed_public_mutable_values.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,eAAO,MAAM,iCAAiC,QAA6B,CAAC;AAE5E,qBAAa,0BAA0B;IAE5B,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,oBAAoB;IAFlC,YACS,GAAG,EAAE,oBAAoB,EACzB,GAAG,EAAE,oBAAoB,EAC9B;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,8BAyB3C;IAED,QAAQ,IAAI,EAAE,EAAE,CAWf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAG9F;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,8BAE7B;IAED,OAAa,YAAY,CAAC,wBAAwB,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"delayed_public_mutable_values.d.ts","sourceRoot":"","sources":["../../src/delayed_public_mutable/delayed_public_mutable_values.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,eAAO,MAAM,iCAAiC,QAA6B,CAAC;AAE5E,qBAAa,0BAA0B;IAE5B,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,oBAAoB;IAFlC,YACS,GAAG,EAAE,oBAAoB,EACzB,GAAG,EAAE,oBAAoB,EAC9B;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,8BAyB3C;IAED,QAAQ,IAAI,EAAE,EAAE,CAWf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAG9F;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,8BAE7B;IAED,OAAa,YAAY,CAAC,wBAAwB,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,uCAKpG;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,WAAW,CAAC,wBAAwB,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,mBAMpG;IAEK,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAIxB;CACF"}
|
|
@@ -55,20 +55,17 @@ export class DelayedPublicMutableValues {
|
|
|
55
55
|
return new this(ScheduledValueChange.empty(valueSize), ScheduledDelayChange.empty());
|
|
56
56
|
}
|
|
57
57
|
static async readFromTree(delayedPublicMutableSlot, readStorage) {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return DelayedPublicMutableValues.fromFields(fields);
|
|
58
|
+
const fieldPromises = Array.from({
|
|
59
|
+
length: DELAYED_PUBLIC_MUTABLE_VALUES_LEN
|
|
60
|
+
}).map((_, i)=>readStorage(delayedPublicMutableSlot.add(new Fr(i))));
|
|
61
|
+
return DelayedPublicMutableValues.fromFields(await Promise.all(fieldPromises));
|
|
63
62
|
}
|
|
64
63
|
isEmpty() {
|
|
65
64
|
return this.svc.isEmpty() && this.sdc.isEmpty();
|
|
66
65
|
}
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
await storageWrite(delayedPublicMutableSlot.add(new Fr(i)), fields[i]);
|
|
71
|
-
}
|
|
66
|
+
writeToTree(delayedPublicMutableSlot, storageWrite) {
|
|
67
|
+
const fieldPromises = this.toFields().map((field, i)=>storageWrite(delayedPublicMutableSlot.add(new Fr(i)), field));
|
|
68
|
+
return Promise.all(fieldPromises);
|
|
72
69
|
}
|
|
73
70
|
async hash() {
|
|
74
71
|
const fields = this.toFields();
|
|
@@ -7,6 +7,8 @@ export type L1RollupConstants = {
|
|
|
7
7
|
epochDuration: number;
|
|
8
8
|
ethereumSlotDuration: number;
|
|
9
9
|
proofSubmissionEpochs: number;
|
|
10
|
+
targetCommitteeSize: number;
|
|
11
|
+
rollupManaLimit: number;
|
|
10
12
|
};
|
|
11
13
|
export declare const EmptyL1RollupConstants: L1RollupConstants;
|
|
12
14
|
export declare const L1RollupConstantsSchema: z.ZodObject<{
|
|
@@ -16,6 +18,8 @@ export declare const L1RollupConstantsSchema: z.ZodObject<{
|
|
|
16
18
|
epochDuration: z.ZodNumber;
|
|
17
19
|
ethereumSlotDuration: z.ZodNumber;
|
|
18
20
|
proofSubmissionEpochs: z.ZodNumber;
|
|
21
|
+
targetCommitteeSize: z.ZodNumber;
|
|
22
|
+
rollupManaLimit: z.ZodNumber;
|
|
19
23
|
}, "strip", z.ZodTypeAny, {
|
|
20
24
|
l1StartBlock: bigint;
|
|
21
25
|
l1GenesisTime: bigint;
|
|
@@ -23,6 +27,8 @@ export declare const L1RollupConstantsSchema: z.ZodObject<{
|
|
|
23
27
|
epochDuration: number;
|
|
24
28
|
ethereumSlotDuration: number;
|
|
25
29
|
proofSubmissionEpochs: number;
|
|
30
|
+
targetCommitteeSize: number;
|
|
31
|
+
rollupManaLimit: number;
|
|
26
32
|
}, {
|
|
27
33
|
l1StartBlock: string | number | bigint;
|
|
28
34
|
l1GenesisTime: string | number | bigint;
|
|
@@ -30,11 +36,19 @@ export declare const L1RollupConstantsSchema: z.ZodObject<{
|
|
|
30
36
|
epochDuration: number;
|
|
31
37
|
ethereumSlotDuration: number;
|
|
32
38
|
proofSubmissionEpochs: number;
|
|
39
|
+
targetCommitteeSize: number;
|
|
40
|
+
rollupManaLimit: number;
|
|
33
41
|
}>;
|
|
34
42
|
/** Returns the timestamp for a given L2 slot. */
|
|
35
43
|
export declare function getTimestampForSlot(slot: SlotNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>): bigint;
|
|
36
44
|
/** Returns the slot number for a given timestamp. */
|
|
37
45
|
export declare function getSlotAtTimestamp(ts: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>): SlotNumber;
|
|
46
|
+
/** Returns the timestamp of the next L1 slot boundary after the given wall-clock time. */
|
|
47
|
+
export declare function getNextL1SlotTimestamp(nowInSeconds: number, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'ethereumSlotDuration'>): bigint;
|
|
48
|
+
/** Returns the timestamp of the last L1 slot within a given L2 slot. */
|
|
49
|
+
export declare function getLastL1SlotTimestampForL2Slot(slot: SlotNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>): bigint;
|
|
50
|
+
/** Returns the L2 slot number at the next L1 block based on the current timestamp. */
|
|
51
|
+
export declare function getSlotAtNextL1Block(currentL1Timestamp: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>): SlotNumber;
|
|
38
52
|
/** Returns the epoch number for a given timestamp. */
|
|
39
53
|
export declare function getEpochNumberAtTimestamp(ts: bigint, constants: Pick<L1RollupConstants, 'epochDuration' | 'slotDuration' | 'l1GenesisTime'>): EpochNumber;
|
|
40
54
|
/** Returns the epoch number for a given slot. */
|
|
@@ -60,6 +74,8 @@ export declare function getProofSubmissionDeadlineEpoch(epochNumber: EpochNumber
|
|
|
60
74
|
* Computed as the start of the given epoch plus the proof submission window.
|
|
61
75
|
*/
|
|
62
76
|
export declare function getProofSubmissionDeadlineTimestamp(epochNumber: EpochNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'proofSubmissionEpochs'>): bigint;
|
|
77
|
+
/** Computes the quorum size required for a committee (⌊2n/3⌋ + 1). */
|
|
78
|
+
export declare function computeQuorum(committeeSize: number): number;
|
|
63
79
|
/** 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. */
|
|
64
80
|
export declare function getSlotStartBuildTimestamp(slotNumber: SlotNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>): number;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcG9jaC1oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1QixlQUFlLEVBQUUsTUFBTSxDQUFDO0NBQ3pCLENBQUM7QUFFRixlQUFPLE1BQU0sc0JBQXNCLEVBQUUsaUJBU3BDLENBQUM7QUFFRixlQUFPLE1BQU0sdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFXbkMsQ0FBQztBQUVGLGlEQUFpRDtBQUNqRCx3QkFBZ0IsbUJBQW1CLENBQ2pDLElBQUksRUFBRSxVQUFVLEVBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsQ0FBQyxVQUdyRTtBQUVELHFEQUFxRDtBQUNyRCx3QkFBZ0Isa0JBQWtCLENBQ2hDLEVBQUUsRUFBRSxNQUFNLEVBQ1YsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEdBQUcsY0FBYyxDQUFDLEdBQ25FLFVBQVUsQ0FJWjtBQUVELDBGQUEwRjtBQUMxRix3QkFBZ0Isc0JBQXNCLENBQ3BDLFlBQVksRUFBRSxNQUFNLEVBQ3BCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLHNCQUFzQixDQUFDLEdBQzNFLE1BQU0sQ0FLUjtBQUVELHdFQUF3RTtBQUN4RSx3QkFBZ0IsK0JBQStCLENBQzdDLElBQUksRUFBRSxVQUFVLEVBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxHQUM1RixNQUFNLENBRVI7QUFFRCxzRkFBc0Y7QUFDdEYsd0JBQWdCLG9CQUFvQixDQUNsQyxrQkFBa0IsRUFBRSxNQUFNLEVBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxHQUM1RixVQUFVLENBR1o7QUFFRCxzREFBc0Q7QUFDdEQsd0JBQWdCLHlCQUF5QixDQUN2QyxFQUFFLEVBQUUsTUFBTSxFQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FDckYsV0FBVyxDQUViO0FBRUQsaURBQWlEO0FBQ2pELHdCQUFnQixjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUFHLFdBQVcsQ0FFakg7QUFFRCwwRUFBMEU7QUFDMUUsd0JBQWdCLG9CQUFvQixDQUNsQyxXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUNsRCxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FHMUI7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLEdBQUcsc0JBQXNCLENBQUMsR0FDOUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBU2xCO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFJdkY7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsK0JBQStCLENBQzdDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLENBQUMsR0FDMUQsV0FBVyxDQUViO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLG1DQUFtQyxDQUNqRCxXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsR0FBRyxjQUFjLEdBQUcsZUFBZSxHQUFHLHVCQUF1QixDQUFDLFVBT2pIO0FBRUQsMEVBQXNFO0FBQ3RFLHdCQUFnQixhQUFhLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRTNEO0FBRUQsbUpBQW1KO0FBQ25KLHdCQUFnQiwwQkFBMEIsQ0FDeEMsVUFBVSxFQUFFLFVBQVUsRUFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEdBQUcsY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQzVGLE1BQU0sQ0FFUiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch-helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch-helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBASpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWnC,CAAC;AAEF,iDAAiD;AACjD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,UAGrE;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,GACnE,UAAU,CAIZ;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,sBAAsB,CAAC,GAC3E,MAAM,CAKR;AAED,wEAAwE;AACxE,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC5F,MAAM,CAER;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC5F,UAAU,CAGZ;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,GACrF,WAAW,CAEb;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,WAAW,CAEjH;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,CAAC,UAAU,EAAE,UAAU,CAAC,CAG1B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,sBAAsB,CAAC,GAC9G,CAAC,MAAM,EAAE,MAAM,CAAC,CASlB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,UAIvF;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,GAC1D,WAAW,CAEb;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,uBAAuB,CAAC,UAOjH;AAED,0EAAsE;AACtE,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,mJAAmJ;AACnJ,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC5F,MAAM,CAER"}
|
|
@@ -7,7 +7,9 @@ export const EmptyL1RollupConstants = {
|
|
|
7
7
|
epochDuration: 1,
|
|
8
8
|
slotDuration: 1,
|
|
9
9
|
ethereumSlotDuration: 1,
|
|
10
|
-
proofSubmissionEpochs: 1
|
|
10
|
+
proofSubmissionEpochs: 1,
|
|
11
|
+
targetCommitteeSize: 48,
|
|
12
|
+
rollupManaLimit: Number.MAX_SAFE_INTEGER
|
|
11
13
|
};
|
|
12
14
|
export const L1RollupConstantsSchema = zodFor()(z.object({
|
|
13
15
|
l1StartBlock: schemas.BigInt,
|
|
@@ -15,7 +17,9 @@ export const L1RollupConstantsSchema = zodFor()(z.object({
|
|
|
15
17
|
slotDuration: z.number(),
|
|
16
18
|
epochDuration: z.number(),
|
|
17
19
|
ethereumSlotDuration: z.number(),
|
|
18
|
-
proofSubmissionEpochs: z.number()
|
|
20
|
+
proofSubmissionEpochs: z.number(),
|
|
21
|
+
targetCommitteeSize: z.number(),
|
|
22
|
+
rollupManaLimit: z.number()
|
|
19
23
|
}));
|
|
20
24
|
/** Returns the timestamp for a given L2 slot. */ export function getTimestampForSlot(slot, constants) {
|
|
21
25
|
return constants.l1GenesisTime + BigInt(slot) * BigInt(constants.slotDuration);
|
|
@@ -23,6 +27,19 @@ export const L1RollupConstantsSchema = zodFor()(z.object({
|
|
|
23
27
|
/** Returns the slot number for a given timestamp. */ export function getSlotAtTimestamp(ts, constants) {
|
|
24
28
|
return ts < constants.l1GenesisTime ? SlotNumber.ZERO : SlotNumber.fromBigInt((ts - constants.l1GenesisTime) / BigInt(constants.slotDuration));
|
|
25
29
|
}
|
|
30
|
+
/** Returns the timestamp of the next L1 slot boundary after the given wall-clock time. */ export function getNextL1SlotTimestamp(nowInSeconds, constants) {
|
|
31
|
+
const now = BigInt(nowInSeconds);
|
|
32
|
+
const elapsed = now - constants.l1GenesisTime;
|
|
33
|
+
const currentL1Slot = elapsed / BigInt(constants.ethereumSlotDuration);
|
|
34
|
+
return constants.l1GenesisTime + (currentL1Slot + 1n) * BigInt(constants.ethereumSlotDuration);
|
|
35
|
+
}
|
|
36
|
+
/** Returns the timestamp of the last L1 slot within a given L2 slot. */ export function getLastL1SlotTimestampForL2Slot(slot, constants) {
|
|
37
|
+
return getTimestampForSlot(slot, constants) + BigInt(constants.slotDuration - constants.ethereumSlotDuration);
|
|
38
|
+
}
|
|
39
|
+
/** Returns the L2 slot number at the next L1 block based on the current timestamp. */ export function getSlotAtNextL1Block(currentL1Timestamp, constants) {
|
|
40
|
+
const nextL1BlockTimestamp = currentL1Timestamp + BigInt(constants.ethereumSlotDuration);
|
|
41
|
+
return getSlotAtTimestamp(nextL1BlockTimestamp, constants);
|
|
42
|
+
}
|
|
26
43
|
/** Returns the epoch number for a given timestamp. */ export function getEpochNumberAtTimestamp(ts, constants) {
|
|
27
44
|
return getEpochAtSlot(getSlotAtTimestamp(ts, constants), constants);
|
|
28
45
|
}
|
|
@@ -30,7 +47,7 @@ export const L1RollupConstantsSchema = zodFor()(z.object({
|
|
|
30
47
|
return EpochNumber.fromBigInt(BigInt(slot) / BigInt(constants.epochDuration));
|
|
31
48
|
}
|
|
32
49
|
/** Returns the range of L2 slots (inclusive) for a given epoch number. */ export function getSlotRangeForEpoch(epochNumber, constants) {
|
|
33
|
-
const startSlot = SlotNumber(epochNumber * constants.epochDuration);
|
|
50
|
+
const startSlot = SlotNumber(Number(epochNumber) * constants.epochDuration);
|
|
34
51
|
return [
|
|
35
52
|
startSlot,
|
|
36
53
|
SlotNumber(startSlot + constants.epochDuration - 1)
|
|
@@ -69,6 +86,9 @@ export const L1RollupConstantsSchema = zodFor()(z.object({
|
|
|
69
86
|
const [deadlineSlot] = getSlotRangeForEpoch(deadlineEpoch, constants);
|
|
70
87
|
return getTimestampForSlot(deadlineSlot, constants);
|
|
71
88
|
}
|
|
89
|
+
/** Computes the quorum size required for a committee (⌊2n/3⌋ + 1). */ export function computeQuorum(committeeSize) {
|
|
90
|
+
return Math.floor(committeeSize * 2 / 3) + 1;
|
|
91
|
+
}
|
|
72
92
|
/** 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. */ export function getSlotStartBuildTimestamp(slotNumber, constants) {
|
|
73
93
|
return Number(constants.l1GenesisTime) + slotNumber * constants.slotDuration - constants.ethereumSlotDuration;
|
|
74
94
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
|
+
import { type HttpFileStoreOptions } from './http.js';
|
|
2
3
|
import type { FileStore, ReadOnlyFileStore } from './interface.js';
|
|
3
4
|
export declare function createFileStore(config: string, logger?: Logger): Promise<FileStore>;
|
|
4
5
|
export declare function createFileStore(config: undefined, logger?: Logger): Promise<undefined>;
|
|
5
|
-
export declare function createReadOnlyFileStore(config: string, logger?: Logger): Promise<ReadOnlyFileStore>;
|
|
6
|
-
export declare function createReadOnlyFileStore(config: undefined, logger?: Logger): Promise<undefined>;
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
export declare function createReadOnlyFileStore(config: string, logger?: Logger, options?: HttpFileStoreOptions): Promise<ReadOnlyFileStore>;
|
|
7
|
+
export declare function createReadOnlyFileStore(config: undefined, logger?: Logger, options?: HttpFileStoreOptions): Promise<undefined>;
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbGUtc3RvcmUvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFHbEUsT0FBTyxFQUFpQixLQUFLLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBV25FLHdCQUFzQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNGLHdCQUFzQixlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBNkM5Rix3QkFBc0IsdUJBQXVCLENBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUNmLE9BQU8sQ0FBQyxFQUFFLG9CQUFvQixHQUM3QixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUM5Qix3QkFBc0IsdUJBQXVCLENBQzNDLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFDZixPQUFPLENBQUMsRUFBRSxvQkFBb0IsR0FDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/file-store/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/file-store/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAWnE,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3F,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AA6C9F,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC9B,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -52,12 +52,12 @@ export async function createFileStore(config, logger = createLogger('stdlib:file
|
|
|
52
52
|
throw new Error(`Unknown file store config: '${config}'. Supported values are ${supportedExamples.join(', ')}.`);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
export async function createReadOnlyFileStore(config, logger = createLogger('stdlib:file-store')) {
|
|
55
|
+
export async function createReadOnlyFileStore(config, logger = createLogger('stdlib:file-store'), options) {
|
|
56
56
|
if (config === undefined) {
|
|
57
57
|
return undefined;
|
|
58
58
|
} else if (config.startsWith('http://') || config.startsWith('https://')) {
|
|
59
59
|
logger.info(`Creating read-only HTTP file store at ${config}`);
|
|
60
|
-
return new HttpFileStore(config, logger);
|
|
60
|
+
return new HttpFileStore(config, logger, options);
|
|
61
61
|
} else {
|
|
62
62
|
return await createFileStore(config, logger);
|
|
63
63
|
}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
2
|
import type { ReadOnlyFileStore } from './interface.js';
|
|
3
|
+
/** Options for configuring HttpFileStore behavior. */
|
|
4
|
+
export interface HttpFileStoreOptions {
|
|
5
|
+
/** Retry backoff intervals in seconds. Empty array disables retries. Default: [1, 1, 3]. */
|
|
6
|
+
retryBackoff?: number[];
|
|
7
|
+
/** Request timeout in milliseconds. Default: no timeout (axios default). */
|
|
8
|
+
timeoutMs?: number;
|
|
9
|
+
}
|
|
3
10
|
export declare class HttpFileStore implements ReadOnlyFileStore {
|
|
4
11
|
private readonly baseUrl;
|
|
5
12
|
private readonly log;
|
|
6
13
|
private readonly axiosInstance;
|
|
7
14
|
private readonly fetch;
|
|
8
|
-
constructor(baseUrl: string, log?: Logger);
|
|
15
|
+
constructor(baseUrl: string, log?: Logger, options?: HttpFileStoreOptions);
|
|
9
16
|
read(pathOrUrl: string): Promise<Buffer>;
|
|
10
17
|
download(pathOrUrl: string, destPath: string): Promise<void>;
|
|
11
18
|
exists(pathOrUrl: string): Promise<boolean>;
|
|
12
19
|
private getUrl;
|
|
13
20
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbGUtc3RvcmUvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFVbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxzREFBc0Q7QUFDdEQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyw0RkFBNEY7SUFDNUYsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsNEVBQTRFO0lBQzVFLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNwQjtBQUVELHFCQUFhLGFBQWMsWUFBVyxpQkFBaUI7SUFLbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPO0lBQ3hCLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztJQUx0QixPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBZ0I7SUFDOUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQStEO0lBRXJGLFlBQ21CLE9BQU8sRUFBRSxNQUFNLEVBQ2YsR0FBRyxHQUFFLE1BQStDLEVBQ3JFLE9BQU8sQ0FBQyxFQUFFLG9CQUFvQixFQXNCL0I7SUFFWSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBUXBEO0lBRVksUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBWXhFO0lBRVksTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVF2RDtJQUVELE9BQU8sQ0FBQyxNQUFNO0NBR2YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/file-store/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAUlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,qBAAa,aAAc,YAAW,iBAAiB;IAKnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+D;IAErF,YACmB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAA+C,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/file-store/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAUlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAc,YAAW,iBAAiB;IAKnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+D;IAErF,YACmB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAA+C,EACrE,OAAO,CAAC,EAAE,oBAAoB,EAsB/B;IAEY,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQpD;IAEY,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE;IAEY,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvD;IAED,OAAO,CAAC,MAAM;CAGf"}
|
package/dest/file-store/http.js
CHANGED
|
@@ -10,17 +10,28 @@ export class HttpFileStore {
|
|
|
10
10
|
log;
|
|
11
11
|
axiosInstance;
|
|
12
12
|
fetch;
|
|
13
|
-
constructor(baseUrl, log = createLogger('stdlib:http-file-store')){
|
|
13
|
+
constructor(baseUrl, log = createLogger('stdlib:http-file-store'), options){
|
|
14
14
|
this.baseUrl = baseUrl;
|
|
15
15
|
this.log = log;
|
|
16
|
-
this.axiosInstance = axios.create(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
this.axiosInstance = axios.create({
|
|
17
|
+
...options?.timeoutMs !== undefined && {
|
|
18
|
+
timeout: options.timeoutMs
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const retryBackoff = options?.retryBackoff ?? [
|
|
22
|
+
1,
|
|
23
|
+
1,
|
|
24
|
+
3
|
|
25
|
+
];
|
|
26
|
+
if (retryBackoff.length > 0) {
|
|
27
|
+
this.fetch = async (config)=>{
|
|
28
|
+
return await retry(()=>this.axiosInstance.request(config), `Fetching ${config.url}`, makeBackoff(retryBackoff), this.log, /*failSilently=*/ true);
|
|
29
|
+
};
|
|
30
|
+
} else {
|
|
31
|
+
this.fetch = async (config)=>{
|
|
32
|
+
return await this.axiosInstance.request(config);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
24
35
|
}
|
|
25
36
|
async read(pathOrUrl) {
|
|
26
37
|
const url = this.getUrl(pathOrUrl);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './interface.js';
|
|
2
2
|
export * from './factory.js';
|
|
3
|
-
|
|
3
|
+
export { type HttpFileStoreOptions } from './http.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file-store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file-store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { FileStore } from './interface.js';
|
|
1
|
+
import type { FileStore, FileStoreSaveOptions } from './interface.js';
|
|
2
2
|
export declare class LocalFileStore implements FileStore {
|
|
3
3
|
private readonly basePath;
|
|
4
4
|
constructor(basePath: string);
|
|
5
|
-
save(path: string, data: Buffer): Promise<string>;
|
|
5
|
+
save(path: string, data: Buffer, opts?: FileStoreSaveOptions): Promise<string>;
|
|
6
6
|
upload(destPath: string, srcPath: string, _opts: {
|
|
7
7
|
compress: boolean;
|
|
8
8
|
}): Promise<string>;
|
|
@@ -11,4 +11,4 @@ export declare class LocalFileStore implements FileStore {
|
|
|
11
11
|
exists(pathOrUrlStr: string): Promise<boolean>;
|
|
12
12
|
private getFullPath;
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL2xvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3RFLHFCQUFhLGNBQWUsWUFBVyxTQUFTO0lBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUFyQyxZQUE2QixRQUFRLEVBQUUsTUFBTSxFQUFJO0lBRXBDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQU0xRjtJQUVZLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1FBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUdwRztJQUVZLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FPdkQ7SUFFWSxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJM0U7SUFFTSxNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBS3BEO0lBRUQsT0FBTyxDQUFDLFdBQVc7Q0FPcEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/file-store/local.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/file-store/local.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAKtE,qBAAa,cAAe,YAAW,SAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEpC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1F;IAEY,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpG;IAEY,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvD;IAEY,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3E;IAEM,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKpD;IAED,OAAO,CAAC,WAAW;CAOpB"}
|
package/dest/file-store/local.js
CHANGED
|
@@ -1,25 +1,34 @@
|
|
|
1
1
|
import { access, mkdir, readFile, writeFile } from 'fs/promises';
|
|
2
2
|
import { dirname, resolve } from 'path';
|
|
3
|
+
import { promisify } from 'util';
|
|
4
|
+
import { gunzip as gunzipCb, gzip as gzipCb } from 'zlib';
|
|
5
|
+
const gzip = promisify(gzipCb);
|
|
6
|
+
const gunzip = promisify(gunzipCb);
|
|
3
7
|
export class LocalFileStore {
|
|
4
8
|
basePath;
|
|
5
9
|
constructor(basePath){
|
|
6
10
|
this.basePath = basePath;
|
|
7
11
|
}
|
|
8
|
-
async save(path, data) {
|
|
12
|
+
async save(path, data, opts) {
|
|
9
13
|
const fullPath = this.getFullPath(path);
|
|
10
14
|
await mkdir(dirname(fullPath), {
|
|
11
15
|
recursive: true
|
|
12
16
|
});
|
|
13
|
-
await
|
|
17
|
+
const toWrite = opts?.compress ? await gzip(data) : data;
|
|
18
|
+
await writeFile(fullPath, toWrite);
|
|
14
19
|
return `file://${fullPath}`;
|
|
15
20
|
}
|
|
16
21
|
async upload(destPath, srcPath, _opts) {
|
|
17
22
|
const data = await readFile(srcPath);
|
|
18
23
|
return this.save(destPath, data);
|
|
19
24
|
}
|
|
20
|
-
read(pathOrUrlStr) {
|
|
25
|
+
async read(pathOrUrlStr) {
|
|
21
26
|
const fullPath = this.getFullPath(pathOrUrlStr);
|
|
22
|
-
|
|
27
|
+
const data = await readFile(fullPath);
|
|
28
|
+
if (data.length >= 2 && data[0] === 0x1f && data[1] === 0x8b) {
|
|
29
|
+
return await gunzip(data);
|
|
30
|
+
}
|
|
31
|
+
return data;
|
|
23
32
|
}
|
|
24
33
|
async download(pathOrUrlStr, destPath) {
|
|
25
34
|
const data = await this.read(pathOrUrlStr);
|
package/dest/file-store/s3.d.ts
CHANGED
|
@@ -23,4 +23,4 @@ export declare class S3FileStore implements FileStore {
|
|
|
23
23
|
private getBucketAndKey;
|
|
24
24
|
private getFullPath;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL3MzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQWtCbEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTdEUscUJBQWEsV0FBWSxZQUFXLFNBQVM7SUFPekMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVO0lBQzNCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUV6QixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7SUFUdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQVc7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQVM7SUFDaEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFTO0lBRXhDLFlBQ21CLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLFFBQVEsRUFBRSxNQUFNLEVBQ2pDLElBQUksRUFBRTtRQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQ2xDLEdBQUcsR0FBRSxNQUE2QyxFQWVwRTtJQUVZLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFFLG9CQUF5QixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FtQjlGO0lBRVksTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEdBQUUsb0JBQXlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQXdEdkc7SUFFWSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBYXZEO0lBRVksUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSzNFO0lBRVksTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWExRDtJQUVELE9BQU8sQ0FBQyxtQkFBbUI7SUFRM0IsT0FBTyxDQUFDLGlCQUFpQjtJQXNCekIsT0FBTyxDQUFDLGdCQUFnQjtJQTBCeEIsT0FBTyxDQUFDLGVBQWU7SUEyQnZCLE9BQU8sQ0FBQyxXQUFXO0NBS3BCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/file-store/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/file-store/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAkBlE,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAStE,qBAAa,WAAY,YAAW,SAAS;IAOzC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IAExC,YACmB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACjC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAClC,GAAG,GAAE,MAA6C,EAepE;IAEY,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB9F;IAEY,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDvG;IAEY,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAavD;IAEY,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;IAEY,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1D;IAED,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,WAAW;CAKpB"}
|
package/dest/file-store/s3.js
CHANGED
|
@@ -5,7 +5,10 @@ import { mkdir, mkdtemp, stat, unlink } from 'fs/promises';
|
|
|
5
5
|
import { tmpdir } from 'os';
|
|
6
6
|
import { basename, dirname, join } from 'path';
|
|
7
7
|
import { pipeline } from 'stream/promises';
|
|
8
|
-
import {
|
|
8
|
+
import { promisify } from 'util';
|
|
9
|
+
import { createGzip, gunzip as gunzipCb, gzip as gzipCb } from 'zlib';
|
|
10
|
+
const gzip = promisify(gzipCb);
|
|
11
|
+
const gunzip = promisify(gunzipCb);
|
|
9
12
|
function normalizeBasePath(path) {
|
|
10
13
|
return path?.replace(/^\/+|\/+$/g, '') ?? '';
|
|
11
14
|
}
|
|
@@ -37,7 +40,7 @@ export class S3FileStore {
|
|
|
37
40
|
async save(path, data, opts = {}) {
|
|
38
41
|
const key = this.getFullPath(path);
|
|
39
42
|
const shouldCompress = !!opts.compress;
|
|
40
|
-
const body = shouldCompress ?
|
|
43
|
+
const body = shouldCompress ? await gzip(data) : data;
|
|
41
44
|
const contentLength = body.length;
|
|
42
45
|
const contentType = this.detectContentType(key, shouldCompress);
|
|
43
46
|
const put = new PutObjectCommand({
|
|
@@ -45,6 +48,7 @@ export class S3FileStore {
|
|
|
45
48
|
Key: key,
|
|
46
49
|
Body: body,
|
|
47
50
|
ContentType: contentType,
|
|
51
|
+
ContentEncoding: shouldCompress ? 'gzip' : undefined,
|
|
48
52
|
CacheControl: opts.metadata?.['Cache-control'],
|
|
49
53
|
Metadata: this.extractUserMetadata(opts.metadata),
|
|
50
54
|
ContentLength: contentLength
|
|
@@ -119,7 +123,11 @@ export class S3FileStore {
|
|
|
119
123
|
for await (const chunk of stream){
|
|
120
124
|
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
121
125
|
}
|
|
122
|
-
|
|
126
|
+
const buffer = Buffer.concat(chunks);
|
|
127
|
+
if (out.ContentEncoding === 'gzip') {
|
|
128
|
+
return await gunzip(buffer);
|
|
129
|
+
}
|
|
130
|
+
return buffer;
|
|
123
131
|
}
|
|
124
132
|
async download(pathOrUrlStr, destPath) {
|
|
125
133
|
const { bucket, key } = this.getBucketAndKey(pathOrUrlStr);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript port of fee computation logic from FeeLib.sol.
|
|
3
|
+
* Used to predict worst-case min fees over a future window of L2 slots.
|
|
4
|
+
*/
|
|
5
|
+
export declare const MINIMUM_CONGESTION_MULTIPLIER = 1000000000n;
|
|
6
|
+
export declare const L1_GAS_PER_CHECKPOINT_PROPOSED = 300000n;
|
|
7
|
+
export declare const L1_GAS_PER_EPOCH_VERIFIED = 3600000n;
|
|
8
|
+
export declare const BLOBS_PER_CHECKPOINT = 3n;
|
|
9
|
+
export declare const BLOB_GAS_PER_BLOB: bigint;
|
|
10
|
+
export declare const MAGIC_CONGESTION_VALUE_MULTIPLIER = 854700854n;
|
|
11
|
+
export declare const MAGIC_CONGESTION_VALUE_DIVISOR = 100000000n;
|
|
12
|
+
export declare const ETH_PER_FEE_ASSET_PRECISION = 1000000000000n;
|
|
13
|
+
export declare const MIN_ETH_PER_FEE_ASSET = 100n;
|
|
14
|
+
/** Number of L2 slots of lag before new oracle values activate. Defines the prediction window. */
|
|
15
|
+
export declare const FEE_ORACLE_LAG = 2;
|
|
16
|
+
/** Expected mana usage per checkpoint for fee prediction. */
|
|
17
|
+
export declare enum ManaUsageEstimate {
|
|
18
|
+
/** No usage — fees decrease as congestion drains. */
|
|
19
|
+
None = "none",
|
|
20
|
+
/** Target usage — congestion stays roughly flat (steady state). */
|
|
21
|
+
Target = "target",
|
|
22
|
+
/** Limit usage (2x target) — worst case, congestion grows maximally. */
|
|
23
|
+
Limit = "limit"
|
|
24
|
+
}
|
|
25
|
+
/** Parameters for computing the mana min fee at a given point in time. */
|
|
26
|
+
export type ManaMinFeeParams = {
|
|
27
|
+
l1BaseFee: bigint;
|
|
28
|
+
l1BlobFee: bigint;
|
|
29
|
+
manaTarget: bigint;
|
|
30
|
+
epochDuration: bigint;
|
|
31
|
+
provingCostPerManaEth: bigint;
|
|
32
|
+
excessMana: bigint;
|
|
33
|
+
ethPerFeeAsset: bigint;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Taylor series approximation of `factor * e^(numerator/denominator)`.
|
|
37
|
+
* Direct port of FeeLib.sol fakeExponential (EIP-4844 style).
|
|
38
|
+
*/
|
|
39
|
+
export declare function fakeExponential(factor: bigint, numerator: bigint, denominator: bigint): bigint;
|
|
40
|
+
/** Computes excess mana for the next checkpoint, clamped to zero. */
|
|
41
|
+
export declare function computeExcessMana(prevExcessMana: bigint, prevManaUsed: bigint, manaTarget: bigint): bigint;
|
|
42
|
+
/** Computes the congestion multiplier from excess mana (1e9 = no congestion). */
|
|
43
|
+
export declare function computeCongestionMultiplier(excessMana: bigint, manaTarget: bigint): bigint;
|
|
44
|
+
/**
|
|
45
|
+
* Computes the full mana min fee (sequencer + prover + congestion) in fee asset terms.
|
|
46
|
+
* Mirrors FeeLib.getManaMinFeeComponentsAt + summedMinFee.
|
|
47
|
+
*/
|
|
48
|
+
export declare function computeManaMinFee(params: ManaMinFeeParams): bigint;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX21hdGguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYXMvZmVlX21hdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBR0gsZUFBTyxNQUFNLDZCQUE2QixjQUFpQixDQUFDO0FBQzVELGVBQU8sTUFBTSw4QkFBOEIsVUFBVyxDQUFDO0FBQ3ZELGVBQU8sTUFBTSx5QkFBeUIsV0FBYSxDQUFDO0FBQ3BELGVBQU8sTUFBTSxvQkFBb0IsS0FBSyxDQUFDO0FBQ3ZDLGVBQU8sTUFBTSxpQkFBaUIsUUFBWSxDQUFDO0FBQzNDLGVBQU8sTUFBTSxpQ0FBaUMsYUFBZSxDQUFDO0FBQzlELGVBQU8sTUFBTSw4QkFBOEIsYUFBZSxDQUFDO0FBQzNELGVBQU8sTUFBTSwyQkFBMkIsaUJBQXFCLENBQUM7QUFDOUQsZUFBTyxNQUFNLHFCQUFxQixPQUFPLENBQUM7QUFFMUMsa0dBQWtHO0FBQ2xHLGVBQU8sTUFBTSxjQUFjLElBQUksQ0FBQztBQUVoQyw2REFBNkQ7QUFDN0Qsb0JBQVksaUJBQWlCO0lBQzNCLHVEQUFxRDtJQUNyRCxJQUFJLFNBQVM7SUFDYixxRUFBbUU7SUFDbkUsTUFBTSxXQUFXO0lBQ2pCLDBFQUF3RTtJQUN4RSxLQUFLLFVBQVU7Q0FDaEI7QUFFRCwwRUFBMEU7QUFDMUUsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsY0FBYyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBVTlGO0FBRUQscUVBQXFFO0FBQ3JFLHdCQUFnQixpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRzFHO0FBRUQsaUZBQWlGO0FBQ2pGLHdCQUFnQiwyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUkxRjtBQWVEOzs7R0FHRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEdBQUcsTUFBTSxDQWlDbEUifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee_math.d.ts","sourceRoot":"","sources":["../../src/gas/fee_math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,6BAA6B,cAAiB,CAAC;AAC5D,eAAO,MAAM,8BAA8B,UAAW,CAAC;AACvD,eAAO,MAAM,yBAAyB,WAAa,CAAC;AACpD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAC3C,eAAO,MAAM,iCAAiC,aAAe,CAAC;AAC9D,eAAO,MAAM,8BAA8B,aAAe,CAAC;AAC3D,eAAO,MAAM,2BAA2B,iBAAqB,CAAC;AAC9D,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,kGAAkG;AAClG,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,6DAA6D;AAC7D,oBAAY,iBAAiB;IAC3B,uDAAqD;IACrD,IAAI,SAAS;IACb,qEAAmE;IACnE,MAAM,WAAW;IACjB,0EAAwE;IACxE,KAAK,UAAU;CAChB;AAED,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAU9F;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG1G;AAED,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAI1F;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAiClE"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript port of fee computation logic from FeeLib.sol.
|
|
3
|
+
* Used to predict worst-case min fees over a future window of L2 slots.
|
|
4
|
+
*/ // Constants matching FeeLib.sol
|
|
5
|
+
export const MINIMUM_CONGESTION_MULTIPLIER = 1_000_000_000n;
|
|
6
|
+
export const L1_GAS_PER_CHECKPOINT_PROPOSED = 300_000n;
|
|
7
|
+
export const L1_GAS_PER_EPOCH_VERIFIED = 3_600_000n;
|
|
8
|
+
export const BLOBS_PER_CHECKPOINT = 3n;
|
|
9
|
+
export const BLOB_GAS_PER_BLOB = 2n ** 17n;
|
|
10
|
+
export const MAGIC_CONGESTION_VALUE_MULTIPLIER = 854_700_854n;
|
|
11
|
+
export const MAGIC_CONGESTION_VALUE_DIVISOR = 100_000_000n;
|
|
12
|
+
export const ETH_PER_FEE_ASSET_PRECISION = 1_000_000_000_000n;
|
|
13
|
+
export const MIN_ETH_PER_FEE_ASSET = 100n;
|
|
14
|
+
/** Number of L2 slots of lag before new oracle values activate. Defines the prediction window. */ export const FEE_ORACLE_LAG = 2;
|
|
15
|
+
/** Expected mana usage per checkpoint for fee prediction. */ export var ManaUsageEstimate = /*#__PURE__*/ function(ManaUsageEstimate) {
|
|
16
|
+
/** No usage — fees decrease as congestion drains. */ ManaUsageEstimate["None"] = "none";
|
|
17
|
+
/** Target usage — congestion stays roughly flat (steady state). */ ManaUsageEstimate["Target"] = "target";
|
|
18
|
+
/** Limit usage (2x target) — worst case, congestion grows maximally. */ ManaUsageEstimate["Limit"] = "limit";
|
|
19
|
+
return ManaUsageEstimate;
|
|
20
|
+
}({});
|
|
21
|
+
/**
|
|
22
|
+
* Taylor series approximation of `factor * e^(numerator/denominator)`.
|
|
23
|
+
* Direct port of FeeLib.sol fakeExponential (EIP-4844 style).
|
|
24
|
+
*/ export function fakeExponential(factor, numerator, denominator) {
|
|
25
|
+
let i = 1n;
|
|
26
|
+
let output = 0n;
|
|
27
|
+
let numeratorAccumulator = factor * denominator;
|
|
28
|
+
while(numeratorAccumulator > 0n){
|
|
29
|
+
output += numeratorAccumulator;
|
|
30
|
+
numeratorAccumulator = numeratorAccumulator * numerator / (denominator * i);
|
|
31
|
+
i += 1n;
|
|
32
|
+
}
|
|
33
|
+
return output / denominator;
|
|
34
|
+
}
|
|
35
|
+
/** Computes excess mana for the next checkpoint, clamped to zero. */ export function computeExcessMana(prevExcessMana, prevManaUsed, manaTarget) {
|
|
36
|
+
const sum = prevExcessMana + prevManaUsed;
|
|
37
|
+
return sum > manaTarget ? sum - manaTarget : 0n;
|
|
38
|
+
}
|
|
39
|
+
/** Computes the congestion multiplier from excess mana (1e9 = no congestion). */ export function computeCongestionMultiplier(excessMana, manaTarget) {
|
|
40
|
+
const denominator = manaTarget * MAGIC_CONGESTION_VALUE_MULTIPLIER / MAGIC_CONGESTION_VALUE_DIVISOR;
|
|
41
|
+
const cappedNumerator = excessMana < denominator * 100n ? excessMana : denominator * 100n;
|
|
42
|
+
return fakeExponential(MINIMUM_CONGESTION_MULTIPLIER, cappedNumerator, denominator);
|
|
43
|
+
}
|
|
44
|
+
/** Ceiling division for positive bigints. */ function ceilDiv(a, b) {
|
|
45
|
+
return (a + b - 1n) / b;
|
|
46
|
+
}
|
|
47
|
+
/** Converts an ETH value to fee asset value using ethPerFeeAsset (1e12 precision). */ function toFeeAsset(ethValue, ethPerFeeAsset) {
|
|
48
|
+
if (ethPerFeeAsset === 0n) {
|
|
49
|
+
return 0n;
|
|
50
|
+
}
|
|
51
|
+
return ceilDiv(ethValue * ETH_PER_FEE_ASSET_PRECISION, ethPerFeeAsset);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Computes the full mana min fee (sequencer + prover + congestion) in fee asset terms.
|
|
55
|
+
* Mirrors FeeLib.getManaMinFeeComponentsAt + summedMinFee.
|
|
56
|
+
*/ export function computeManaMinFee(params) {
|
|
57
|
+
const { l1BaseFee, l1BlobFee, manaTarget, epochDuration, provingCostPerManaEth, excessMana, ethPerFeeAsset } = params;
|
|
58
|
+
if (manaTarget === 0n) {
|
|
59
|
+
return 0n;
|
|
60
|
+
}
|
|
61
|
+
// Sequencer cost per mana (in ETH)
|
|
62
|
+
const ethUsed = L1_GAS_PER_CHECKPOINT_PROPOSED * l1BaseFee + BLOBS_PER_CHECKPOINT * BLOB_GAS_PER_BLOB * l1BlobFee;
|
|
63
|
+
const sequencerCostEth = ceilDiv(ethUsed, manaTarget);
|
|
64
|
+
// Prover cost per mana (in ETH): L1 verification gas + governance-set proving cost
|
|
65
|
+
const proverCostEth = ceilDiv(ceilDiv(L1_GAS_PER_EPOCH_VERIFIED * l1BaseFee, epochDuration), manaTarget) + provingCostPerManaEth;
|
|
66
|
+
// Total base cost in ETH (congestion is computed on this)
|
|
67
|
+
const totalEth = sequencerCostEth + proverCostEth;
|
|
68
|
+
// Congestion multiplier and cost (in ETH)
|
|
69
|
+
const congestionMul = computeCongestionMultiplier(excessMana, manaTarget);
|
|
70
|
+
const congestionCostEth = totalEth * congestionMul / MINIMUM_CONGESTION_MULTIPLIER - totalEth;
|
|
71
|
+
// Convert all components to fee asset
|
|
72
|
+
const clampedEthPerFeeAsset = ethPerFeeAsset < MIN_ETH_PER_FEE_ASSET ? MIN_ETH_PER_FEE_ASSET : ethPerFeeAsset;
|
|
73
|
+
const sequencerCost = toFeeAsset(sequencerCostEth, clampedEthPerFeeAsset);
|
|
74
|
+
const proverCost = toFeeAsset(proverCostEth, clampedEthPerFeeAsset);
|
|
75
|
+
const congestionCost = toFeeAsset(congestionCostEth, clampedEthPerFeeAsset);
|
|
76
|
+
const total = sequencerCost + proverCost + congestionCost;
|
|
77
|
+
// Cap at uint128 max (matching FeeLib.summedMinFee)
|
|
78
|
+
const UINT128_MAX = (1n << 128n) - 1n;
|
|
79
|
+
return total < UINT128_MAX ? total : UINT128_MAX;
|
|
80
|
+
}
|
package/dest/gas/gas_fees.d.ts
CHANGED
|
@@ -49,4 +49,4 @@ export declare class GasFees {
|
|
|
49
49
|
};
|
|
50
50
|
[inspect.custom](): string;
|
|
51
51
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX2ZlZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYXMvZ2FzX2ZlZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFDTCxZQUFZLEVBQ1osV0FBVyxFQUlaLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWE5QyxxQ0FBcUM7QUFDckMscUJBQWEsT0FBTztJQUNsQixTQUFnQixXQUFXLEVBQUUsT0FBTyxDQUFDO0lBQ3JDLFNBQWdCLFdBQVcsRUFBRSxPQUFPLENBQUM7SUFFckMsWUFBWSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFHckU7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQsS0FBSyxJQUFJLE9BQU8sQ0FFZjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxXQUVwQjtJQUVELEdBQUcsQ0FBQyxTQUFTLEVBQUUsYUFBYSxVQU8zQjtJQUVELEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sV0FXMUI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFdBRXBDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FLeEM7SUFFRCxNQUFNLENBQUMsTUFBTSxZQUVaO0lBRUQsTUFBTSxDQUFDLEtBQUssWUFFWDtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsT0FBTyxDQUd4RDtJQUVELFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLFdBRzNDO0lBRUQsUUFBUSxTQUVQO0lBRUQsU0FBUzs7O01BS1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas_fees.d.ts","sourceRoot":"","sources":["../../src/gas/gas_fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EAIZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"gas_fees.d.ts","sourceRoot":"","sources":["../../src/gas/gas_fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EAIZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa9C,qCAAqC;AACrC,qBAAa,OAAO;IAClB,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,WAAW,EAAE,OAAO,CAAC;IAErC,YAAY,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAGrE;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,KAAK,IAAI,OAAO,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,WAEpB;IAED,GAAG,CAAC,SAAS,EAAE,aAAa,UAO3B;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,WAW1B;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,WAEpC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAKxC;IAED,MAAM,CAAC,MAAM,YAEZ;IAED,MAAM,CAAC,KAAK,YAEX;IAED,OAAO,YAEN;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAGxD;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,WAG3C;IAED,QAAQ,SAEP;IAED,SAAS;;;MAKR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
|