@aztec/protocol-contracts 0.30.1 → 0.31.0

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.
@@ -1 +1 @@
1
- {"noir_version":"0.25.0+d1ed549202e5a840845298c931418e173eb5437c","name":"ContractClassRegisterer","functions":[{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"in_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"out_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"private_global_variables","type":{"kind":"struct","path":"aztec::context::globals::private_global_variables::PrivateGlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]},"visibility":"private"},{"name":"contract_class_id","type":{"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]},"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":"function_data","type":{"kind":"struct","path":"events::unconstrained_function_broadcasted::UnconstrainedFunction","fields":[{"name":"selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"bytecode","type":{"kind":"array","length":500,"type":{"kind":"field"}}}]},"visibility":"private"}],"param_witnesses":{"artifact_function_tree_sibling_path":[{"start":36,"end":41}],"artifact_metadata_hash":[{"start":34,"end":35}],"contract_class_id":[{"start":33,"end":34}],"function_data":[{"start":41,"end":543}],"inputs":[{"start":0,"end":33}],"private_functions_artifact_tree_root":[{"start":35,"end":36}]},"return_type":{"abi_type":{"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"return_values","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash_read_requests","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest","fields":[{"name":"public_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}}]}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","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}},{"name":"encrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"unencrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"in_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"out_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775]},"bytecode":"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","debug_symbols":"1ZjdasIwGIbvJcci309+vvRWxg4650CQKtoNhnjvS7ExygKyCIOvJ23I+7Rvft+Sk9nuVv242Q1H050MouleTua474epeBz7w2g6WJj18J7u54X52GzXpiOXnn/p0MVZiYJXrYSKlFCylsj68mLAijow46wOHN2d+nVhkFS6ZpWurUrXTqVrr9J1UOlaVLqOGl0TqHStMhtJZTaSymwkldlIKrORVGYjqcxG+rdsZOLsmoWfdP1UNjr0MksdgRTfVGsiAOU2ApVGouOK2ka6vjkUrZXJNYNK16jSdTUbLUiehDZdd94nqBpN1jqbodSGh0uC8yfQQ1md4i62lra6J0vM8z1i+QSKz5RvokITJU1UdU2m+jz+GG+GKYYZc/AQY6pg2IZRG8ZtmG3DXBvm27DQgPGy/vP5YPYnjNuwek+mHSVjFMrmguAzV+9KErhyN8F1w/k/c6n01R82/dt2PZ23TZWfwyofv6Xi+L2/1Jx/AA=="},{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"in_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"out_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"private_global_variables","type":{"kind":"struct","path":"aztec::context::globals::private_global_variables::PrivateGlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]},"visibility":"private"},{"name":"contract_class_id","type":{"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]},"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":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"function_data","type":{"kind":"struct","path":"events::private_function_broadcasted::PrivateFunction","fields":[{"name":"selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}},{"name":"bytecode","type":{"kind":"array","length":500,"type":{"kind":"field"}}}]},"visibility":"private"}],"param_witnesses":{"artifact_function_tree_sibling_path":[{"start":41,"end":46}],"artifact_metadata_hash":[{"start":34,"end":35}],"contract_class_id":[{"start":33,"end":34}],"function_data":[{"start":46,"end":549}],"inputs":[{"start":0,"end":33}],"private_function_tree_sibling_path":[{"start":36,"end":41}],"unconstrained_functions_artifact_tree_root":[{"start":35,"end":36}]},"return_type":{"abi_type":{"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"return_values","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash_read_requests","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest","fields":[{"name":"public_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}}]}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","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}},{"name":"encrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"unencrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"in_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"out_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782]},"bytecode":"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","debug_symbols":"1ZjdasMwDIXfxdelWJJ/5LzK2EXWdVAoaWmzwSh99zlrXK9MUObCQFeJ8fmS41j2CT6Z7W7Vj5vdcDTdyQCY7ulkjvt+mJrHsT+MprMLsx5e8/W8MG+b7dp06PP9Lx34NCuB4arlKEgRuGgRXagPtiCoIxHM6kjJ36ifFwZQpWtS6dqpdO1Vug4qXUeVrlml66TRNVqVrlVmI6rMRlSZjagyG1FlNqLKbESV2YgqsxH/LRsJqbgmpsdc00PZ6CHwLPVoufpGaYjWYhmjxTpI8CSoXcLrk2PVOv52DSpdo0rXYjZi4mKcKIYb7xMkRhMRhwI5j3eXBJU6h2DrK9hfbC1JXHGcSr0nqN8UOMyUs00UNFHYRIlfPPeX+Yf0Y5pSLJi7ixEKmG/DQhsW2zBuw1IT5m0bBg2YW8q/zHeqP2PUhslVkneUgmGsmwvYUDi5TPC6DeRbkLjwZy63PvrDpn/ZrqdTwqnzfViVQ8PcHD/3l57zFw=="},{"name":"compute_note_hash_and_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"parameters":[{"name":"contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]},"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":"serialized_note","type":{"kind":"array","length":20,"type":{"kind":"field"}},"visibility":"private"}],"param_witnesses":{"contract_address":[{"start":0,"end":1}],"nonce":[{"start":1,"end":2}],"note_type_id":[{"start":3,"end":4}],"serialized_note":[{"start":4,"end":24}],"storage_slot":[{"start":2,"end":3}]},"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"},"return_witnesses":[24,25,26,27]},"bytecode":"H4sIAAAAAAAA/+2YzU7DMAyA0x/W/zJgsPIn9chxlXbYsQ/BC0yjErtsaC08PqLeYtXNGBfcg6VZipKmafLZSRM7ljrIY5ssXXbadKGOBd+XOp/9TwrGvmZDclpCOG0hnA4jJ7BN1LDr1B3ArtyMFwIYRwIYPQGMvgDGQABjKIAxEsAYC2BMBDCmAhgvBTCOBTBeCWC8FsB4I4BxIoDxVgDjnQDGKSOjRRhdXc7adN+mB3WI2Re63ledlFwM82IFPjsOnqm+gG9i44Pb1TnITeqQ3yZ1eMfguJ0OI3YdZnPo1+PuV8cKGbG/y2//hU/sxMg+lE32axbXIsakHnlGWwW6zHi3UtCxLZ0CMqbSc4TlKWmL7dAeuK6RHfxHXJvBH9+5xncpaTP6Rf9S8ervGTyewQxzEOsy+CCZ29nFZOO894J+Q/5+e3PuGnMSknps86zzsa6L+edhHqn+fow6UylJOSa2j/h5ioH03M9povv6Vrx7SGrYyjdslZI2CbFfOoD9LDIu9k05QM7MZ+ZTzJHq/+NYR99jbhu6UH8K2wfqeD9hVQgHpA6fpeHgHWyocJDAgeap7tAIibKJBoYLA9hs4bCBgBICNgiIIOAAh35Kxjjl5FJHGOVJ5y86f31f1/lqu2l2y1WTv22rOt9sm/yzrvKP3fpr2VTwXNXqB8Nw3LryGgAA","debug_symbols":"nZBLCoAgFEX38sYSEtnHrUSDVxkIoqIWhLj3lGgBObsfzuREUGbDII32wCPQpu2AzxG8RV0GH9AF4O3ICAi95zTRROCQSuTMaFpIgVgN1NdAQw00/oRyu9BJXJUoWsp56u2zlGu47fukBw=="},{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"in_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"out_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"private_global_variables","type":{"kind":"struct","path":"aztec::context::globals::private_global_variables::PrivateGlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]},"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"}],"param_witnesses":{"artifact_hash":[{"start":33,"end":34}],"inputs":[{"start":0,"end":33}],"private_functions_root":[{"start":34,"end":35}],"public_bytecode_commitment":[{"start":35,"end":36}]},"return_type":{"abi_type":{"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"return_values","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash_read_requests","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest","fields":[{"name":"public_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}}]}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","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}},{"name":"encrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"unencrypted_logs_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"in_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}},{"name":"out_hash","type":{"kind":"array","length":2,"type":{"kind":"field"}}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[15046,15047,15048,15049,15050,15051,15052,15053,15054,15055,15056,15057,15058,15059,15060,15061,15062,15063,15064,15065,15066,15067,15068,15069,15070,15071,15072,15073,15074,15075,15076,15077,15078,15079,15080,15081,15082,15083,15084,15085,15086,15087,15088,15089,15090,15091,15092,15093,15094,15095,15096,15097,15098,15099,15100,15101,15102,15103,15104,15105,15106,15107,15108,15109,15110,15111,15112,15113,15114,15115,15116,15117,15118,15119,15120,15121,15122,15123,15124,15125,15126,15127,15128,15129,15130,15131,15132,15133,15134,15135,15136,15137,15138,15139,15140,15141,15142,15143,15144,15145,15146,15147,15148,15149,15150,15151,15152,15153,15154,15155,15156,15157,15158,15159,15160,15161,15162,15163,15164,15165,15166,15167,15168,15169,15170,15171,15172,15173,15174,15175,15176,15177,15178,15179,15180,15181,15182,15183,15184,15185,15186,15187,15188,15189,15190,15191,15192,15193,15194,15195,15196,15197,15198,15199,15200,15201,15202,15203,15204,15205,15206,15207,15208,15209,15210,15211,15212,15213,15214,15215,15216,15217,15218,15219,15220,15221,15222,15223,15224,15225,15226,15227,15228,15229,15230,15231,15232,15233,15234,15235,15236,15237,15238,15239,15240,15241,15242,15243,15244,15245,15246,15247,15248,15249,15250,15251,15252,15253,15254,15255]},"bytecode":"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","debug_symbols":"1ZbdbsIwDIXfJdcIxXZ+nL7KtItuYxISKgi6SRPi3ZdC05RhVhG0SVzRqOerj13bdK9W69e6Xa6bnar2CrSqnvZqt6mb7rhr622rKj1Ti+Yt/h5m6n25WqgKbby+0IENvRIYBi17QYrASYtoXH6wBkHtiaBXewr2TP08UwAP6Rr/yzUhJdfEdKdruse1Bce91KLm7BulFLXGlKPGnCRYEtQm4PBkn7WGj67NQ7q2D+naSa4BTXID6ODMewd5ESLjE2TYTCQcjElicGHUuPYYgcUI3mKeI5iIYHiYfxPAj0vaRQh/HQHF9QzMqScQrPtZWhS3I4JzwyojnNw2lFYIOJ1D8Km0bi5Xl3x6fRRyLpj6ZC5XbIqSqzBJQRGFN1Oo5wTyCAzvKV6OZiwWtOewkKNCzhRyVu7DYeFAGO2FWKIec5PYqBMz5sswLsNCEWZ0GQZlGJZhVIDBlSH4fSd0GJVhV5pS5/8PzxdNGTlb0syRczdz8fRZb5f1y2rRfTZ3Nz+a1/QVHY/t1+Z05/AN"}],"events":[],"file_map":{"82":{"source":"use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n key::nullifier_key::validate_nullifier_key_against_address, messaging::process_l1_to_l2_message,\n oracle::{\n arguments, call_private_function::call_private_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal, context::get_portal_address,\n header::get_header_at, nullifier_key::{get_nullifier_key_pair, NullifierKeyPair},\n debug_log::debug_log\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_data::FunctionData, function_selector::FunctionSelector,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_call_stack_item::PrivateCallStackItem,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL, NUM_FIELDS_PER_SHA256, RETURN_VALUES_LENGTH\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, hash::hash_args, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::is_empty\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\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\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n note_hash_read_requests: BoundedVec<SideEffect, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<SideEffect, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_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 // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeyPair>,\n}\n\nimpl ContextInterface for PrivateContext {\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 this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.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 // 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 fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.new_note_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash { value: nullifier, note_hash: nullified_commitment, counter: self.side_effect_counter };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n let side_effect_counter = inputs.start_side_effect_counter;\n let mut min_revertible_side_effect_counter = 0;\n if is_empty(inputs.call_context.msg_sender) {\n min_revertible_side_effect_counter = side_effect_counter;\n }\n PrivateContext {\n inputs,\n side_effect_counter,\n min_revertible_side_effect_counter,\n args_hash,\n return_values: BoundedVec::new(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_stack_hashes: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n nullifier_key: Option::none()\n }\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 finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_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 encrypted_logs_hash,\n unencrypted_logs_hash,\n encrypted_log_preimages_length,\n unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version\n };\n priv_circuit_pub_inputs\n }\n\n pub fn capture_min_revertible_side_effect_counter(&mut self) {\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.note_hash_read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn request_nullifier_secret_key(&mut self, account: AztecAddress) -> GrumpkinPrivateKey {\n let key_pair = if self.nullifier_key.is_none() {\n let key_pair = get_nullifier_key_pair(account);\n validate_nullifier_key_against_address(account, key_pair.public_key);\n let request = NullifierKeyValidationRequest { public_key: key_pair.public_key, secret_key: key_pair.secret_key };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(key_pair);\n key_pair\n } else {\n let key_pair = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(\n key_pair.account == account, \"Cannot query nullifier key for more than one account per call\"\n );\n key_pair\n };\n key_pair.secret_key\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 };\n self.new_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_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(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(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\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(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\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(\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 ) -> [Field; RETURN_VALUES_LENGTH] {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.end_side_effect_counter + 1;\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.private_call_stack_hashes.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n return_values: [0; RETURN_VALUES_LENGTH],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hash: [0; NUM_FIELDS_PER_SHA256],\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n reverted: false\n },\n is_execution_request: true\n };\n reader.finish();\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr"},"85":{"source":"use crate::context::{PrivateContext, PublicContext};\nuse crate::oracle;\nuse dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\npub fn emit_encrypted_log<N>(\n context: &mut PrivateContext,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n encryption_pub_key: GrumpkinPoint,\n log: [Field; N]\n) {\n let _ = oracle::logs::emit_encrypted_log(\n contract_address,\n storage_slot,\n note_type_id,\n encryption_pub_key,\n log\n );\n context.accumulate_encrypted_logs(log);\n}\n\npub fn emit_unencrypted_log<T>(context: &mut PublicContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n\n// TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n// --> might be a better approach to force devs to make a public function call that emits the log if needed then\n// it would be less easy to accidentally leak information.\n// If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\npub fn emit_unencrypted_log_from_private<T>(context: &mut PrivateContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/log.nr"},"87":{"source":"use dep::protocol_types::{hash::hash_args, traits::Hash};\n\nstruct Hasher {\n fields: [Field],\n}\n\nimpl Hash for Hasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl Hasher {\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<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/hasher.nr"},"97":{"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)]\nfn debug_log_oracle<T, N>(_msg: T, _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_format_oracle<T, N>(_msg: T, _args: [Field; N], _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_field_oracle(_field: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_array_oracle<T, N>(_arbitrary_array: [T; N]) -> Field {}\n#[oracle(debugLogWithPrefix)]\nfn debug_log_array_with_prefix_oracle<S, T, N>(_prefix: S, _arbitrary_array: [T; N]) -> Field {}\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<T>(msg: T) {\n assert(debug_log_oracle(msg, 0) == 0);\n}\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]);\nunconstrained pub fn debug_log_format<T, N>(msg: T, args: [Field; N]) {\n assert(debug_log_format_oracle(msg, args, args.len() as Field) == 0);\n}\n\n/// Example:\n/// `debug_log_field(my_field);`\nunconstrained pub fn debug_log_field(field: Field) {\n assert(debug_log_field_oracle(field) == 0);\n}\n\n/// Example:\n/// `debug_log_array(my_array);`\nunconstrained fn debug_log_array<T, N>(arbitrary_array: [T; N]) {\n assert(debug_log_array_oracle(arbitrary_array) == 0);\n}\n\n/// Example:\n/// `debug_log_array_with_prefix(\"Prefix\", my_array);`\nunconstrained pub fn debug_log_array_with_prefix<S, T, N>(prefix: S, arbitrary_array: [T; N]) {\n assert(debug_log_array_with_prefix_oracle(prefix, arbitrary_array) == 0);\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/debug_log.nr"},"106":{"source":"use dep::protocol_types::{address::AztecAddress, constants::NUM_FIELDS_PER_SHA256, grumpkin_point::GrumpkinPoint};\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle<N>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _encryption_pub_key: GrumpkinPoint,\n _preimage: [Field; N]\n) -> Field {}\n\nunconstrained pub fn emit_encrypted_log<N>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n encryption_pub_key: GrumpkinPoint,\n preimage: [Field; N]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n [\n emit_encrypted_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n encryption_pub_key,\n preimage\n ), 0\n ]\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n [emit_unencrypted_log_oracle(contract_address, event_selector, message), 0]\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr"},"148":{"source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS},\n contract_class_id::ContractClassId, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n AztecAddress::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute_from_public_key(\n pub_key: GrumpkinPoint,\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n portal_contract_address: EthAddress,\n deployer: AztecAddress\n ) -> AztecAddress {\n AztecAddress::compute(\n PublicKeysHash::compute(pub_key),\n PartialAddress::compute(\n contract_class_id,\n salt,\n initialization_hash,\n portal_contract_address,\n deployer\n )\n )\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let contract_address_salt = 3;\n let contract_class_id = ContractClassId::from_field(4);\n let initialization_hash = 5;\n let portal_contract_address = EthAddress::from_field(6);\n let deployer = AztecAddress::from_field(7);\n\n let address = AztecAddress::compute_from_public_key(\n point,\n contract_class_id,\n contract_address_salt,\n initialization_hash,\n portal_contract_address,\n deployer\n );\n\n let expected_computed_address_from_preimage = 0x027ea2b41ced2ec9a98305984e96dd28518536a4628883ccdc06e38aa8997220;\n assert(address.to_field() == expected_computed_address_from_preimage);\n}\n\n#[test]\nfn compute_address_from_partial_and_pubkey() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let partial_address = PartialAddress::from_field(3);\n\n let address = AztecAddress::compute(PublicKeysHash::compute(point), partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x0447f893197175723deb223696e2e96dbba1e707ee8507766373558877e74197;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr"},"153":{"source":"use dep::std::cmp::Eq;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr"},"186":{"source":"use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr"},"201":{"source":"use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint256::U256;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT, ARGS_HASH_CHUNK_LENGTH, FUNCTION_TREE_HEIGHT, NUM_FIELDS_PER_SHA256,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER, GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR, GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH, GENERATOR_INDEX__FUNCTION_ARGS\n};\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < args.len() {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < args.len() {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\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\npub fn silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\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 rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\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\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\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//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\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 // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_integer(previous_log_hash[0]),\n U128::from_integer(previous_log_hash[1]),\n U128::from_integer(current_log_hash[0]),\n U128::from_integer(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn compute_unique_siloed_note_hashes<N>(\n first_nullifier: Field,\n siloed_note_hashes: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_note_hashes = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_note_hash = siloed_note_hashes[i];\n if siloed_note_hash.value != 0 {\n let nonce = compute_note_hash_nonce(first_nullifier, i);\n unique_siloed_note_hashes[i] = SideEffect {\n value: compute_unique_siloed_note_hash(nonce, siloed_note_hash.value),\n counter: siloed_note_hash.counter\n };\n }\n }\n unique_siloed_note_hashes\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_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 assert(result == 0x142a6d57007171f6eaa33d55976d9dbe739c889c8e920f115f7808dea184c718);\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = [0; 800];\n for i in 0..800 {\n input[i] = i as Field;\n }\n let hash = hash_args(input);\n assert(hash == 0x371960dd84ed3445ab099ac4c1af5ba90e0c713b593e0ca52ee532087c7f097);\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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0x2266ac2f9f0c19c015239ef5ea85862fc6fac00db73779b220a4d49c4856c2e1);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x0f24729168d4450a5681beafa5e3a899ac28bd17bf5a4877dab37bcd834e1634);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr"},"205":{"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 = dep::std::hash::pedersen_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","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr"},"248":{"source":"// Copied from noir-contracts/contracts/slow_tree_contract/src/capsule.nr\n// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n#[oracle(popCapsule)]\nfn 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","path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr"},"250":{"source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector, emit_unencrypted_log};\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_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::{Serialize}\n };\n\n use dep::aztec::log::{emit_unencrypted_log_from_private};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\n };\n\n use crate::capsule::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 let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = 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_new_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ContractClassRegistered\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_unencrypted_log_from_private(&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 artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n function_data: PrivateFunction\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 artifact_function_tree_sibling_path,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\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_unencrypted_log_from_private(&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 function_data: UnconstrainedFunction\n ) {\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 function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\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_unencrypted_log_from_private(&mut context, event.serialize());\n }\n}\n","path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr"}}}
1
+ {"noir_version":"0.25.0+bbd7292b0b35ff17ddcf3c5c71719018a080f103","name":"ContractClassRegisterer","functions":[{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"private_global_variables","type":{"kind":"struct","path":"aztec::context::globals::private_global_variables::PrivateGlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]},"visibility":"private"},{"name":"contract_class_id","type":{"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]},"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":{"kind":"struct","path":"events::private_function_broadcasted::PrivateFunction","fields":[{"name":"selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}},{"name":"bytecode","type":{"kind":"array","length":3000,"type":{"kind":"field"}}}]},"visibility":"private"}],"param_witnesses":{"artifact_function_tree_leaf_index":[{"start":44,"end":45}],"artifact_function_tree_sibling_path":[{"start":39,"end":44}],"artifact_metadata_hash":[{"start":31,"end":32}],"contract_class_id":[{"start":30,"end":31}],"function_data":[{"start":45,"end":3048}],"inputs":[{"start":0,"end":30}],"private_function_tree_leaf_index":[{"start":38,"end":39}],"private_function_tree_sibling_path":[{"start":33,"end":38}],"unconstrained_functions_artifact_tree_root":[{"start":32,"end":33}]},"return_type":{"abi_type":{"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"return_values","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"max_block_number","type":{"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber","fields":[{"name":"_opt","type":{"kind":"struct","path":"std::option::Option","fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}},{"name":"note_hash_read_requests","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest","fields":[{"name":"public_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}}]}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","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}},{"name":"encrypted_logs_hash","type":{"kind":"field"}},{"name":"unencrypted_logs_hash","type":{"kind":"field"}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3139,3140,3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,3278,3279,3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308]},"bytecode":"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","debug_symbols":"1dnLaoNAGAXgd5m1hPlv4+irlC5smkIgmJDYQgl592rjpdKBgG5OVjJ4fjmj8IHM1R2O26rZH+uLK6+OyJUvV3c5VXW3vDTVuXGlz9yufm+vt8x97A87V7LRLfuXYx9DH2VSmdKeE+kQzfp0KKiYpV8zR4xTRXCqKE4Vw6kScKrkOFUiTpUCpgp7nCo42jKOtoyjLeNoyzjaMo62jKMt42jLONoKjraCo63gaCs42gqOtoKjreBoKzjaCo62gqOt4mirONoqjraKo63iaKs42iqOtoqjreJoqzjaGo62hqOt4WhrONoajraGo63haGs42hqOtoajbVinLfMQZY5+ZZVV2lr7lD5qrDymY6oJ+TFMnmkMk6XSWkxPzqes5r+t+Slby1O2TnIvFGI/IxZ01r0bSsIsluswFPTRhslEhj0EH6YN273WJv23SnFsRsWf7RShH0v/Wc7GhBNjtGyMl43JgjHbpN8I+XGK8jh9YN++yXb1VZ331dth1x2bdzc/6+1wit4um+/T/c7tBw=="},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"private_global_variables","type":{"kind":"struct","path":"aztec::context::globals::private_global_variables::PrivateGlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]},"visibility":"private"},{"name":"contract_class_id","type":{"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId","fields":[{"name":"inner","type":{"kind":"field"}}]},"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":{"kind":"struct","path":"events::unconstrained_function_broadcasted::UnconstrainedFunction","fields":[{"name":"selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"bytecode","type":{"kind":"array","length":3000,"type":{"kind":"field"}}}]},"visibility":"private"}],"param_witnesses":{"artifact_function_tree_leaf_index":[{"start":38,"end":39}],"artifact_function_tree_sibling_path":[{"start":33,"end":38}],"artifact_metadata_hash":[{"start":31,"end":32}],"contract_class_id":[{"start":30,"end":31}],"function_data":[{"start":39,"end":3041}],"inputs":[{"start":0,"end":30}],"private_functions_artifact_tree_root":[{"start":32,"end":33}]},"return_type":{"abi_type":{"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"return_values","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"max_block_number","type":{"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber","fields":[{"name":"_opt","type":{"kind":"struct","path":"std::option::Option","fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}},{"name":"note_hash_read_requests","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest","fields":[{"name":"public_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}}]}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","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}},{"name":"encrypted_logs_hash","type":{"kind":"field"}},{"name":"unencrypted_logs_hash","type":{"kind":"field"}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3139,3140,3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,3278,3279,3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301]},"bytecode":"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","debug_symbols":"1dnLasJAGAXgd5l1kPlvk5m8SnGRWguCRNG0UMR3b1JzqTgg6Oa4kpBzwhkCH0JObrtb1e1m1xxddXJErno7ueO+bvrLY1sfWlf5wq2bj+73XLjPzXbtKjY6Fzc59jEMUSaVOe05kw7RbEiHROkqvSwcMc4UwZmiOFMMZ0rAmVLiTIk4UxLMFPY4U3C0ZRxtGUdbxtGWcbRlHG0ZR1vG0ZZxtBUcbQVHW8HRVnC0FRxtBUdbwdFWcLQVHG0FR1vF0VZxtFUcbRVHW8XRVnG0VRxtFUdbxdFWcbQ1HG0NR1vD0dZwtDUcbQ1HW8PR1nC0NRxtDUfb8Jy2zGOUOfonpzylrXVPGaLGylM65paQn8LkmaYwWS6taX5yOWe1/FvNL7laXnJ1lnuVEIeOlpyutvelLMxaShpL0dudA5OJjGcIPswHtsusRf6/NsVpGaV/x0lhrIW7NeFMrXysFh+rpQdqtsi3yE8tKuP8grtXsOyuvuvDpn7frvvP5v3Nr2Y1fkXvLtuf/eXO+Rc="},{"name":"compute_note_hash_and_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"parameters":[{"name":"contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]},"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":"serialized_note","type":{"kind":"array","length":20,"type":{"kind":"field"}},"visibility":"private"}],"param_witnesses":{"contract_address":[{"start":0,"end":1}],"nonce":[{"start":1,"end":2}],"note_type_id":[{"start":3,"end":4}],"serialized_note":[{"start":4,"end":24}],"storage_slot":[{"start":2,"end":3}]},"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"},"return_witnesses":[24,25,26,27]},"bytecode":"H4sIAAAAAAAA/+2YzU7DMAyA0x/W/zJgsPIn9chxlXbYsQ/BC0yjErtsaC08PqLeYtXNGBfcg6VZipKmafLZSRM7ljrIY5ssXXbadKGOBd+XOp/9TwrGvmZDclpCOG0hnA4jJ7BN1LDr1B3ArtyMFwIYRwIYPQGMvgDGQABjKIAxEsAYC2BMBDCmAhgvBTCOBTBeCWC8FsB4I4BxIoDxVgDjnQDGKSOjRRhdXc7adN+mB3WI2Re63ledlFwM82IFPjsOnqm+gG9i44Pb1TnITeqQ3yZ1eMfguJ0OI3YdZnPo1+PuV8cKGbG/y2//hU/sxMg+lE32axbXIsakHnlGWwW6zHi3UtCxLZ0CMqbSc4TlKWmL7dAeuK6RHfxHXJvBH9+5xncpaTP6Rf9S8ervGTyewQxzEOsy+CCZ29nFZOO894J+Q/5+e3PuGnMSknps86zzsa6L+edhHqn+fow6UylJOSa2j/h5ioH03M9povv6Vrx7SGrYyjdslZI2CbFfOoD9LDIu9k05QM7MZ+ZTzJHq/+NYR99jbhu6UH8K2wfqeD9hVQgHpA6fpeHgHWyocJDAgeap7tAIibKJBoYLA9hs4bCBgBICNgiIIOAAh35Kxjjl5FJHGOVJ5y86f31f1/lqu2l2y1WTv22rOt9sm/yzrvKP3fpr2VTwXNXqB8Nw3LryGgAA","debug_symbols":"nZBLCoAgFEX38sYSFdnHrUSDVxkIoqIWhLj3lGgBObsfzuQEkHpDL7RywALUVdsBmwM4gyoPzqP1wNqREuBqT2mqI4FDSJ4ybeJCMkRLoL4EGkqg8SeU2oVW4Cp51pLPU22fpVT9bd4nPg=="},{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"parameters":[{"name":"inputs","type":{"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"private_global_variables","type":{"kind":"struct","path":"aztec::context::globals::private_global_variables::PrivateGlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]},"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"}],"param_witnesses":{"artifact_hash":[{"start":30,"end":31}],"inputs":[{"start":0,"end":30}],"private_functions_root":[{"start":31,"end":32}],"public_bytecode_commitment":[{"start":32,"end":33}]},"return_type":{"abi_type":{"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs","fields":[{"name":"call_context","type":{"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext","fields":[{"name":"msg_sender","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"storage_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"portal_contract_address","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"function_selector","type":{"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector","fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}},{"name":"side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"args_hash","type":{"kind":"field"}},{"name":"return_values","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"max_block_number","type":{"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber","fields":[{"name":"_opt","type":{"kind":"struct","path":"std::option::Option","fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}},{"name":"note_hash_read_requests","type":{"kind":"array","length":32,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"nullifier_key_validation_requests","type":{"kind":"array","length":1,"type":{"kind":"struct","path":"aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest","fields":[{"name":"public_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_point::GrumpkinPoint","fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}}]}},{"name":"secret_key","type":{"kind":"struct","path":"aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey","fields":[{"name":"high","type":{"kind":"field"}},{"name":"low","type":{"kind":"field"}}]}}]}}},{"name":"new_note_hashes","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffect","fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"new_nullifiers","type":{"kind":"array","length":16,"type":{"kind":"struct","path":"aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash","fields":[{"name":"value","type":{"kind":"field"}},{"name":"note_hash","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}]}}},{"name":"private_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"new_l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message","fields":[{"name":"recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"content","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}},{"name":"encrypted_logs_hash","type":{"kind":"field"}},{"name":"unencrypted_logs_hash","type":{"kind":"field"}},{"name":"encrypted_log_preimages_length","type":{"kind":"field"}},{"name":"unencrypted_log_preimages_length","type":{"kind":"field"}},{"name":"historical_header","type":{"kind":"struct","path":"aztec::protocol_types::header::Header","fields":[{"name":"last_archive","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"content_commitment","type":{"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment","fields":[{"name":"tx_tree_height","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}]}},{"name":"state","type":{"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference","fields":[{"name":"l1_to_l2_message_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"partial","type":{"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference","fields":[{"name":"note_hash_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"nullifier_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}},{"name":"public_data_tree","type":{"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot","fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}]}}]}}]}},{"name":"global_variables","type":{"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables","fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"field"}},{"name":"coinbase","type":{"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}},{"name":"fee_recipient","type":{"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress","fields":[{"name":"inner","type":{"kind":"field"}}]}}]}}]}},{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}}]},"visibility":"public"},"return_witnesses":[15042,15043,15044,15045,15046,15047,15048,15049,15050,15051,15052,15053,15054,15055,15056,15057,15058,15059,15060,15061,15062,15063,15064,15065,15066,15067,15068,15069,15070,15071,15072,15073,15074,15075,15076,15077,15078,15079,15080,15081,15082,15083,15084,15085,15086,15087,15088,15089,15090,15091,15092,15093,15094,15095,15096,15097,15098,15099,15100,15101,15102,15103,15104,15105,15106,15107,15108,15109,15110,15111,15112,15113,15114,15115,15116,15117,15118,15119,15120,15121,15122,15123,15124,15125,15126,15127,15128,15129,15130,15131,15132,15133,15134,15135,15136,15137,15138,15139,15140,15141,15142,15143,15144,15145,15146,15147,15148,15149,15150,15151,15152,15153,15154,15155,15156,15157,15158,15159,15160,15161,15162,15163,15164,15165,15166,15167,15168,15169,15170,15171,15172,15173,15174,15175,15176,15177,15178,15179,15180,15181,15182,15183,15184,15185,15186,15187,15188,15189,15190,15191,15192,15193,15194,15195,15196,15197,15198,15199,15200,15201,15202,15203,15204,15205,15206,15207,15208,15209,15210,15211,15212,15213,15214,15215,15216,15217,15218,15219,15220,15221,15222,15223,15224,15225,15226,15227,15228,15229,15230,15231,15232,15233,15234,15235,15236,15237,15238,15239,15240,15241,15242,15243,15244,15245,15246,15247,15248]},"bytecode":"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81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/8+c0s/yIggQhMEIISjOCEICShCE0YwhKO8EQgIpGITBSiEo3oxCAmsYhNHOISj/gkICGJSEwSkpKM5KQgJalITRrSko70ZCAjmchMFrKSjezkICe5yE0e8pKP/BSgIIUoTBGKUozilKAkpShNGcpSjvJUoCKVqEwVqlKN6tSgJrWoTR3qUo/6NKAhjWhME5rSjOa0oCWtaE0b2tKO9nSgI53oTBe60o3u9KAnvehNH/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so+f+Jlf+JXf+J0/2M8BDnKIwxzhKMc4zglOcorTnOEs5zjPBS5yictc4SrXuM4NbnKL29zhLve4zwMe8ojHPOEpz3jOC17yite84S3veM8HPvKJz3zhK9/4zp/fBvgvAhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vShL/3ozwAGMojBDGEowxjOCEYyitGMYSzjGM8EJjKJyUxhKtOYzgxmMovZzGEu85jPAhayiMUsYSnLWM4KVrKK1axhLetYzwY2sonNbGEr29jODnayi93sYS/7+Imf+YVf+Y3f+YP9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje8EiKT+CUggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrSkIz0ZyEgmMpOFrGQjOznISS5yk4e85CM/BShIIQpThKIUozglKEkpSlOGspSjPBWoSCUqU4WqVKM6NahJLWpTh7rU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","debug_symbols":"1ZbdasMwDIXfxdehWLLkn7zK2EXWdVAoaWmzwQh59zlt7KSbICxhsF4Z4/NZx7Is3KrDcVs1+2N9UWWrQKvyqVWXU1X300tTnRtV6kLt6tc4doV62x92qkSGrvihQ+3tIEUgM6o1CmrrmQe1DRDu1M+FAvg/VnCVFcQkRfR6pRWzxgrHXQYpI2FWe8kJ6CwGjZDFwJKawrizG7Xkrq7pIV3zQ7q2kmtAohQA2d157yEnQoZMgsjPHTiMEcBOC9deI3gxgiOfIK/dTIR47uSHAsM0pX2E8NcRUOyO4N3Yahi/pxbFPoZgMTcF9DO2gE2+CBvzmW3x7cY3cnaNcwNlwuTkFBIVllByFmYpWEThrynUGwPyPdlcCWHyboJNGM5iBgXMLMNoGcYLMNjIbwN0psCNRQg61lWcfVTnffVy2PVfg37xvd6mn0KcNp+n20r3BQ=="}],"events":[],"file_map":{"82":{"source":"use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n key::nullifier_key::validate_nullifier_key_against_address, messaging::process_l1_to_l2_message,\n oracle::{\n arguments, call_private_function::call_private_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal, context::get_portal_address,\n header::get_header_at, nullifier_key::{get_nullifier_key_pair, NullifierKeyPair}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_data::FunctionData, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber, nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_call_stack_item::PrivateCallStackItem,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n RETURN_VALUES_LENGTH\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, hash::hash_args_array, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::is_empty\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\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\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<SideEffect, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<SideEffect, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_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 // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeyPair>,\n}\n\nimpl ContextInterface for PrivateContext {\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 this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.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 // 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 fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.new_note_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash { value: nullifier, note_hash: nullified_commitment, counter: self.side_effect_counter };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n let side_effect_counter = inputs.start_side_effect_counter;\n let mut min_revertible_side_effect_counter = 0;\n if is_empty(inputs.call_context.msg_sender) {\n min_revertible_side_effect_counter = side_effect_counter;\n }\n PrivateContext {\n inputs,\n side_effect_counter,\n min_revertible_side_effect_counter,\n args_hash,\n return_values: BoundedVec::new(),\n max_block_number: MaxBlockNumber::default(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_stack_hashes: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n nullifier_key: Option::none()\n }\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 finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = 0;\n let unencrypted_logs_hash = 0;\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n return_values: self.return_values.storage,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\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 nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_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 encrypted_logs_hash,\n unencrypted_logs_hash,\n encrypted_log_preimages_length,\n unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version\n };\n priv_circuit_pub_inputs\n }\n\n pub fn capture_min_revertible_side_effect_counter(&mut self) {\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn request_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 = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.note_hash_read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn request_nullifier_secret_key(&mut self, account: AztecAddress) -> GrumpkinPrivateKey {\n let key_pair = if self.nullifier_key.is_none() {\n let key_pair = get_nullifier_key_pair(account);\n validate_nullifier_key_against_address(account, key_pair.public_key);\n let request = NullifierKeyValidationRequest { public_key: key_pair.public_key, secret_key: key_pair.secret_key };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(key_pair);\n key_pair\n } else {\n let key_pair = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(\n key_pair.account == account, \"Cannot query nullifier key for more than one account per call\"\n );\n key_pair\n };\n key_pair.secret_key\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 };\n self.new_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_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments(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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments(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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments(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(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\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(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\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<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\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(\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 ) -> [Field; RETURN_VALUES_LENGTH] {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.end_side_effect_counter + 1;\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.private_call_stack_hashes.push(item.hash());\n\n item.public_inputs.return_values\n }\n\n pub fn call_public_function<ARGS_COUNT>(\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(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<ARGS_COUNT>(\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(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<ARGS_COUNT>(\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(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 mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n return_values: [0; RETURN_VALUES_LENGTH],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hash: 0,\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr"},"85":{"source":"use crate::context::{PrivateContext, PublicContext};\nuse crate::oracle;\nuse dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\npub fn emit_encrypted_log<N>(\n context: &mut PrivateContext,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n encryption_pub_key: GrumpkinPoint,\n log: [Field; N]\n) {\n let _ = oracle::logs::emit_encrypted_log(\n contract_address,\n storage_slot,\n note_type_id,\n encryption_pub_key,\n log\n );\n context.accumulate_encrypted_logs(log);\n}\n\npub fn emit_unencrypted_log<T>(context: &mut PublicContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n\n// TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n// --> might be a better approach to force devs to make a public function call that emits the log if needed then\n// it would be less easy to accidentally leak information.\n// If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\npub fn emit_unencrypted_log_from_private<T>(context: &mut PrivateContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/log.nr"},"96":{"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)]\nfn debug_log_oracle<T, N>(_msg: T, _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_format_oracle<T, N>(_msg: T, _args: [Field; N], _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_field_oracle(_field: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_array_oracle<T, N>(_arbitrary_array: [T; N]) -> Field {}\n#[oracle(debugLogWithPrefix)]\nfn debug_log_array_with_prefix_oracle<S, T, N>(_prefix: S, _arbitrary_array: [T; N]) -> Field {}\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<T>(msg: T) {\n assert(debug_log_oracle(msg, 0) == 0);\n}\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]);\nunconstrained pub fn debug_log_format<T, N>(msg: T, args: [Field; N]) {\n assert(debug_log_format_oracle(msg, args, args.len() as Field) == 0);\n}\n\n/// Example:\n/// `debug_log_field(my_field);`\nunconstrained pub fn debug_log_field(field: Field) {\n assert(debug_log_field_oracle(field) == 0);\n}\n\n/// Example:\n/// `debug_log_array(my_array);`\nunconstrained fn debug_log_array<T, N>(arbitrary_array: [T; N]) {\n assert(debug_log_array_oracle(arbitrary_array) == 0);\n}\n\n/// Example:\n/// `debug_log_array_with_prefix(\"Prefix\", my_array);`\nunconstrained pub fn debug_log_array_with_prefix<S, T, N>(prefix: S, arbitrary_array: [T; N]) {\n assert(debug_log_array_with_prefix_oracle(prefix, arbitrary_array) == 0);\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/debug_log.nr"},"105":{"source":"use dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle<N>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _encryption_pub_key: GrumpkinPoint,\n _preimage: [Field; N]\n) -> Field {}\n\nunconstrained pub fn emit_encrypted_log<N>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n encryption_pub_key: GrumpkinPoint,\n preimage: [Field; N]\n) -> Field {\n emit_encrypted_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n encryption_pub_key,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T\n) -> Field {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n emit_unencrypted_log_oracle(contract_address, event_selector, message)\n}\n","path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr"},"147":{"source":"use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS},\n contract_class_id::ContractClassId, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n AztecAddress::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute_from_public_key(\n pub_key: GrumpkinPoint,\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n portal_contract_address: EthAddress,\n deployer: AztecAddress\n ) -> AztecAddress {\n AztecAddress::compute(\n PublicKeysHash::compute(pub_key),\n PartialAddress::compute(\n contract_class_id,\n salt,\n initialization_hash,\n portal_contract_address,\n deployer\n )\n )\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let contract_address_salt = 3;\n let contract_class_id = ContractClassId::from_field(4);\n let initialization_hash = 5;\n let portal_contract_address = EthAddress::from_field(6);\n let deployer = AztecAddress::from_field(7);\n\n let address = AztecAddress::compute_from_public_key(\n point,\n contract_class_id,\n contract_address_salt,\n initialization_hash,\n portal_contract_address,\n deployer\n );\n\n let expected_computed_address_from_preimage = 0x027ea2b41ced2ec9a98305984e96dd28518536a4628883ccdc06e38aa8997220;\n assert(address.to_field() == expected_computed_address_from_preimage);\n}\n\n#[test]\nfn compute_address_from_partial_and_pubkey() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let partial_address = PartialAddress::from_field(3);\n\n let address = AztecAddress::compute(PublicKeysHash::compute(point), partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x0447f893197175723deb223696e2e96dbba1e707ee8507766373558877e74197;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr"},"152":{"source":"use dep::std::cmp::Eq;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr"},"202":{"source":"use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::side_effect::SideEffect;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH, FUNCTION_TREE_HEIGHT,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER, GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR, GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH, GENERATOR_INDEX__FUNCTION_ARGS\n};\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = 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 hash_args_array<N>(args: [Field; N]) -> Field {\n let mut args_vec = BoundedVec::new();\n args_vec.extend_from_array(args);\n hash_args(args_vec)\n}\n\npub fn hash_args(args: BoundedVec<Field, MAX_ARGS_LENGTH>) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < args.len() {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < args.len() {\n chunk_args[j] = args.get_unchecked(item_index);\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\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\npub fn silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\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 rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\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\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\npub fn compute_logs_hash(previous_log_hash: Field, current_log_hash: Field) -> Field {\n accumulate_sha256(\n [\n previous_log_hash,\n current_log_hash\n ]\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn compute_unique_siloed_note_hashes<N>(\n first_nullifier: Field,\n siloed_note_hashes: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_note_hashes = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_note_hash = siloed_note_hashes[i];\n if siloed_note_hash.value != 0 {\n let nonce = compute_note_hash_nonce(first_nullifier, i);\n unique_siloed_note_hashes[i] = SideEffect {\n value: compute_unique_siloed_note_hash(nonce, siloed_note_hash.value),\n counter: siloed_note_hash.counter\n };\n }\n }\n unique_siloed_note_hashes\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_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 = 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_var_args_hash() {\n let mut input = BoundedVec::new();\n for i in 0..800 {\n input.push(i as Field);\n }\n let hash = hash_args(input);\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr"},"206":{"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 = dep::std::hash::pedersen_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","path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr"},"249":{"source":"// Copied from noir-contracts/contracts/slow_tree_contract/src/capsule.nr\n// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n#[oracle(popCapsule)]\nfn 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","path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr"},"251":{"source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector, emit_unencrypted_log};\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_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize\n };\n\n use dep::aztec::log::emit_unencrypted_log_from_private;\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\n };\n\n use crate::capsule::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 let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = 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_new_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ContractClassRegistered\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_unencrypted_log_from_private(&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: PrivateFunction\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: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\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_unencrypted_log_from_private(&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: UnconstrainedFunction\n ) {\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: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\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_unencrypted_log_from_private(&mut context, event.serialize());\n }\n}\n","path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr"}}}