@aztec/stdlib 0.0.1-commit.684755437 → 0.0.1-commit.69c59a8b3
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 +5 -44
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +12 -67
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +32 -6
- package/dest/abi/event_selector.d.ts +3 -6
- package/dest/abi/event_selector.d.ts.map +1 -1
- 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/avm/revert_code.d.ts +8 -18
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -30
- 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 +8 -8
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +2 -2
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- 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 +90 -10
- 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 +6 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
- 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 +4 -3
- package/dest/checkpoint/checkpoint.d.ts +7 -1
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +9 -1
- package/dest/checkpoint/checkpoint_data.d.ts +71 -5
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +10 -0
- package/dest/checkpoint/validate.js +2 -2
- 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 +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- 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 +2 -2
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +10 -3
- package/dest/contract/contract_address.d.ts +3 -3
- package/dest/contract/contract_address.js +3 -3
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.js +2 -2
- 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/epoch-helpers/index.d.ts +11 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +16 -2
- 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/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 +10 -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/index.d.ts +2 -2
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +1 -1
- package/dest/ha-signing/local_config.js +1 -1
- package/dest/ha-signing/types.d.ts +37 -32
- package/dest/ha-signing/types.d.ts.map +1 -1
- package/dest/ha-signing/types.js +13 -6
- package/dest/hash/hash.d.ts +19 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +29 -0
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +5 -3
- package/dest/interfaces/aztec-node-admin.d.ts +10 -14
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +3 -3
- 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 +12 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +4 -0
- package/dest/interfaces/block-builder.d.ts +32 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +6 -4
- 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 +7 -2
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +1 -0
- 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 +12 -21
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +6 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -4
- package/dest/interfaces/proving-job.d.ts +200 -200
- package/dest/interfaces/slasher.d.ts +1 -10
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +0 -2
- package/dest/interfaces/validator.d.ts +9 -20
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +0 -1
- package/dest/interfaces/world_state.d.ts +5 -4
- package/dest/interfaces/world_state.d.ts.map +1 -1
- 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/extended_directional_app_tagging_secret.d.ts +4 -4
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
- package/dest/logs/index.d.ts +2 -1
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +1 -0
- 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 +1 -1
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +1 -2
- 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/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 +8 -7
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +11 -3
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +4 -0
- 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 +32 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +69 -26
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -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/block_proposal.d.ts +6 -8
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +4 -9
- package/dest/p2p/checkpoint_attestation.d.ts +4 -6
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +2 -7
- package/dest/p2p/checkpoint_proposal.d.ts +8 -10
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +5 -22
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- 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/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 +4 -90
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +0 -14
- package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
- package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
- package/dest/slashing/{tally.js → votes.js} +1 -1
- package/dest/tests/factories.d.ts +2 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +11 -28
- package/dest/tests/mocks.d.ts +1 -1
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +14 -19
- package/dest/timetable/index.d.ts +51 -1
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +204 -14
- package/dest/tx/block_header.d.ts +2 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +1 -1
- 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/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 +1 -1
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +1 -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 +14 -2
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +13 -3
- package/dest/tx/simulated_tx.d.ts +112 -4
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +3 -3
- package/dest/tx/tx.d.ts +3 -3
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +14 -5
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +14 -18
- package/dest/tx/validator/error_texts.d.ts +5 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +6 -0
- package/dest/update-checker/package_version.d.ts +2 -2
- package/dest/update-checker/package_version.d.ts.map +1 -1
- package/dest/update-checker/package_version.js +16 -3
- 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/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 +8 -8
- 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 +23 -78
- package/src/abi/encoder.ts +42 -6
- package/src/abi/event_selector.ts +2 -8
- 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/avm/revert_code.ts +25 -39
- package/src/aztec-address/index.ts +4 -10
- package/src/block/block_data.ts +3 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +20 -9
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
- package/src/block/test/l2_tips_store_test_suite.ts +9 -2
- package/src/checkpoint/checkpoint.ts +11 -1
- package/src/checkpoint/checkpoint_data.ts +40 -4
- package/src/checkpoint/validate.ts +2 -2
- package/src/config/chain-config.ts +7 -1
- package/src/config/index.ts +1 -0
- package/src/config/pipelining-config.ts +31 -0
- package/src/config/sequencer-config.ts +14 -4
- package/src/contract/contract_address.ts +3 -3
- package/src/contract/contract_class_id.ts +2 -2
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/epoch-helpers/index.ts +27 -0
- 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/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas_fees.ts +12 -4
- package/src/gas/gas_settings.ts +65 -12
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/index.ts +3 -1
- package/src/ha-signing/local_config.ts +1 -1
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +34 -0
- package/src/interfaces/archiver.ts +5 -3
- package/src/interfaces/aztec-node-admin.ts +5 -7
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +25 -1
- package/src/interfaces/block-builder.ts +39 -13
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +4 -1
- package/src/interfaces/l2_logs_source.ts +4 -1
- package/src/interfaces/merkle_tree_operations.ts +11 -20
- package/src/interfaces/prover-client.ts +10 -5
- package/src/interfaces/slasher.ts +0 -6
- package/src/interfaces/validator.ts +16 -13
- package/src/interfaces/world_state.ts +4 -3
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
- package/src/logs/index.ts +1 -0
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/log_id.ts +1 -2
- package/src/logs/message_context.ts +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +15 -11
- package/src/logs/tag.ts +8 -8
- 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 +98 -33
- package/src/noir/index.ts +2 -2
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/block_proposal.ts +13 -9
- package/src/p2p/checkpoint_attestation.ts +5 -9
- package/src/p2p/checkpoint_proposal.ts +19 -31
- package/src/p2p/gossipable.ts +4 -4
- package/src/proofs/chonk_proof.ts +91 -5
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +3 -35
- package/src/slashing/{tally.ts → votes.ts} +1 -1
- package/src/tests/factories.ts +5 -34
- package/src/tests/mocks.ts +16 -12
- package/src/timetable/index.ts +293 -13
- package/src/tx/block_header.ts +2 -2
- 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/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +1 -2
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +11 -2
- package/src/tx/simulated_tx.ts +6 -2
- package/src/tx/tx.ts +2 -2
- package/src/tx/tx_receipt.ts +18 -16
- package/src/tx/validator/error_texts.ts +8 -0
- package/src/update-checker/package_version.ts +19 -6
- package/src/validators/errors.ts +9 -0
- 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/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/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 -158
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -87
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/slashing/empire.ts +0 -104
package/dest/avm/revert_code.js
CHANGED
|
@@ -3,25 +3,13 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import { inspect } from 'util';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
/**
|
|
7
|
-
* Tracks which revertible phases of a transaction's public execution reverted.
|
|
8
|
-
*
|
|
9
|
-
* A transaction executes in three sequential phases:
|
|
10
|
-
* 1. SETUP – non-revertible; if this fails the entire transaction is rejected.
|
|
11
|
-
* 2. APP_LOGIC – revertible; its state changes are rolled back on failure.
|
|
12
|
-
* 3. TEARDOWN – revertible; always runs (even after app-logic revert) so the fee-payment contract can clean up.
|
|
13
|
-
*
|
|
14
|
-
* Only APP_LOGIC and TEARDOWN can produce a revert code. SETUP failures throw instead and discard the transaction
|
|
15
|
-
* entirely.
|
|
16
|
-
*/ export var RevertCodeEnum = /*#__PURE__*/ function(RevertCodeEnum) {
|
|
6
|
+
/** Whether a transaction's public execution reverted. */ export var RevertCodeEnum = /*#__PURE__*/ function(RevertCodeEnum) {
|
|
17
7
|
/** All phases completed successfully; no state was rolled back. */ RevertCodeEnum[RevertCodeEnum["OK"] = 0] = "OK";
|
|
18
|
-
/**
|
|
19
|
-
/** TEARDOWN reverted; its state changes were discarded. APP_LOGIC succeeded. */ RevertCodeEnum[RevertCodeEnum["TEARDOWN_REVERTED"] = 2] = "TEARDOWN_REVERTED";
|
|
20
|
-
/** Both APP_LOGIC and TEARDOWN reverted; only SETUP effects are kept. */ RevertCodeEnum[RevertCodeEnum["BOTH_REVERTED"] = 3] = "BOTH_REVERTED";
|
|
8
|
+
/** One or more revertible phases reverted; their state changes were discarded. */ RevertCodeEnum[RevertCodeEnum["REVERTED"] = 1] = "REVERTED";
|
|
21
9
|
return RevertCodeEnum;
|
|
22
10
|
}({});
|
|
23
|
-
function
|
|
24
|
-
return value
|
|
11
|
+
/** Returns a valid RevertCodeEnum, coercing any value >= 1 to REVERTED. */ function toRevertCodeEnum(value) {
|
|
12
|
+
return value >= 1 ? 1 : 0;
|
|
25
13
|
}
|
|
26
14
|
_computedKey = inspect.custom;
|
|
27
15
|
/**
|
|
@@ -32,9 +20,10 @@ _computedKey = inspect.custom;
|
|
|
32
20
|
this.code = e.valueOf();
|
|
33
21
|
}
|
|
34
22
|
static OK = new RevertCode(0);
|
|
35
|
-
static
|
|
36
|
-
static
|
|
37
|
-
static
|
|
23
|
+
static REVERTED = new RevertCode(1);
|
|
24
|
+
/** @deprecated Use REVERTED instead. */ static APP_LOGIC_REVERTED = RevertCode.REVERTED;
|
|
25
|
+
/** @deprecated Use REVERTED instead. */ static TEARDOWN_REVERTED = RevertCode.REVERTED;
|
|
26
|
+
/** @deprecated Use REVERTED instead. */ static BOTH_REVERTED = RevertCode.REVERTED;
|
|
38
27
|
getCode() {
|
|
39
28
|
return this.code;
|
|
40
29
|
}
|
|
@@ -49,11 +38,7 @@ _computedKey = inspect.custom;
|
|
|
49
38
|
case 0:
|
|
50
39
|
return 'OK';
|
|
51
40
|
case 1:
|
|
52
|
-
return '
|
|
53
|
-
case 2:
|
|
54
|
-
return 'Teardown reverted';
|
|
55
|
-
case 3:
|
|
56
|
-
return 'Both reverted';
|
|
41
|
+
return 'Reverted';
|
|
57
42
|
default:
|
|
58
43
|
return `Unknown RevertCode: ${this.code}`;
|
|
59
44
|
}
|
|
@@ -62,7 +47,7 @@ _computedKey = inspect.custom;
|
|
|
62
47
|
return this.code;
|
|
63
48
|
}
|
|
64
49
|
static get schema() {
|
|
65
|
-
return z.
|
|
50
|
+
return z.number().int().min(0).transform((value)=>new RevertCode(toRevertCodeEnum(value)));
|
|
66
51
|
}
|
|
67
52
|
/**
|
|
68
53
|
* Creates a RevertCode from a plain object without Zod validation.
|
|
@@ -75,10 +60,10 @@ _computedKey = inspect.custom;
|
|
|
75
60
|
return obj;
|
|
76
61
|
}
|
|
77
62
|
const code = typeof obj === 'number' ? obj : obj.code ?? obj;
|
|
78
|
-
if (
|
|
63
|
+
if (typeof code !== 'number' || code < 0) {
|
|
79
64
|
throw new Error(`Invalid RevertCode: ${code}`);
|
|
80
65
|
}
|
|
81
|
-
return new RevertCode(code);
|
|
66
|
+
return new RevertCode(toRevertCodeEnum(code));
|
|
82
67
|
}
|
|
83
68
|
/**
|
|
84
69
|
* Having different serialization methods allows for
|
|
@@ -106,10 +91,10 @@ _computedKey = inspect.custom;
|
|
|
106
91
|
return this.toBuffer().length;
|
|
107
92
|
}
|
|
108
93
|
static fromNumber(code) {
|
|
109
|
-
if (
|
|
94
|
+
if (code < 0) {
|
|
110
95
|
throw new Error(`Invalid RevertCode: ${code}`);
|
|
111
96
|
}
|
|
112
|
-
return new RevertCode(code);
|
|
97
|
+
return new RevertCode(toRevertCodeEnum(code));
|
|
113
98
|
}
|
|
114
99
|
static fromField(field) {
|
|
115
100
|
return RevertCode.fromNumber(field.toNumber());
|
|
@@ -123,7 +108,7 @@ _computedKey = inspect.custom;
|
|
|
123
108
|
const code = reader.readBytes(RevertCode.PACKED_SIZE_IN_BYTES).readUInt8(0);
|
|
124
109
|
return RevertCode.fromNumber(code);
|
|
125
110
|
}
|
|
126
|
-
static NUM_OPTIONS =
|
|
111
|
+
static NUM_OPTIONS = 2;
|
|
127
112
|
static random() {
|
|
128
113
|
return new RevertCode(Math.floor(Math.random() * RevertCode.NUM_OPTIONS));
|
|
129
114
|
}
|
|
@@ -3,11 +3,6 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
|
3
3
|
import { type ZodFor } from '@aztec/foundation/schemas';
|
|
4
4
|
import { type BufferReader, FieldReader } from '@aztec/foundation/serialize';
|
|
5
5
|
import { inspect } from 'util';
|
|
6
|
-
/** Branding to ensure fields are not interchangeable types. */
|
|
7
|
-
export interface AztecAddress {
|
|
8
|
-
/** Brand. */
|
|
9
|
-
_branding: 'AztecAddress';
|
|
10
|
-
}
|
|
11
6
|
/**
|
|
12
7
|
* AztecAddress represents a 32-byte address in the Aztec Protocol. It provides methods to create, manipulate, and
|
|
13
8
|
* compare addresses, as well as conversion to and from strings, buffers, and other formats.
|
|
@@ -18,6 +13,8 @@ export interface AztecAddress {
|
|
|
18
13
|
* wild.
|
|
19
14
|
*/
|
|
20
15
|
export declare class AztecAddress {
|
|
16
|
+
/** Branding for nominal typing. */
|
|
17
|
+
private readonly _branding;
|
|
21
18
|
private xCoord;
|
|
22
19
|
constructor(buffer: Buffer | Fr);
|
|
23
20
|
[inspect.custom](): string;
|
|
@@ -62,4 +59,4 @@ export declare class AztecAddress {
|
|
|
62
59
|
toJSON(): `0x${string}`;
|
|
63
60
|
static get schema(): ZodFor<AztecAddress>;
|
|
64
61
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlYy1hZGRyZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFpQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9COzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsWUFBWTtJQUN2QixtQ0FBbUM7SUFDbkMsaUJBQXlCLFNBQVMsQ0FBaUI7SUFFbkQsT0FBTyxDQUFDLE1BQU0sQ0FBSztJQUVuQixZQUFZLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUs5QjtJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUUzQjtJQUVELE1BQU0sQ0FBQyxhQUFhLFNBQW9CO0lBRXhDLE1BQU0sQ0FBQyxJQUFJLGVBQXlDO0lBRXBELE1BQU0sQ0FBQyxJQUFJLElBQUksWUFBWSxDQUUxQjtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBRXRCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0JBRTlDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxnQkFHM0M7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLGdCQUU5QjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sZ0JBRTlCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxnQkFFNUI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFlBQVksQ0FRN0M7SUFFRDs7T0FFRztJQUNILE9BQWEsTUFBTSwwQkFRbEI7SUFFRCxJQUFJLElBQUksV0FFUDtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxXQUV6QjtJQUVELE1BQU0sWUFFTDtJQUVEOztPQUVHO0lBQ0csT0FBTyxxQkFRWjtJQUVEOztPQUVHO0lBQ0gsY0FBYyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FFL0I7SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxXQUVQO0lBRUQsT0FBTyxPQUVOO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FPeEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAc,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,KAAK,MAAM,EAAiC,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG7E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,mCAAmC;IACnC,iBAAyB,SAAS,CAAiB;IAEnD,OAAO,CAAC,MAAM,CAAK;IAEnB,YAAY,MAAM,EAAE,MAAM,GAAG,EAAE,EAK9B;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,WAE3B;IAED,MAAM,CAAC,aAAa,SAAoB;IAExC,MAAM,CAAC,IAAI,eAAyC;IAEpD,MAAM,CAAC,IAAI,IAAI,YAAY,CAE1B;IAED,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAEtB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gBAE9C;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,gBAG3C;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,gBAE9B;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,gBAE9B;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,gBAE5B;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAQ7C;IAED;;OAEG;IACH,OAAa,MAAM,0BAQlB;IAED,IAAI,IAAI,WAEP;IAED,MAAM,CAAC,KAAK,EAAE,YAAY,WAEzB;IAED,MAAM,YAEL;IAED;;OAEG;IACG,OAAO,qBAQZ;IAED;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CAE/B;IAED,QAAQ,4BAEP;IAED,QAAQ,WAEP;IAED,OAAO,OAEN;IAED,QAAQ,kBAEP;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAOxC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
var _computedKey;
|
|
2
2
|
import { Fr, fromBuffer } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
4
4
|
import { bufferSchemaFor, hexSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
-
import { FieldReader
|
|
5
|
+
import { FieldReader } from '@aztec/foundation/serialize';
|
|
6
6
|
import { hexToBuffer } from '@aztec/foundation/string';
|
|
7
7
|
import { inspect } from 'util';
|
|
8
8
|
import { z } from 'zod';
|
|
@@ -129,5 +129,3 @@ _computedKey = inspect.custom;
|
|
|
129
129
|
]);
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
// For deserializing JSON.
|
|
133
|
-
TypeRegistry.register('AztecAddress', AztecAddress);
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import type { CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
2
|
import { z } from 'zod';
|
|
4
3
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
5
4
|
import { BlockHeader } from '../tx/block_header.js';
|
|
5
|
+
import { BlockHash } from './block_hash.js';
|
|
6
6
|
/** L2Block metadata. Equivalent to L2Block but without block body containing tx data. */
|
|
7
7
|
export type BlockData = {
|
|
8
8
|
header: BlockHeader;
|
|
9
9
|
archive: AppendOnlyTreeSnapshot;
|
|
10
|
-
blockHash:
|
|
10
|
+
blockHash: BlockHash;
|
|
11
11
|
checkpointNumber: CheckpointNumber;
|
|
12
12
|
indexWithinCheckpoint: IndexWithinCheckpoint;
|
|
13
13
|
};
|
|
14
14
|
export declare const BlockDataSchema: z.ZodObject<{
|
|
15
15
|
header: import("@aztec/foundation/schemas").ZodFor<BlockHeader>;
|
|
16
16
|
archive: z.ZodEffects<z.ZodObject<{
|
|
17
|
-
root: z.ZodType<Fr, any, string>;
|
|
17
|
+
root: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
|
|
18
18
|
nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
19
19
|
}, "strip", z.ZodTypeAny, {
|
|
20
|
-
root: Fr;
|
|
20
|
+
root: import("@aztec/foundation/schemas").Fr;
|
|
21
21
|
nextAvailableLeafIndex: number;
|
|
22
22
|
}, {
|
|
23
23
|
root: string;
|
|
@@ -26,13 +26,13 @@ export declare const BlockDataSchema: z.ZodObject<{
|
|
|
26
26
|
root: string;
|
|
27
27
|
nextAvailableLeafIndex: string | number | bigint;
|
|
28
28
|
}>;
|
|
29
|
-
blockHash:
|
|
29
|
+
blockHash: import("@aztec/foundation/schemas").ZodFor<BlockHash>;
|
|
30
30
|
checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
31
31
|
indexWithinCheckpoint: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, IndexWithinCheckpoint, string | number | bigint>;
|
|
32
32
|
}, "strip", z.ZodTypeAny, {
|
|
33
33
|
header: BlockHeader;
|
|
34
34
|
archive: AppendOnlyTreeSnapshot;
|
|
35
|
-
blockHash:
|
|
35
|
+
blockHash: BlockHash;
|
|
36
36
|
checkpointNumber: number & {
|
|
37
37
|
_branding: "CheckpointNumber";
|
|
38
38
|
};
|
|
@@ -45,8 +45,8 @@ export declare const BlockDataSchema: z.ZodObject<{
|
|
|
45
45
|
root: string;
|
|
46
46
|
nextAvailableLeafIndex: string | number | bigint;
|
|
47
47
|
};
|
|
48
|
-
blockHash
|
|
48
|
+
blockHash?: any;
|
|
49
49
|
checkpointNumber: string | number | bigint;
|
|
50
50
|
indexWithinCheckpoint: string | number | bigint;
|
|
51
51
|
}>;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2Jsb2NrX2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMseUZBQXlGO0FBQ3pGLE1BQU0sTUFBTSxTQUFTLEdBQUc7SUFDdEIsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNwQixPQUFPLEVBQUUsc0JBQXNCLENBQUM7SUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztDQUM5QyxDQUFDO0FBRUYsZUFBTyxNQUFNLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNMUIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_data.d.ts","sourceRoot":"","sources":["../../src/block/block_data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"block_data.d.ts","sourceRoot":"","sources":["../../src/block/block_data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,yFAAyF;AACzF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC"}
|
package/dest/block/block_data.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { CheckpointNumberSchema, IndexWithinCheckpointSchema } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
3
2
|
import { z } from 'zod';
|
|
4
3
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
5
4
|
import { BlockHeader } from '../tx/block_header.js';
|
|
5
|
+
import { BlockHash } from './block_hash.js';
|
|
6
6
|
export const BlockDataSchema = z.object({
|
|
7
7
|
header: BlockHeader.schema,
|
|
8
8
|
archive: AppendOnlyTreeSnapshot.schema,
|
|
9
|
-
blockHash:
|
|
9
|
+
blockHash: BlockHash.schema,
|
|
10
10
|
checkpointNumber: CheckpointNumberSchema,
|
|
11
11
|
indexWithinCheckpoint: IndexWithinCheckpointSchema
|
|
12
12
|
});
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
|
+
import { BaseFr, Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
3
|
+
import type { BufferReader } from '@aztec/foundation/serialize';
|
|
3
4
|
import { inspect } from 'util';
|
|
4
|
-
declare const BLOCK_HASH_BRAND: unique symbol;
|
|
5
5
|
/** Hash of an L2 block. */
|
|
6
|
-
export declare class BlockHash extends
|
|
7
|
-
|
|
6
|
+
export declare class BlockHash extends BaseFr {
|
|
7
|
+
/** Branding for nominal typing. */
|
|
8
|
+
private readonly _branding;
|
|
9
|
+
static ZERO: BlockHash;
|
|
8
10
|
constructor(hash: Fr);
|
|
9
11
|
[inspect.custom](): string;
|
|
10
12
|
toFr(): Fr;
|
|
11
|
-
/**
|
|
12
|
-
* Type guard that checks if a value is a BlockHash instance.
|
|
13
|
-
* Uses Symbol.for to ensure cross-module compatibility.
|
|
14
|
-
*/
|
|
13
|
+
/** Type guard that checks if a value is a BlockHash instance. */
|
|
15
14
|
static isBlockHash(value: unknown): value is BlockHash;
|
|
16
15
|
static random(): BlockHash;
|
|
16
|
+
static fromBuffer(buffer: Buffer | BufferReader): BlockHash;
|
|
17
17
|
static fromString(str: string): BlockHash;
|
|
18
18
|
static get schema(): ZodFor<BlockHash>;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/** The block header hash for the genesis block (block 0). */
|
|
21
|
+
export declare const GENESIS_BLOCK_HEADER_HASH: BlockHash;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGFzaC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2Jsb2NrX2hhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLDJCQUEyQjtBQUMzQixxQkFBYSxTQUFVLFNBQVEsTUFBTTtJQUNuQyxtQ0FBbUM7SUFDbkMsaUJBQXlCLFNBQVMsQ0FBYztJQUVoRCxNQUFNLENBQUMsSUFBSSxZQUEwQjtJQUVyQyxZQUFZLElBQUksRUFBRSxFQUFFLEVBRW5CO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBRWY7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsaUVBQWlFO0lBQ2pFLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sR0FBRyxLQUFLLElBQUksU0FBUyxDQUVyRDtJQUVELE1BQU0sQ0FBQyxNQUFNLGNBRVo7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFNBQVMsQ0FFMUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUV4QztJQUVELE1BQU0sS0FBSyxNQUFNLHNCQUVoQjtDQUNGO0FBRUQsNkRBQTZEO0FBQzdELGVBQU8sTUFBTSx5QkFBeUIsRUFBRSxTQUF1RCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_hash.d.ts","sourceRoot":"","sources":["../../src/block/block_hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block_hash.d.ts","sourceRoot":"","sources":["../../src/block/block_hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,2BAA2B;AAC3B,qBAAa,SAAU,SAAQ,MAAM;IACnC,mCAAmC;IACnC,iBAAyB,SAAS,CAAc;IAEhD,MAAM,CAAC,IAAI,YAA0B;IAErC,YAAY,IAAI,EAAE,EAAE,EAEnB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,IAAI,IAAI,EAAE,CAET;IAED,iEAAiE;IACjE,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAErD;IAED,MAAM,CAAC,MAAM,cAEZ;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE1D;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAExC;IAED,MAAM,KAAK,MAAM,sBAEhB;CACF;AAED,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,EAAE,SAAuD,CAAC"}
|
package/dest/block/block_hash.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
var _computedKey;
|
|
2
|
-
import {
|
|
2
|
+
import { GENESIS_BLOCK_HEADER_HASH as GENESIS_BLOCK_HEADER_HASH_FR } from '@aztec/constants';
|
|
3
|
+
import { BaseFr, Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import { inspect } from 'util';
|
|
4
5
|
import { hexSchemaFor } from '../schemas/schemas.js';
|
|
5
|
-
const BLOCK_HASH_BRAND = Symbol.for('aztec.BlockHash');
|
|
6
6
|
_computedKey = inspect.custom;
|
|
7
|
-
/** Hash of an L2 block. */ export class BlockHash extends
|
|
8
|
-
|
|
7
|
+
/** Hash of an L2 block. */ export class BlockHash extends BaseFr {
|
|
8
|
+
static ZERO = new BlockHash(Fr.ZERO);
|
|
9
9
|
constructor(hash){
|
|
10
10
|
super(hash);
|
|
11
11
|
}
|
|
@@ -15,15 +15,15 @@ _computedKey = inspect.custom;
|
|
|
15
15
|
toFr() {
|
|
16
16
|
return new Fr(this.toBigInt());
|
|
17
17
|
}
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
* Uses Symbol.for to ensure cross-module compatibility.
|
|
21
|
-
*/ static isBlockHash(value) {
|
|
22
|
-
return typeof value === 'object' && value !== null && BLOCK_HASH_BRAND in value;
|
|
18
|
+
/** Type guard that checks if a value is a BlockHash instance. */ static isBlockHash(value) {
|
|
19
|
+
return value instanceof BlockHash;
|
|
23
20
|
}
|
|
24
21
|
static random() {
|
|
25
22
|
return new BlockHash(Fr.random());
|
|
26
23
|
}
|
|
24
|
+
static fromBuffer(buffer) {
|
|
25
|
+
return new BlockHash(Fr.fromBuffer(buffer));
|
|
26
|
+
}
|
|
27
27
|
static fromString(str) {
|
|
28
28
|
return new BlockHash(Fr.fromString(str));
|
|
29
29
|
}
|
|
@@ -31,3 +31,4 @@ _computedKey = inspect.custom;
|
|
|
31
31
|
return hexSchemaFor(BlockHash);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
/** The block header hash for the genesis block (block 0). */ export const GENESIS_BLOCK_HEADER_HASH = new BlockHash(GENESIS_BLOCK_HEADER_HASH_FR);
|
|
@@ -2,8 +2,9 @@ import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import { BlockHash } from './block_hash.js';
|
|
5
6
|
export type L2BlockInfo = {
|
|
6
|
-
blockHash?:
|
|
7
|
+
blockHash?: BlockHash;
|
|
7
8
|
archive: Fr;
|
|
8
9
|
lastArchive: Fr;
|
|
9
10
|
blockNumber: BlockNumber;
|
|
@@ -13,7 +14,7 @@ export type L2BlockInfo = {
|
|
|
13
14
|
};
|
|
14
15
|
export declare function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo;
|
|
15
16
|
export declare const BlockInfoSchema: z.ZodObject<{
|
|
16
|
-
blockHash: z.ZodOptional<
|
|
17
|
+
blockHash: z.ZodOptional<import("@aztec/foundation/schemas").ZodFor<BlockHash>>;
|
|
17
18
|
archive: z.ZodType<Fr, any, string>;
|
|
18
19
|
lastArchive: z.ZodType<Fr, any, string>;
|
|
19
20
|
blockNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
@@ -21,7 +22,7 @@ export declare const BlockInfoSchema: z.ZodObject<{
|
|
|
21
22
|
txCount: z.ZodNumber;
|
|
22
23
|
timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
23
24
|
}, "strip", z.ZodTypeAny, {
|
|
24
|
-
blockHash?:
|
|
25
|
+
blockHash?: BlockHash | undefined;
|
|
25
26
|
archive: Fr;
|
|
26
27
|
lastArchive: Fr;
|
|
27
28
|
blockNumber: number & {
|
|
@@ -33,7 +34,7 @@ export declare const BlockInfoSchema: z.ZodObject<{
|
|
|
33
34
|
txCount: number;
|
|
34
35
|
timestamp: bigint;
|
|
35
36
|
}, {
|
|
36
|
-
blockHash?:
|
|
37
|
+
blockHash?: any;
|
|
37
38
|
archive: string;
|
|
38
39
|
lastArchive: string;
|
|
39
40
|
blockNumber: string | number | bigint;
|
|
@@ -43,4 +44,4 @@ export declare const BlockInfoSchema: z.ZodObject<{
|
|
|
43
44
|
}>;
|
|
44
45
|
export declare function serializeBlockInfo(blockInfo: L2BlockInfo): Buffer;
|
|
45
46
|
export declare function deserializeBlockInfo(buffer: Buffer | BufferReader): L2BlockInfo;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfaW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2wyX2Jsb2NrX2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsVUFBVSxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFDeEIsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUM7Q0FDbkIsQ0FBQztBQUVGLHdCQUFnQixlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxHQUFHLE1BQU0sR0FBRyxXQUFXLENBVS9FO0FBRUQsZUFBTyxNQUFNLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFRMUIsQ0FBQztBQUVILHdCQUFnQixrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxHQUFHLE1BQU0sQ0FVakU7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FBVyxDQVkvRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_info.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,UAAU,EAAoB,MAAM,iCAAiC,CAAC;AAC/G,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"l2_block_info.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,UAAU,EAAoB,MAAM,iCAAiC,CAAC;AAC/G,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,EAAE,CAAC;IACZ,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAU/E;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAEH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAUjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAY/E"}
|
|
@@ -3,9 +3,10 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
+
import { BlockHash } from './block_hash.js';
|
|
6
7
|
export function randomBlockInfo(blockNumber) {
|
|
7
8
|
return {
|
|
8
|
-
blockHash:
|
|
9
|
+
blockHash: BlockHash.random(),
|
|
9
10
|
archive: Fr.random(),
|
|
10
11
|
lastArchive: Fr.random(),
|
|
11
12
|
blockNumber: BlockNumber(blockNumber ?? Math.floor(Math.random() * 100000) + 1),
|
|
@@ -15,7 +16,7 @@ export function randomBlockInfo(blockNumber) {
|
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
18
|
export const BlockInfoSchema = z.object({
|
|
18
|
-
blockHash:
|
|
19
|
+
blockHash: BlockHash.schema.optional(),
|
|
19
20
|
archive: schemas.Fr,
|
|
20
21
|
lastArchive: schemas.Fr,
|
|
21
22
|
blockNumber: BlockNumberSchema,
|
|
@@ -24,13 +25,13 @@ export const BlockInfoSchema = z.object({
|
|
|
24
25
|
timestamp: schemas.BigInt
|
|
25
26
|
});
|
|
26
27
|
export function serializeBlockInfo(blockInfo) {
|
|
27
|
-
return serializeToBuffer(blockInfo.blockHash ??
|
|
28
|
+
return serializeToBuffer(blockInfo.blockHash ?? BlockHash.ZERO, blockInfo.archive, blockInfo.lastArchive, blockInfo.blockNumber, blockInfo.slotNumber, blockInfo.txCount, blockInfo.timestamp);
|
|
28
29
|
}
|
|
29
30
|
export function deserializeBlockInfo(buffer) {
|
|
30
31
|
const reader = BufferReader.asReader(buffer);
|
|
31
|
-
const blockHash =
|
|
32
|
+
const blockHash = BlockHash.fromBuffer(reader);
|
|
32
33
|
return {
|
|
33
|
-
blockHash: blockHash.equals(
|
|
34
|
+
blockHash: blockHash.equals(BlockHash.ZERO) ? undefined : blockHash,
|
|
34
35
|
archive: reader.readObject(Fr),
|
|
35
36
|
lastArchive: reader.readObject(Fr),
|
|
36
37
|
blockNumber: BlockNumber(reader.readNumber()),
|
|
@@ -4,7 +4,7 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
4
4
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import type { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
7
|
-
import type { CheckpointData } from '../checkpoint/checkpoint_data.js';
|
|
7
|
+
import type { CheckpointData, CommonCheckpointData, ProposedCheckpointData } from '../checkpoint/checkpoint_data.js';
|
|
8
8
|
import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
9
9
|
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
10
10
|
import type { BlockHeader } from '../tx/block_header.js';
|
|
@@ -51,9 +51,8 @@ export interface L2BlockSource {
|
|
|
51
51
|
*/
|
|
52
52
|
getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* TODO(#13569): Compute proper finalized block number based on L1 finalized block.
|
|
54
|
+
* Returns the finalized L2 block number. A block is finalized when it was proven
|
|
55
|
+
* in an L1 block that has itself been finalized on Ethereum.
|
|
57
56
|
* @returns The finalized block number.
|
|
58
57
|
*/
|
|
59
58
|
getFinalizedL2BlockNumber(): Promise<BlockNumber>;
|
|
@@ -143,13 +142,17 @@ export interface L2BlockSource {
|
|
|
143
142
|
*/
|
|
144
143
|
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
145
144
|
/**
|
|
146
|
-
* Returns the
|
|
145
|
+
* Returns the last L2 slot number for which we have all L1 data needed to build the next checkpoint.
|
|
146
|
+
* Determined by the max of two signals: L1 block sync progress and latest synced checkpoint slot.
|
|
147
|
+
* The checkpoint signal handles missed L1 blocks, since a published checkpoint seals the message tree
|
|
148
|
+
* for the next checkpoint via the inbox LAG mechanism.
|
|
147
149
|
*/
|
|
148
|
-
|
|
150
|
+
getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
149
151
|
/**
|
|
150
|
-
* Returns the
|
|
152
|
+
* Returns the last L2 epoch number that has been fully synchronized from L1.
|
|
153
|
+
* An epoch is fully synced when all its L2 slots have been fully synced.
|
|
151
154
|
*/
|
|
152
|
-
|
|
155
|
+
getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
153
156
|
/**
|
|
154
157
|
* Returns all checkpointed block headers for a given epoch.
|
|
155
158
|
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
@@ -185,6 +188,10 @@ export interface L2BlockSource {
|
|
|
185
188
|
* checkpoint that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
|
|
186
189
|
*/
|
|
187
190
|
getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
|
|
191
|
+
/** Returns the checkpoint at the proposed chain tip. */
|
|
192
|
+
getProposedCheckpoint(): Promise<CommonCheckpointData | undefined>;
|
|
193
|
+
/** Returns proposed checkpoint, if set, undefined if not*/
|
|
194
|
+
getProposedCheckpointOnly(): Promise<ProposedCheckpointData | undefined>;
|
|
188
195
|
/** Force a sync. */
|
|
189
196
|
syncImmediate(): Promise<void>;
|
|
190
197
|
/**
|
|
@@ -257,11 +264,12 @@ export interface L2BlockSourceEventEmitter extends L2BlockSource {
|
|
|
257
264
|
* - proven: Proven block on L1.
|
|
258
265
|
* - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
|
|
259
266
|
*/
|
|
260
|
-
export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
|
|
267
|
+
export type L2BlockTag = 'proposed' | 'proposedCheckpoint' | 'checkpointed' | 'proven' | 'finalized';
|
|
261
268
|
/** Tips of the L2 chain. */
|
|
262
269
|
export type L2Tips = {
|
|
263
270
|
proposed: L2BlockId;
|
|
264
271
|
checkpointed: L2TipId;
|
|
272
|
+
proposedCheckpoint: L2TipId;
|
|
265
273
|
proven: L2TipId;
|
|
266
274
|
finalized: L2TipId;
|
|
267
275
|
};
|
|
@@ -344,6 +352,54 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
344
352
|
hash: string;
|
|
345
353
|
};
|
|
346
354
|
}>;
|
|
355
|
+
proposedCheckpoint: z.ZodObject<{
|
|
356
|
+
block: z.ZodObject<{
|
|
357
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
358
|
+
hash: z.ZodString;
|
|
359
|
+
}, "strip", z.ZodTypeAny, {
|
|
360
|
+
number: number & {
|
|
361
|
+
_branding: "BlockNumber";
|
|
362
|
+
};
|
|
363
|
+
hash: string;
|
|
364
|
+
}, {
|
|
365
|
+
number: string | number | bigint;
|
|
366
|
+
hash: string;
|
|
367
|
+
}>;
|
|
368
|
+
checkpoint: z.ZodObject<{
|
|
369
|
+
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
370
|
+
hash: z.ZodString;
|
|
371
|
+
}, "strip", z.ZodTypeAny, {
|
|
372
|
+
number: number & {
|
|
373
|
+
_branding: "CheckpointNumber";
|
|
374
|
+
};
|
|
375
|
+
hash: string;
|
|
376
|
+
}, {
|
|
377
|
+
number: string | number | bigint;
|
|
378
|
+
hash: string;
|
|
379
|
+
}>;
|
|
380
|
+
}, "strip", z.ZodTypeAny, {
|
|
381
|
+
block: {
|
|
382
|
+
number: number & {
|
|
383
|
+
_branding: "BlockNumber";
|
|
384
|
+
};
|
|
385
|
+
hash: string;
|
|
386
|
+
};
|
|
387
|
+
checkpoint: {
|
|
388
|
+
number: number & {
|
|
389
|
+
_branding: "CheckpointNumber";
|
|
390
|
+
};
|
|
391
|
+
hash: string;
|
|
392
|
+
};
|
|
393
|
+
}, {
|
|
394
|
+
block: {
|
|
395
|
+
number: string | number | bigint;
|
|
396
|
+
hash: string;
|
|
397
|
+
};
|
|
398
|
+
checkpoint: {
|
|
399
|
+
number: string | number | bigint;
|
|
400
|
+
hash: string;
|
|
401
|
+
};
|
|
402
|
+
}>;
|
|
347
403
|
proven: z.ZodObject<{
|
|
348
404
|
block: z.ZodObject<{
|
|
349
405
|
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
@@ -461,6 +517,20 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
461
517
|
hash: string;
|
|
462
518
|
};
|
|
463
519
|
};
|
|
520
|
+
proposedCheckpoint: {
|
|
521
|
+
block: {
|
|
522
|
+
number: number & {
|
|
523
|
+
_branding: "BlockNumber";
|
|
524
|
+
};
|
|
525
|
+
hash: string;
|
|
526
|
+
};
|
|
527
|
+
checkpoint: {
|
|
528
|
+
number: number & {
|
|
529
|
+
_branding: "CheckpointNumber";
|
|
530
|
+
};
|
|
531
|
+
hash: string;
|
|
532
|
+
};
|
|
533
|
+
};
|
|
464
534
|
proven: {
|
|
465
535
|
block: {
|
|
466
536
|
number: number & {
|
|
@@ -504,6 +574,16 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
504
574
|
hash: string;
|
|
505
575
|
};
|
|
506
576
|
};
|
|
577
|
+
proposedCheckpoint: {
|
|
578
|
+
block: {
|
|
579
|
+
number: string | number | bigint;
|
|
580
|
+
hash: string;
|
|
581
|
+
};
|
|
582
|
+
checkpoint: {
|
|
583
|
+
number: string | number | bigint;
|
|
584
|
+
hash: string;
|
|
585
|
+
};
|
|
586
|
+
};
|
|
507
587
|
proven: {
|
|
508
588
|
block: {
|
|
509
589
|
number: string | number | bigint;
|
|
@@ -556,4 +636,4 @@ export type InvalidCheckpointDetectedEvent = {
|
|
|
556
636
|
type: 'invalidCheckpointDetected';
|
|
557
637
|
validationResult: ValidateCheckpointNegativeResult;
|
|
558
638
|
};
|
|
559
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
639
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUNoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckgsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFN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
|