@aztec/stdlib 0.0.1-commit.5de5ca79e → 0.0.1-commit.6201a7b05
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/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/avm.d.ts +300 -300
- 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/attestation_info.d.ts +3 -2
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +7 -5
- package/dest/block/block_data.d.ts +297 -8
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +16 -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/block_parameter.d.ts +30 -3
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +36 -2
- 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 +120 -6
- 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/proposal/attestations_and_signers.d.ts +13 -6
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +26 -18
- 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 +77 -5
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +12 -0
- package/dest/config/chain-config.d.ts +2 -2
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +9 -3
- package/dest/config/sequencer-config.d.ts +3 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +11 -4
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_address.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/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +2 -4
- package/dest/epoch-helpers/index.d.ts +7 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +12 -0
- 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 +5 -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/config.d.ts +6 -6
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +4 -3
- 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.d.ts +1 -1
- package/dest/ha-signing/local_config.d.ts.map +1 -1
- package/dest/ha-signing/local_config.js +2 -2
- 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 +37 -0
- package/dest/interfaces/archiver.d.ts +11 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +11 -3
- package/dest/interfaces/aztec-node-admin.d.ts +19 -17
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +5 -4
- 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 +54 -55
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +20 -16
- package/dest/interfaces/block_response.d.ts +156 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +24 -0
- package/dest/interfaces/chain_tips.d.ts +304 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +11 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +27 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +20 -0
- package/dest/interfaces/checkpoint_response.d.ts +312 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +7 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +6 -0
- package/dest/interfaces/configs.d.ts +7 -2
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +2 -1
- package/dest/interfaces/l1_publish_info.d.ts +43 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +1 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +0 -3
- package/dest/interfaces/proving-job.d.ts +200 -200
- package/dest/interfaces/server.d.ts +6 -1
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -0
- 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 +24 -26
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +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/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/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/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 +22 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +45 -40
- package/dest/p2p/checkpoint_attestation.d.ts +10 -8
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +17 -24
- package/dest/p2p/checkpoint_proposal.d.ts +20 -14
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +34 -51
- package/dest/p2p/consensus_payload.d.ts +18 -7
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +31 -19
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/signature_utils.d.ts +28 -19
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +118 -21
- package/dest/p2p/signed_txs.d.ts +15 -13
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +26 -24
- package/dest/parity/parity_base_private_inputs.d.ts +7 -3
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +7 -5
- package/dest/parity/parity_public_inputs.d.ts +7 -3
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- 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/block_headers_hash.d.ts +1 -1
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +8 -2
- 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 +3 -10
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +19 -46
- package/dest/tests/mocks.d.ts +7 -1
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +39 -30
- package/dest/timetable/index.d.ts +51 -1
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +218 -14
- package/dest/trees/nullifier_leaf.d.ts +2 -1
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- 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/profiling.js +4 -4
- package/dest/tx/simulated_tx.d.ts +4 -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 +8 -4
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +8 -15
- 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/types/shared.d.ts +1 -10
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +0 -9
- package/dest/vks/verification_key.d.ts +2 -137
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +5 -126
- 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/dest/world-state/world_state_revision.d.ts +8 -1
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +7 -1
- package/package.json +8 -8
- 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/attestation_info.ts +11 -11
- package/src/block/block_data.ts +20 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +35 -2
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +55 -5
- 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/proposal/attestations_and_signers.ts +32 -17
- 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 +44 -4
- package/src/config/chain-config.ts +9 -4
- package/src/config/sequencer-config.ts +20 -6
- package/src/contract/contract_address.ts +2 -2
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/private_function.ts +3 -1
- package/src/epoch-helpers/index.ts +24 -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 +31 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas_fees.ts +17 -4
- package/src/gas/gas_settings.ts +65 -12
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +5 -2
- package/src/ha-signing/index.ts +3 -1
- package/src/ha-signing/local_config.ts +2 -2
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +32 -0
- package/src/interfaces/archiver.ts +22 -2
- package/src/interfaces/aztec-node-admin.ts +8 -8
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +120 -95
- package/src/interfaces/block_response.ts +79 -0
- package/src/interfaces/chain_tips.ts +24 -0
- package/src/interfaces/checkpoint_parameter.ts +22 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +6 -0
- package/src/interfaces/configs.ts +5 -1
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/merkle_tree_operations.ts +3 -2
- package/src/interfaces/prover-client.ts +2 -5
- package/src/interfaces/server.ts +5 -0
- package/src/interfaces/slasher.ts +0 -6
- package/src/interfaces/validator.ts +21 -13
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
- 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/messaging/l1_to_l2_message.ts +12 -9
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/block_proposal.ts +96 -36
- package/src/p2p/checkpoint_attestation.ts +20 -29
- package/src/p2p/checkpoint_proposal.ts +88 -71
- package/src/p2p/consensus_payload.ts +50 -28
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/signature_utils.ts +110 -25
- package/src/p2p/signed_txs.ts +46 -28
- package/src/parity/parity_base_private_inputs.ts +10 -4
- package/src/parity/parity_public_inputs.ts +9 -2
- package/src/proofs/chonk_proof.ts +91 -5
- package/src/rollup/block_headers_hash.ts +11 -2
- 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 +19 -54
- package/src/tests/mocks.ts +63 -39
- package/src/timetable/index.ts +308 -13
- package/src/trees/nullifier_leaf.ts +4 -0
- 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/profiling.ts +4 -4
- package/src/tx/simulated_tx.ts +6 -2
- package/src/tx/tx.ts +2 -2
- package/src/tx/tx_receipt.ts +11 -14
- package/src/tx/validator/error_texts.ts +8 -0
- package/src/types/shared.ts +0 -10
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +15 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +9 -1
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +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/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/abi/mocked_keys.ts +0 -2
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH;;;GAGG;AACH,8BAAsB,eAAgB,YAAW,yBAAyB,EAAE,8BAA8B;IAGxG,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE7E,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7F,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhH,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAC5C,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,yFAAyF;IACzF,SAAS,CAAC,QAAQ,CAAC,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1F,uCAAuC;IACvC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE/G,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtF,kEAAkE;IAClE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9F,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAIlE,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEtE;IAEM,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CA2BlC;IAEY,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5E;IAGD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1D;YAIa,UAAU;YAYV,eAAe;YAiBf,iBAAiB;YAajB,uBAAuB;YAgBvB,iBAAiB;YAejB,iBAAiB;YASjB,oBAAoB;YAiBpB,OAAO;YAOP,cAAc;CAS7B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
|
|
2
1
|
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { GENESIS_BLOCK_HEADER_HASH } from '../block_hash.js';
|
|
3
3
|
import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
|
|
4
4
|
/**
|
|
5
5
|
* Abstract base class for L2 tips stores. Provides common event handling logic
|
|
@@ -11,16 +11,18 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
|
|
|
11
11
|
}
|
|
12
12
|
getL2Tips() {
|
|
13
13
|
return this.runInTransaction(async ()=>{
|
|
14
|
-
const [proposedBlockId, finalizedBlockId, provenBlockId, checkpointedBlockId] = await Promise.all([
|
|
14
|
+
const [proposedBlockId, finalizedBlockId, provenBlockId, checkpointedBlockId, proposedCheckpointBlockId] = await Promise.all([
|
|
15
15
|
this.getBlockId('proposed'),
|
|
16
16
|
this.getBlockId('finalized'),
|
|
17
17
|
this.getBlockId('proven'),
|
|
18
|
-
this.getBlockId('checkpointed')
|
|
18
|
+
this.getBlockId('checkpointed'),
|
|
19
|
+
this.getBlockId('proposedCheckpoint')
|
|
19
20
|
]);
|
|
20
|
-
const [finalizedCheckpointId, provenCheckpointId, checkpointedCheckpointId] = await Promise.all([
|
|
21
|
+
const [finalizedCheckpointId, provenCheckpointId, checkpointedCheckpointId, proposedCheckpointId] = await Promise.all([
|
|
21
22
|
this.getCheckpointId('finalized'),
|
|
22
23
|
this.getCheckpointId('proven'),
|
|
23
|
-
this.getCheckpointId('checkpointed')
|
|
24
|
+
this.getCheckpointId('checkpointed'),
|
|
25
|
+
this.getCheckpointId('proposedCheckpoint')
|
|
24
26
|
]);
|
|
25
27
|
return {
|
|
26
28
|
proposed: proposedBlockId,
|
|
@@ -35,6 +37,10 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
|
|
|
35
37
|
checkpointed: {
|
|
36
38
|
block: checkpointedBlockId,
|
|
37
39
|
checkpoint: checkpointedCheckpointId
|
|
40
|
+
},
|
|
41
|
+
proposedCheckpoint: {
|
|
42
|
+
block: proposedCheckpointBlockId,
|
|
43
|
+
checkpoint: proposedCheckpointId
|
|
38
44
|
}
|
|
39
45
|
};
|
|
40
46
|
});
|
|
@@ -124,6 +130,12 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
|
|
|
124
130
|
await this.runInTransaction(async ()=>{
|
|
125
131
|
await this.saveTag('checkpointed', event.block);
|
|
126
132
|
await this.saveCheckpoint(event.checkpoint);
|
|
133
|
+
// proposedCheckpoint is always >= checkpointed. If checkpointed has caught up
|
|
134
|
+
// or surpassed it, advance proposedCheckpoint to match.
|
|
135
|
+
const proposedCheckpointBlock = await this.getBlockId('proposedCheckpoint');
|
|
136
|
+
if (event.block.number > proposedCheckpointBlock.number) {
|
|
137
|
+
await this.saveTag('proposedCheckpoint', event.block);
|
|
138
|
+
}
|
|
127
139
|
});
|
|
128
140
|
}
|
|
129
141
|
async handleChainPruned(event) {
|
|
@@ -133,6 +145,7 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
|
|
|
133
145
|
await this.runInTransaction(async ()=>{
|
|
134
146
|
await this.saveTag('proposed', event.block);
|
|
135
147
|
await this.saveTag('checkpointed', event.block);
|
|
148
|
+
await this.saveTag('proposedCheckpoint', event.block);
|
|
136
149
|
const storeProven = await this.getBlockId('proven');
|
|
137
150
|
if (storeProven.number > event.block.number) {
|
|
138
151
|
await this.saveTag('proven', event.block);
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ViemCommitteeAttestations } from '@aztec/ethereum/contracts';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import type
|
|
3
|
+
import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from '../../p2p/signature_utils.js';
|
|
4
4
|
import { CommitteeAttestation, EthAddress } from './committee_attestation.js';
|
|
5
5
|
export declare class CommitteeAttestationsAndSigners implements Signable {
|
|
6
6
|
attestations: CommitteeAttestation[];
|
|
7
|
-
|
|
7
|
+
readonly signatureContext: CoordinationSignatureContext;
|
|
8
|
+
readonly primaryType: CoordinationSignatureType;
|
|
9
|
+
constructor(attestations: CommitteeAttestation[], signatureContext: CoordinationSignatureContext);
|
|
8
10
|
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
9
11
|
attestations: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
10
12
|
address: z.ZodType<EthAddress, any, string>;
|
|
@@ -19,21 +21,25 @@ export declare class CommitteeAttestationsAndSigners implements Signable {
|
|
|
19
21
|
address: string;
|
|
20
22
|
signature: string;
|
|
21
23
|
}>, "many">;
|
|
24
|
+
signatureContext: import("@aztec/foundation/schemas").ZodFor<CoordinationSignatureContext>;
|
|
22
25
|
}, "strip", z.ZodTypeAny, {
|
|
23
26
|
attestations: CommitteeAttestation[];
|
|
27
|
+
signatureContext: CoordinationSignatureContext;
|
|
24
28
|
}, {
|
|
25
29
|
attestations: {
|
|
26
30
|
address: string;
|
|
27
31
|
signature: string;
|
|
28
32
|
}[];
|
|
33
|
+
signatureContext?: any;
|
|
29
34
|
}>, CommitteeAttestationsAndSigners, {
|
|
30
35
|
attestations: {
|
|
31
36
|
address: string;
|
|
32
37
|
signature: string;
|
|
33
38
|
}[];
|
|
39
|
+
signatureContext?: any;
|
|
34
40
|
}>;
|
|
35
|
-
getPayloadToSign(
|
|
36
|
-
static empty(): CommitteeAttestationsAndSigners;
|
|
41
|
+
getPayloadToSign(): Buffer;
|
|
42
|
+
static empty(signatureContext: CoordinationSignatureContext): CommitteeAttestationsAndSigners;
|
|
37
43
|
toString(): void;
|
|
38
44
|
getSigners(): EthAddress[];
|
|
39
45
|
getSignedAttestations(): CommitteeAttestation[];
|
|
@@ -43,6 +49,7 @@ export declare class CommitteeAttestationsAndSigners implements Signable {
|
|
|
43
49
|
* @param attestations - Array of committee attestations with addresses and signatures
|
|
44
50
|
* @returns Packed attestations with bitmap and tightly packed signature/address data
|
|
45
51
|
*/
|
|
52
|
+
static packAttestations(attestations: CommitteeAttestation[]): ViemCommitteeAttestations;
|
|
46
53
|
getPackedAttestations(): ViemCommitteeAttestations;
|
|
47
54
|
}
|
|
48
55
|
/**
|
|
@@ -53,7 +60,7 @@ export declare class CommitteeAttestationsAndSigners implements Signable {
|
|
|
53
60
|
*/
|
|
54
61
|
export declare class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners {
|
|
55
62
|
private signers;
|
|
56
|
-
constructor(attestations: CommitteeAttestation[], signers: EthAddress[]);
|
|
63
|
+
constructor(attestations: CommitteeAttestation[], signers: EthAddress[], signatureContext: CoordinationSignatureContext);
|
|
57
64
|
getSigners(): EthAddress[];
|
|
58
65
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svcHJvcG9zYWwvYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJM0UsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQ0wsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxRQUFRLEVBRWQsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUscUJBQWEsK0JBQWdDLFlBQVcsUUFBUTtJQUlyRCxZQUFZLEVBQUUsb0JBQW9CLEVBQUU7YUFDM0IsZ0JBQWdCLEVBQUUsNEJBQTRCO0lBSmhFLFFBQVEsQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQTRCO0lBRTNFLFlBQ1MsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQzNCLGdCQUFnQixFQUFFLDRCQUE0QixFQUM1RDtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FPaEI7SUFFRCxnQkFBZ0IsSUFBSSxNQUFNLENBV3pCO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSw0QkFBNEIsR0FBRywrQkFBK0IsQ0FFNUY7SUFFRCxRQUFRLFNBRVA7SUFFRCxVQUFVLGlCQUVUO0lBRUQscUJBQXFCLDJCQUVwQjtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLHlCQUF5QixDQStEdkY7SUFFRCxxQkFBcUIsSUFBSSx5QkFBeUIsQ0FFakQ7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEsd0NBQXlDLFNBQVEsK0JBQStCO0lBR3pGLE9BQU8sQ0FBQyxPQUFPO0lBRmpCLFlBQ0UsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFDN0IsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBRy9DO0lBRVEsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUVsQztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestations_and_signers.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/attestations_and_signers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"attestations_and_signers.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/attestations_and_signers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,QAAQ,EAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9E,qBAAa,+BAAgC,YAAW,QAAQ;IAIrD,YAAY,EAAE,oBAAoB,EAAE;aAC3B,gBAAgB,EAAE,4BAA4B;IAJhE,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAA4B;IAE3E,YACS,YAAY,EAAE,oBAAoB,EAAE,EAC3B,gBAAgB,EAAE,4BAA4B,EAC5D;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAOhB;IAED,gBAAgB,IAAI,MAAM,CAWzB;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,4BAA4B,GAAG,+BAA+B,CAE5F;IAED,QAAQ,SAEP;IAED,UAAU,iBAET;IAED,qBAAqB,2BAEpB;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,yBAAyB,CA+DvF;IAED,qBAAqB,IAAI,yBAAyB,CAEjD;CACF;AAED;;;;;GAKG;AACH,qBAAa,wCAAyC,SAAQ,+BAA+B;IAGzF,OAAO,CAAC,OAAO;IAFjB,YACE,YAAY,EAAE,oBAAoB,EAAE,EAC5B,OAAO,EAAE,UAAU,EAAE,EAC7B,gBAAgB,EAAE,4BAA4B,EAG/C;IAEQ,UAAU,IAAI,UAAU,EAAE,CAElC;CACF"}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
import { hexToBuffer } from '@aztec/foundation/string';
|
|
2
2
|
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
+
import { coordinationSignatureContextSchema } from '../../p2p/signature_utils.js';
|
|
4
5
|
import { CommitteeAttestation } from './committee_attestation.js';
|
|
5
6
|
export class CommitteeAttestationsAndSigners {
|
|
6
7
|
attestations;
|
|
7
|
-
|
|
8
|
+
signatureContext;
|
|
9
|
+
primaryType;
|
|
10
|
+
constructor(attestations, signatureContext){
|
|
8
11
|
this.attestations = attestations;
|
|
12
|
+
this.signatureContext = signatureContext;
|
|
13
|
+
this.primaryType = 'AttestationsAndSigners';
|
|
9
14
|
}
|
|
10
15
|
static get schema() {
|
|
11
16
|
return z.object({
|
|
12
|
-
attestations: CommitteeAttestation.schema.array()
|
|
13
|
-
|
|
17
|
+
attestations: CommitteeAttestation.schema.array(),
|
|
18
|
+
signatureContext: coordinationSignatureContextSchema
|
|
19
|
+
}).transform((obj)=>new CommitteeAttestationsAndSigners(obj.attestations, obj.signatureContext));
|
|
14
20
|
}
|
|
15
|
-
getPayloadToSign(
|
|
16
|
-
|
|
21
|
+
getPayloadToSign() {
|
|
22
|
+
// Matches the L1 abi.encode(attestations, signers) in AttestationLib.sol#getAttestationsAndSignersDigest.
|
|
23
|
+
const abi = parseAbiParameters('(bytes,bytes),address[]');
|
|
17
24
|
const packed = this.getPackedAttestations();
|
|
18
25
|
const encodedData = encodeAbiParameters(abi, [
|
|
19
|
-
domainSeparator,
|
|
20
26
|
[
|
|
21
27
|
packed.signatureIndices,
|
|
22
28
|
packed.signaturesOrAddresses
|
|
@@ -25,8 +31,8 @@ export class CommitteeAttestationsAndSigners {
|
|
|
25
31
|
]);
|
|
26
32
|
return hexToBuffer(encodedData);
|
|
27
33
|
}
|
|
28
|
-
static empty() {
|
|
29
|
-
return new CommitteeAttestationsAndSigners([]);
|
|
34
|
+
static empty(signatureContext) {
|
|
35
|
+
return new CommitteeAttestationsAndSigners([], signatureContext);
|
|
30
36
|
}
|
|
31
37
|
toString() {
|
|
32
38
|
throw new Error('Not implemented');
|
|
@@ -42,16 +48,16 @@ export class CommitteeAttestationsAndSigners {
|
|
|
42
48
|
*
|
|
43
49
|
* @param attestations - Array of committee attestations with addresses and signatures
|
|
44
50
|
* @returns Packed attestations with bitmap and tightly packed signature/address data
|
|
45
|
-
*/
|
|
46
|
-
const length =
|
|
47
|
-
const
|
|
51
|
+
*/ static packAttestations(attestations) {
|
|
52
|
+
const length = attestations.length;
|
|
53
|
+
const viemAttestations = attestations.map((a)=>a.toViem());
|
|
48
54
|
// Calculate bitmap size (1 bit per attestation, rounded up to nearest byte)
|
|
49
55
|
const bitmapSize = Math.ceil(length / 8);
|
|
50
56
|
const signatureIndices = new Uint8Array(bitmapSize);
|
|
51
57
|
// Calculate total data size needed
|
|
52
58
|
let totalDataSize = 0;
|
|
53
|
-
for(
|
|
54
|
-
const signature =
|
|
59
|
+
for (const attestation of viemAttestations){
|
|
60
|
+
const signature = attestation.signature;
|
|
55
61
|
// Check if signature is empty (v = 0)
|
|
56
62
|
const isEmpty = signature.v === 0;
|
|
57
63
|
if (!isEmpty) {
|
|
@@ -63,8 +69,7 @@ export class CommitteeAttestationsAndSigners {
|
|
|
63
69
|
const signaturesOrAddresses = new Uint8Array(totalDataSize);
|
|
64
70
|
let dataIndex = 0;
|
|
65
71
|
// Pack the data
|
|
66
|
-
for(
|
|
67
|
-
const attestation = attestations[i];
|
|
72
|
+
for (const [i, attestation] of viemAttestations.entries()){
|
|
68
73
|
const signature = attestation.signature;
|
|
69
74
|
// Check if signature is empty
|
|
70
75
|
const isEmpty = signature.v === 0;
|
|
@@ -72,7 +77,7 @@ export class CommitteeAttestationsAndSigners {
|
|
|
72
77
|
// Set bit in bitmap (bit 7-0 in each byte, left to right)
|
|
73
78
|
const byteIndex = Math.floor(i / 8);
|
|
74
79
|
const bitIndex = 7 - i % 8;
|
|
75
|
-
signatureIndices[byteIndex]
|
|
80
|
+
signatureIndices[byteIndex] = (signatureIndices[byteIndex] ?? 0) | 1 << bitIndex;
|
|
76
81
|
// Pack signature: v + r + s
|
|
77
82
|
signaturesOrAddresses[dataIndex] = signature.v;
|
|
78
83
|
dataIndex++;
|
|
@@ -96,6 +101,9 @@ export class CommitteeAttestationsAndSigners {
|
|
|
96
101
|
signaturesOrAddresses: `0x${Buffer.from(signaturesOrAddresses).toString('hex')}`
|
|
97
102
|
};
|
|
98
103
|
}
|
|
104
|
+
getPackedAttestations() {
|
|
105
|
+
return CommitteeAttestationsAndSigners.packAttestations(this.attestations);
|
|
106
|
+
}
|
|
99
107
|
}
|
|
100
108
|
/**
|
|
101
109
|
* Malicious extension of CommitteeAttestationsAndSigners that keeps separate attestations and
|
|
@@ -104,8 +112,8 @@ export class CommitteeAttestationsAndSigners {
|
|
|
104
112
|
* with an invalid set of attestation signatures.
|
|
105
113
|
*/ export class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners {
|
|
106
114
|
signers;
|
|
107
|
-
constructor(attestations, signers){
|
|
108
|
-
super(attestations), this.signers = signers;
|
|
115
|
+
constructor(attestations, signers, signatureContext){
|
|
116
|
+
super(attestations, signatureContext), this.signers = signers;
|
|
109
117
|
}
|
|
110
118
|
getSigners() {
|
|
111
119
|
return this.signers;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { L2TipsStore } from '../l2_block_stream/index.js';
|
|
2
2
|
export declare function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>): void;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV90ZXN0X3N1aXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svdGVzdC9sMl90aXBzX3N0b3JlX3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0Qsd0JBQWdCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBOGdCeEUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QA8gBxE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
|
|
2
1
|
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
3
2
|
import { times } from '@aztec/foundation/collection';
|
|
4
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
4
|
import { GENESIS_CHECKPOINT_HEADER_HASH, L2Block } from '@aztec/stdlib/block';
|
|
6
5
|
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
7
6
|
import { jestExpect as expect } from '@jest/expect';
|
|
7
|
+
import { GENESIS_BLOCK_HEADER_HASH } from '../block_hash.js';
|
|
8
8
|
export function testL2TipsStore(makeTipsStore) {
|
|
9
9
|
let tipsStore;
|
|
10
10
|
// Track blocks and their hashes for test assertions
|
|
@@ -62,11 +62,12 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
62
62
|
block: makeTip(blockNumber),
|
|
63
63
|
checkpoint: makeCheckpointIdForBlock(blockNumber)
|
|
64
64
|
});
|
|
65
|
-
const makeTips = (proposed, proven, finalized, checkpointed = 0)=>({
|
|
65
|
+
const makeTips = (proposed, proven, finalized, checkpointed = 0, proposedCheckpoint = 0)=>({
|
|
66
66
|
proposed: makeTip(proposed),
|
|
67
67
|
proven: makeTipId(proven),
|
|
68
68
|
finalized: makeTipId(finalized),
|
|
69
|
-
checkpointed: makeTipId(checkpointed)
|
|
69
|
+
checkpointed: makeTipId(checkpointed),
|
|
70
|
+
proposedCheckpoint: makeTipId(proposedCheckpoint)
|
|
70
71
|
});
|
|
71
72
|
const makeCheckpoint = async (checkpointNumber, blocks)=>{
|
|
72
73
|
const checkpoint = await Checkpoint.random(CheckpointNumber(checkpointNumber), {
|
|
@@ -152,6 +152,12 @@ export declare class Checkpoint {
|
|
|
152
152
|
* checkpoints up to and including this one in the epoch.
|
|
153
153
|
*/
|
|
154
154
|
getCheckpointOutHash(): Fr;
|
|
155
|
+
/**
|
|
156
|
+
* Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
|
|
157
|
+
* Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
158
|
+
* checkpoints up to and including this one in the epoch.
|
|
159
|
+
*/
|
|
160
|
+
static getCheckpointOutHash(blocks: L2Block[]): Fr;
|
|
155
161
|
getState(): import("../tx/state_reference.js").StateReference;
|
|
156
162
|
toCheckpointInfo(): CheckpointInfo;
|
|
157
163
|
/** Returns stats used for logging */
|
|
@@ -175,4 +181,4 @@ export declare class Checkpoint {
|
|
|
175
181
|
} & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<Checkpoint>;
|
|
176
182
|
}
|
|
177
183
|
export {};
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQix5RkFBeUY7SUFDbEYscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLHlGQUF5RjtJQUNsRixxQkFBcUIsR0FBRSxNQUFXLEVBQ3ZDO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsY0FFckM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsNEZBRTFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksY0FRM0M7SUFFTSxRQUFRLDRCQVNkO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixJQUFJLEVBQUUsQ0FFaEM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBR2pEO0lBRU0sUUFBUSxzREFFZDtJQUVNLGdCQUFnQixJQUFJLGNBQWMsQ0FReEM7SUFFRCxxQ0FBcUM7SUFDOUIsUUFBUTs7Ozs7Ozs7OztNQWtCZDtJQUVELE9BQWEsTUFBTSxDQUNqQixnQkFBZ0IsbUJBQXNCLEVBQ3RDLEVBQ0UsU0FBYSxFQUNiLGdCQUFvQixFQUNwQixlQUFlLEVBQ2YscUJBQTBCLEVBQzFCLEdBQUcsT0FBTyxFQUNYLEdBQUU7UUFDRCxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDMUIsZUFBZSxDQUFDLEVBQUUsc0JBQXNCLENBQUM7UUFDekMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDL0IsT0FBTyxDQUFDLEVBQUUsc0JBQXNCLENBQUM7S0FDbEMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDeEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSx1QkE0QnJEO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,4FAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BASd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAED;;;;OAIG;IACI,oBAAoB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,4FAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BASd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAED;;;;OAIG;IACI,oBAAoB,IAAI,EAAE,CAEhC;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAGjD;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,qBAA0B,EAC1B,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBA4BrD;CACF"}
|
|
@@ -70,7 +70,14 @@ export class Checkpoint {
|
|
|
70
70
|
* Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
71
71
|
* checkpoints up to and including this one in the epoch.
|
|
72
72
|
*/ getCheckpointOutHash() {
|
|
73
|
-
|
|
73
|
+
return Checkpoint.getCheckpointOutHash(this.blocks);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
|
|
77
|
+
* Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
78
|
+
* checkpoints up to and including this one in the epoch.
|
|
79
|
+
*/ static getCheckpointOutHash(blocks) {
|
|
80
|
+
const msgs = blocks.map((block)=>block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
|
|
74
81
|
return computeCheckpointOutHash(msgs);
|
|
75
82
|
}
|
|
76
83
|
getState() {
|
|
@@ -114,6 +121,7 @@ export class Checkpoint {
|
|
|
114
121
|
let lastArchive = previousArchive;
|
|
115
122
|
for(let i = 0; i < numBlocks; i++){
|
|
116
123
|
const block = await L2Block.random(BlockNumber(startBlockNumber + i), {
|
|
124
|
+
checkpointNumber,
|
|
117
125
|
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
118
126
|
...options,
|
|
119
127
|
...lastArchive ? {
|
|
@@ -5,17 +5,85 @@ import { CommitteeAttestation } from '../block/proposal/committee_attestation.js
|
|
|
5
5
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
6
6
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
7
7
|
import { L1PublishedData } from './published_checkpoint.js';
|
|
8
|
-
/**
|
|
9
|
-
export type
|
|
8
|
+
/** Base type for checkpoint data */
|
|
9
|
+
export type CommonCheckpointData = {
|
|
10
10
|
checkpointNumber: CheckpointNumber;
|
|
11
11
|
header: CheckpointHeader;
|
|
12
|
-
archive: AppendOnlyTreeSnapshot;
|
|
13
|
-
checkpointOutHash: Fr;
|
|
14
12
|
startBlock: BlockNumber;
|
|
15
13
|
blockCount: number;
|
|
14
|
+
};
|
|
15
|
+
/** Data stored with checkpoint data after publishing on l1 */
|
|
16
|
+
export type L1EnrichedCheckpointData = {
|
|
16
17
|
attestations: CommitteeAttestation[];
|
|
17
18
|
l1: L1PublishedData;
|
|
18
19
|
};
|
|
20
|
+
/** Data stored alongside checkpoint data in storage */
|
|
21
|
+
export type StorageEnrichedCheckpointData = {
|
|
22
|
+
archive: AppendOnlyTreeSnapshot;
|
|
23
|
+
checkpointOutHash: Fr;
|
|
24
|
+
/** Fee asset price modifier in basis points. Defaults to 0 (no change) when not explicitly set. */
|
|
25
|
+
feeAssetPriceModifier: bigint;
|
|
26
|
+
};
|
|
27
|
+
/** Data stored only with proposed checkpoint data */
|
|
28
|
+
export type ProposedOnlyCheckpointData = {
|
|
29
|
+
totalManaUsed: bigint;
|
|
30
|
+
feeAssetPriceModifier: bigint;
|
|
31
|
+
};
|
|
32
|
+
/** Lightweight checkpoint metadata without full block data. */
|
|
33
|
+
export type CheckpointData = CommonCheckpointData & StorageEnrichedCheckpointData & L1EnrichedCheckpointData;
|
|
34
|
+
/** Input for setting a proposed checkpoint. The archive and checkpointOutHash are computed
|
|
35
|
+
* internally by the block store from the stored blocks. */
|
|
36
|
+
export type ProposedCheckpointInput = CommonCheckpointData & ProposedOnlyCheckpointData;
|
|
37
|
+
/** Full data for a proposed checkpoint (proposed but not yet L1-confirmed).
|
|
38
|
+
* Includes fee-relevant fields used during pipelining to compute the fee header override. */
|
|
39
|
+
export type ProposedCheckpointData = ProposedCheckpointInput & StorageEnrichedCheckpointData;
|
|
40
|
+
export declare const ProposedCheckpointDataSchema: z.ZodObject<{
|
|
41
|
+
checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
42
|
+
header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
|
|
43
|
+
archive: z.ZodEffects<z.ZodObject<{
|
|
44
|
+
root: z.ZodType<Fr, any, string>;
|
|
45
|
+
nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
root: Fr;
|
|
48
|
+
nextAvailableLeafIndex: number;
|
|
49
|
+
}, {
|
|
50
|
+
root: string;
|
|
51
|
+
nextAvailableLeafIndex: string | number | bigint;
|
|
52
|
+
}>, AppendOnlyTreeSnapshot, {
|
|
53
|
+
root: string;
|
|
54
|
+
nextAvailableLeafIndex: string | number | bigint;
|
|
55
|
+
}>;
|
|
56
|
+
checkpointOutHash: z.ZodType<Fr, any, string>;
|
|
57
|
+
startBlock: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
58
|
+
blockCount: z.ZodNumber;
|
|
59
|
+
totalManaUsed: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
60
|
+
feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
61
|
+
}, "strip", z.ZodTypeAny, {
|
|
62
|
+
checkpointNumber: number & {
|
|
63
|
+
_branding: "CheckpointNumber";
|
|
64
|
+
};
|
|
65
|
+
header: CheckpointHeader;
|
|
66
|
+
archive: AppendOnlyTreeSnapshot;
|
|
67
|
+
checkpointOutHash: Fr;
|
|
68
|
+
startBlock: number & {
|
|
69
|
+
_branding: "BlockNumber";
|
|
70
|
+
};
|
|
71
|
+
blockCount: number;
|
|
72
|
+
totalManaUsed: bigint;
|
|
73
|
+
feeAssetPriceModifier: bigint;
|
|
74
|
+
}, {
|
|
75
|
+
checkpointNumber: string | number | bigint;
|
|
76
|
+
header?: any;
|
|
77
|
+
archive: {
|
|
78
|
+
root: string;
|
|
79
|
+
nextAvailableLeafIndex: string | number | bigint;
|
|
80
|
+
};
|
|
81
|
+
checkpointOutHash: string;
|
|
82
|
+
startBlock: string | number | bigint;
|
|
83
|
+
blockCount: number;
|
|
84
|
+
totalManaUsed: string | number | bigint;
|
|
85
|
+
feeAssetPriceModifier: string | number | bigint;
|
|
86
|
+
}>;
|
|
19
87
|
export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
|
|
20
88
|
checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
21
89
|
header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
|
|
@@ -35,6 +103,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
|
|
|
35
103
|
checkpointOutHash: z.ZodType<Fr, any, string>;
|
|
36
104
|
startBlock: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
|
|
37
105
|
blockCount: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
106
|
+
feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
38
107
|
attestations: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
39
108
|
address: z.ZodType<import("@aztec/foundation/eth-address").EthAddress, any, string>;
|
|
40
109
|
signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, import("../block/proposal/committee_attestation.js").Signature, string>;
|
|
@@ -76,6 +145,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
|
|
|
76
145
|
_branding: "BlockNumber";
|
|
77
146
|
};
|
|
78
147
|
blockCount: number;
|
|
148
|
+
feeAssetPriceModifier: bigint;
|
|
79
149
|
attestations: CommitteeAttestation[];
|
|
80
150
|
l1: L1PublishedData;
|
|
81
151
|
}, {
|
|
@@ -88,6 +158,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
|
|
|
88
158
|
checkpointOutHash: string;
|
|
89
159
|
startBlock: string | number | bigint;
|
|
90
160
|
blockCount: string | number | bigint;
|
|
161
|
+
feeAssetPriceModifier: string | number | bigint;
|
|
91
162
|
attestations: {
|
|
92
163
|
address: string;
|
|
93
164
|
signature: string;
|
|
@@ -107,6 +178,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
|
|
|
107
178
|
checkpointOutHash: string;
|
|
108
179
|
startBlock: string | number | bigint;
|
|
109
180
|
blockCount: string | number | bigint;
|
|
181
|
+
feeAssetPriceModifier: string | number | bigint;
|
|
110
182
|
attestations: {
|
|
111
183
|
address: string;
|
|
112
184
|
signature: string;
|
|
@@ -117,4 +189,4 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
|
|
|
117
189
|
blockHash: string;
|
|
118
190
|
};
|
|
119
191
|
}>;
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxnQkFBZ0IsRUFFakIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsb0NBQW9DO0FBQ3BDLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7SUFDekIsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUM7QUFFRiw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLHdCQUF3QixHQUFHO0lBQ3JDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLEVBQUUsRUFBRSxlQUFlLENBQUM7Q0FDckIsQ0FBQztBQUVGLHVEQUF1RDtBQUN2RCxNQUFNLE1BQU0sNkJBQTZCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO0lBQ2hDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztJQUN0QixtR0FBbUc7SUFDbkcscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0NBQy9CLENBQUM7QUFFRixzREFBc0Q7QUFDdEQsTUFBTSxNQUFNLDBCQUEwQixHQUFHO0lBQ3ZDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0NBQy9CLENBQUM7QUFFRiwrREFBK0Q7QUFDL0QsTUFBTSxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyw2QkFBNkIsR0FBRyx3QkFBd0IsQ0FBQztBQUU3Rzs0REFDNEQ7QUFDNUQsTUFBTSxNQUFNLHVCQUF1QixHQUFHLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDO0FBRXhGOzhGQUM4RjtBQUM5RixNQUFNLE1BQU0sc0JBQXNCLEdBQUcsdUJBQXVCLEdBQUcsNkJBQTZCLENBQUM7QUFFN0YsZUFBTyxNQUFNLDRCQUE0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVN2QyxDQUFDO0FBRUgsZUFBTyxNQUFNLG9CQUFvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3QjlCLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_data.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_data.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"checkpoint_data.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_data.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,oCAAoC;AACpC,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,eAAe,CAAC;CACrB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,sBAAsB,CAAC;IAChC,iBAAiB,EAAE,EAAE,CAAC;IACtB,mGAAmG;IACnG,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,6BAA6B,GAAG,wBAAwB,CAAC;AAE7G;4DAC4D;AAC5D,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,0BAA0B,CAAC;AAExF;8FAC8F;AAC9F,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,6BAA6B,CAAC;AAE7F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB9B,CAAC"}
|
|
@@ -5,6 +5,16 @@ import { CommitteeAttestation } from '../block/proposal/committee_attestation.js
|
|
|
5
5
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
6
6
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
7
7
|
import { L1PublishedData } from './published_checkpoint.js';
|
|
8
|
+
export const ProposedCheckpointDataSchema = z.object({
|
|
9
|
+
checkpointNumber: CheckpointNumberSchema,
|
|
10
|
+
header: CheckpointHeader.schema,
|
|
11
|
+
archive: AppendOnlyTreeSnapshot.schema,
|
|
12
|
+
checkpointOutHash: schemas.Fr,
|
|
13
|
+
startBlock: BlockNumberSchema,
|
|
14
|
+
blockCount: z.number(),
|
|
15
|
+
totalManaUsed: schemas.BigInt,
|
|
16
|
+
feeAssetPriceModifier: schemas.BigInt
|
|
17
|
+
});
|
|
8
18
|
export const CheckpointDataSchema = z.object({
|
|
9
19
|
checkpointNumber: CheckpointNumberSchema,
|
|
10
20
|
header: CheckpointHeader.schema,
|
|
@@ -12,6 +22,7 @@ export const CheckpointDataSchema = z.object({
|
|
|
12
22
|
checkpointOutHash: schemas.Fr,
|
|
13
23
|
startBlock: BlockNumberSchema,
|
|
14
24
|
blockCount: schemas.Integer,
|
|
25
|
+
feeAssetPriceModifier: schemas.BigInt,
|
|
15
26
|
attestations: z.array(CommitteeAttestation.schema),
|
|
16
27
|
l1: L1PublishedData.schema
|
|
17
28
|
}).transform((obj)=>({
|
|
@@ -21,6 +32,7 @@ export const CheckpointDataSchema = z.object({
|
|
|
21
32
|
checkpointOutHash: obj.checkpointOutHash,
|
|
22
33
|
startBlock: obj.startBlock,
|
|
23
34
|
blockCount: obj.blockCount,
|
|
35
|
+
feeAssetPriceModifier: obj.feeAssetPriceModifier,
|
|
24
36
|
attestations: obj.attestations,
|
|
25
37
|
l1: obj.l1
|
|
26
38
|
}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
export { type SequencerConfig, SequencerConfigSchema } from '../interfaces/configs.js';
|
|
4
4
|
export { type AllowedElement } from '../interfaces/allowed_element.js';
|
|
@@ -16,4 +16,4 @@ export type ChainConfig = {
|
|
|
16
16
|
rollupAddress: EthAddress;
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4tY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsZUFBTyxNQUFNLGdCQUFnQixFQUFFLFdBSTlCLENBQUM7QUFFRixlQUFPLE1BQU0sbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQXFCL0QsQ0FBQztBQUVGLDJCQUEyQjtBQUMzQixNQUFNLE1BQU0sV0FBVyxHQUFHO0lBQ3hCLHlDQUF5QztJQUN6QyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlDQUFpQztJQUNqQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHVDQUF1QztJQUN2QyxXQUFXLEVBQUU7UUFDWCw0QkFBNEI7UUFDNUIsYUFBYSxFQUFFLFVBQVUsQ0FBQztLQUMzQixDQUFDO0NBQ0gsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-config.d.ts","sourceRoot":"","sources":["../../src/config/chain-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"chain-config.d.ts","sourceRoot":"","sources":["../../src/config/chain-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,EAAE,WAI9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAqB/D,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,WAAW,EAAE;QACX,4BAA4B;QAC5B,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
|
|
2
|
+
import { numberConfigHelper } from '@aztec/foundation/config';
|
|
2
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
4
|
export { SequencerConfigSchema } from '../interfaces/configs.js';
|
|
4
5
|
export const emptyChainConfig = {
|
|
@@ -11,14 +12,19 @@ export const emptyChainConfig = {
|
|
|
11
12
|
export const chainConfigMappings = {
|
|
12
13
|
l1ChainId: {
|
|
13
14
|
env: 'L1_CHAIN_ID',
|
|
14
|
-
|
|
15
|
-
defaultValue: 31337,
|
|
15
|
+
...numberConfigHelper(31337),
|
|
16
16
|
description: 'The chain ID of the ethereum host.'
|
|
17
17
|
},
|
|
18
18
|
rollupVersion: {
|
|
19
19
|
env: 'ROLLUP_VERSION',
|
|
20
20
|
description: 'The version of the rollup.',
|
|
21
|
-
parseEnv: (val)=>
|
|
21
|
+
parseEnv: (val)=>{
|
|
22
|
+
const parsed = parseInt(val, 10);
|
|
23
|
+
if (!Number.isSafeInteger(parsed)) {
|
|
24
|
+
throw new Error(`Invalid rollup version: ${val}`);
|
|
25
|
+
}
|
|
26
|
+
return parsed;
|
|
27
|
+
}
|
|
22
28
|
},
|
|
23
29
|
l1Contracts: {
|
|
24
30
|
description: 'The deployed L1 contract addresses',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
2
2
|
import type { SequencerConfig } from '../interfaces/configs.js';
|
|
3
3
|
/** Default maximum number of transactions per block. */
|
|
4
4
|
export declare const DEFAULT_MAX_TXS_PER_BLOCK = 32;
|
|
@@ -8,5 +8,5 @@ export declare const DEFAULT_MAX_TXS_PER_BLOCK = 32;
|
|
|
8
8
|
* (like blockDurationMs needed by both p2p and sequencer-client) are defined here
|
|
9
9
|
* to avoid duplication.
|
|
10
10
|
*/
|
|
11
|
-
export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'>>;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock' | 'attestationPropagationTime'>>;
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUl4QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2hFLHdEQUF3RDtBQUN4RCxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FDNUQsSUFBSSxDQUNGLGVBQWUsRUFDZixpQkFBaUIsR0FBRywrQkFBK0IsR0FBRyxnQkFBZ0IsR0FBRyw0QkFBNEIsQ0FDdEcsQ0EyQkYsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CACF,eAAe,EACf,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,GAAG,4BAA4B,CACtG,CA2BF,CAAC"}
|