@aztec/stdlib 0.0.1-commit.e3c1de76 → 0.0.1-commit.e57c76e
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 +142 -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 +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +14 -7
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +64 -7
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +4 -7
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +22 -10
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/function_selector.d.ts +3 -6
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -4
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +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 +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +16 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +1756 -10463
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +6 -3
- 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 +6 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +13 -21
- package/dest/aztec-address/index.d.ts +8 -8
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +9 -6
- 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 +27 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +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/in_block.js +1 -1
- package/dest/block/index.d.ts +2 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -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 +216 -338
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +67 -1
- 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_block_stream.d.ts +2 -2
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
- 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 +3 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -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 +43 -11
- package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
- 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/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 +5 -4
- package/dest/checkpoint/checkpoint.d.ts +48 -99
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +41 -17
- package/dest/checkpoint/checkpoint_data.d.ts +97 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +38 -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 +53 -190
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/chain-config.d.ts +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/sequencer-config.d.ts +14 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +38 -0
- 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 +6 -6
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +9 -8
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +7 -6
- package/dest/contract/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 +4 -2
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +10 -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_instance.d.ts +41 -95
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +4 -2
- 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 +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +4 -6
- 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 +6 -2
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +12 -1
- package/dest/epoch-helpers/index.d.ts +14 -18
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +18 -2
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +20 -9
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.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 +20 -4
- package/dest/gas/gas_settings.d.ts +66 -86
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +56 -9
- 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 +72 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +88 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +32 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +35 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +78 -11
- package/dest/hash/map_slot.js +2 -2
- package/dest/interfaces/allowed_element.d.ts +17 -35
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/api_limit.js +1 -1
- package/dest/interfaces/archiver.d.ts +22 -32
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +215 -65
- package/dest/interfaces/aztec-node-admin.d.ts +106 -255
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +68 -17
- 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 +21 -0
- package/dest/interfaces/aztec-node.d.ts +140 -124
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +311 -68
- package/dest/interfaces/block-builder.d.ts +41 -12
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- 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 +50 -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 +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 +8 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +73 -117
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +18 -3
- 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 +13 -22
- 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 +18 -13
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +28 -5
- package/dest/interfaces/private_kernel_prover.d.ts +62 -2
- 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-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +12 -23
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +12 -4
- package/dest/interfaces/prover-node.js +22 -8
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +742 -5793
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +1 -1
- 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 -1
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -0
- package/dest/interfaces/slasher.d.ts +27 -59
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +10 -4
- package/dest/interfaces/tx_provider.d.ts +6 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +76 -168
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +16 -5
- package/dest/interfaces/world_state.d.ts +6 -5
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request.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/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/index.d.ts +5 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -0
- 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 +21 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts +10 -10
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +4 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -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 +35 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -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 +37 -0
- 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_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
- 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 +7 -6
- 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 +13 -9
- 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 +7 -6
- 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 +13 -9
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- 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 +9 -5
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +28 -18
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- 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/keys/utils.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +8 -4
- package/dest/kv-store/config.d.ts +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 +46 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +109 -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 -34
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +11 -9
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/index.d.ts +9 -7
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +8 -6
- 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/message_context.d.ts +6 -8
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +27 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- package/dest/logs/pre_tag.d.ts +14 -22
- 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 +8 -13
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/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 +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +12 -9
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +18 -7
- package/dest/logs/tag.d.ts +5 -6
- package/dest/logs/tag.d.ts.map +1 -1
- package/dest/logs/tag.js +5 -1
- package/dest/logs/tagging_index_range.d.ts +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 +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +133 -30
- 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 +5 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note.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 +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +45 -0
- package/dest/p2p/block_proposal.d.ts +32 -15
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +58 -42
- package/dest/p2p/checkpoint_attestation.d.ts +16 -9
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +23 -24
- package/dest/p2p/checkpoint_proposal.d.ts +50 -24
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +77 -65
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +32 -17
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +47 -21
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/gossipable.d.ts +4 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/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 +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/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/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/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 +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- 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 +14 -7
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
- 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 +7 -7
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- 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 +16 -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 +21 -111
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +28 -24
- package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +35 -3
- package/dest/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 -30
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +94 -86
- package/dest/tests/mocks.d.ts +15 -7
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +68 -70
- package/dest/timetable/index.d.ts +84 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +209 -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 +16 -59
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +2 -14
- package/dest/trees/public_data_leaf.d.ts +22 -53
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/trees/public_data_witness.d.ts +16 -58
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- 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 +13 -6
- 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/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 +3 -4
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +19 -52
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +8 -12
- package/dest/tx/hashed_values.d.ts +4 -3
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +6 -3
- 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/profiling.d.ts +70 -356
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +19 -9
- package/dest/tx/protocol_contracts.d.ts +5 -9
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- 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/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +68 -1144
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +17 -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 +19 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +48 -29
- 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 +151 -51
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +145 -51
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +10 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +11 -1
- package/dest/tx/validator/tx_validator.d.ts +6 -28
- 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 +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/validators/schemas.d.ts +147 -614
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +9 -6
- package/dest/validators/types.d.ts +21 -4
- 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 +13 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +7 -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 +27 -14
- package/src/abi/abi.ts +78 -21
- package/src/abi/authorization_selector.ts +2 -8
- package/src/abi/buffer.ts +25 -4
- package/src/abi/contract_artifact.ts +11 -6
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +85 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +2 -8
- package/src/abi/function_call.ts +25 -3
- package/src/abi/function_selector.ts +4 -13
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +3 -12
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +31 -4
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/avm.ts +5 -0
- package/src/avm/message_pack.ts +12 -3
- package/src/avm/revert_code.ts +20 -25
- package/src/aztec-address/index.ts +15 -12
- package/src/block/attestation_info.ts +11 -11
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +21 -14
- package/src/block/block_parameter.ts +72 -4
- package/src/block/in_block.ts +1 -1
- package/src/block/index.ts +1 -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 +214 -123
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
- package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
- package/src/block/proposal/attestations_and_signers.ts +32 -17
- package/src/block/test/l2_tips_store_test_suite.ts +10 -3
- package/src/checkpoint/checkpoint.ts +54 -17
- package/src/checkpoint/checkpoint_data.ts +91 -0
- 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/published_checkpoint.ts +3 -1
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/sequencer-config.ts +65 -0
- package/src/contract/complete_address.ts +7 -3
- package/src/contract/contract_address.ts +10 -10
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +7 -6
- package/src/contract/contract_instance.ts +11 -2
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/contract_class.ts +2 -82
- package/src/contract/interfaces/contract_instance.ts +6 -2
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +5 -3
- package/src/database-version/version_manager.ts +17 -0
- package/src/epoch-helpers/index.ts +30 -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/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +8 -3
- package/src/gas/gas_fees.ts +29 -10
- package/src/gas/gas_settings.ts +73 -15
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +152 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +76 -11
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/api_limit.ts +1 -1
- package/src/interfaces/archiver.ts +90 -88
- package/src/interfaces/aztec-node-admin.ts +57 -18
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +344 -266
- package/src/interfaces/block-builder.ts +63 -14
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +24 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +7 -1
- package/src/interfaces/configs.ts +75 -8
- 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 +12 -21
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +38 -29
- package/src/interfaces/private_kernel_prover.ts +88 -0
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +17 -5
- package/src/interfaces/prover-node.ts +7 -7
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +3 -3
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -0
- package/src/interfaces/slasher.ts +21 -10
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +87 -36
- package/src/interfaces/world_state.ts +5 -4
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/key_validation_request.ts +18 -16
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/index.ts +4 -0
- package/src/kernel/log_hash.ts +29 -9
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
- 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_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
- 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 +14 -8
- package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/kernel/public_call_request.ts +22 -7
- package/src/keys/derivation.ts +33 -21
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +125 -111
- package/src/keys/utils.ts +8 -4
- 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 +137 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +15 -5
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/index.ts +8 -6
- 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/message_context.ts +22 -8
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +9 -3
- package/src/logs/public_log.ts +4 -2
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +28 -14
- package/src/logs/tag.ts +9 -9
- 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 +12 -9
- package/src/messaging/l1_to_l2_message_source.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +192 -38
- package/src/messaging/l2_to_l1_message.ts +29 -9
- package/src/noir/index.ts +4 -2
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +112 -39
- package/src/p2p/checkpoint_attestation.ts +33 -32
- package/src/p2p/checkpoint_proposal.ts +159 -86
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +68 -24
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/gossipable.ts +4 -4
- package/src/p2p/index.ts +0 -1
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +110 -25
- package/src/p2p/signed_txs.ts +46 -28
- package/src/p2p/topic_type.ts +8 -15
- 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/block_headers_hash.ts +11 -2
- package/src/rollup/block_rollup_public_inputs.ts +13 -0
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/schemas/schemas.ts +6 -1
- package/src/slashing/helpers.ts +21 -9
- package/src/slashing/index.ts +1 -2
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +38 -49
- package/src/slashing/{tally.ts → votes.ts} +41 -2
- package/src/stats/stats.ts +4 -0
- package/src/tests/factories.ts +120 -119
- package/src/tests/mocks.ts +106 -84
- package/src/timetable/index.ts +304 -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 +2 -12
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +18 -7
- package/src/tx/capsule.ts +10 -2
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/global_variable_builder.ts +2 -3
- package/src/tx/global_variables.ts +13 -21
- package/src/tx/hashed_values.ts +8 -3
- 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/profiling.ts +18 -9
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +8 -3
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +30 -22
- package/src/tx/state_reference.ts +9 -4
- package/src/tx/tree_snapshots.ts +9 -4
- package/src/tx/tx.ts +63 -35
- 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 +269 -74
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +13 -1
- package/src/tx/validator/tx_validator.ts +2 -6
- 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 +9 -0
- package/src/validators/schemas.ts +13 -4
- package/src/validators/types.ts +25 -5
- package/src/versioning/versioning.ts +5 -2
- package/src/vks/verification_key.ts +5 -184
- package/src/world-state/genesis_data.ts +27 -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/get_logs_response.d.ts +0 -90
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -12
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.d.ts +0 -45
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -158
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.js +0 -64
- 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_public_log.d.ts +0 -100
- 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 -82
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -92
- 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/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -85
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/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/get_logs_response.ts +0 -35
- package/src/l1-contracts/slash_factory.ts +0 -180
- package/src/logs/directional_app_tagging_secret.ts +0 -79
- package/src/logs/extended_contract_class_log.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 -122
- package/src/logs/tx_scoped_l2_log.ts +0 -98
- package/src/note/notes_filter.ts +0 -38
- package/src/slashing/empire.ts +0 -102
- package/src/update-checker/update-checker.ts +0 -166
package/dest/keys/derivation.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEFAULT_FBPK_M_HASH, DEFAULT_MSPK_M_HASH, DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
|
|
3
3
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
4
4
|
import { sha512ToGrumpkinScalar } from '@aztec/foundation/crypto/sha512';
|
|
5
5
|
import { Fq, Fr } from '@aztec/foundation/curves/bn254';
|
|
6
6
|
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
7
7
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
8
|
+
import { hashPublicKey } from './public_key.js';
|
|
8
9
|
import { PublicKeys } from './public_keys.js';
|
|
9
10
|
import { getKeyGenerator } from './utils.js';
|
|
10
|
-
export function
|
|
11
|
-
return computeAppSecretKey(
|
|
11
|
+
export function computeAppNullifierHidingKey(masterNullifierHidingKey, app) {
|
|
12
|
+
return computeAppSecretKey(masterNullifierHidingKey, app, 'n'); // 'n' is the key prefix for nullifier hiding key
|
|
12
13
|
}
|
|
13
14
|
export function computeAppSecretKey(skM, app, keyPrefix) {
|
|
14
15
|
const generator = getKeyGenerator(keyPrefix);
|
|
@@ -24,44 +25,44 @@ export async function computeOvskApp(ovsk, app) {
|
|
|
24
25
|
// P = s * G will not be uniform because 2 * (q - r) / q is small.
|
|
25
26
|
return GrumpkinScalar.fromBuffer(ovskAppFr.toBuffer());
|
|
26
27
|
}
|
|
27
|
-
export function
|
|
28
|
+
export function deriveMasterNullifierHidingKey(secretKey) {
|
|
28
29
|
return sha512ToGrumpkinScalar([
|
|
29
30
|
secretKey,
|
|
30
|
-
|
|
31
|
+
DomainSeparator.NHK_M
|
|
31
32
|
]);
|
|
32
33
|
}
|
|
33
34
|
export function deriveMasterIncomingViewingSecretKey(secretKey) {
|
|
34
35
|
return sha512ToGrumpkinScalar([
|
|
35
36
|
secretKey,
|
|
36
|
-
|
|
37
|
+
DomainSeparator.IVSK_M
|
|
37
38
|
]);
|
|
38
39
|
}
|
|
39
40
|
export function deriveMasterOutgoingViewingSecretKey(secretKey) {
|
|
40
41
|
return sha512ToGrumpkinScalar([
|
|
41
42
|
secretKey,
|
|
42
|
-
|
|
43
|
+
DomainSeparator.OVSK_M
|
|
43
44
|
]);
|
|
44
45
|
}
|
|
45
46
|
export function deriveSigningKey(secretKey) {
|
|
46
47
|
// TODO(#5837): come up with a standard signing key derivation scheme instead of using ivsk_m as signing keys here
|
|
47
48
|
return sha512ToGrumpkinScalar([
|
|
48
49
|
secretKey,
|
|
49
|
-
|
|
50
|
+
DomainSeparator.IVSK_M
|
|
50
51
|
]);
|
|
51
52
|
}
|
|
52
53
|
export function computePreaddress(publicKeysHash, partialAddress) {
|
|
53
54
|
return poseidon2HashWithSeparator([
|
|
54
55
|
publicKeysHash,
|
|
55
56
|
partialAddress
|
|
56
|
-
],
|
|
57
|
+
], DomainSeparator.CONTRACT_ADDRESS_V2);
|
|
57
58
|
}
|
|
58
59
|
export async function computeAddress(publicKeys, partialAddress) {
|
|
59
60
|
// Given public keys and a partial address, we can compute our address in the following steps.
|
|
60
|
-
// 1. preaddress = poseidon2([publicKeysHash, partialAddress],
|
|
61
|
+
// 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2);
|
|
61
62
|
// 2. addressPoint = (preaddress * G) + ivpk_m
|
|
62
63
|
// 3. address = addressPoint.x
|
|
63
64
|
const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
|
|
64
|
-
const address = await Grumpkin.add(await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())), publicKeys.
|
|
65
|
+
const address = await Grumpkin.add(await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())), publicKeys.ivpkM);
|
|
65
66
|
return new AztecAddress(address.x);
|
|
66
67
|
}
|
|
67
68
|
export async function computeAddressSecret(preaddress, ivsk) {
|
|
@@ -91,27 +92,36 @@ export function derivePublicKeyFromSecretKey(secretKey) {
|
|
|
91
92
|
* @param secretKey - The secret key to derive keys from.
|
|
92
93
|
* @returns The derived keys.
|
|
93
94
|
*/ export async function deriveKeys(secretKey) {
|
|
94
|
-
// First we derive master secret keys - we use sha512 here because this derivation will never take place
|
|
95
|
+
// First we derive master secret/hiding keys - we use sha512 here because this derivation will never take place
|
|
95
96
|
// in a circuit
|
|
96
|
-
const
|
|
97
|
+
const masterNullifierHidingKey = deriveMasterNullifierHidingKey(secretKey);
|
|
97
98
|
const masterIncomingViewingSecretKey = deriveMasterIncomingViewingSecretKey(secretKey);
|
|
98
99
|
const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
|
|
99
100
|
const masterTaggingSecretKey = sha512ToGrumpkinScalar([
|
|
100
101
|
secretKey,
|
|
101
|
-
|
|
102
|
+
DomainSeparator.TSK_M
|
|
102
103
|
]);
|
|
103
104
|
// Then we derive master public keys
|
|
104
|
-
const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(
|
|
105
|
+
const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
|
|
105
106
|
const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
|
|
106
107
|
const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
|
|
107
108
|
const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey);
|
|
108
|
-
//
|
|
109
|
-
|
|
109
|
+
// The non-owner-visible PublicKeys carries hashes for npk/ovpk/tpk/mspk/fbpk and the raw
|
|
110
|
+
// point only for ivpk_m. The npk/ovpk/tpk raw points are also returned alongside so the key
|
|
111
|
+
// store can persist them under `${account}-{n|ov|t}pk_m` (only their hashes live in publicKeys).
|
|
112
|
+
// The ivpk_m point isn't returned separately because it already lives in publicKeys.ivpkM.
|
|
113
|
+
//
|
|
114
|
+
// TODO: There isn't a derivation path for the message signing(msk) and fallback(fbk) keys yet. So we just use the the
|
|
115
|
+
// default values for now.
|
|
116
|
+
const publicKeys = new PublicKeys(await hashPublicKey(masterNullifierPublicKey), masterIncomingViewingPublicKey, await hashPublicKey(masterOutgoingViewingPublicKey), await hashPublicKey(masterTaggingPublicKey), new Fr(DEFAULT_MSPK_M_HASH), new Fr(DEFAULT_FBPK_M_HASH));
|
|
110
117
|
return {
|
|
111
|
-
|
|
118
|
+
masterNullifierHidingKey,
|
|
112
119
|
masterIncomingViewingSecretKey,
|
|
113
120
|
masterOutgoingViewingSecretKey,
|
|
114
121
|
masterTaggingSecretKey,
|
|
122
|
+
masterNullifierPublicKey,
|
|
123
|
+
masterOutgoingViewingPublicKey,
|
|
124
|
+
masterTaggingPublicKey,
|
|
115
125
|
publicKeys
|
|
116
126
|
};
|
|
117
127
|
}
|
package/dest/keys/key_types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type KeyGenerator =
|
|
1
|
+
import type { DomainSeparator } from '@aztec/constants';
|
|
2
|
+
export type KeyGenerator = DomainSeparator.NHK_M | DomainSeparator.IVSK_M | DomainSeparator.OVSK_M | DomainSeparator.TSK_M;
|
|
3
3
|
export type KeyPrefix = 'n' | 'iv' | 'ov' | 't';
|
|
4
4
|
export declare const KEY_PREFIXES: KeyPrefix[];
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2V5cy9rZXlfdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsTUFBTSxNQUFNLFlBQVksR0FDcEIsZUFBZSxDQUFDLEtBQUssR0FDckIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLEtBQUssQ0FBQztBQUMxQixNQUFNLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztBQUNoRCxlQUFPLE1BQU0sWUFBWSxFQUFFLFNBQVMsRUFBMkIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,YAAY,GACpB,eAAe,CAAC,KAAK,GACrB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,KAAK,CAAC;AAC1B,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAChD,eAAO,MAAM,YAAY,EAAE,SAAS,EAA2B,CAAC"}
|
|
@@ -1,4 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
3
|
+
/**
|
|
4
|
+
* Hashes a public key.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
|
|
7
|
+
* `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
|
|
8
|
+
*
|
|
9
|
+
* This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
|
|
10
|
+
* which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
|
|
11
|
+
* for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
|
|
12
|
+
* of other Grumpkin points (e.g. note commitments, nullifiers).
|
|
13
|
+
*/
|
|
14
|
+
export declare function hashPublicKey(pk: PublicKey): Promise<Fr>;
|
|
15
|
+
/**
|
|
16
|
+
* Represents a user public key.
|
|
17
|
+
*
|
|
18
|
+
* Structurally identical to a Grumpkin `Point`; exposed as a distinct name so call sites read as "public key" where
|
|
19
|
+
* that's the domain meaning.
|
|
20
|
+
*/
|
|
3
21
|
export type PublicKey = Point;
|
|
4
|
-
|
|
22
|
+
export declare const PublicKey: typeof Point;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvcHVibGljX2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEVBQUUsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV4RDtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDOUIsZUFBTyxNQUFNLFNBQVMsY0FBUSxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_key.d.ts","sourceRoot":"","sources":["../../src/keys/public_key.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"public_key.d.ts","sourceRoot":"","sources":["../../src/keys/public_key.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAExD;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC;AAC9B,eAAO,MAAM,SAAS,cAAQ,CAAC"}
|
package/dest/keys/public_key.js
CHANGED
|
@@ -1 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
4
|
+
/**
|
|
5
|
+
* Hashes a public key.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
|
|
8
|
+
* `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
|
|
9
|
+
*
|
|
10
|
+
* This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
|
|
11
|
+
* which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
|
|
12
|
+
* for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
|
|
13
|
+
* of other Grumpkin points (e.g. note commitments, nullifiers).
|
|
14
|
+
*/ export function hashPublicKey(pk) {
|
|
15
|
+
return poseidon2HashWithSeparator([
|
|
16
|
+
pk.x,
|
|
17
|
+
pk.y
|
|
18
|
+
], DomainSeparator.SINGLE_PUBLIC_KEY_HASH);
|
|
19
|
+
}
|
|
20
|
+
export const PublicKey = Point;
|
|
@@ -1,68 +1,65 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
3
2
|
import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
|
|
4
3
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
5
4
|
import { z } from 'zod';
|
|
6
|
-
import
|
|
5
|
+
import { PublicKey } from './public_key.js';
|
|
6
|
+
/**
|
|
7
|
+
* A non-owner's view of an account's master public keys.
|
|
8
|
+
*
|
|
9
|
+
* Only `ivpkM` is exposed as a point (since address derivation needs the curve
|
|
10
|
+
* point in-circuit); the other five keys are exposed as their `hashPublicKey` digests.
|
|
11
|
+
*/
|
|
7
12
|
export declare class PublicKeys {
|
|
8
|
-
/**
|
|
9
|
-
|
|
13
|
+
/** Hash of the master nullifier public key */
|
|
14
|
+
npkMHash: Fr;
|
|
10
15
|
/** Master incoming viewing public key */
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
+
ivpkM: PublicKey;
|
|
17
|
+
/** Hash of the master outgoing viewing public key */
|
|
18
|
+
ovpkMHash: Fr;
|
|
19
|
+
/** Hash of the master tagging public key */
|
|
20
|
+
tpkMHash: Fr;
|
|
21
|
+
/** Hash of the master message-signing public key */
|
|
22
|
+
mspkMHash: Fr;
|
|
23
|
+
/** Hash of the master fallback public key */
|
|
24
|
+
fbpkMHash: Fr;
|
|
16
25
|
constructor(
|
|
17
|
-
/**
|
|
18
|
-
|
|
26
|
+
/** Hash of the master nullifier public key */
|
|
27
|
+
npkMHash: Fr,
|
|
19
28
|
/** Master incoming viewing public key */
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
masterTaggingPublicKey: string;
|
|
45
|
-
}>;
|
|
29
|
+
ivpkM: PublicKey,
|
|
30
|
+
/** Hash of the master outgoing viewing public key */
|
|
31
|
+
ovpkMHash: Fr,
|
|
32
|
+
/** Hash of the master tagging public key */
|
|
33
|
+
tpkMHash: Fr,
|
|
34
|
+
/** Hash of the master message-signing public key */
|
|
35
|
+
mspkMHash: Fr,
|
|
36
|
+
/** Hash of the master fallback public key */
|
|
37
|
+
fbpkMHash: Fr);
|
|
38
|
+
static get schema(): z.ZodPipe<z.ZodObject<{
|
|
39
|
+
npkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
40
|
+
ivpkM: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
|
|
41
|
+
ovpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
42
|
+
tpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
43
|
+
mspkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
44
|
+
fbpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
|
|
45
|
+
}, z.core.$strip>, z.ZodTransform<PublicKeys, {
|
|
46
|
+
npkMHash: Fr;
|
|
47
|
+
ivpkM: import("@aztec/foundation/schemas").Point;
|
|
48
|
+
ovpkMHash: Fr;
|
|
49
|
+
tpkMHash: Fr;
|
|
50
|
+
mspkMHash: Fr;
|
|
51
|
+
fbpkMHash: Fr;
|
|
52
|
+
}>>;
|
|
46
53
|
static from(fields: FieldsOf<PublicKeys>): PublicKeys;
|
|
47
54
|
/**
|
|
48
55
|
* Creates a PublicKeys from a plain object without Zod validation.
|
|
49
|
-
*
|
|
50
|
-
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
51
|
-
* @param obj - Plain object containing PublicKeys fields
|
|
52
|
-
* @returns A PublicKeys instance
|
|
56
|
+
* Suitable for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
53
57
|
*/
|
|
54
58
|
static fromPlainObject(obj: any): PublicKeys;
|
|
55
|
-
hash():
|
|
59
|
+
hash(): Promise<Fr>;
|
|
56
60
|
isEmpty(): boolean;
|
|
57
61
|
static default(): PublicKeys;
|
|
58
62
|
static random(): Promise<PublicKeys>;
|
|
59
|
-
/**
|
|
60
|
-
* Determines if this PublicKeys instance is equal to the given PublicKeys instance.
|
|
61
|
-
* Equality is based on the content of their respective buffers.
|
|
62
|
-
*
|
|
63
|
-
* @param other - The PublicKeys instance to compare against.
|
|
64
|
-
* @returns True if the buffers of both instances are equal, false otherwise.
|
|
65
|
-
*/
|
|
66
63
|
equals(other: PublicKeys): boolean;
|
|
67
64
|
/**
|
|
68
65
|
* Converts the PublicKeys instance into a Buffer.
|
|
@@ -71,48 +68,24 @@ export declare class PublicKeys {
|
|
|
71
68
|
* @returns A Buffer representation of the PublicKeys instance.
|
|
72
69
|
*/
|
|
73
70
|
toBuffer(): Buffer;
|
|
74
|
-
/**
|
|
75
|
-
* Creates an PublicKeys instance from a given buffer or BufferReader.
|
|
76
|
-
* If the input is a Buffer, it wraps it in a BufferReader before processing.
|
|
77
|
-
* Throws an error if the input length is not equal to the expected size.
|
|
78
|
-
*
|
|
79
|
-
* @param buffer - The input buffer or BufferReader containing the address data.
|
|
80
|
-
* @returns - A new PublicKeys instance with the extracted address data.
|
|
81
|
-
*/
|
|
82
71
|
static fromBuffer(buffer: Buffer | BufferReader): PublicKeys;
|
|
83
72
|
toNoirStruct(): {
|
|
84
|
-
|
|
85
|
-
inner: {
|
|
86
|
-
x: Fr;
|
|
87
|
-
y: Fr;
|
|
88
|
-
is_infinite: boolean;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
73
|
+
npk_m_hash: Fr;
|
|
91
74
|
ivpk_m: {
|
|
92
75
|
inner: {
|
|
93
76
|
x: Fr;
|
|
94
77
|
y: Fr;
|
|
95
|
-
is_infinite: boolean;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
ovpk_m: {
|
|
99
|
-
inner: {
|
|
100
|
-
x: Fr;
|
|
101
|
-
y: Fr;
|
|
102
|
-
is_infinite: boolean;
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
tpk_m: {
|
|
106
|
-
inner: {
|
|
107
|
-
x: Fr;
|
|
108
|
-
y: Fr;
|
|
109
|
-
is_infinite: boolean;
|
|
110
78
|
};
|
|
111
79
|
};
|
|
80
|
+
ovpk_m_hash: Fr;
|
|
81
|
+
tpk_m_hash: Fr;
|
|
82
|
+
mspk_m_hash: Fr;
|
|
83
|
+
fbpk_m_hash: Fr;
|
|
112
84
|
};
|
|
113
85
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
86
|
+
* Wire-format fields matching Noir's struct flattening of `PublicKeys`:
|
|
87
|
+
* `[npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, mspk_m_hash, fbpk_m_hash]`
|
|
88
|
+
* (7 fields).
|
|
116
89
|
*/
|
|
117
90
|
toFields(): Fr[];
|
|
118
91
|
encodeToNoir(): Fr[];
|
|
@@ -120,4 +93,4 @@ export declare class PublicKeys {
|
|
|
120
93
|
toString(): `0x${string}`;
|
|
121
94
|
static fromString(keys: string): PublicKeys;
|
|
122
95
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlzL3B1YmxpY19rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFFM0Q7Ozs7O0dBS0c7QUFDSCxxQkFBYSxVQUFVO0lBRW5CLDhDQUE4QztJQUN2QyxRQUFRLEVBQUUsRUFBRTtJQUNuQix5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFNBQVM7SUFDdkIscURBQXFEO0lBQzlDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCLDRDQUE0QztJQUNyQyxRQUFRLEVBQUUsRUFBRTtJQUNuQixvREFBb0Q7SUFDN0MsU0FBUyxFQUFFLEVBQUU7SUFDcEIsNkNBQTZDO0lBQ3RDLFNBQVMsRUFBRSxFQUFFO0lBWnRCO0lBQ0UsOENBQThDO0lBQ3ZDLFFBQVEsRUFBRSxFQUFFO0lBQ25CLHlDQUF5QztJQUNsQyxLQUFLLEVBQUUsU0FBUztJQUN2QixxREFBcUQ7SUFDOUMsU0FBUyxFQUFFLEVBQUU7SUFDcEIsNENBQTRDO0lBQ3JDLFFBQVEsRUFBRSxFQUFFO0lBQ25CLG9EQUFvRDtJQUM3QyxTQUFTLEVBQUUsRUFBRTtJQUNwQiw2Q0FBNkM7SUFDdEMsU0FBUyxFQUFFLEVBQUUsRUFDbEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7UUFXaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLGNBU3ZDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FZM0M7SUFFSyxJQUFJLGdCQVlUO0lBRUQsT0FBTyxZQVNOO0lBRUQsTUFBTSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBYzNCO0lBRUQsT0FBYSxNQUFNLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQWN6QztJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FTakM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsSUFBSSxNQUFNLENBU2pCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxVQUFVLENBUzNEO0lBRUQsWUFBWTs7Ozs7Ozs7Ozs7O01BWVg7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBR0QsWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUVuQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxVQUFVLENBU3hEO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sY0FFN0I7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_keys.d.ts","sourceRoot":"","sources":["../../src/keys/public_keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"public_keys.d.ts","sourceRoot":"","sources":["../../src/keys/public_keys.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE3D;;;;;GAKG;AACH,qBAAa,UAAU;IAEnB,8CAA8C;IACvC,QAAQ,EAAE,EAAE;IACnB,yCAAyC;IAClC,KAAK,EAAE,SAAS;IACvB,qDAAqD;IAC9C,SAAS,EAAE,EAAE;IACpB,4CAA4C;IACrC,QAAQ,EAAE,EAAE;IACnB,oDAAoD;IAC7C,SAAS,EAAE,EAAE;IACpB,6CAA6C;IACtC,SAAS,EAAE,EAAE;IAZtB;IACE,8CAA8C;IACvC,QAAQ,EAAE,EAAE;IACnB,yCAAyC;IAClC,KAAK,EAAE,SAAS;IACvB,qDAAqD;IAC9C,SAAS,EAAE,EAAE;IACpB,4CAA4C;IACrC,QAAQ,EAAE,EAAE;IACnB,oDAAoD;IAC7C,SAAS,EAAE,EAAE;IACpB,6CAA6C;IACtC,SAAS,EAAE,EAAE,EAClB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;QAWhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cASvC;IAED;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAY3C;IAEK,IAAI,gBAYT;IAED,OAAO,YASN;IAED,MAAM,CAAC,OAAO,IAAI,UAAU,CAc3B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAczC;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CASjC;IAED;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,CASjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAS3D;IAED,YAAY;;;;;;;;;;;;MAYX;IAED;;;;OAIG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAGD,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CASxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,cAE7B;CACF"}
|
package/dest/keys/public_keys.js
CHANGED
|
@@ -1,70 +1,91 @@
|
|
|
1
|
-
import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y,
|
|
1
|
+
import { DEFAULT_FBPK_M_HASH, DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_MSPK_M_HASH, DEFAULT_NPK_M_HASH, DEFAULT_OVPK_M_HASH, DEFAULT_TPK_M_HASH, DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
-
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
5
4
|
import { schemas } from '@aztec/foundation/schemas';
|
|
6
5
|
import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
7
6
|
import { bufferToHex, withoutHexPrefix } from '@aztec/foundation/string';
|
|
8
7
|
import { z } from 'zod';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
import { PublicKey, hashPublicKey } from './public_key.js';
|
|
9
|
+
/**
|
|
10
|
+
* A non-owner's view of an account's master public keys.
|
|
11
|
+
*
|
|
12
|
+
* Only `ivpkM` is exposed as a point (since address derivation needs the curve
|
|
13
|
+
* point in-circuit); the other five keys are exposed as their `hashPublicKey` digests.
|
|
14
|
+
*/ export class PublicKeys {
|
|
15
|
+
npkMHash;
|
|
16
|
+
ivpkM;
|
|
17
|
+
ovpkMHash;
|
|
18
|
+
tpkMHash;
|
|
19
|
+
mspkMHash;
|
|
20
|
+
fbpkMHash;
|
|
21
|
+
constructor(/** Hash of the master nullifier public key */ npkMHash, /** Master incoming viewing public key */ ivpkM, /** Hash of the master outgoing viewing public key */ ovpkMHash, /** Hash of the master tagging public key */ tpkMHash, /** Hash of the master message-signing public key */ mspkMHash, /** Hash of the master fallback public key */ fbpkMHash){
|
|
22
|
+
this.npkMHash = npkMHash;
|
|
23
|
+
this.ivpkM = ivpkM;
|
|
24
|
+
this.ovpkMHash = ovpkMHash;
|
|
25
|
+
this.tpkMHash = tpkMHash;
|
|
26
|
+
this.mspkMHash = mspkMHash;
|
|
27
|
+
this.fbpkMHash = fbpkMHash;
|
|
19
28
|
}
|
|
20
29
|
static get schema() {
|
|
21
30
|
return z.object({
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
npkMHash: schemas.Fr,
|
|
32
|
+
ivpkM: schemas.Point,
|
|
33
|
+
ovpkMHash: schemas.Fr,
|
|
34
|
+
tpkMHash: schemas.Fr,
|
|
35
|
+
mspkMHash: schemas.Fr,
|
|
36
|
+
fbpkMHash: schemas.Fr
|
|
26
37
|
}).transform(PublicKeys.from);
|
|
27
38
|
}
|
|
28
39
|
static from(fields) {
|
|
29
|
-
return new PublicKeys(fields.
|
|
40
|
+
return new PublicKeys(fields.npkMHash, fields.ivpkM, fields.ovpkMHash, fields.tpkMHash, fields.mspkMHash, fields.fbpkMHash);
|
|
30
41
|
}
|
|
31
42
|
/**
|
|
32
43
|
* Creates a PublicKeys from a plain object without Zod validation.
|
|
33
|
-
*
|
|
34
|
-
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
35
|
-
* @param obj - Plain object containing PublicKeys fields
|
|
36
|
-
* @returns A PublicKeys instance
|
|
44
|
+
* Suitable for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
37
45
|
*/ static fromPlainObject(obj) {
|
|
38
46
|
if (obj instanceof PublicKeys) {
|
|
39
47
|
return obj;
|
|
40
48
|
}
|
|
41
|
-
return new PublicKeys(
|
|
49
|
+
return new PublicKeys(Fr.fromPlainObject(obj.npkMHash), PublicKey.fromPlainObject(obj.ivpkM), Fr.fromPlainObject(obj.ovpkMHash), Fr.fromPlainObject(obj.tpkMHash), Fr.fromPlainObject(obj.mspkMHash), Fr.fromPlainObject(obj.fbpkMHash));
|
|
42
50
|
}
|
|
43
|
-
hash() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
async hash() {
|
|
52
|
+
if (this.isEmpty()) {
|
|
53
|
+
return Fr.ZERO;
|
|
54
|
+
}
|
|
55
|
+
// Mirror Noir's `PublicKeys::hash`: hash the six single-key digests under
|
|
56
|
+
// DOM_SEP__PUBLIC_KEYS_HASH. `ivpk_m` must be reduced to its single-key digest first
|
|
57
|
+
// (Poseidon2 over [x, y]); passing the Point directly would omit the DOM_SEP__SINGLE_PUBLIC_KEY_HASH
|
|
58
|
+
const ivpkMHash = await hashPublicKey(this.ivpkM);
|
|
59
|
+
return poseidon2HashWithSeparator([
|
|
60
|
+
this.npkMHash,
|
|
61
|
+
ivpkMHash,
|
|
62
|
+
this.ovpkMHash,
|
|
63
|
+
this.tpkMHash,
|
|
64
|
+
this.mspkMHash,
|
|
65
|
+
this.fbpkMHash
|
|
66
|
+
], DomainSeparator.PUBLIC_KEYS_HASH);
|
|
50
67
|
}
|
|
51
68
|
isEmpty() {
|
|
52
|
-
return this.
|
|
69
|
+
return this.npkMHash.isZero() && this.ivpkM.isZero() && this.ovpkMHash.isZero() && this.tpkMHash.isZero() && this.mspkMHash.isZero() && this.fbpkMHash.isZero();
|
|
53
70
|
}
|
|
54
71
|
static default() {
|
|
55
|
-
|
|
72
|
+
// Precomputed `hash_public_key(PublicKey { DEFAULT_*_X, DEFAULT_*_Y })` for the hash-only keys.
|
|
73
|
+
// Sourced from constants.gen.ts (originally defined in
|
|
74
|
+
// noir-protocol-circuits/crates/types/src/constants.nr); a self-test in public_keys.nr
|
|
75
|
+
// (`default_hashes_match_default_points`) catches drift between the *_HASH constants and
|
|
76
|
+
// the underlying X/Y points.
|
|
77
|
+
return new PublicKeys(new Fr(DEFAULT_NPK_M_HASH), new PublicKey(new Fr(DEFAULT_IVPK_M_X), new Fr(DEFAULT_IVPK_M_Y)), new Fr(DEFAULT_OVPK_M_HASH), new Fr(DEFAULT_TPK_M_HASH), new Fr(DEFAULT_MSPK_M_HASH), new Fr(DEFAULT_FBPK_M_HASH));
|
|
56
78
|
}
|
|
57
79
|
static async random() {
|
|
58
|
-
|
|
80
|
+
const npkM = await PublicKey.random();
|
|
81
|
+
const ovpkM = await PublicKey.random();
|
|
82
|
+
const tpkM = await PublicKey.random();
|
|
83
|
+
const mspkM = await PublicKey.random();
|
|
84
|
+
const fbpkM = await PublicKey.random();
|
|
85
|
+
return new PublicKeys(await hashPublicKey(npkM), await PublicKey.random(), await hashPublicKey(ovpkM), await hashPublicKey(tpkM), await hashPublicKey(mspkM), await hashPublicKey(fbpkM));
|
|
59
86
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
* Equality is based on the content of their respective buffers.
|
|
63
|
-
*
|
|
64
|
-
* @param other - The PublicKeys instance to compare against.
|
|
65
|
-
* @returns True if the buffers of both instances are equal, false otherwise.
|
|
66
|
-
*/ equals(other) {
|
|
67
|
-
return this.masterNullifierPublicKey.equals(other.masterNullifierPublicKey) && this.masterIncomingViewingPublicKey.equals(other.masterIncomingViewingPublicKey) && this.masterOutgoingViewingPublicKey.equals(other.masterOutgoingViewingPublicKey) && this.masterTaggingPublicKey.equals(other.masterTaggingPublicKey);
|
|
87
|
+
equals(other) {
|
|
88
|
+
return this.npkMHash.equals(other.npkMHash) && this.ivpkM.equals(other.ivpkM) && this.ovpkMHash.equals(other.ovpkMHash) && this.tpkMHash.equals(other.tpkMHash) && this.mspkMHash.equals(other.mspkMHash) && this.fbpkMHash.equals(other.fbpkMHash);
|
|
68
89
|
}
|
|
69
90
|
/**
|
|
70
91
|
* Converts the PublicKeys instance into a Buffer.
|
|
@@ -73,56 +94,63 @@ export class PublicKeys {
|
|
|
73
94
|
* @returns A Buffer representation of the PublicKeys instance.
|
|
74
95
|
*/ toBuffer() {
|
|
75
96
|
return serializeToBuffer([
|
|
76
|
-
this.
|
|
77
|
-
this.
|
|
78
|
-
this.
|
|
79
|
-
this.
|
|
97
|
+
this.npkMHash,
|
|
98
|
+
this.ivpkM,
|
|
99
|
+
this.ovpkMHash,
|
|
100
|
+
this.tpkMHash,
|
|
101
|
+
this.mspkMHash,
|
|
102
|
+
this.fbpkMHash
|
|
80
103
|
]);
|
|
81
104
|
}
|
|
82
|
-
|
|
83
|
-
* Creates an PublicKeys instance from a given buffer or BufferReader.
|
|
84
|
-
* If the input is a Buffer, it wraps it in a BufferReader before processing.
|
|
85
|
-
* Throws an error if the input length is not equal to the expected size.
|
|
86
|
-
*
|
|
87
|
-
* @param buffer - The input buffer or BufferReader containing the address data.
|
|
88
|
-
* @returns - A new PublicKeys instance with the extracted address data.
|
|
89
|
-
*/ static fromBuffer(buffer) {
|
|
105
|
+
static fromBuffer(buffer) {
|
|
90
106
|
const reader = BufferReader.asReader(buffer);
|
|
91
|
-
const
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
107
|
+
const npkMHash = Fr.fromBuffer(reader);
|
|
108
|
+
const ivpkM = reader.readObject(PublicKey);
|
|
109
|
+
const ovpkMHash = Fr.fromBuffer(reader);
|
|
110
|
+
const tpkMHash = Fr.fromBuffer(reader);
|
|
111
|
+
const mspkMHash = Fr.fromBuffer(reader);
|
|
112
|
+
const fbpkMHash = Fr.fromBuffer(reader);
|
|
113
|
+
return new PublicKeys(npkMHash, ivpkM, ovpkMHash, tpkMHash, mspkMHash, fbpkMHash);
|
|
96
114
|
}
|
|
97
115
|
toNoirStruct() {
|
|
98
|
-
// We need to use lowercase identifiers as those are what the noir interface expects
|
|
99
|
-
return {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
116
|
+
// We need to use lowercase identifiers as those are what the noir interface expects.
|
|
117
|
+
/* eslint-disable camelcase */ return {
|
|
118
|
+
npk_m_hash: this.npkMHash,
|
|
119
|
+
ivpk_m: this.ivpkM.toWrappedNoirStruct(),
|
|
120
|
+
ovpk_m_hash: this.ovpkMHash,
|
|
121
|
+
tpk_m_hash: this.tpkMHash,
|
|
122
|
+
mspk_m_hash: this.mspkMHash,
|
|
123
|
+
fbpk_m_hash: this.fbpkMHash
|
|
105
124
|
};
|
|
106
|
-
}
|
|
125
|
+
/* eslint-enable camelcase */ }
|
|
107
126
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
127
|
+
* Wire-format fields matching Noir's struct flattening of `PublicKeys`:
|
|
128
|
+
* `[npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, mspk_m_hash, fbpk_m_hash]`
|
|
129
|
+
* (7 fields).
|
|
110
130
|
*/ toFields() {
|
|
111
131
|
return [
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
132
|
+
this.npkMHash,
|
|
133
|
+
this.ivpkM.x,
|
|
134
|
+
this.ivpkM.y,
|
|
135
|
+
this.ovpkMHash,
|
|
136
|
+
this.tpkMHash,
|
|
137
|
+
this.mspkMHash,
|
|
138
|
+
this.fbpkMHash
|
|
116
139
|
];
|
|
117
140
|
}
|
|
118
|
-
//
|
|
119
|
-
// to spend too much time on the encoder now. It probably needs a refactor.
|
|
141
|
+
// Used in foundation/src/abi/encoder. Probably non-optimal but the encoder needs a refactor.
|
|
120
142
|
encodeToNoir() {
|
|
121
143
|
return this.toFields();
|
|
122
144
|
}
|
|
123
145
|
static fromFields(fields) {
|
|
124
146
|
const reader = FieldReader.asReader(fields);
|
|
125
|
-
|
|
147
|
+
const npkMHash = reader.readField();
|
|
148
|
+
const ivpkM = reader.readObject(PublicKey);
|
|
149
|
+
const ovpkMHash = reader.readField();
|
|
150
|
+
const tpkMHash = reader.readField();
|
|
151
|
+
const mspkMHash = reader.readField();
|
|
152
|
+
const fbpkMHash = reader.readField();
|
|
153
|
+
return new PublicKeys(npkMHash, ivpkM, ovpkMHash, tpkMHash, mspkMHash, fbpkMHash);
|
|
126
154
|
}
|
|
127
155
|
toString() {
|
|
128
156
|
return bufferToHex(this.toBuffer());
|
package/dest/keys/utils.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { KeyGenerator, KeyPrefix } from './key_types.js';
|
|
2
2
|
export declare function getKeyGenerator(prefix: KeyPrefix): KeyGenerator;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCx3QkFBZ0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxTQUFTLEdBQUcsWUFBWSxDQVEvRCJ9
|