@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,26 +1,123 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
2
|
import { keccak256 } from '@aztec/foundation/crypto/keccak';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return
|
|
3
|
+
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
4
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
+
import { serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { hashTypedData } from 'viem';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
export const EMPTY_COORDINATION_SIGNATURE_CONTEXT = {
|
|
9
|
+
chainId: 0,
|
|
10
|
+
rollupAddress: EthAddress.ZERO
|
|
11
|
+
};
|
|
12
|
+
export const coordinationSignatureContextSchema = z.object({
|
|
13
|
+
chainId: z.number(),
|
|
14
|
+
rollupAddress: EthAddress.schema
|
|
15
|
+
});
|
|
16
|
+
export function coordinationSignatureContextEquals(a, b) {
|
|
17
|
+
return a.chainId === b.chainId && a.rollupAddress.equals(b.rollupAddress);
|
|
18
|
+
}
|
|
19
|
+
export function serializeCoordinationSignatureContext(ctx) {
|
|
20
|
+
return serializeToBuffer([
|
|
21
|
+
ctx.chainId,
|
|
22
|
+
ctx.rollupAddress
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
export function readCoordinationSignatureContext(reader) {
|
|
26
|
+
const chainId = reader.readNumber();
|
|
27
|
+
const rollupAddress = reader.readObject(EthAddress);
|
|
28
|
+
return {
|
|
29
|
+
chainId,
|
|
30
|
+
rollupAddress
|
|
31
|
+
};
|
|
18
32
|
}
|
|
19
33
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*/ export function
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
* Returns true if the signable carries a context matching the node's expected context.
|
|
35
|
+
* Use this at the P2P ingress boundary to reject foreign-chain messages cheaply before
|
|
36
|
+
* performing any signature recovery.
|
|
37
|
+
*/ export function hasValidSignatureContext(signable, expected) {
|
|
38
|
+
return coordinationSignatureContextEquals(signable.signatureContext, expected);
|
|
39
|
+
}
|
|
40
|
+
const COORDINATION_SIGNATURE_NAME = 'Aztec Rollup';
|
|
41
|
+
const COORDINATION_SIGNATURE_VERSION = '1';
|
|
42
|
+
const EIP712_DOMAIN_FIELDS = [
|
|
43
|
+
{
|
|
44
|
+
name: 'name',
|
|
45
|
+
type: 'string'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'version',
|
|
49
|
+
type: 'string'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'chainId',
|
|
53
|
+
type: 'uint256'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'verifyingContract',
|
|
57
|
+
type: 'address'
|
|
58
|
+
}
|
|
59
|
+
];
|
|
60
|
+
const COORDINATION_SIGNATURE_TYPES = {
|
|
61
|
+
EIP712Domain: EIP712_DOMAIN_FIELDS,
|
|
62
|
+
BlockProposal: [
|
|
63
|
+
{
|
|
64
|
+
name: 'payloadHash',
|
|
65
|
+
type: 'bytes32'
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
CheckpointProposal: [
|
|
69
|
+
{
|
|
70
|
+
name: 'payloadHash',
|
|
71
|
+
type: 'bytes32'
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
CheckpointAttestation: [
|
|
75
|
+
{
|
|
76
|
+
name: 'payloadHash',
|
|
77
|
+
type: 'bytes32'
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
AttestationsAndSigners: [
|
|
81
|
+
{
|
|
82
|
+
name: 'payloadHash',
|
|
83
|
+
type: 'bytes32'
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
SignedTxs: [
|
|
87
|
+
{
|
|
88
|
+
name: 'payloadHash',
|
|
89
|
+
type: 'bytes32'
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
};
|
|
93
|
+
export function getCoordinationSignatureTypedDataForPayloadHash(payloadHash, type, context) {
|
|
94
|
+
return {
|
|
95
|
+
domain: {
|
|
96
|
+
name: COORDINATION_SIGNATURE_NAME,
|
|
97
|
+
version: COORDINATION_SIGNATURE_VERSION,
|
|
98
|
+
chainId: context.chainId,
|
|
99
|
+
verifyingContract: context.rollupAddress.toString()
|
|
100
|
+
},
|
|
101
|
+
types: COORDINATION_SIGNATURE_TYPES,
|
|
102
|
+
primaryType: type,
|
|
103
|
+
message: {
|
|
104
|
+
payloadHash: payloadHash.toString()
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export function getCoordinationSignatureTypedData(signable) {
|
|
109
|
+
const payloadHash = getHashedSignaturePayload(signable);
|
|
110
|
+
return getCoordinationSignatureTypedDataForPayloadHash(payloadHash, signable.primaryType, signable.signatureContext);
|
|
111
|
+
}
|
|
112
|
+
export function getHashedSignaturePayloadTypedData(signable) {
|
|
113
|
+
return Buffer32.fromString(hashTypedData(getCoordinationSignatureTypedData(signable)));
|
|
114
|
+
}
|
|
115
|
+
export function recoverCoordinationSigner(signable, signature) {
|
|
116
|
+
const digest = getHashedSignaturePayloadTypedData(signable);
|
|
117
|
+
return tryRecoverAddress(digest, signature, {
|
|
118
|
+
allowYParityAsV: true
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
export function getHashedSignaturePayload(s) {
|
|
122
|
+
return Buffer32.fromBuffer(keccak256(s.getPayloadToSign()));
|
|
26
123
|
}
|
package/dest/p2p/signed_txs.d.ts
CHANGED
|
@@ -1,42 +1,44 @@
|
|
|
1
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
2
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
|
+
import type { TypedDataDefinition } from 'viem';
|
|
5
5
|
import { Tx } from '../tx/tx.js';
|
|
6
|
-
import {
|
|
6
|
+
import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
|
|
7
7
|
/**
|
|
8
8
|
* A signed collection of transactions.
|
|
9
9
|
* The signature is over the transaction objects themselves, providing
|
|
10
10
|
* data availability guarantees beyond just the transaction hashes.
|
|
11
11
|
*/
|
|
12
|
-
export declare class SignedTxs {
|
|
12
|
+
export declare class SignedTxs implements Signable {
|
|
13
13
|
/** The transactions */
|
|
14
14
|
readonly txs: Tx[];
|
|
15
15
|
/** The proposer's signature over the transactions */
|
|
16
16
|
readonly signature: Signature;
|
|
17
|
-
|
|
17
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
18
|
+
readonly signatureContext: CoordinationSignatureContext;
|
|
19
|
+
readonly primaryType: CoordinationSignatureType;
|
|
20
|
+
private cachedSender;
|
|
18
21
|
constructor(
|
|
19
22
|
/** The transactions */
|
|
20
23
|
txs: Tx[],
|
|
21
24
|
/** The proposer's signature over the transactions */
|
|
22
|
-
signature: Signature
|
|
25
|
+
signature: Signature,
|
|
26
|
+
/** The signing domain (chainId + rollupAddress) the signature is bound to */
|
|
27
|
+
signatureContext: CoordinationSignatureContext);
|
|
28
|
+
getPayloadToSign(): Buffer;
|
|
23
29
|
/**
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
27
|
-
/**
|
|
28
|
-
* Lazily evaluate the sender of the signed txs; result is cached
|
|
30
|
+
* Lazily evaluate the sender of the signed txs; result is cached.
|
|
29
31
|
* @returns The sender address, or undefined if signature recovery fails
|
|
30
32
|
*/
|
|
31
33
|
getSender(): EthAddress | undefined;
|
|
32
34
|
/**
|
|
33
|
-
* Create SignedTxs from a signer function
|
|
35
|
+
* Create SignedTxs from a typed-data signer function
|
|
34
36
|
*/
|
|
35
|
-
static createFromSigner(txs: Tx[],
|
|
37
|
+
static createFromSigner(txs: Tx[], signatureContext: CoordinationSignatureContext, typedDataSigner: (typedData: TypedDataDefinition) => Promise<Signature>): Promise<SignedTxs>;
|
|
36
38
|
toBuffer(): Buffer;
|
|
37
39
|
static fromBuffer(buf: Buffer | BufferReader): SignedTxs;
|
|
38
40
|
getSize(): number;
|
|
39
41
|
static empty(): SignedTxs;
|
|
40
42
|
static random(): SignedTxs;
|
|
41
43
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVkX3R4cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9zaWduZWRfdHhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUNMLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUsseUJBQXlCLEVBRTlCLEtBQUssUUFBUSxFQUtkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUI7Ozs7R0FJRztBQUNILHFCQUFhLFNBQVUsWUFBVyxRQUFRO0lBTXRDLHVCQUF1QjthQUNQLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDekIscURBQXFEO2FBQ3JDLFNBQVMsRUFBRSxTQUFTO0lBQ3BDLDZFQUE2RTthQUM3RCxnQkFBZ0IsRUFBRSw0QkFBNEI7SUFWaEUsUUFBUSxDQUFDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBZTtJQUU5RCxPQUFPLENBQUMsWUFBWSxDQUE0QztJQUVoRTtJQUNFLHVCQUF1QjtJQUNQLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDekIscURBQXFEO0lBQ3JDLFNBQVMsRUFBRSxTQUFTO0lBQ3BDLDZFQUE2RTtJQUM3RCxnQkFBZ0IsRUFBRSw0QkFBNEIsRUFDNUQ7SUFFSixnQkFBZ0IsSUFBSSxNQUFNLENBRXpCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBS2xDO0lBRUQ7O09BRUc7SUFDSCxPQUFhLGdCQUFnQixDQUMzQixHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQ1QsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQzlDLGVBQWUsRUFBRSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQ3RFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FLcEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQU9qQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsU0FBUyxDQVV2RDtJQUVELE9BQU8sSUFBSSxNQUFNLENBUWhCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxTQUFTLENBRXhCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBRXpCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signed_txs.d.ts","sourceRoot":"","sources":["../../src/p2p/signed_txs.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"signed_txs.d.ts","sourceRoot":"","sources":["../../src/p2p/signed_txs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAGhD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAKd,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,qBAAa,SAAU,YAAW,QAAQ;IAMtC,uBAAuB;aACP,GAAG,EAAE,EAAE,EAAE;IACzB,qDAAqD;aACrC,SAAS,EAAE,SAAS;IACpC,6EAA6E;aAC7D,gBAAgB,EAAE,4BAA4B;IAVhE,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAe;IAE9D,OAAO,CAAC,YAAY,CAA4C;IAEhE;IACE,uBAAuB;IACP,GAAG,EAAE,EAAE,EAAE;IACzB,qDAAqD;IACrC,SAAS,EAAE,SAAS;IACpC,6EAA6E;IAC7D,gBAAgB,EAAE,4BAA4B,EAC5D;IAEJ,gBAAgB,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAKlC;IAED;;OAEG;IACH,OAAa,gBAAgB,CAC3B,GAAG,EAAE,EAAE,EAAE,EACT,gBAAgB,EAAE,4BAA4B,EAC9C,eAAe,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,OAAO,CAAC,SAAS,CAAC,GACtE,OAAO,CAAC,SAAS,CAAC,CAKpB;IAED,QAAQ,IAAI,MAAM,CAOjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAUvD;IAED,OAAO,IAAI,MAAM,CAQhB;IAED,MAAM,CAAC,KAAK,IAAI,SAAS,CAExB;IAED,MAAM,CAAC,MAAM,IAAI,SAAS,CAEzB;CACF"}
|
package/dest/p2p/signed_txs.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
2
1
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
3
2
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
3
|
import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
|
|
5
4
|
import { Tx } from '../tx/tx.js';
|
|
6
|
-
import {
|
|
5
|
+
import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, getCoordinationSignatureTypedData, readCoordinationSignatureContext, recoverCoordinationSigner, serializeCoordinationSignatureContext } from './signature_utils.js';
|
|
7
6
|
/**
|
|
8
7
|
* A signed collection of transactions.
|
|
9
8
|
* The signature is over the transaction objects themselves, providing
|
|
@@ -11,43 +10,45 @@ import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignature
|
|
|
11
10
|
*/ export class SignedTxs {
|
|
12
11
|
txs;
|
|
13
12
|
signature;
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
signatureContext;
|
|
14
|
+
primaryType;
|
|
15
|
+
cachedSender;
|
|
16
|
+
constructor(/** The transactions */ txs, /** The proposer's signature over the transactions */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext){
|
|
16
17
|
this.txs = txs;
|
|
17
18
|
this.signature = signature;
|
|
19
|
+
this.signatureContext = signatureContext;
|
|
20
|
+
this.primaryType = 'SignedTxs';
|
|
21
|
+
this.cachedSender = undefined;
|
|
18
22
|
}
|
|
19
|
-
|
|
20
|
-
* Get the payload to sign for this signed txs.
|
|
21
|
-
*/ getPayloadToSign(domainSeparator) {
|
|
23
|
+
getPayloadToSign() {
|
|
22
24
|
return serializeToBuffer([
|
|
23
|
-
domainSeparator,
|
|
24
25
|
this.txs.length,
|
|
25
26
|
this.txs
|
|
26
27
|
]);
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
|
-
* Lazily evaluate the sender of the signed txs; result is cached
|
|
30
|
+
* Lazily evaluate the sender of the signed txs; result is cached.
|
|
30
31
|
* @returns The sender address, or undefined if signature recovery fails
|
|
31
32
|
*/ getSender() {
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
this.sender = tryRecoverAddress(hashed, this.signature);
|
|
33
|
+
if (this.cachedSender === undefined) {
|
|
34
|
+
this.cachedSender = recoverCoordinationSigner(this, this.signature) ?? null;
|
|
35
35
|
}
|
|
36
|
-
return this.
|
|
36
|
+
return this.cachedSender ?? undefined;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Create SignedTxs from a signer function
|
|
40
|
-
*/ static async createFromSigner(txs,
|
|
41
|
-
const tempSignedTxs = new SignedTxs(txs, Signature.empty());
|
|
42
|
-
const
|
|
43
|
-
const signature = await
|
|
44
|
-
return new SignedTxs(txs, signature);
|
|
39
|
+
* Create SignedTxs from a typed-data signer function
|
|
40
|
+
*/ static async createFromSigner(txs, signatureContext, typedDataSigner) {
|
|
41
|
+
const tempSignedTxs = new SignedTxs(txs, Signature.empty(), signatureContext);
|
|
42
|
+
const typedData = getCoordinationSignatureTypedData(tempSignedTxs);
|
|
43
|
+
const signature = await typedDataSigner(typedData);
|
|
44
|
+
return new SignedTxs(txs, signature, signatureContext);
|
|
45
45
|
}
|
|
46
46
|
toBuffer() {
|
|
47
47
|
return serializeToBuffer([
|
|
48
48
|
this.txs.length,
|
|
49
49
|
this.txs,
|
|
50
|
-
this.signature
|
|
50
|
+
this.signature,
|
|
51
|
+
serializeCoordinationSignatureContext(this.signatureContext)
|
|
51
52
|
]);
|
|
52
53
|
}
|
|
53
54
|
static fromBuffer(buf) {
|
|
@@ -58,18 +59,19 @@ import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignature
|
|
|
58
59
|
}
|
|
59
60
|
const txs = reader.readArray(txCount, Tx);
|
|
60
61
|
const signature = reader.readObject(Signature);
|
|
61
|
-
|
|
62
|
+
const signatureContext = readCoordinationSignatureContext(reader);
|
|
63
|
+
return new SignedTxs(txs, signature, signatureContext);
|
|
62
64
|
}
|
|
63
65
|
getSize() {
|
|
64
|
-
return 4 /* txs.length */ + this.txs.reduce((acc, tx)=>acc + tx.getSize(), 0) + this.signature.getSize();
|
|
66
|
+
return 4 /* txs.length */ + this.txs.reduce((acc, tx)=>acc + tx.getSize(), 0) + this.signature.getSize() + 4 /* chainId */ + 20 /* rollupAddress */ ;
|
|
65
67
|
}
|
|
66
68
|
static empty() {
|
|
67
|
-
return new SignedTxs([], Signature.empty());
|
|
69
|
+
return new SignedTxs([], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
68
70
|
}
|
|
69
71
|
static random() {
|
|
70
72
|
return new SignedTxs([
|
|
71
73
|
Tx.random(),
|
|
72
74
|
Tx.random()
|
|
73
|
-
], Signature.random());
|
|
75
|
+
], Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
@@ -6,12 +6,16 @@ export declare class ParityBasePrivateInputs {
|
|
|
6
6
|
readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>;
|
|
7
7
|
/** Root of the VK tree */
|
|
8
8
|
readonly vkTreeRoot: Fr;
|
|
9
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
10
|
+
readonly proverId: Fr;
|
|
9
11
|
constructor(
|
|
10
12
|
/** Aggregated proof of all the parity circuit iterations. */
|
|
11
13
|
msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
|
|
12
14
|
/** Root of the VK tree */
|
|
13
|
-
vkTreeRoot: Fr
|
|
14
|
-
|
|
15
|
+
vkTreeRoot: Fr,
|
|
16
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
17
|
+
proverId: Fr);
|
|
18
|
+
static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr, proverId: Fr): ParityBasePrivateInputs;
|
|
15
19
|
/** Serializes the inputs to a buffer. */
|
|
16
20
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
17
21
|
/** Serializes the inputs to a hex string. */
|
|
@@ -32,4 +36,4 @@ export declare class ParityBasePrivateInputs {
|
|
|
32
36
|
/** Creates an instance from a hex string. */
|
|
33
37
|
static get schema(): import("zod").ZodType<ParityBasePrivateInputs, any, string>;
|
|
34
38
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyaXR5X2Jhc2VfcHJpdmF0ZV9pbnB1dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJpdHkvcGFyaXR5X2Jhc2VfcHJpdmF0ZV9pbnB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1Qyx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssS0FBSyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRzFGLHFCQUFhLHVCQUF1QjtJQUVoQyw2REFBNkQ7YUFDN0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyx3QkFBd0IsQ0FBQztJQUNoRSwwQkFBMEI7YUFDVixVQUFVLEVBQUUsRUFBRTtJQUM5Qix5RUFBeUU7YUFDekQsUUFBUSxFQUFFLEVBQUU7SUFOOUI7SUFDRSw2REFBNkQ7SUFDN0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyx3QkFBd0IsQ0FBQztJQUNoRSwwQkFBMEI7SUFDVixVQUFVLEVBQUUsRUFBRTtJQUM5Qix5RUFBeUU7SUFDekQsUUFBUSxFQUFFLEVBQUUsRUFDMUI7SUFFSixPQUFjLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsdUJBQXVCLENBV3pHO0lBRUQseUNBQXlDO0lBQ3pDLFFBQVEsNEJBRVA7SUFFRCw2Q0FBNkM7SUFDN0MsUUFBUSxrQkFFUDtJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLDJCQU85QztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLDJCQUU1QjtJQUVELDhEQUE4RDtJQUM5RCxNQUFNLDRCQUVMO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU0sS0FBSyxNQUFNLGdFQUVoQjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parity_base_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_base_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,qBAAa,uBAAuB;IAEhC,6DAA6D;aAC7C,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAChE,0BAA0B;aACV,UAAU,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"parity_base_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_base_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,qBAAa,uBAAuB;IAEhC,6DAA6D;aAC7C,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAChE,0BAA0B;aACV,UAAU,EAAE,EAAE;IAC9B,yEAAyE;aACzD,QAAQ,EAAE,EAAE;IAN9B;IACE,6DAA6D;IAC7C,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAChE,0BAA0B;IACV,UAAU,EAAE,EAAE;IAC9B,yEAAyE;IACzD,QAAQ,EAAE,EAAE,EAC1B;IAEJ,OAAc,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,uBAAuB,CAWzG;IAED,yCAAyC;IACzC,QAAQ,4BAEP;IAED,6CAA6C;IAC7C,QAAQ,kBAEP;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,2BAO9C;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,2BAE5B;IAED,8DAA8D;IAC9D,MAAM,4BAEL;IAED,6CAA6C;IAC7C,MAAM,KAAK,MAAM,gEAEhB;CACF"}
|
|
@@ -6,11 +6,13 @@ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
|
6
6
|
export class ParityBasePrivateInputs {
|
|
7
7
|
msgs;
|
|
8
8
|
vkTreeRoot;
|
|
9
|
-
|
|
9
|
+
proverId;
|
|
10
|
+
constructor(/** Aggregated proof of all the parity circuit iterations. */ msgs, /** Root of the VK tree */ vkTreeRoot, /** Prover identity committed to by the circuit, for sybil protection. */ proverId){
|
|
10
11
|
this.msgs = msgs;
|
|
11
12
|
this.vkTreeRoot = vkTreeRoot;
|
|
13
|
+
this.proverId = proverId;
|
|
12
14
|
}
|
|
13
|
-
static fromSlice(array, index, vkTreeRoot) {
|
|
15
|
+
static fromSlice(array, index, vkTreeRoot, proverId) {
|
|
14
16
|
// Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
|
|
15
17
|
if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
|
|
16
18
|
throw new Error(`Msgs array length must be NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP=${NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP}`);
|
|
@@ -18,10 +20,10 @@ export class ParityBasePrivateInputs {
|
|
|
18
20
|
const start = index * NUM_MSGS_PER_BASE_PARITY;
|
|
19
21
|
const end = start + NUM_MSGS_PER_BASE_PARITY;
|
|
20
22
|
const msgs = array.slice(start, end);
|
|
21
|
-
return new ParityBasePrivateInputs(msgs, vkTreeRoot);
|
|
23
|
+
return new ParityBasePrivateInputs(msgs, vkTreeRoot, proverId);
|
|
22
24
|
}
|
|
23
25
|
/** Serializes the inputs to a buffer. */ toBuffer() {
|
|
24
|
-
return serializeToBuffer(this.msgs, this.vkTreeRoot);
|
|
26
|
+
return serializeToBuffer(this.msgs, this.vkTreeRoot, this.proverId);
|
|
25
27
|
}
|
|
26
28
|
/** Serializes the inputs to a hex string. */ toString() {
|
|
27
29
|
return bufferToHex(this.toBuffer());
|
|
@@ -31,7 +33,7 @@ export class ParityBasePrivateInputs {
|
|
|
31
33
|
* @param buffer - The buffer to deserialize from.
|
|
32
34
|
*/ static fromBuffer(buffer) {
|
|
33
35
|
const reader = BufferReader.asReader(buffer);
|
|
34
|
-
return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
|
|
36
|
+
return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Deserializes the inputs from a hex string.
|
|
@@ -8,13 +8,17 @@ export declare class ParityPublicInputs {
|
|
|
8
8
|
convertedRoot: Fr;
|
|
9
9
|
/** Root of the VK tree */
|
|
10
10
|
vkTreeRoot: Fr;
|
|
11
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
12
|
+
proverId: Fr;
|
|
11
13
|
constructor(
|
|
12
14
|
/** Root of the SHA256 tree. */
|
|
13
15
|
shaRoot: Fr,
|
|
14
16
|
/** Root of the converted tree. */
|
|
15
17
|
convertedRoot: Fr,
|
|
16
18
|
/** Root of the VK tree */
|
|
17
|
-
vkTreeRoot: Fr
|
|
19
|
+
vkTreeRoot: Fr,
|
|
20
|
+
/** Prover identity committed to by the circuit, for sybil protection. */
|
|
21
|
+
proverId: Fr);
|
|
18
22
|
/**
|
|
19
23
|
* Serializes the inputs to a buffer.
|
|
20
24
|
* @returns The inputs serialized to a buffer.
|
|
@@ -38,7 +42,7 @@ export declare class ParityPublicInputs {
|
|
|
38
42
|
* @param fields - The instance to get the fields from.
|
|
39
43
|
* @returns The instance fields.
|
|
40
44
|
*/
|
|
41
|
-
static getFields(fields: FieldsOf<ParityPublicInputs>): readonly [Fr, Fr, Fr];
|
|
45
|
+
static getFields(fields: FieldsOf<ParityPublicInputs>): readonly [Fr, Fr, Fr, Fr];
|
|
42
46
|
/**
|
|
43
47
|
* Deserializes the inputs from a buffer.
|
|
44
48
|
* @param buffer - The buffer to deserialize from.
|
|
@@ -53,4 +57,4 @@ export declare class ParityPublicInputs {
|
|
|
53
57
|
static fromString(str: string): ParityPublicInputs;
|
|
54
58
|
static get schema(): import("zod").ZodType<ParityPublicInputs, any, string>;
|
|
55
59
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyaXR5X3B1YmxpY19pbnB1dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJpdHkvcGFyaXR5X3B1YmxpY19pbnB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQscUJBQWEsa0JBQWtCO0lBRTNCLCtCQUErQjtJQUN4QixPQUFPLEVBQUUsRUFBRTtJQUNsQixrQ0FBa0M7SUFDM0IsYUFBYSxFQUFFLEVBQUU7SUFDeEIsMEJBQTBCO0lBQ25CLFVBQVUsRUFBRSxFQUFFO0lBQ3JCLHlFQUF5RTtJQUNsRSxRQUFRLEVBQUUsRUFBRTtJQVJyQjtJQUNFLCtCQUErQjtJQUN4QixPQUFPLEVBQUUsRUFBRTtJQUNsQixrQ0FBa0M7SUFDM0IsYUFBYSxFQUFFLEVBQUU7SUFDeEIsMEJBQTBCO0lBQ25CLFVBQVUsRUFBRSxFQUFFO0lBQ3JCLHlFQUF5RTtJQUNsRSxRQUFRLEVBQUUsRUFBRSxFQUtwQjtJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRDs7O09BR0c7SUFDSCxRQUFRLGtCQUVQO0lBRUQsdURBQXVEO0lBQ3ZELE1BQU0sNEJBRUw7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsa0JBQWtCLENBRXBFO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyw2QkFFcEQ7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksc0JBUTlDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sc0JBRTVCO0lBRUQsTUFBTSxLQUFLLE1BQU0sMkRBRWhCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parity_public_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,kBAAkB;IAE3B,+BAA+B;IACxB,OAAO,EAAE,EAAE;IAClB,kCAAkC;IAC3B,aAAa,EAAE,EAAE;IACxB,0BAA0B;IACnB,UAAU,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"parity_public_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,kBAAkB;IAE3B,+BAA+B;IACxB,OAAO,EAAE,EAAE;IAClB,kCAAkC;IAC3B,aAAa,EAAE,EAAE;IACxB,0BAA0B;IACnB,UAAU,EAAE,EAAE;IACrB,yEAAyE;IAClE,QAAQ,EAAE,EAAE;IARrB;IACE,+BAA+B;IACxB,OAAO,EAAE,EAAE;IAClB,kCAAkC;IAC3B,aAAa,EAAE,EAAE;IACxB,0BAA0B;IACnB,UAAU,EAAE,EAAE;IACrB,yEAAyE;IAClE,QAAQ,EAAE,EAAE,EAKpB;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACH,QAAQ,kBAEP;IAED,uDAAuD;IACvD,MAAM,4BAEL;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAEpE;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,6BAEpD;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,sBAQ9C;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,sBAE5B;IAED,MAAM,KAAK,MAAM,2DAEhB;CACF"}
|
|
@@ -6,10 +6,12 @@ export class ParityPublicInputs {
|
|
|
6
6
|
shaRoot;
|
|
7
7
|
convertedRoot;
|
|
8
8
|
vkTreeRoot;
|
|
9
|
-
|
|
9
|
+
proverId;
|
|
10
|
+
constructor(/** Root of the SHA256 tree. */ shaRoot, /** Root of the converted tree. */ convertedRoot, /** Root of the VK tree */ vkTreeRoot, /** Prover identity committed to by the circuit, for sybil protection. */ proverId){
|
|
10
11
|
this.shaRoot = shaRoot;
|
|
11
12
|
this.convertedRoot = convertedRoot;
|
|
12
13
|
this.vkTreeRoot = vkTreeRoot;
|
|
14
|
+
this.proverId = proverId;
|
|
13
15
|
if (shaRoot.toBuffer()[0] != 0) {
|
|
14
16
|
throw new Error(`shaRoot buffer must be 31 bytes. Got 32 bytes`);
|
|
15
17
|
}
|
|
@@ -44,7 +46,8 @@ export class ParityPublicInputs {
|
|
|
44
46
|
return [
|
|
45
47
|
fields.shaRoot,
|
|
46
48
|
fields.convertedRoot,
|
|
47
|
-
fields.vkTreeRoot
|
|
49
|
+
fields.vkTreeRoot,
|
|
50
|
+
fields.proverId
|
|
48
51
|
];
|
|
49
52
|
}
|
|
50
53
|
/**
|
|
@@ -53,7 +56,7 @@ export class ParityPublicInputs {
|
|
|
53
56
|
* @returns A new ParityPublicInputs instance.
|
|
54
57
|
*/ static fromBuffer(buffer) {
|
|
55
58
|
const reader = BufferReader.asReader(buffer);
|
|
56
|
-
return new ParityPublicInputs(reader.readObject(Fr), reader.readObject(Fr), Fr.fromBuffer(reader));
|
|
59
|
+
return new ParityPublicInputs(reader.readObject(Fr), reader.readObject(Fr), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
59
62
|
* Deserializes the inputs from a hex string.
|
|
@@ -1,19 +1,63 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
|
+
/**
|
|
4
|
+
* Serialization format detection for ChonkProof is size-based:
|
|
5
|
+
* - UNCOMPRESSED (legacy): [field_count=1632: uint32] [fields...] → total ≈ 52KB (>= 40KB)
|
|
6
|
+
* - COMPRESSED: [byte_count: uint32] [compressed_bytes] → total ≈ 35KB (< 40KB)
|
|
7
|
+
*
|
|
8
|
+
* Detection: if the first uint32 equals CHONK_PROOF_LENGTH (1632), it's legacy format
|
|
9
|
+
* (field count). Otherwise, it's compressed format (byte count). The old uncompressed
|
|
10
|
+
* format is never smaller than 40KB; compressed proofs are always smaller than 40KB.
|
|
11
|
+
*/
|
|
3
12
|
export declare class ChonkProof {
|
|
4
13
|
fields: Fr[];
|
|
5
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Optional compressed proof bytes from chonk compression (point compression + u256 encoding).
|
|
16
|
+
* When set, toBuffer() will serialize in compressed format (~1.7x smaller).
|
|
17
|
+
* When reading from compressed format, this is populated and fields are decompressed on demand.
|
|
18
|
+
*/
|
|
19
|
+
compressedProof?: Buffer;
|
|
20
|
+
constructor(fields: Fr[], compressedProof?: Buffer);
|
|
6
21
|
attachPublicInputs(publicInputs: Fr[]): ChonkProofWithPublicInputs;
|
|
7
22
|
isEmpty(): boolean;
|
|
8
23
|
static empty(): ChonkProof;
|
|
9
24
|
static random(): ChonkProof;
|
|
10
25
|
static get schema(): import("zod").ZodType<ChonkProof, any, string>;
|
|
11
26
|
toJSON(): Buffer<ArrayBufferLike>;
|
|
27
|
+
/**
|
|
28
|
+
* Deserialize a ChonkProof from a buffer.
|
|
29
|
+
* Supports both legacy (field elements) and compressed (chonk compression) formats.
|
|
30
|
+
*
|
|
31
|
+
* Size-based format detection:
|
|
32
|
+
* - First uint32 == CHONK_PROOF_LENGTH (1632): legacy format, read field elements
|
|
33
|
+
* Total proof data ≈ 52KB (always >= 40KB)
|
|
34
|
+
* - Otherwise: compressed format, first uint32 is byte count of compressed data
|
|
35
|
+
* Total proof data ≈ 35KB (always < 40KB)
|
|
36
|
+
*/
|
|
12
37
|
static fromBuffer(buffer: Buffer | BufferReader): ChonkProof;
|
|
38
|
+
/**
|
|
39
|
+
* Create a ChonkProof from compressed bytes by decompressing via the BarretenbergSync API.
|
|
40
|
+
* The compressed format uses point compression and u256 encoding (from PR #20645).
|
|
41
|
+
*
|
|
42
|
+
* @param compressed - Compressed proof bytes from chonk compression
|
|
43
|
+
* @returns ChonkProof with both fields and compressed bytes populated
|
|
44
|
+
*/
|
|
45
|
+
static fromCompressedBytes(compressed: Buffer): ChonkProof;
|
|
46
|
+
/**
|
|
47
|
+
* Serialize the proof to a buffer.
|
|
48
|
+
* If compressed bytes are available, uses the compressed format (~1.7x smaller).
|
|
49
|
+
* Otherwise falls back to legacy field element format.
|
|
50
|
+
*/
|
|
13
51
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
14
52
|
}
|
|
15
53
|
export declare class ChonkProofWithPublicInputs {
|
|
16
54
|
fieldsWithPublicInputs: Fr[];
|
|
55
|
+
/**
|
|
56
|
+
* Optional compressed proof bytes (covers the full proof WITH public inputs).
|
|
57
|
+
* Set by the prover when using chonk compression. Flows through to ChonkProof
|
|
58
|
+
* via removePublicInputs() so the Tx can serialize in compressed format.
|
|
59
|
+
*/
|
|
60
|
+
compressedProof?: Buffer;
|
|
17
61
|
constructor(fieldsWithPublicInputs: Fr[]);
|
|
18
62
|
getPublicInputs(): Fr[];
|
|
19
63
|
removePublicInputs(): ChonkProof;
|
|
@@ -25,4 +69,4 @@ export declare class ChonkProofWithPublicInputs {
|
|
|
25
69
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
26
70
|
static fromBufferArray(fields: Uint8Array[]): ChonkProofWithPublicInputs;
|
|
27
71
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvbmtfcHJvb2YuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9vZnMvY2hvbmtfcHJvb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQW9DLE1BQU0sNkJBQTZCLENBQUM7QUFFN0Y7Ozs7Ozs7O0dBUUc7QUFHSCxxQkFBYSxVQUFVO0lBWVosTUFBTSxFQUFFLEVBQUUsRUFBRTtJQVhyQjs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRWhDLFlBSVMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUNuQixlQUFlLENBQUMsRUFBRSxNQUFNLEVBTXpCO0lBRU0sa0JBQWtCLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSw4QkFFM0M7SUFFTSxPQUFPLFlBRWI7SUFFRCxNQUFNLENBQUMsS0FBSyxlQUVYO0lBRUQsTUFBTSxDQUFDLE1BQU0sZUFZWjtJQUVELE1BQU0sS0FBSyxNQUFNLG1EQUVoQjtJQUdELE1BQU0sNEJBRUw7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FnQjNEO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQWtCekQ7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSw0QkFPZDtDQUNGO0FBRUQscUJBQWEsMEJBQTBCO0lBVzVCLHNCQUFzQixFQUFFLEVBQUUsRUFBRTtJQVZyQzs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRWhDLFlBR1Msc0JBQXNCLEVBQUUsRUFBRSxFQUFFLEVBS3BDO0lBRU0sZUFBZSxTQUdyQjtJQUVNLGtCQUFrQixlQUl4QjtJQUVNLE9BQU8sWUFFYjtJQUVELE1BQU0sQ0FBQyxLQUFLLCtCQUVYO0lBRUQsTUFBTSxLQUFLLE1BQU0sbUVBRWhCO0lBR0QsTUFBTSw0QkFFTDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsMEJBQTBCLENBSzNFO0lBRU0sUUFBUSw0QkFFZDtJQUdELE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLDBCQUEwQixDQUd2RTtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chonk_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/chonk_proof.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chonk_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/chonk_proof.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAoC,MAAM,6BAA6B,CAAC;AAE7F;;;;;;;;GAQG;AAGH,qBAAa,UAAU;IAYZ,MAAM,EAAE,EAAE,EAAE;IAXrB;;;;OAIG;IACI,eAAe,CAAC,EAAE,MAAM,CAAC;IAEhC,YAIS,MAAM,EAAE,EAAE,EAAE,EACnB,eAAe,CAAC,EAAE,MAAM,EAMzB;IAEM,kBAAkB,CAAC,YAAY,EAAE,EAAE,EAAE,8BAE3C;IAEM,OAAO,YAEb;IAED,MAAM,CAAC,KAAK,eAEX;IAED,MAAM,CAAC,MAAM,eAYZ;IAED,MAAM,KAAK,MAAM,mDAEhB;IAGD,MAAM,4BAEL;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAgB3D;IAED;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAkBzD;IAED;;;;OAIG;IACI,QAAQ,4BAOd;CACF;AAED,qBAAa,0BAA0B;IAW5B,sBAAsB,EAAE,EAAE,EAAE;IAVrC;;;;OAIG;IACI,eAAe,CAAC,EAAE,MAAM,CAAC;IAEhC,YAGS,sBAAsB,EAAE,EAAE,EAAE,EAKpC;IAEM,eAAe,SAGrB;IAEM,kBAAkB,eAIxB;IAEM,OAAO,YAEb;IAED,MAAM,CAAC,KAAK,+BAEX;IAED,MAAM,KAAK,MAAM,mEAEhB;IAGD,MAAM,4BAEL;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B,CAK3E;IAEM,QAAQ,4BAEd;IAGD,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,0BAA0B,CAGvE;CACF"}
|