@aztec/protocol-contracts 0.49.2 → 0.50.1
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/artifacts/AuthRegistry.json +1 -1
- package/artifacts/ContractClassRegisterer.json +1 -1
- package/artifacts/ContractInstanceDeployer.json +1 -1
- package/artifacts/FeeJuice.json +1 -1
- package/artifacts/KeyRegistry.json +1 -0
- package/artifacts/MultiCallEntrypoint.json +1 -1
- package/dest/key-registry/artifact.d.ts.map +1 -1
- package/dest/key-registry/artifact.js +3 -3
- package/package.json +4 -4
- package/src/key-registry/artifact.ts +2 -2
- package/artifacts/NewKeyRegistry.json +0 -1
- /package/artifacts/{NewKeyRegistry.d.json.ts → KeyRegistry.d.json.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.33.0+ccbef55cf6af6e8bab3e52daf967175465eb69a2","name":"ContractClassRegisterer","functions":[{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7ZrdbuIwEIXfJdcIeWbssc2rrFYVtLSKhKACutIK9d3XYXEIsqWo0x9yMTcQkzmO/eVgn0g5NU/r1dvLQ7t93h2axa9Ts9k9Lo/tbptapwbc+bfD63LbNQ/H5f7YLMysWW+f0vf7rHluN+tmQQ7eZ0Ud+ugvpRgg9tVAVKmmSOFSbQ3CSDUYJHcpT8fu2js6V6t3TLncBXsdOVY7930xIA6Lf88aYIVSQvEKpYQSFEoJJSqUAgoahVJCAYVSQkGFUkIhhVJCsQqlhKKJtgJFE20FiibaChRNtBUommhLKKSJtgJFE20FiibaChRNtBUodsJQPF6hhDACJVVAHks0+CkoU060d4My5UR7Nyg/mGgtRs5QyMcJrylBoZRQokIpoFijUEoooFBKKDhhKPfafewPJlpLMWYo1rsJO8UqlBKKUyglFFYoJRSvUEooYcJQ7rb7fCrRUuRcmibM12ka13XuzHd2Xk1YhJAfOgkJbi7RiaoJhILPnrTIthBVd2iL3vYBw+LIZJghxxFmCmNmI4B809LxoPc8eTu9IbmvGFL/b2dv/e2NSK3Vvt1s2peHm5fxTPfhYV5/q4hs7pGYBh2e3d+pokRVfy9lVAUiFX5QlVpwZkLz+kYQTLZ7QDNYa8z5ikkVRKooUdXXiFEViFQoUpFIZUUqJ1KxSCXyhhN5w4m8wSJvsMgbLPIGi7zBIm+wyBss8gaLvMEib7DIG17kDS/yhq96wwfqVVBT0QdVqYXndZvnUF/zKeRUSZbDIFVyUqfmn+W+Xa42625f7M6+bR/zNpmax7+v/8+k4n8="},{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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tahNHepSj/o0oCGNaEwTmtKM5rSgJa1oTRva0o72dKAjnehMF7rSje70oCe96E0f/qYv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84a/w8k8AAhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vThb/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/uMLWv5FAAISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi9704W/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jM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","debug_symbols":"7ZndbuIwEIXfJdcIZWY8Y5tXWa0qaGkVCYUK6Eor1Hdfh8UJ1JaiTv8i4RvA5BzH8+XYDuFYPaxXL093Tfu43VeLX8dqs71fHpptG1rHCszpu/3zsu2a+8Nyd6gW9axatw/h/XVWPTabdbUghtdZokPr7VmKDnyvBqKM2qCXs9qQHVNDjcRnefjMgx6Zc3oWinJ2Zhg5Zju3vRgQL8W/ZxVwgZJCkQIlhWILlBSKK1BSKL5ASaBgXaCkUKBASaHghKFYHKA4NwIlKCCOxdf4ISj0jVDI+wjFWJ5wUkyBkkLhAiWFIgVKCsUWKCkUV6CkUPyEofzUlkwfuqMlL1EaCpahzJpPncNXdp69wwL2JlYrtb06RWfK3oGAxT6TTnBkXN701wpkuLQoE8s7mRuqlW+oVvn+Wn9sebI3VGt200aguAoiuLFa2UEkw47M1ZqZGTwBxAGFzwaTNdZPbkgmu2Ehcn8ZGOu3y77JbkTIQx3s3UgdIhB/ZYvQmHq8DpzekOgzhtSvc2LNm/03tFa7ZrNpnu6u/tSpuxdj5vkHsWRij9RN2b7D06TpXF7jyj/KG3WByoXvdIUWdErmeX4KujrOKXeRduS6O2Nw5WfJqAtULlS5SOUyKherXKJyWZXLqVyqbLAqG6zKBquywapssCobrMoGq7LBqmywKhusyoaosiGqbIgqG6LKhmSzYR31Lsi5+J2u0MLTuu3mkF/zycXnAmTEXTwXkOAOzT/LXbNcbdbdvtgdfWnv4zYZmoe/z/+PBPE/"},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/9WZ204yMRDHW9mFhdXlw/MBFeTTxLsFAeHOl9Hn8drEd/ARpTAT/q1IbOloaGLa3U5nfjPTw1q0WpRs9qepnVJdVV8LyzxRXW5W+hF1lZKceks4d7aEs7IlnElETr2C09QJtc26M2uuphbr8UsnDjaJrkC/WqfItfpBdeb0RfN2Uk6rYADhFcEn1Me1pr+c+hEwJ2fncvCOHd6Bd2yrAu94J2NbGQVHwO9RtsSOq3s2G40vddLF/Dm0sa8NIUwEfU1lfB2K5WhWJHOkIQ8p6a7BM+ekAfa1kH3W3XDmRwLtC5BlOZbhdcj8e2q5lhprxiXOuAJkqjCu5oyrQXxMMfFqUdvUabaUZTmhOM7nSC6j28pR4sQwB98KsB9vjg4mxsausot2nvFgKYBpT4Sp7BvdTSHdOfiwC778A3vxvpxGwwLsoY1C2fHl5yYwtUSYxhNkanky7cswTZFp35PpQITp8QGZDjyZDkWYBiUyHXoyHYkwja04HXkyHcswvSDTsSfTiQzTMzKdeDKdijA9WvvTqSfTmQzTAJnOPJnORZjGfWQ692AKXRuhedlkf8Dvv4ixs+bYRaAvvmu4LePLCJnagb74nCWh+Qzda0Jj/hfz9RLkI+4/Vo4vA30JzXHonPKN3RXIR4yd9X1yFeiLz56/yXfjtUwMxsh0HehL6BkTuvZ+Y95t45606R6P9yvvVAv+Pz/NgUeBDeWwK2A2JVer10gHdKTROEtrn+iAva5IXBb3LN/lrytufzAxunsyvs3vp/4Lxu2WdPEdZm9F3O7Avhayz7rZ1i3kkttvIMtyLMP3Pcxv7q9uqH23ZlzhjCtA5gbG9Zxx/My5MfF7pbbkXPvJXDd3UbzO74FJZl8qh/h7hQIbyuHkUgBTR4bp1+4Z6+BLF3yMZMvaS3FO+ZxXfzUOz6s6vHPPBvwtsAnvKqCbdXwC3tPG3MogAAA=","debug_symbols":"ndnNasJAFIbhe5m1lHyTmXNmeiulSNQogRBFY6GI995ou3DbdxPy92X1rN7cwq7fXA/rYdofL+H94xbG47abh+O0XN3uq7A5D+M4HNavt0PzPLzF8lxcTt30uHGZu/Mc3lvzVein3XLmcfnCfhj75Tzr/rl6jCoYtQ0ZiYwiGbVklMgok5GRkZMREdESEYmISEREIiISEZGIiEREJCIiERGJiEhERCYiMhGRiYhMRGQiIhMRmYjIREQmIjIRYUSEERFGRBgRYUSEERFGRBgRYUSEERFORDgR4USEExFORDgR4USEExFORDgRUYiIQkQUIqIQEYWIKEREISIKEVGIiEJEVCKiEhGViKhERCUiKhFRiYhKRFQiohIRahq0ElpFtGrRKqFVRitDK0erglbIhpANIRtCNoRsCNkQsiFkQ8iGkA0hGxHZiMhGRDYishGRjYhsRGQjIhsoaAoVTaGkKdQ0haKmUNUUyppCXVMobAqVTaG0KdQ2heKmUN0UyptCfVMocAoVTqHEKdQ4hSKnUOUUypxCnVModAqVTqHUKdQ69e/YeV8uv7rz0G3G/u/H2P46bV/+k83fp98ny8s/"},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7ZnRbuIwEEX/Jc8I2R7PjM2vrFYVtLSKFIUK6Eor1H9fJ4sDyJaiTndbHuYFYnKvY59c7FFyap62m7eXh7Z/3h2a1Y9T0+0e18d216fWqbE4/nZ4XfdD83Bc74/Nyiyabf+Uvt8XzXPbbZsVoH1fFDrHkc9SF2yc1BagovYu0lntgefU1jjAszwd40XvEGt6JMhyDP4yclftnCexde5a/HPRWFIoJRRWKCWUoFBKKFGhFFCcUSglFKtQSihOoZRQQKGUULxCKaFoRVuBohVtBYpWtBUoWtFWoGhFW0IBrWgrUO65omV3gRLCDJSksHks0bhPQfnKihZizFA84x0nBRRKCcUrlBIKKpQSCimUEgorlBJKuGMo37Ylf6qihUhZmiZMl2kaHDr35n92Xq2wfMCpFgoUby4xmKoVCELI+JGBClN1h0b2+UoYrJ+ZDJHNaiIIc2EDa/NNS8feFZP39zck/BdDmv7txJ5vb0RqbfZt17UvDzevLs3wgX5ZfwcDPvcIBFcdjukfXFHiqj/Fn3VZkct90JVadmRCS6xGN5i8BAdnrtYaM14xubzIhSIXiVwscgWRK0pcZEQuK3I5kUuUDRJlg0TZIFE2SJQNEmWDRNlgUTZYlA0WZYNF2WBRNliUDRZlg0XZ4Go2OMDksjVX/KArtdy4bselra/5EHJVCZ7CVVVJyZ2av9b7dr3ptsO+OJx96x/zNpmax9+vf88k8R8="}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"artifact_hash","type":{"kind":"field"}},{"name":"private_functions_root","type":{"kind":"field"}},{"name":"public_bytecode_commitment","type":{"kind":"field"}}],"kind":"struct","path":"ContractClassRegisterer::register_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"}]}},"file_map":{"105":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"133":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"136":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"250":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"255":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"263":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = crate::hash::poseidon2_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"351":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field());\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"352":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.33.0+2d702155f9341cac08a960f271e3ed5450740729","name":"ContractClassRegisterer","functions":[{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/9WZ227aQBCG18GHBRcogUBISGJ61zubEkLuIvX4HlX7Qn2G9rp9w2ZgR/69REi77BBhCe3BOzPfzB5sxpHaXvr5F5l6YspU7V485smU5WFXFVBXKckZnQjn2Ylwtk6EMw7IGb3ASWVs6rTvaM9larsfd26iME10C+6rfYpsq/9MqY0iNPYUKHLashtM93r5nZz7qHcDo4w/X809LiPzy03QFMjnqg7cJ+hjvZ+hj0/EL9CXqaYtreqgB/Z7TXrbErqf54t86ajaB/aP63yP/J3BuETQ11TG16XYHJXbXc5zlBjdbCuFuHXAfsCnSxVZayQCW9wfQ/0axvI4HtMCXrq6ql7vnT1yiSXXU831w3LakuM2n0mkZ2DqVH7T9VjWn4O+kE9p0v1GRneFMYtVfTYpsEn2+2A/3BpdrMlWVzWvyGrjg6UPTD0Rpu35w3a6YO8t2Av3dnO/7IE9tNG3YsDtM2AaiDCt1sg0cGQ6l2F6RKZzR6ahCNPDB2QaOjKNRJgWJTKNHJkuRJhWjThdODKNZZh+ItPYkWkiw/QDmSaOTJciTA+N8+nSkWkqw7RApqkj05UI06pCpisHJt+94Tsvh5wP+I4WMHaNNXbt6YvrHp7J+HKPTDNPX4aeciNPuYmn3NhT7ljr9QbGBzx/GnN84+mL7xz7rinX2N3C+ICxa7yf3Hr6MvWUc31vvJOJwQqZ7jx98X3G+O69Y6y7UzyTDj3jaRz/B/9lSlp7BegN+J/7Mbc42Yay2PkqTJlDHf+Hz0FHEoyz3JwTbA9tFBYnt3HfvpOJ3SZf0TK5ny7EJda7sUpMH7NQvun3ERj3xYhtUp6B5/A9MBUiTOUSc7oKbCiLk68CmOYyTBWuZ8w3494IZKuxljGXVlj+cxvPi9eWeylO1MdraQ59nKctoI/nlcdTvpfinME3kdB5bw3fZGKwlcC3kbb1TSaQ/Qrts262pSFvzPW/qh7bhkT0Ju9t2hmcOampI78tF1tyPRiTglxmyXEb895/TJ3m7T/2C3Ctph8AAA==","debug_symbols":"ndnNasJAFIbhe5m1lHyTmXNmeiulSNQogRBFY6GI995ou3DbdxPy92b1rL7cwq7fXA/rYdofL+H94xbG47abh+O0XN3uq7A5D+M4HNavt0PzPLzF8iwup2563LjM3XkO7635KvTTbjnzuHxhP4z9cp7j/XP1iCqI2oZEIlEkUUuiRKJMIiORk4iIaImIREQkIiIREYmISEREIiISEZGIiEREJCIiExGZiMhERCYiMhGRiYhMRGQiIhMRmYgwIsKICCMijIgwIsKICCMijIgwIsKICCcinIhwIsKJCCcinIhwIsKJCCcinIgoREQhIgoRUYiIQkQUIqIQEYWIKEREISIqEVGJiEpEVCKiEhGViKhERCUiKhFRiQg1DaqEqoiqFlUJVRlVhipHVUEVsiFkQ8iGkA0hG0I2hGwI2RCyIWRDyEZENiKyEZGNiGxEZCMiGxHZiMgGGjSFFk2hSVNo0xQaNYVWTaFZU2jXFBo2hZZNoWlTaNsUGjeF1k2heVNo3xQaOIUWTv174rwvl1/deeg2Y//382N/nbYv/0Lm79Pvk+XlHw=="},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7ZnbbuIwEIbfxdcI2R4fxrzKalWFllaRolABXWmF+u5rszhAZyRU98TF3ECG/L89/mzHI7JXD6vly9NdPz6ut2rxa6+G9X2369djjvbK+MNv2+duLOF21212aqFnajU+5O/XmXrsh5VagLevM6KzMcWj1KJJk9qAZ9TOpnBUO4jX1EZb8Ed5vnY46a2PnN4HqHKP9pS5ZRuPk9jYC/HvmTJBoFAoUaBQKChQKJQkUAgUqwUKhWIECoViBQqFAgKFQnEChUKRipaBIhUtA0UqWgaKVLQMFKloKRSQipaBcssVbbQnKBiuQLGIpuaStP4QlO+saCGlCsVFf8MrBQQKheIECoXiBQqFEgQKhRIFCoWCNwzlx47kD1W0kEKV5gGf0s59lsad/srG2QrLoZ9qIQzpootiYisQD1jx+wiBmNgT2kdXe/Jo3JXBhGCqOoQ3XTATDMbUScvXzpLBu9tLyX9GStNuD9HFy4nI0XLTD0P/dHfx6lKXD+/m/DsYcLVFCHDWIJSciyu1uPh/8a+6TJPLvtOVI3NgEuaeXSeo6yMYzfkD+LDai8s3uUKTKza5sMmVWlxBN7lMk4ud64h1rtEazgXvdOXIHlZImhvWC4D1/AIX8Oz8wuzO4Z9u03fLYVV2YLn7Mt7XDZnD3d/n/3ey+B8="},{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/7T9c8wta5s37K5n2rZt27Zt27bWtG3btm3btm3PffTufvOuPOndf+yvv0qOXOd1pcaZSlX9KiN37jHGv/76zy1C+b/+Wh/gP+t/EfC/xv9Yivdva/9n/Gcd6L9ZC/LfvDbUf7MW5r9ZC/ffrEX4b9aiku/f1uL+N/vF+2/W4v83awn+m7Uk/7X2z+1f/zXm+68xY7osmTI1zpqhcfqM6euny5C9QbbM6TJlbpAlW/ps6TNny9woQ7aMGRtny5Qta/YG2bOmy54+U8bG6Ztkzp6xSbr/3NYG+L+90v0/2jI0/H/zONf9/32c6dP/+8r/uX6B/nGs/3Eefv9XnfSv/1sn+0e97r/2+T+v+4/7dgMb2RTg/67/ny3gv52DdP/PtvTJ/xd7rQ/wv3dtNv+v3UP//bXZ/I9rs+Ef9cZ/1Jv+7dpsMd/KNrYH+L/PiX/vveUfPbb+o972j3r7v/XeYb6TXez+H3rv+EePnf+od/2j3v1vvfeY72Uf+/+H3nv+0WPvP+p9/6j3/1vvA+YHOcTh/6H3gX/0OPiP+tA/6sP/1vuI+VGOcfy/ycL/9vPgxP/L99w/nwdH/lGfCPD/+3lw0vwUpznzP5zfk//oceof9el/1Gf+rfdZ83Oc58L/0PvsP3qc+0d9/h/1hX/rfdH8Epe58j/0vviPHpf+UV/+R33l33pfNb/GdW78D72v/qPHtX/U1/9R3/i33jfNb3GbO/9D75v/6HHrH/Xtf9R3/q33XfN73OfBf3M/B/ivMd9/jen+n23pk/z1v5eNh/972Uj/z/cj/9E3njHwv52Lf/1jjFfmP+tH9n3ME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/7jevEnwH8e4L8IQEACEZggBCUYwQlBSEIRmjCEJRzhiUBEIhGZKEQlGtGJQUxiEZs4xCUe8UlAQhKRmCQkJRnJSUFKUpGaNKQlHenJQEYykZksZCUb2clBTnKRmzzkJR/5KUBBClGYIhSlGMUpQUlKUZoylKUc5alARSpRmSpUpRrVqUFNalGbOtSlHvVpQEMa0ZgmNKUZzWlBS1rRmja0pR3t6UBHOtGZLnSlG93pQU960Zs+/E1f+tGfAQxkEIMZwlCGMZwRjGQUoxnDWMYxnglMZBKTmcJUpjGdGcxkFrOZw1zmMZ8FLGQRi1nCUpaxnBWsZBWrWcNa1rGeDWxkE5vZwla2sZ0d7GQXu9nDXvaxnwMc5BCHOcJRjnGcE5zkFKc5w1nOcZ4LXOQSl7nCVa5xnRvc5Ba3ucNd7nGfBzzkEY95wlOe8ZwXvOQVr3nDW97xng985BOf+cJXvvGdH/zkF7/5E/A/H9r/IgABCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+vA3felHfwYwkEEMZghDGcZwRjCSUYxmDGMZx3gmMJFJTGYKU5nGdGYwk1nMZg5zmcd8FrCQRSxmCUtZxnJWsJJVrGYNa1nHejawkU1sZgtb2cZ2drCTXexmD3vZx34OcJBDHOYIRznGcU5wklOc5gxnOcd5LnCRS1zmCle5xnVucJNb3OYOd7nHfR7wkEc85glPecZzXvCSV7zmDW95x3s+8JFPfOYLX/nGd37wk1/85k+g/3xD8i8CEJBABCYIQQlGcEIQklCEJgxhCUd4IhCRSEQmClGJRnRiEJNYxCYOcYlHfBKQkEQkJglJSUZyUpCSVKQmDWlJR3oykJFMZCYLWclGdnKQk1zkJg95yUd+ClCQQhSmCEUpRnFKUJJSlKYMZSlHeSpQkUpUpgpVqUZ1alCTWtSmDnWpR30a0JBGNKYJTWlGc1rQkla0pg1taUd7OtCRTnSmC13pRnd60JNe9KYPf9OXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8B9/8P0XAQhIIAIThKAEIzghCEkoQhOGsIQjPBGISCQiE4WoRCM6MYhJLGITh7jEIz4JSEgiEpOEpCQjOSlISSpSk4a0pCM9GchIJjKThaxkIzs5yEkucpOHvOQjPwUoSCEKU4SiFKM4JShJKUpThrKUozwVqEglKlOFqlSjOjWoSS1qU4e61KM+DWhIIxrThKY0ozktaEkrWtOGtrSjPR3oSCc604WudKM7PehJL3rTh7/pSz/6M4CBDGIwQxjKMIYzgpGMYjRjGMs4xjOBiUxiMlOYyjSmM4OZzGI2c5jLPOazgIUsYjFLWMoylrOClaxiNWtYyzrWs4GNbGIzW9jKNrazg53sYjd72Ms+9nOAgxziMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxT3jKM57zgpe84jVveMs73vOBj3ziM1/4yje+84Of/OI3f/grqPwTgIAEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd9+Ju+9KM/AxjIIAYzhKEMYzgjGMkoRjOGsYxjPBOYyCQmM4WpTGM6M5jJLGYzh7nMYz4LWMgiFrOEpSxjOStYySpWs4a1rGM9G9jIJjazha1sYzs72MkudrOHvexjPwc4yCEOc4SjHOM4JzjJKU5zhrOc4zwXuMglLnOFq1zjOje4yS1uc4e73OM+D3jIIx7zhKc84zkveMkrXvOGt7zjPR/4yCc+84WvfOM7P/jJL37zh7+CyT8BCEggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrSkIz0ZyEgmMpOFrGQjOznISS5yk4e85CM/BShIIQpThKIUozglKEkpSlOGspSjPBWoSCUqU4WqVKM6NahJLWpTh7rUoz4NaEgjGtOEpjSjOS1oSSta04a2tKM9HehIJzrTha50ozs96EkvetOHv+lLP/ozgIEMYjBDGMowhjOCkYxiNGMYyzjGM4GJTGIyU5jKNKYzg5nMYjZzmMs85rOAhSxiMUtYyjKWs4KVrGI1a1jLOtazgY1sYjNb2Mo2trODnexiN3vYyz72c4CDHOIwRzjKMY5zgpOc4jRnOMs5znOBi1ziMle4yjWuc4Ob3OI2d7jLPe7zgIc84jFPeMoznvOCl7ziNW94yzve84GPfOIzX/jKN77zg5/84jd/+Cu4/BOAgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN334m770oz8DGMggBjOEoQxjOCMYyShGM4axjGM8E5jIJCYzhalMYzozmMksZjOHucxjPgtYyCIWs4SlLGM5K1jJKlazhrWsYz0b2MgmNrOFrWxjOzvYyS52s4e97GM/BzjIIQ5zhKMc4zgnOMkpTnOGs5zjPBe4yCUuc4WrXOM6N7jJLW5zh7vc4z4PeMgjHvOEpzzjOS94ySte84a3vOM9H/jIJz7zha984zs/+MkvfvOHv0LIPwEISCACE4SgBCM4IQhJKEIThrCEIzwRiEgkIhOFqEQjOjGISSxiE4e4xCM+CUhIIhKThKQkIzkpSEkqUpOGtKQjPRnISCYyk4WsZCM7OchJLnKTh7zkIz8FKEghClOEohSjOCUoSSlKU4aylKM8FahIJSpThapUozo1qEktalOHutSjPg1oSCMa04SmNKM5LWhJK1rThra0oz0d6EgnOtOFrnSjOz3oSS9604e/6Us/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4K6T8E4CABCIwQQhKMIITgpCEIjRhCEs4whOBiEQiMlGISjSiE4OYxCI2cYhLPOKTgIQkIjFJSEoykpOClKQiNWlISzrSk4GMZCIzWchKNrKTg5zkIjd5yEs+8lOAghSiMEUoSjGKU4KSlKI0ZShLOcpTgYpUojJVqEo1qlODmtSiNnWoSz3q04CGNKIxTWhKM5rTgpa0ojVtaEs72tOBjnSiM13oSje604Oe9KI3ffibvvSjPwMYyCAGM4ShDGM4IxjJKEYzhrGMYzwTmMgkJjOFqUxjOjOYySxmM4e5zGM+C1jIIhazhKUsYzkrWMkqVrOGtaxjPRvYyCY2s4WtbGM7O9jJLnazh73sYz8HOMghDnOEoxzjOCc4ySlOc4aznOM8F7jIJS5zhatc4zo3uMktbnOHu9zjPg94yCMe84SnPOM5L3jJK17zhre84z0f+MgnPvOFr3zjOz/4yS9+84f/+OfufxGAgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN334m770oz8DGMggBjOEoQxjOCMYyShGM4axjGM8E5jIJCYzhalMYzozmMksZjOHucxjPgtYyCIWs4SlLGM5K1jJKlazhrWsYz0b2MgmNrOFrWxjOzvYyS52s4e97GM/BzjIIQ5zhKMc4zgnOMkpTnOGs5zjPBe4yCUuc4WrXOM6N7jJLW5zh7vc4z4PeMgjHvOEpzzjOS94ySte84a3vOM9H/jIJz7zha984zs/+MkvfvOHv0LLPwEISCACE4SgBCM4IQhJKEIThrCEIzwRiEgkIhOFqEQjOjGISSxiE4e4xCM+CUhIIhKThKQkIzkpSEkqUpOGtKQjPRnISCYyk4WsZCM7OchJLnKTh7zkIz8FKEghClOEohSjOCUoSSlKU4aylKM8FahIJSpThapUozo1qEktalOHutSjPg1oSCMa04SmNKM5LWhJK1rThra0oz0d6EgnOtOFrnSjOz3oSS9604e/6Us/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4jw9y/YsABCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvenD3/SlH/0ZwEAGMZghDGUYwxnBSEYxmjGMZRzjmcBEJjGZKUxlGtOZwUxmMZs5zGUe81nAQhaxmCUsZRnLWcFKVrGaNaxlHevZwEY2sZktbGUb29nBTnaxmz3sZR/7OcBBDnGYIxzlGMc5wUlOcZoznOUc57nARS5xmStc5RrXucFNbnGbO9zlHvd5wEMe8ZgnPOUZz3nBS17xmje85R3v+cBHPvGZL3zlG9/5wU9+8Zs//BVW/glAQAIRmCAEJRjBCUFIQhGaMIQlHOGJQEQiEZkoRCUa0YlBTGIRmzjEJR7xSUBCEpGYJCQlGclJQUpSkZo0pCUd6clARjKRmSxkJRvZyUFOcpGbPOQlH/kpQEEKUZgiFKUYxSlBSUpRmjKUpRzlqUBFKlGZKlSlGtWpQU1qUZs61KUe9WlAQxrRmCY0pRnNaUFLWtGaNrSlHe3pQEc60ZkudKUb3elBT3rRmz78TV/60Z8BDGQQgxnCUIYxnBGMZBSjGcNYxjGeCUxkEpOZwlSmMZ0ZzGQWs5nDXOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQTm9nCVraxnR3sZBe72cNe9rGfAxzkEIc5wlGOcZwTnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w13ucZ8HPOQRj3nCU57xnBe85BWvecNb3vGeD3zkE5/5wle+8Z0f/OQXv/nDf3xo+18EICCBCEwQghKM4IQgJKEITRjCEo7wRCAikYhMFKISjejEICaxiE0c4hKP+CQgIYlITBKSkozkpCAlqUhNGtKSjvRkICOZyEwWspKN7OQgJ7nITR7yko/8FKAghShMEYpSjOKUoCSlKE0ZylKO8lSgIpWoTBWqUo3q1KAmtahNHepSj/o0oCGNaEwTmtKM5rSgJa1oTRva0o72dKAjnehMF7rSje70oCe96E0f/qYv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84a/w8k8AAhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vThb/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/uMLWv5FAAISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi9704W/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jM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","debug_symbols":"7ZndbuIwEIXfJdcIZWY84zGvslpV0NIqUhQqoCutUN99nSxOoLYUNf2LhG8gJuc4M58nthNOxcN28/J0VzWPu0Ox+nUq6t39+ljtGt86FWC63w7P66ZtHo7r/bFYlYti2zz479dF8VjV22JFjK+LSIfW2bMUFVyvBuKE2qCTs9qQHVNDicRnuT822uuRbUrPQkHOikPkmOzc9mLAK/HvRQGcocRQJEOJodgMJYaiGUoMxWUoERQsM5QYCmQoMRScMRSLAxSVESioCiEWV5YfgkLfCIWcC1CM5RlXislQYiicocRQJEOJodgMJYaiGUoMxc0Yyk8tyfShHS05CVKf8BC2v2bXOXxl58kdFrAzIVvxwstLtKbkDgQs9jWpgiNxOdOPFcgwtCgzq3cyN5Qr31Cu8v25/tj0ZG8o1+SijUBhFkTgsVxZIZBhJbyaMxPBE0AIyB8bjOZYN7uQTHLBQuR+GBjLt9O+SS5EyEMe7HQkDxEIT9kiJGPbhdE8cH4h0WeE1M9zYs2b9de3Nvuqrqunu6s/dcr2w5hl+kUsmdAjCV10SF3M3uWmuNKv8kZdMMmF73T5FrRK5mW63rUM95TC5dLTVXvrgkkunOSiSS4zycWTXDLJZSe5kjVsNYy1IqRc7p0u38KuQnQJSf5EGp5AyIhePIGod/vmn/W+Wm/qbXsHtmdfmvtwQ/rm8e/z/zNe/A8="},{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"slot_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7ZrdbuIwEIXfJdcIeWb8y6usVhW0tIoUhQroSivUd1+HxSFoRoqa/pCLuYEMOcdxvtjxIcqpetpu3l4e6vZ5d6hWv05Vs3tcH+tdm6tTBe782+F13Xbl4bjeH6uVWVTb9il/vy+q57rZVity+L5gOgwpXKQYIfVqICeoKVG8qK1BGFGDQXIXed62sdejC5LeeSpyF/HacxQbD70Y8Eb8e1GBVygcSlAoHEpUKBxKUigMChqFwqGAQuFQUKFwKKRQOBSrUDgUTbQCFE20AhRNtAIUTbQCFE20HAppohWgaKIVoGiiFaBoohWg2BlDCXiFEv0IFIwRSl+SMZ+CMudEezcoc060d4Pyg4nWYvIFCoU043tKVCgcSlIoDIo1CoVDAYXCoeCModxr9bE/mGgtpVSg2OBmPFKsQuFQnELhULxC4VCCQuFQ4oyh3G31+VSipeSLNJ/wtdv5mF3jznxn42LCIoTyp5OQ4OYQnUlMIBRDGZMWvWUmcYW2GGwfMCyOnIz3UOKI9+THBhsBlIuWtwetl5O38+uS+4ou9bPdBxtuL0SuNvu6aeqXh5uX8Uz3EWApv1VEtrRIngYNUtfnzpWmuOT3UkZdMMmFH3TlCs5MaCnf86Ipwz3C8AZ8Hu2dK01xybN91AWTXDjJRZNcdpLLTXKJaSbEcq3j4DnawBU+6MoVnkeIX4LIhCiW9Yusj4P1K2Z3Lv+s9/V602y7GdjtfWsfy4TM5fHv6/89WfwP"}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"artifact_hash","type":{"kind":"field"}},{"name":"private_functions_root","type":{"kind":"field"}},{"name":"public_bytecode_commitment","type":{"kind":"field"}}],"kind":"struct","path":"ContractClassRegisterer::register_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"}]}},"file_map":{"107":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n notify_set_min_revertible_side_effect_counter(self.min_revertible_side_effect_counter);\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"},"135":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n poseidon2_hash_with_separator(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"138":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"252":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"257":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n poseidon2_hash_with_separator(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"265":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = crate::hash::poseidon2_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) -> [Field; RATE] {\n // zero-pad the cache\n for i in 0..RATE {\n if i >= self.cache_size {\n self.cache[i] = 0;\n }\n }\n // add the cache into sponge state\n for i in 0..RATE {\n self.state[i] += self.cache[i];\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n // return `RATE` number of field elements from the sponge state.\n let mut result = [0; RATE];\n for i in 0..RATE {\n result[i] = self.state[i];\n }\n result\n }\n\n fn absorb(&mut self, input: Field) {\n if (!self.squeeze_mode) & (self.cache_size == RATE) {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n let _ = self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else if (!self.squeeze_mode) & (self.cache_size != RATE) {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n } else if self.squeeze_mode {\n // If we're in squeeze mode, switch to absorb mode and add the input into the cache.\n // N.B. I don't think this code path can be reached?!\n self.cache[0] = input;\n self.cache_size = 1;\n self.squeeze_mode = false;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n if self.squeeze_mode & (self.cache_size == 0) {\n // If we're in squeze mode and the cache is empty, there is nothing left to squeeze out of the sponge!\n // Switch to absorb mode.\n self.squeeze_mode = false;\n self.cache_size = 0;\n }\n if !self.squeeze_mode {\n // If we're in absorb mode, apply sponge permutation to compress the cache, populate cache with compressed\n // state and switch to squeeze mode. Note: this code block will execute if the previous `if` condition was\n // matched\n let new_output_elements = self.perform_duplex();\n self.squeeze_mode = true;\n for i in 0..RATE {\n self.cache[i] = new_output_elements[i];\n }\n self.cache_size = RATE;\n }\n // By this point, we should have a non-empty cache. Pop one item off the top of the cache and return it.\n let result = self.cache[0];\n for i in 1..RATE {\n if i < self.cache_size {\n self.cache[i - 1] = self.cache[i];\n }\n }\n self.cache_size -= 1;\n self.cache[self.cache_size] = 0;\n result\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"352":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field());\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"353":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"}}}
|