@aztec/stdlib 0.0.1-commit.f504929 → 0.0.1-commit.f5a9928
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +149 -1081
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +41 -18
- package/dest/abi/authorization_selector.d.ts +4 -7
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +19 -5
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +38 -5
- package/dest/abi/contract_artifact.d.ts +14 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +57 -15
- 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 +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +7 -25
- package/dest/abi/function_call.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 +4 -7
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +1 -3
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +1 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +1756 -10463
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +7 -4
- package/dest/avm/avm_accumulated_data.d.ts +22 -86
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +653 -5446
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/message_pack.js +12 -3
- package/dest/avm/public_data_write.d.ts +6 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +5 -21
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +12 -30
- package/dest/aztec-address/index.d.ts +42 -12
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +40 -13
- 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 +10 -5
- package/dest/block/block_data.d.ts +13 -38
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +2 -2
- package/dest/block/block_hash.d.ts +11 -10
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +10 -9
- package/dest/block/block_parameter.d.ts +37 -4
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +53 -2
- package/dest/block/in_block.d.ts +5 -24
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +1 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block.d.ts +21 -41
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_info.d.ts +10 -29
- 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 +234 -355
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +85 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +61 -0
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.js +25 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
- 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 +84 -40
- package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +73 -25
- package/dest/block/proposal/committee_attestation.d.ts +6 -12
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- 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 +301 -36
- package/dest/block/validate_block_result.d.ts +16 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -3
- package/dest/checkpoint/checkpoint.d.ts +31 -96
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +20 -7
- package/dest/checkpoint/checkpoint_data.d.ts +68 -91
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_data.js +12 -0
- package/dest/checkpoint/checkpoint_info.d.ts +7 -23
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +6 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +5 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +42 -194
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/simulation_overrides.d.ts +61 -0
- package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
- package/dest/checkpoint/simulation_overrides.js +98 -0
- package/dest/checkpoint/validate.d.ts +52 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +132 -0
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/network-consensus-config.d.ts +72 -0
- package/dest/config/network-consensus-config.d.ts.map +1 -0
- package/dest/config/network-consensus-config.js +227 -0
- package/dest/config/node-rpc-config.d.ts +13 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +34 -1
- package/dest/config/sequencer-config.d.ts +6 -2
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +38 -6
- package/dest/contract/complete_address.d.ts +3 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +6 -2
- package/dest/contract/contract_address.d.ts +10 -9
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +6 -5
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.js +2 -2
- package/dest/contract/contract_deployment_data.d.ts +15 -61
- package/dest/contract/contract_deployment_data.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +19 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +55 -3
- 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 +17 -241
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +1 -28
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +111 -104
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +11 -4
- package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.d.ts +11 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +7 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +9 -3
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/partial_address.js +8 -2
- 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/database-version/database_version.d.ts +5 -11
- package/dest/database-version/database_version.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +22 -4
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +87 -6
- package/dest/deserialization/index.d.ts +35 -3
- package/dest/deserialization/index.d.ts.map +1 -1
- package/dest/deserialization/index.js +32 -1
- package/dest/epoch-helpers/index.d.ts +12 -20
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +16 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +9 -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 +3 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/index.js +1 -0
- package/dest/file-store/memory.d.ts +24 -0
- package/dest/file-store/memory.d.ts.map +1 -0
- package/dest/file-store/memory.js +80 -0
- 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.d.ts +9 -14
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +6 -3
- package/dest/gas/gas_fees.d.ts +13 -14
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +17 -4
- package/dest/gas/gas_settings.d.ts +60 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +49 -9
- package/dest/gas/index.d.ts +3 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +2 -0
- package/dest/gas/tx_gas_limits.d.ts +72 -0
- package/dest/gas/tx_gas_limits.d.ts.map +1 -0
- package/dest/gas/tx_gas_limits.js +85 -0
- package/dest/ha-signing/config.d.ts +45 -60
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +32 -30
- package/dest/ha-signing/index.d.ts +4 -3
- package/dest/ha-signing/index.d.ts.map +1 -1
- package/dest/ha-signing/index.js +3 -2
- package/dest/ha-signing/local_config.d.ts +40 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +30 -0
- 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 +34 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +63 -9
- package/dest/interfaces/allowed_element.d.ts +16 -16
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -2
- package/dest/interfaces/api_limit.d.ts +7 -2
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +4 -1
- package/dest/interfaces/archiver.d.ts +27 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +216 -69
- package/dest/interfaces/aztec-node-admin.d.ts +91 -260
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +60 -17
- package/dest/interfaces/aztec-node-debug.d.ts +59 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +49 -0
- package/dest/interfaces/aztec-node.d.ts +167 -116
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +359 -78
- package/dest/interfaces/block-builder.d.ts +48 -12
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +12 -5
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +11 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +6 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -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 +9 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +93 -109
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +19 -3
- package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
- package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
- package/dest/interfaces/get_tx_by_hash_options.js +4 -0
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +14 -34
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +63 -7
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +49 -6
- package/dest/interfaces/private_kernel_prover.d.ts +69 -11
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-client.d.ts +10 -27
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -4
- package/dest/interfaces/prover-node.d.ts +12 -8
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +37 -16
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +757 -5795
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +14 -5
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -1
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +25 -65
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +8 -4
- package/dest/interfaces/tx_provider.d.ts +10 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +87 -197
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +15 -6
- package/dest/interfaces/world_state.d.ts +19 -5
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
- package/dest/kernel/hints/key_validation_request.d.ts +12 -8
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +20 -18
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/index.d.ts +6 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +5 -1
- package/dest/kernel/log_hash.d.ts +6 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +23 -11
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +14 -7
- package/dest/kernel/private_context_inputs.d.ts +4 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +7 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -2
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
- package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +6 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
- package/dest/kernel/public_call_request.d.ts +15 -30
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +16 -7
- package/dest/keys/derivation.d.ts +45 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +55 -22
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +55 -82
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +102 -74
- package/dest/kv-store/config.d.ts +14 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +21 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/app_tagging_secret.d.ts +69 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +116 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +17 -0
- package/dest/logs/contract_class_log.d.ts +16 -35
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -13
- package/dest/logs/index.d.ts +8 -9
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +7 -8
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/pre_tag.d.ts +11 -24
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +7 -12
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +33 -9
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +49 -10
- 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 +13 -3
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +4 -0
- package/dest/logs/tagging_index_range.d.ts +22 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/index.d.ts +2 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +1 -0
- package/dest/messaging/l1_to_l2_message.d.ts +25 -3
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +38 -15
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +130 -27
- package/dest/messaging/l2_to_l1_message.d.ts +38 -112
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +21 -12
- package/dest/noir/index.d.ts +7 -5
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/note.d.ts +2 -2
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +8 -1
- package/dest/p2p/block_proposal.d.ts +31 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +57 -39
- package/dest/p2p/checkpoint_attestation.d.ts +24 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +33 -24
- package/dest/p2p/checkpoint_proposal.d.ts +36 -21
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +59 -61
- package/dest/p2p/consensus_payload.d.ts +27 -20
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +38 -19
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +2 -1
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/signature_utils.d.ts +35 -17
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +125 -20
- 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/p2p/validated_proposal.d.ts +35 -0
- package/dest/p2p/validated_proposal.d.ts.map +1 -0
- package/dest/p2p/validated_proposal.js +17 -0
- package/dest/parity/parity_base_private_inputs.d.ts +8 -4
- 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 +8 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +6 -3
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +57 -7
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +112 -15
- package/dest/proofs/recursive_proof.d.ts +2 -2
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- 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/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +12 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +8 -3
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +20 -10
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +32 -78
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -2
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +10 -7
- 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 +18 -112
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +16 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +5 -6
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +19 -10
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +25 -32
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +81 -86
- package/dest/tests/mocks.d.ts +11 -6
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +57 -63
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -37
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -39
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +6 -3
- package/dest/trees/nullifier_leaf.d.ts +19 -42
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +3 -0
- package/dest/trees/nullifier_membership_witness.d.ts +17 -63
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +0 -21
- package/dest/trees/public_data_leaf.d.ts +21 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +19 -71
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +0 -27
- package/dest/tx/block_header.d.ts +7 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +11 -4
- package/dest/tx/call_context.d.ts +4 -14
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +7 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/execution_payload.d.ts +1 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/execution_payload.js +1 -1
- 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/function_data.d.ts +4 -10
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +4 -15
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +16 -49
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +10 -14
- package/dest/tx/hashed_values.d.ts +10 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +15 -4
- package/dest/tx/in_tx.d.ts +5 -17
- package/dest/tx/in_tx.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 +8 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +9 -6
- package/dest/tx/partial_state_reference.d.ts +22 -65
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +6 -3
- package/dest/tx/private_execution_result.d.ts +11 -21
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/private_tx_constant_data.d.ts +18 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +13 -4
- package/dest/tx/profiling.d.ts +67 -353
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +17 -7
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/proven_tx.d.ts +30 -74
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +6 -3
- package/dest/tx/simulated_tx.d.ts +73 -1148
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +19 -12
- package/dest/tx/state_reference.d.ts +30 -117
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +6 -4
- package/dest/tx/tree_snapshots.d.ts +27 -84
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +6 -4
- package/dest/tx/tx.d.ts +34 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +70 -30
- package/dest/tx/tx_constant_data.d.ts +4 -3
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -3
- package/dest/tx/tx_context.d.ts +32 -131
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +6 -6
- package/dest/tx/tx_hash.d.ts +6 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +13 -5
- package/dest/tx/tx_receipt.d.ts +145 -59
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +144 -58
- package/dest/tx/validator/error_texts.d.ts +9 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +10 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -27
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +0 -4
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +4 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +3 -1
- package/dest/update-checker/package_version.d.ts +6 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +13 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +21 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +19 -0
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +6 -4
- package/dest/validators/types.d.ts +20 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +5 -2
- package/dest/vks/verification_key.d.ts +4 -139
- 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 +21 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +8 -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 +15 -26
- 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 +14 -12
- package/src/abi/abi.ts +86 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +38 -5
- package/src/abi/contract_artifact.ts +63 -15
- 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/abi/utils.ts +6 -4
- package/src/avm/avm.ts +6 -1
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +19 -39
- package/src/aztec-address/index.ts +50 -17
- package/src/block/attestation_info.ts +16 -11
- package/src/block/block_data.ts +3 -4
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/index.ts +0 -1
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_info.ts +8 -6
- package/src/block/l2_block_source.ts +275 -143
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +81 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +101 -9
- package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
- package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
- package/src/block/proposal/attestations_and_signers.ts +85 -24
- package/src/block/test/l2_tips_store_test_suite.ts +276 -22
- package/src/block/validate_block_result.ts +48 -2
- package/src/checkpoint/checkpoint.ts +25 -6
- package/src/checkpoint/checkpoint_data.ts +44 -4
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +5 -0
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/simulation_overrides.ts +171 -0
- package/src/checkpoint/validate.ts +262 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/network-consensus-config.ts +299 -0
- package/src/config/node-rpc-config.ts +51 -1
- package/src/config/sequencer-config.ts +68 -9
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +11 -10
- package/src/contract/contract_class_id.ts +2 -2
- package/src/contract/contract_instance.ts +73 -3
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/contract_data_source.ts +2 -4
- package/src/contract/interfaces/contract_instance.ts +32 -10
- package/src/contract/interfaces/node-info.ts +11 -0
- package/src/contract/partial_address.ts +8 -2
- package/src/contract/private_function.ts +3 -1
- package/src/database-version/version_manager.ts +113 -6
- package/src/deserialization/index.ts +35 -2
- package/src/epoch-helpers/index.ts +27 -0
- package/src/file-store/factory.ts +20 -4
- package/src/file-store/http.ts +29 -10
- package/src/file-store/index.ts +2 -0
- package/src/file-store/memory.ts +94 -0
- package/src/gas/README.md +318 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +26 -13
- package/src/gas/gas_settings.ts +63 -15
- package/src/gas/index.ts +2 -0
- package/src/gas/tx_gas_limits.ts +123 -0
- package/src/ha-signing/config.ts +78 -57
- package/src/ha-signing/index.ts +12 -1
- package/src/ha-signing/local_config.ts +65 -0
- package/src/ha-signing/types.ts +48 -34
- package/src/hash/hash.ts +63 -10
- package/src/interfaces/allowed_element.ts +28 -4
- package/src/interfaces/api_limit.ts +6 -1
- package/src/interfaces/archiver.ts +96 -92
- package/src/interfaces/aztec-node-admin.ts +36 -21
- package/src/interfaces/aztec-node-debug.ts +92 -0
- package/src/interfaces/aztec-node.ts +419 -263
- package/src/interfaces/block-builder.ts +66 -14
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +16 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +8 -1
- package/src/interfaces/configs.ts +93 -10
- package/src/interfaces/get_tx_by_hash_options.ts +14 -0
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +13 -39
- package/src/interfaces/merkle_tree_operations.ts +11 -20
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +80 -19
- package/src/interfaces/private_kernel_prover.ts +98 -12
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-client.ts +11 -8
- package/src/interfaces/prover-node.ts +36 -21
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +18 -6
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -1
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/slasher.ts +17 -10
- package/src/interfaces/tx_provider.ts +10 -0
- package/src/interfaces/validator.ts +95 -42
- package/src/interfaces/world_state.ts +19 -4
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/index.ts +5 -1
- package/src/kernel/log_hash.ts +36 -13
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +12 -1
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
- package/src/kernel/private_log_data.ts +4 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
- package/src/kernel/private_to_public_accumulated_data.ts +9 -3
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
- package/src/kernel/public_call_request.ts +22 -7
- package/src/keys/derivation.ts +79 -22
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +124 -110
- package/src/kv-store/config.ts +29 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +160 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +15 -14
- package/src/logs/index.ts +7 -8
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +55 -11
- package/src/logs/siloed_tag.ts +20 -11
- package/src/logs/tag.ts +8 -8
- package/src/logs/tagging_index_range.ts +18 -0
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/index.ts +1 -0
- package/src/messaging/l1_to_l2_message.ts +56 -15
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +189 -35
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +6 -3
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +8 -1
- package/src/p2p/block_proposal.ts +111 -36
- package/src/p2p/checkpoint_attestation.ts +38 -30
- package/src/p2p/checkpoint_proposal.ts +126 -85
- package/src/p2p/consensus_payload.ts +59 -28
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +1 -0
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +117 -23
- package/src/p2p/signed_txs.ts +46 -28
- package/src/p2p/validated_proposal.ts +43 -0
- 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 +132 -12
- package/src/rollup/avm_proof_data.ts +2 -2
- package/src/rollup/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_header.ts +16 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +13 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +24 -49
- package/src/slashing/{tally.ts → votes.ts} +22 -4
- package/src/stats/stats.ts +6 -2
- package/src/tests/factories.ts +111 -119
- package/src/tests/mocks.ts +88 -76
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -66
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/append_only_tree_snapshot.ts +8 -3
- package/src/trees/nullifier_leaf.ts +4 -0
- package/src/trees/nullifier_membership_witness.ts +0 -21
- package/src/trees/public_data_witness.ts +0 -31
- package/src/tx/block_header.ts +16 -5
- package/src/tx/capsule.ts +10 -2
- package/src/tx/execution_payload.ts +2 -1
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +3 -20
- package/src/tx/global_variables.ts +12 -20
- package/src/tx/hashed_values.ts +19 -9
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +18 -6
- package/src/tx/partial_state_reference.ts +8 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +15 -6
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/simulated_tx.ts +31 -19
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +98 -37
- package/src/tx/tx_constant_data.ts +8 -3
- package/src/tx/tx_context.ts +8 -3
- package/src/tx/tx_hash.ts +20 -5
- package/src/tx/tx_receipt.ts +267 -82
- package/src/tx/validator/error_texts.ts +13 -1
- package/src/tx/validator/tx_validator.ts +1 -5
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +3 -1
- package/src/update-checker/package_version.ts +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +26 -0
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +21 -2
- package/src/versioning/versioning.ts +5 -2
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +37 -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/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- 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/interfaces/epoch-prover.d.ts +0 -57
- package/dest/interfaces/epoch-prover.d.ts.map +0 -1
- package/dest/interfaces/epoch-prover.js +0 -1
- package/dest/interfaces/get_logs_response.d.ts +0 -97
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- 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/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
- package/dest/logs/extended_public_log.d.ts +0 -106
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -22
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -11
- package/dest/logs/log_id.d.ts +0 -85
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -94
- package/dest/logs/message_context.d.ts +0 -29
- package/dest/logs/message_context.d.ts.map +0 -1
- package/dest/logs/message_context.js +0 -56
- package/dest/logs/pending_tagged_log.d.ts +0 -14
- package/dest/logs/pending_tagged_log.d.ts.map +0 -1
- package/dest/logs/pending_tagged_log.js +0 -34
- package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -70
- 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/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/abi/mocked_keys.ts +0 -2
- package/src/block/checkpointed_l2_block.ts +0 -70
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/get_logs_response.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -125
- package/src/logs/message_context.ts +0 -62
- package/src/logs/pending_tagged_log.ts +0 -41
- package/src/logs/tx_scoped_l2_log.ts +0 -98
- package/src/slashing/empire.ts +0 -104
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
+
|
|
3
|
+
import { PrivateCallData } from './private_call_data.js';
|
|
4
|
+
import { PrivateKernelData } from './private_kernel_data.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Input to the batched private kernel inner circuit, which processes three app calls in a single
|
|
8
|
+
* iteration following a previous kernel.
|
|
9
|
+
*/
|
|
10
|
+
export class PrivateKernelInner3CircuitPrivateInputs {
|
|
11
|
+
constructor(
|
|
12
|
+
public previousKernel: PrivateKernelData,
|
|
13
|
+
public privateCall0: PrivateCallData,
|
|
14
|
+
public privateCall1: PrivateCallData,
|
|
15
|
+
public privateCall2: PrivateCallData,
|
|
16
|
+
) {}
|
|
17
|
+
|
|
18
|
+
toBuffer() {
|
|
19
|
+
return serializeToBuffer(this.previousKernel, this.privateCall0, this.privateCall1, this.privateCall2);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInner3CircuitPrivateInputs {
|
|
23
|
+
const reader = BufferReader.asReader(buffer);
|
|
24
|
+
return new PrivateKernelInner3CircuitPrivateInputs(
|
|
25
|
+
reader.readObject(PrivateKernelData),
|
|
26
|
+
reader.readObject(PrivateCallData),
|
|
27
|
+
reader.readObject(PrivateCallData),
|
|
28
|
+
reader.readObject(PrivateCallData),
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -68,14 +68,24 @@ export const privateKernelResetDimensionNames: DimensionName[] = [
|
|
|
68
68
|
'PRIVATE_LOG_SILOING',
|
|
69
69
|
];
|
|
70
70
|
|
|
71
|
-
export interface
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
export interface ResetCatalogEntry {
|
|
72
|
+
name: string;
|
|
73
|
+
dimensions: number[];
|
|
74
|
+
// Measured gate count (circuit_size) of the compiled variant. Used by the selector to pick the
|
|
75
|
+
// cheapest variant that covers the requested dimensions, e.g. if the required dimensions are
|
|
76
|
+
// `6 - 2 - 2` then a variant with capacity `8 - 2 - 2` might be cheaper than one with capacity
|
|
77
|
+
// `6 - 4 - 4`.
|
|
74
78
|
cost: number;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
// Must match the config in noir-projects/noir-protocol-circuits/private_kernel_reset_config.json
|
|
78
82
|
export interface PrivateKernelResetDimensionsConfig {
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
// Variants used for mid-tx resets that prevent overflow. Never the last kernel in the chain.
|
|
84
|
+
inner: ResetCatalogEntry[];
|
|
85
|
+
// Variants used as the terminal kernel for the rollup-bound private-only path. Each runs
|
|
86
|
+
// final-reset siloing and tail finalisation in one proof.
|
|
87
|
+
finalTail: ResetCatalogEntry[];
|
|
88
|
+
// Terminal variants for the public-bound path (transactions with public function calls). Runs
|
|
89
|
+
// final-reset siloing and tail-to-public partitioning by revertibility in one proof.
|
|
90
|
+
finalTailToPublic: ResetCatalogEntry[];
|
|
81
91
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
MAX_KEY_VALIDATION_REQUESTS_PER_TX,
|
|
3
|
+
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
4
|
+
MAX_NULLIFIERS_PER_TX,
|
|
5
|
+
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
6
|
+
} from '@aztec/constants';
|
|
7
|
+
import { bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
8
|
+
|
|
9
|
+
import type { UInt64 } from '../types/shared.js';
|
|
10
|
+
import type { PrivateKernelResetHints } from './hints/private_kernel_reset_hints.js';
|
|
11
|
+
import type { PaddedSideEffectAmounts, PaddedSideEffects } from './padded_side_effects.js';
|
|
12
|
+
import { kernelStateIsForPublic } from './private_kernel_circuit_public_inputs.js';
|
|
13
|
+
import type { PrivateKernelData } from './private_kernel_data.js';
|
|
14
|
+
import { PrivateKernelResetCircuitPrivateInputsVariants } from './private_kernel_reset_circuit_private_inputs.js';
|
|
15
|
+
import type { PrivateKernelResetDimensions } from './private_kernel_reset_dimensions.js';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Input to a terminal reset+tail circuit. `isForPublic()` selects the rollup-bound (`reset_tail`)
|
|
19
|
+
* or public-bound (`reset_tail_to_public`) family.
|
|
20
|
+
*/
|
|
21
|
+
export class PrivateKernelResetTailCircuitPrivateInputs {
|
|
22
|
+
constructor(
|
|
23
|
+
public previousKernel: PrivateKernelData,
|
|
24
|
+
public paddedSideEffects: PaddedSideEffects,
|
|
25
|
+
public hints: PrivateKernelResetHints<
|
|
26
|
+
typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
27
|
+
typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
28
|
+
typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
29
|
+
typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
30
|
+
typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX,
|
|
31
|
+
typeof MAX_NULLIFIERS_PER_TX
|
|
32
|
+
>,
|
|
33
|
+
public dimensions: PrivateKernelResetDimensions,
|
|
34
|
+
public paddedSideEffectAmounts: PaddedSideEffectAmounts,
|
|
35
|
+
public expirationTimestampUpperBound: UInt64,
|
|
36
|
+
) {}
|
|
37
|
+
|
|
38
|
+
isForPublic() {
|
|
39
|
+
return kernelStateIsForPublic(this.previousKernel.publicInputs);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Returns a dimension-trimmed view of the reset portion of these inputs (without the tail
|
|
44
|
+
* fields). The prover uses this to feed witness generation of the variant matching the chosen
|
|
45
|
+
* dimensions.
|
|
46
|
+
*/
|
|
47
|
+
trimResetToSizes() {
|
|
48
|
+
const hints = this.hints.trimToSizes(
|
|
49
|
+
this.dimensions.NOTE_HASH_PENDING_READ,
|
|
50
|
+
this.dimensions.NOTE_HASH_SETTLED_READ,
|
|
51
|
+
this.dimensions.NULLIFIER_PENDING_READ,
|
|
52
|
+
this.dimensions.NULLIFIER_SETTLED_READ,
|
|
53
|
+
this.dimensions.KEY_VALIDATION,
|
|
54
|
+
this.dimensions.TRANSIENT_DATA_SQUASHING,
|
|
55
|
+
);
|
|
56
|
+
return new PrivateKernelResetCircuitPrivateInputsVariants(this.previousKernel, this.paddedSideEffects, hints);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
toBuffer() {
|
|
60
|
+
return serializeToBuffer(
|
|
61
|
+
this.previousKernel,
|
|
62
|
+
this.paddedSideEffects,
|
|
63
|
+
this.hints,
|
|
64
|
+
this.dimensions,
|
|
65
|
+
this.paddedSideEffectAmounts,
|
|
66
|
+
bigintToUInt64BE(this.expirationTimestampUpperBound),
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
3
|
-
import { BufferReader,
|
|
3
|
+
import { BufferReader, BufferSink, serializeToSink } from '@aztec/foundation/serialize';
|
|
4
4
|
|
|
5
5
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
6
6
|
import { Gas } from '../gas/gas.js';
|
|
@@ -60,8 +60,14 @@ export class PartialPrivateTailPublicInputsForPublic {
|
|
|
60
60
|
);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
toBuffer()
|
|
64
|
-
|
|
63
|
+
toBuffer(): Buffer;
|
|
64
|
+
toBuffer(sink: BufferSink): void;
|
|
65
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
66
|
+
if (!sink) {
|
|
67
|
+
return BufferSink.serialize(this);
|
|
68
|
+
}
|
|
69
|
+
serializeToSink(
|
|
70
|
+
sink,
|
|
65
71
|
this.nonRevertibleAccumulatedData,
|
|
66
72
|
this.revertibleAccumulatedData,
|
|
67
73
|
this.publicTeardownCallRequest,
|
|
@@ -89,8 +95,13 @@ export class PartialPrivateTailPublicInputsForRollup {
|
|
|
89
95
|
return this.end.getSize();
|
|
90
96
|
}
|
|
91
97
|
|
|
92
|
-
toBuffer()
|
|
93
|
-
|
|
98
|
+
toBuffer(): Buffer;
|
|
99
|
+
toBuffer(sink: BufferSink): void;
|
|
100
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
101
|
+
if (!sink) {
|
|
102
|
+
return BufferSink.serialize(this);
|
|
103
|
+
}
|
|
104
|
+
serializeToSink(sink, this.end);
|
|
94
105
|
}
|
|
95
106
|
|
|
96
107
|
static empty() {
|
|
@@ -234,6 +245,15 @@ export class PrivateKernelTailCircuitPublicInputs {
|
|
|
234
245
|
return noteHashes.filter(n => !n.isZero());
|
|
235
246
|
}
|
|
236
247
|
|
|
248
|
+
getNonEmptyL2ToL1Msgs() {
|
|
249
|
+
const l2ToL1Msgs = this.forPublic
|
|
250
|
+
? this.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.concat(
|
|
251
|
+
this.forPublic.revertibleAccumulatedData.l2ToL1Msgs,
|
|
252
|
+
)
|
|
253
|
+
: this.forRollup!.end.l2ToL1Msgs;
|
|
254
|
+
return l2ToL1Msgs.filter(m => !m.isEmpty());
|
|
255
|
+
}
|
|
256
|
+
|
|
237
257
|
getNonEmptyNullifiers() {
|
|
238
258
|
const nullifiers = this.forPublic
|
|
239
259
|
? this.forPublic.nonRevertibleAccumulatedData.nullifiers.concat(
|
|
@@ -291,16 +311,20 @@ export class PrivateKernelTailCircuitPublicInputs {
|
|
|
291
311
|
);
|
|
292
312
|
}
|
|
293
313
|
|
|
294
|
-
toBuffer()
|
|
314
|
+
toBuffer(): Buffer;
|
|
315
|
+
toBuffer(sink: BufferSink): void;
|
|
316
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
317
|
+
if (!sink) {
|
|
318
|
+
return BufferSink.serialize(this);
|
|
319
|
+
}
|
|
295
320
|
const isForPublic = !!this.forPublic;
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
this.
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
);
|
|
321
|
+
serializeToSink(sink, isForPublic, this.constants, this.gasUsed, this.feePayer);
|
|
322
|
+
sink.writeUInt64(this.expirationTimestamp);
|
|
323
|
+
if (isForPublic) {
|
|
324
|
+
this.forPublic!.toBuffer(sink);
|
|
325
|
+
} else {
|
|
326
|
+
this.forRollup!.toBuffer(sink);
|
|
327
|
+
}
|
|
304
328
|
}
|
|
305
329
|
|
|
306
330
|
static empty() {
|
|
@@ -85,7 +85,10 @@ export class ScopedPrivateLogData {
|
|
|
85
85
|
|
|
86
86
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
87
87
|
const reader = FieldReader.asReader(fields);
|
|
88
|
-
return new ScopedPrivateLogData(
|
|
88
|
+
return new ScopedPrivateLogData(
|
|
89
|
+
reader.readObject(PrivateLogData),
|
|
90
|
+
AztecAddress.fromFieldUnsafe(reader.readField()),
|
|
91
|
+
);
|
|
89
92
|
}
|
|
90
93
|
|
|
91
94
|
isEmpty() {
|
|
@@ -10,11 +10,12 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
10
10
|
import { schemas } from '@aztec/foundation/schemas';
|
|
11
11
|
import {
|
|
12
12
|
BufferReader,
|
|
13
|
+
BufferSink,
|
|
13
14
|
FieldReader,
|
|
14
15
|
type Tuple,
|
|
15
16
|
assertLength,
|
|
16
|
-
serializeToBuffer,
|
|
17
17
|
serializeToFields,
|
|
18
|
+
serializeToSink,
|
|
18
19
|
} from '@aztec/foundation/serialize';
|
|
19
20
|
|
|
20
21
|
import { inspect } from 'util';
|
|
@@ -100,8 +101,13 @@ export class PrivateToAvmAccumulatedData {
|
|
|
100
101
|
);
|
|
101
102
|
}
|
|
102
103
|
|
|
103
|
-
toBuffer()
|
|
104
|
-
|
|
104
|
+
toBuffer(): Buffer;
|
|
105
|
+
toBuffer(sink: BufferSink): void;
|
|
106
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
107
|
+
if (!sink) {
|
|
108
|
+
return BufferSink.serialize(this);
|
|
109
|
+
}
|
|
110
|
+
serializeToSink(sink, ...PrivateToAvmAccumulatedData.getFields(this));
|
|
105
111
|
}
|
|
106
112
|
|
|
107
113
|
static empty() {
|
|
@@ -200,8 +206,13 @@ export class PrivateToAvmAccumulatedDataArrayLengths {
|
|
|
200
206
|
return new PrivateToAvmAccumulatedDataArrayLengths(reader.readNumber(), reader.readNumber(), reader.readNumber());
|
|
201
207
|
}
|
|
202
208
|
|
|
203
|
-
toBuffer()
|
|
204
|
-
|
|
209
|
+
toBuffer(): Buffer;
|
|
210
|
+
toBuffer(sink: BufferSink): void;
|
|
211
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
212
|
+
if (!sink) {
|
|
213
|
+
return BufferSink.serialize(this);
|
|
214
|
+
}
|
|
215
|
+
serializeToSink(sink, ...PrivateToAvmAccumulatedDataArrayLengths.getFields(this));
|
|
205
216
|
}
|
|
206
217
|
|
|
207
218
|
static empty() {
|
|
@@ -12,10 +12,11 @@ import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
|
|
|
12
12
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
13
13
|
import {
|
|
14
14
|
BufferReader,
|
|
15
|
+
BufferSink,
|
|
15
16
|
FieldReader,
|
|
16
17
|
type Tuple,
|
|
17
|
-
serializeToBuffer,
|
|
18
18
|
serializeToFields,
|
|
19
|
+
serializeToSink,
|
|
19
20
|
} from '@aztec/foundation/serialize';
|
|
20
21
|
|
|
21
22
|
import { inspect } from 'util';
|
|
@@ -85,8 +86,13 @@ export class PrivateToPublicAccumulatedData {
|
|
|
85
86
|
);
|
|
86
87
|
}
|
|
87
88
|
|
|
88
|
-
toBuffer()
|
|
89
|
-
|
|
89
|
+
toBuffer(): Buffer;
|
|
90
|
+
toBuffer(sink: BufferSink): void;
|
|
91
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
92
|
+
if (!sink) {
|
|
93
|
+
return BufferSink.serialize(this);
|
|
94
|
+
}
|
|
95
|
+
serializeToSink(sink, ...PrivateToPublicAccumulatedData.getFields(this));
|
|
90
96
|
}
|
|
91
97
|
|
|
92
98
|
toFields(): Fr[] {
|
|
@@ -2,7 +2,7 @@ import { DomainSeparator, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH
|
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
-
import { BufferReader,
|
|
5
|
+
import { BufferReader, BufferSink, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
|
|
6
6
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
7
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
8
|
|
|
@@ -24,16 +24,22 @@ export class PrivateToPublicKernelCircuitPublicInputs {
|
|
|
24
24
|
public expirationTimestamp: UInt64,
|
|
25
25
|
) {}
|
|
26
26
|
|
|
27
|
-
toBuffer()
|
|
28
|
-
|
|
27
|
+
toBuffer(): Buffer;
|
|
28
|
+
toBuffer(sink: BufferSink): void;
|
|
29
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
30
|
+
if (!sink) {
|
|
31
|
+
return BufferSink.serialize(this);
|
|
32
|
+
}
|
|
33
|
+
serializeToSink(
|
|
34
|
+
sink,
|
|
29
35
|
this.constants,
|
|
30
36
|
this.nonRevertibleAccumulatedData,
|
|
31
37
|
this.revertibleAccumulatedData,
|
|
32
38
|
this.publicTeardownCallRequest,
|
|
33
39
|
this.gasUsed,
|
|
34
40
|
this.feePayer,
|
|
35
|
-
bigintToUInt64BE(this.expirationTimestamp),
|
|
36
41
|
);
|
|
42
|
+
sink.writeUInt64(this.expirationTimestamp);
|
|
37
43
|
}
|
|
38
44
|
|
|
39
45
|
static getFields(fields: FieldsOf<PrivateToPublicKernelCircuitPublicInputs>) {
|
|
@@ -10,7 +10,7 @@ import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
|
|
|
10
10
|
import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
|
|
11
11
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
12
12
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
13
|
-
import { BufferReader, type Tuple,
|
|
13
|
+
import { BufferReader, BufferSink, type Tuple, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
|
|
14
14
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
15
15
|
|
|
16
16
|
import { inspect } from 'util';
|
|
@@ -79,8 +79,13 @@ export class PrivateToRollupAccumulatedData {
|
|
|
79
79
|
return this.toBuffer();
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
toBuffer()
|
|
83
|
-
|
|
82
|
+
toBuffer(): Buffer;
|
|
83
|
+
toBuffer(sink: BufferSink): void;
|
|
84
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
85
|
+
if (!sink) {
|
|
86
|
+
return BufferSink.serialize(this);
|
|
87
|
+
}
|
|
88
|
+
serializeToSink(sink, ...PrivateToRollupAccumulatedData.getFields(this));
|
|
84
89
|
}
|
|
85
90
|
|
|
86
91
|
toString() {
|
|
@@ -2,7 +2,7 @@ import { DomainSeparator, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH
|
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
-
import { BufferReader,
|
|
5
|
+
import { BufferReader, BufferSink, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
|
|
6
6
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
7
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
8
|
|
|
@@ -44,14 +44,14 @@ export class PrivateToRollupKernelCircuitPublicInputs {
|
|
|
44
44
|
return this.end.nullifiers.filter(n => !n.isZero());
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
toBuffer()
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
);
|
|
47
|
+
toBuffer(): Buffer;
|
|
48
|
+
toBuffer(sink: BufferSink): void;
|
|
49
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
50
|
+
if (!sink) {
|
|
51
|
+
return BufferSink.serialize(this);
|
|
52
|
+
}
|
|
53
|
+
serializeToSink(sink, this.constants, this.end, this.gasUsed, this.feePayer);
|
|
54
|
+
sink.writeUInt64(this.expirationTimestamp);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { COUNTED_PUBLIC_CALL_REQUEST_LENGTH, PUBLIC_CALL_REQUEST_LENGTH } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
|
-
import { BufferReader,
|
|
4
|
+
import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
|
|
5
5
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
6
6
|
|
|
7
7
|
import { inspect } from 'util';
|
|
@@ -89,8 +89,13 @@ export class PublicCallRequest {
|
|
|
89
89
|
);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
toBuffer()
|
|
93
|
-
|
|
92
|
+
toBuffer(): Buffer;
|
|
93
|
+
toBuffer(sink: BufferSink): void;
|
|
94
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
95
|
+
if (!sink) {
|
|
96
|
+
return BufferSink.serialize(this);
|
|
97
|
+
}
|
|
98
|
+
serializeToSink(sink, ...PublicCallRequest.getFields(this));
|
|
94
99
|
}
|
|
95
100
|
|
|
96
101
|
static empty() {
|
|
@@ -188,8 +193,13 @@ export class PublicCallRequestArrayLengths {
|
|
|
188
193
|
return new PublicCallRequestArrayLengths(reader.readNumber(), reader.readNumber(), reader.readBoolean());
|
|
189
194
|
}
|
|
190
195
|
|
|
191
|
-
toBuffer()
|
|
192
|
-
|
|
196
|
+
toBuffer(): Buffer;
|
|
197
|
+
toBuffer(sink: BufferSink): void;
|
|
198
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
199
|
+
if (!sink) {
|
|
200
|
+
return BufferSink.serialize(this);
|
|
201
|
+
}
|
|
202
|
+
serializeToSink(sink, ...PublicCallRequestArrayLengths.getFields(this));
|
|
193
203
|
}
|
|
194
204
|
|
|
195
205
|
static empty() {
|
|
@@ -250,8 +260,13 @@ export class CountedPublicCallRequest {
|
|
|
250
260
|
return new CountedPublicCallRequest(reader.readObject(PublicCallRequest), reader.readNumber());
|
|
251
261
|
}
|
|
252
262
|
|
|
253
|
-
toBuffer()
|
|
254
|
-
|
|
263
|
+
toBuffer(): Buffer;
|
|
264
|
+
toBuffer(sink: BufferSink): void;
|
|
265
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
266
|
+
if (!sink) {
|
|
267
|
+
return BufferSink.serialize(this);
|
|
268
|
+
}
|
|
269
|
+
serializeToSink(sink, ...CountedPublicCallRequest.getFields(this));
|
|
255
270
|
}
|
|
256
271
|
|
|
257
272
|
static empty() {
|
package/src/keys/derivation.ts
CHANGED
|
@@ -7,11 +7,15 @@ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
|
7
7
|
|
|
8
8
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
9
9
|
import type { KeyPrefix } from './key_types.js';
|
|
10
|
+
import { PublicKey, hashPublicKey } from './public_key.js';
|
|
10
11
|
import { PublicKeys } from './public_keys.js';
|
|
11
12
|
import { getKeyGenerator } from './utils.js';
|
|
12
13
|
|
|
13
|
-
export function computeAppNullifierHidingKey(
|
|
14
|
-
|
|
14
|
+
export function computeAppNullifierHidingKey(
|
|
15
|
+
masterNullifierHidingSecretKey: GrumpkinScalar,
|
|
16
|
+
app: AztecAddress,
|
|
17
|
+
): Promise<Fr> {
|
|
18
|
+
return computeAppSecretKey(masterNullifierHidingSecretKey, app, 'n'); // 'n' is the key prefix for nullifier hiding key
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
export function computeAppSecretKey(skM: GrumpkinScalar, app: AztecAddress, keyPrefix: KeyPrefix): Promise<Fr> {
|
|
@@ -26,7 +30,7 @@ export async function computeOvskApp(ovsk: GrumpkinScalar, app: AztecAddress): P
|
|
|
26
30
|
return GrumpkinScalar.fromBuffer(ovskAppFr.toBuffer());
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
export function
|
|
33
|
+
export function deriveMasterNullifierHidingSecretKey(secretKey: Fr): GrumpkinScalar {
|
|
30
34
|
return sha512ToGrumpkinScalar([secretKey, DomainSeparator.NHK_M]);
|
|
31
35
|
}
|
|
32
36
|
|
|
@@ -38,24 +42,27 @@ export function deriveMasterOutgoingViewingSecretKey(secretKey: Fr): GrumpkinSca
|
|
|
38
42
|
return sha512ToGrumpkinScalar([secretKey, DomainSeparator.OVSK_M]);
|
|
39
43
|
}
|
|
40
44
|
|
|
41
|
-
export function
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
export function deriveMasterMessageSigningSecretKey(secretKey: Fr): GrumpkinScalar {
|
|
46
|
+
return sha512ToGrumpkinScalar([secretKey, DomainSeparator.MSSK_M]);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function deriveMasterFallbackSecretKey(secretKey: Fr): GrumpkinScalar {
|
|
50
|
+
return sha512ToGrumpkinScalar([secretKey, DomainSeparator.FBSK_M]);
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
export function computePreaddress(publicKeysHash: Fr, partialAddress: Fr) {
|
|
47
|
-
return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.
|
|
54
|
+
return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2);
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
export async function computeAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<AztecAddress> {
|
|
51
58
|
// Given public keys and a partial address, we can compute our address in the following steps.
|
|
52
|
-
// 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.
|
|
59
|
+
// 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2);
|
|
53
60
|
// 2. addressPoint = (preaddress * G) + ivpk_m
|
|
54
61
|
// 3. address = addressPoint.x
|
|
55
62
|
const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
|
|
56
63
|
const address = await Grumpkin.add(
|
|
57
64
|
await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())),
|
|
58
|
-
publicKeys.
|
|
65
|
+
publicKeys.ivpkM,
|
|
59
66
|
);
|
|
60
67
|
|
|
61
68
|
return new AztecAddress(address.x);
|
|
@@ -83,42 +90,92 @@ export async function computeAddressSecret(preaddress: Fr, ivsk: Fq) {
|
|
|
83
90
|
return addressSecretCandidate;
|
|
84
91
|
}
|
|
85
92
|
|
|
86
|
-
export function derivePublicKeyFromSecretKey(secretKey: Fq) {
|
|
93
|
+
export function derivePublicKeyFromSecretKey(secretKey: Fq): Promise<PublicKey> {
|
|
94
|
+
// 0 * G is the point at infinity. The WASM encodes infinity with an out-of-field x coordinate that Point cannot
|
|
95
|
+
// deserialize, so return the point directly instead of calling into it.
|
|
96
|
+
if (secretKey.isZero()) {
|
|
97
|
+
return Promise.resolve(PublicKey.INFINITY);
|
|
98
|
+
}
|
|
87
99
|
return Grumpkin.mul(Grumpkin.generator, secretKey);
|
|
88
100
|
}
|
|
89
101
|
|
|
102
|
+
/**
|
|
103
|
+
* The six master secret keys that fully define an account's privacy keys.
|
|
104
|
+
*/
|
|
105
|
+
export type MasterSecretKeys = {
|
|
106
|
+
masterNullifierHidingSecretKey: GrumpkinScalar;
|
|
107
|
+
masterIncomingViewingSecretKey: GrumpkinScalar;
|
|
108
|
+
masterOutgoingViewingSecretKey: GrumpkinScalar;
|
|
109
|
+
masterTaggingSecretKey: GrumpkinScalar;
|
|
110
|
+
masterMessageSigningSecretKey: GrumpkinScalar;
|
|
111
|
+
masterFallbackSecretKey: GrumpkinScalar;
|
|
112
|
+
};
|
|
113
|
+
|
|
90
114
|
/**
|
|
91
115
|
* Computes secret and public keys and public keys hash from a secret key.
|
|
92
116
|
* @param secretKey - The secret key to derive keys from.
|
|
93
117
|
* @returns The derived keys.
|
|
94
118
|
*/
|
|
95
|
-
export
|
|
119
|
+
export function deriveKeys(secretKey: Fr) {
|
|
96
120
|
// First we derive master secret/hiding keys - we use sha512 here because this derivation will never take place
|
|
97
121
|
// in a circuit
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
122
|
+
return deriveKeysFromMasterSecretKeys({
|
|
123
|
+
masterNullifierHidingSecretKey: deriveMasterNullifierHidingSecretKey(secretKey),
|
|
124
|
+
masterIncomingViewingSecretKey: deriveMasterIncomingViewingSecretKey(secretKey),
|
|
125
|
+
masterOutgoingViewingSecretKey: deriveMasterOutgoingViewingSecretKey(secretKey),
|
|
126
|
+
masterTaggingSecretKey: sha512ToGrumpkinScalar([secretKey, DomainSeparator.TSK_M]),
|
|
127
|
+
masterMessageSigningSecretKey: deriveMasterMessageSigningSecretKey(secretKey),
|
|
128
|
+
masterFallbackSecretKey: deriveMasterFallbackSecretKey(secretKey),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Derives the master public keys and the {@link PublicKeys} struct from a set of master secret keys.
|
|
134
|
+
* @param secretKeys - The master secret keys to derive public keys from.
|
|
135
|
+
* @returns The provided secret keys alongside the derived public keys.
|
|
136
|
+
*/
|
|
137
|
+
export async function deriveKeysFromMasterSecretKeys(secretKeys: MasterSecretKeys) {
|
|
138
|
+
const {
|
|
139
|
+
masterNullifierHidingSecretKey,
|
|
140
|
+
masterIncomingViewingSecretKey,
|
|
141
|
+
masterOutgoingViewingSecretKey,
|
|
142
|
+
masterTaggingSecretKey,
|
|
143
|
+
masterMessageSigningSecretKey,
|
|
144
|
+
masterFallbackSecretKey,
|
|
145
|
+
} = secretKeys;
|
|
102
146
|
|
|
103
|
-
|
|
104
|
-
const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
|
|
147
|
+
const masterNullifierHidingPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingSecretKey);
|
|
105
148
|
const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
|
|
106
149
|
const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
|
|
107
150
|
const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey);
|
|
151
|
+
const masterMessageSigningPublicKey = await derivePublicKeyFromSecretKey(masterMessageSigningSecretKey);
|
|
152
|
+
const masterFallbackPublicKey = await derivePublicKeyFromSecretKey(masterFallbackSecretKey);
|
|
108
153
|
|
|
109
|
-
//
|
|
154
|
+
// The non-owner-visible PublicKeys carries hashes for npk/ovpk/tpk/mspk/fbpk and the raw
|
|
155
|
+
// point only for ivpk_m. The npk/ovpk/tpk/mspk/fbpk raw points are also returned alongside so the key
|
|
156
|
+
// store can persist them under `${account}-{n|ov|t|ms|fb}pk_m` (only their hashes live in publicKeys).
|
|
157
|
+
// The ivpk_m point isn't returned separately because it already lives in publicKeys.ivpkM.
|
|
110
158
|
const publicKeys = new PublicKeys(
|
|
111
|
-
|
|
159
|
+
await hashPublicKey(masterNullifierHidingPublicKey),
|
|
112
160
|
masterIncomingViewingPublicKey,
|
|
113
|
-
masterOutgoingViewingPublicKey,
|
|
114
|
-
masterTaggingPublicKey,
|
|
161
|
+
await hashPublicKey(masterOutgoingViewingPublicKey),
|
|
162
|
+
await hashPublicKey(masterTaggingPublicKey),
|
|
163
|
+
await hashPublicKey(masterMessageSigningPublicKey),
|
|
164
|
+
await hashPublicKey(masterFallbackPublicKey),
|
|
115
165
|
);
|
|
116
166
|
|
|
117
167
|
return {
|
|
118
|
-
|
|
168
|
+
masterNullifierHidingSecretKey,
|
|
119
169
|
masterIncomingViewingSecretKey,
|
|
120
170
|
masterOutgoingViewingSecretKey,
|
|
121
171
|
masterTaggingSecretKey,
|
|
172
|
+
masterMessageSigningSecretKey,
|
|
173
|
+
masterFallbackSecretKey,
|
|
174
|
+
masterNullifierHidingPublicKey,
|
|
175
|
+
masterOutgoingViewingPublicKey,
|
|
176
|
+
masterTaggingPublicKey,
|
|
177
|
+
masterMessageSigningPublicKey,
|
|
178
|
+
masterFallbackPublicKey,
|
|
122
179
|
publicKeys,
|
|
123
180
|
};
|
|
124
181
|
}
|
package/src/keys/public_key.ts
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
5
|
|
|
3
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Hashes a public key.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
|
|
10
|
+
* `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
|
|
11
|
+
*
|
|
12
|
+
* This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
|
|
13
|
+
* which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
|
|
14
|
+
* for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
|
|
15
|
+
* of other Grumpkin points (e.g. note commitments, nullifiers).
|
|
16
|
+
*/
|
|
17
|
+
export function hashPublicKey(pk: PublicKey): Promise<Fr> {
|
|
18
|
+
return poseidon2HashWithSeparator([pk.x, pk.y], DomainSeparator.SINGLE_PUBLIC_KEY_HASH);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Represents a user public key.
|
|
23
|
+
*
|
|
24
|
+
* Structurally identical to a Grumpkin `Point`; exposed as a distinct name so call sites read as "public key" where
|
|
25
|
+
* that's the domain meaning.
|
|
26
|
+
*/
|
|
4
27
|
export type PublicKey = Point;
|
|
28
|
+
export const PublicKey = Point;
|